/******************************************************************* * Decompiled By: Bog * Decompiled File: animscripts\run.gsc * Game: Call of Duty: Ghosts * Platform: PC * Function Count: 46 * Decompile Time: 785 ms * Timestamp: 10/27/2023 1:24:20 AM *******************************************************************/ //Function Number: 1 moverun() { var_00 = [[ self.chooseposefunc ]]("stand"); switch(var_00) { case "stand": if(animscripts/setposemovement::standrun_begin()) { return; } if(isdefined(self.run_overrideanim)) { animscripts/move::func_54A4(self.run_overrideanim,self.var_6969); return; } if(func_79D6()) { return; } if(standrun_checkreload()) { return; } animscripts/utility::func_86F6(); if(animscripts/utility::func_48DE()) { func_79D8(); } else { func_79D9(); } break; case "crouch": if(animscripts/setposemovement::func_2152()) { return; } if(isdefined(self.crouchrun_combatanim)) { crouchrun_runoverride(); } else { crouchrun_runnormal(); } break; default: if(animscripts/setposemovement::func_6201()) { return; } func_61FD(); break; } } //Function Number: 2 func_3BDB() { if(!isdefined(self.a.var_5473)) { return animscripts/utility::lookupanim("run","straight"); } if(!self.facemotion) { if(self.stairsstate == "none" || abs(self getmotionangle()) > 45) { return animscripts/utility::getmoveanim("move_f"); } } if(self.stairsstate == "up") { return animscripts/utility::getmoveanim("stairs_up"); } else if(self.stairsstate == "down") { return animscripts/utility::getmoveanim("stairs_down"); } if(animscripts/utility::func_48DE() || isdefined(self.a.bdisablemovetwitch) && self.a.bdisablemovetwitch) { return animscripts/utility::getmoveanim("straight"); } var_00 = animscripts/utility::getmoveanim("straight_twitch"); if(!isdefined(var_00) || var_00.size == 0) { return animscripts/utility::getmoveanim("straight"); } var_01 = animscripts/utility::func_3BBB(self.a.var_698E,4); if(var_01 == 0) { var_01 = animscripts/utility::func_3BBB(self.a.var_698E,var_00.size); return var_00[var_01]; } return animscripts/utility::getmoveanim("straight"); } //Function Number: 3 func_3A69() { if(!isdefined(self.a.var_5473)) { return animscripts/utility::lookupanim("run","crouch"); } return animscripts/utility::getmoveanim("crouch"); } //Function Number: 4 func_61FD() { self.a.var_5486 = "run"; self setflaggedanimknob("runanim",animscripts/utility::getmoveanim("prone"),1,0.3,self.moveplaybackrate); func_693D(); animscripts/notetracks::donotetracksfortime(0.25,"runanim"); } //Function Number: 5 func_464B() { if(!isdefined(self.var_6995)) { self notify("stop_move_anim_update"); self.var_868B = undefined; self clearanim(%combatrun_backward,0.2); self clearanim(%combatrun_right,0.2); self clearanim(%combatrun_left,0.2); self clearanim(%w_aim_2,0.2); self clearanim(%w_aim_4,0.2); self clearanim(%w_aim_6,0.2); self clearanim(%w_aim_8,0.2); self.var_6995 = 1; } } //Function Number: 6 func_7C6E() { if(isdefined(self.var_6995)) { self clearanim(%run_n_gun,0.2); self.var_6995 = undefined; } return 0; } //Function Number: 7 func_6995(param_00) { if(param_00) { var_01 = func_3BA3(0.2); var_02 = var_01 < 0; } else { var_01 = 0; var_02 = self.var_6999 < 0; } var_03 = 1 - var_02; var_04 = self.var_5118; var_05 = self.var_6998; var_06 = self.var_6997; if(!param_00 || squared(var_01) > var_04 * var_04) { self clearanim(%add_fire,0); if(squared(self.var_6999) < var_06 * var_06) { self.var_6999 = 0; self.var_6995 = undefined; return 0; } else if(self.var_6999 > 0) { self.var_6999 = self.var_6999 - var_06; } else { self.var_6999 = self.var_6999 + var_06; } } else { var_07 = var_01 / var_04; var_08 = var_07 - self.var_6999; if(abs(var_08) < var_05 * 0.7) { self.var_6999 = var_07; } else if(var_08 > 0) { self.var_6999 = self.var_6999 + var_06; } else { self.var_6999 = self.var_6999 - var_06; } } func_464B(); var_09 = abs(self.var_6999); var_0A = animscripts/utility::func_4F5D("run_n_gun"); if(var_09 > var_05) { var_0B = var_09 - var_05 / var_05; var_0B = clamp(var_0B,0,1); self clearanim(var_0A["F"],0.2); self setanimlimited(var_0A["L"],1 - var_0B * var_02,0.2); self setanimlimited(var_0A["R"],1 - var_0B * var_03,0.2); self setanimlimited(var_0A["LB"],var_0B * var_02,0.2); self setanimlimited(var_0A["RB"],var_0B * var_03,0.2); } else { var_0B = clamp(var_0A / var_06,0,1); self setanimlimited(var_0A["F"],1 - var_0B,0.2); self setanimlimited(var_0A["L"],var_0B * var_02,0.2); self setanimlimited(var_0A["R"],var_0B * var_03,0.2); if(var_05 < 1) { self clearanim(var_0A["LB"],0.2); self clearanim(var_0A["RB"],0.2); } } self setflaggedanimknob("runanim",%run_n_gun,1,0.3,0.8); func_696E(undefined); self.a.allowedpartialreloadontheruntime = gettime() + 500; if(param_00 && isplayer(self.enemy)) { self updateplayersightaccuracy(); } return 1; } //Function Number: 8 runngun_backward() { func_464B(); var_00 = animscripts/utility::lookupanim("run_n_gun","move_back"); self setflaggedanimknob("runanim",var_00,1,0.3,0.8); func_696E(var_00); if(isplayer(self.enemy)) { self updateplayersightaccuracy(); } animscripts/notetracks::donotetracksfortime(0.2,"runanim"); self clearanim(var_00,0.2); } //Function Number: 9 reacttobulletsinterruptcheck() { self endon("killanimscript"); for(;;) { wait(0.2); if(!isdefined(self.var_63B5)) { break; } if(!isdefined(self.pathgoalpos) || distancesquared(self.pathgoalpos,self.origin) < squared(80)) { func_2DEC(); self notify("interrupt_react_to_bullet"); break; } } } //Function Number: 10 func_2DEC() { self orientmode("face default"); self.var_63B5 = undefined; self.var_65CD = undefined; } //Function Number: 11 func_699B() { func_2D51(); self endon("interrupt_react_to_bullet"); self.var_63B5 = 1; self orientmode("face motion"); var_00 = animscripts/utility::func_4F5D("running_react_to_bullets"); var_01 = randomint(var_00.size); if(var_01 == level.var_4C94) { var_01 = var_01 + 1 % var_00.size; } anim.var_4C94 = var_01; var_02 = var_00[var_01]; self setflaggedanimknobrestart("reactanim",var_02,1,0.5,self.moveplaybackrate); func_696E(var_02); thread reacttobulletsinterruptcheck(); animscripts/shared::func_2986("reactanim"); func_2DEC(); } //Function Number: 12 customrunningreacttobullets() { func_2D51(); self.var_63B5 = 1; self orientmode("face motion"); var_00 = randomint(self.run_overridebulletreact.size); var_01 = self.run_overridebulletreact[var_00]; self setflaggedanimknobrestart("reactanim",var_01,1,0.5,self.moveplaybackrate); func_696E(var_01); thread reacttobulletsinterruptcheck(); animscripts/shared::func_2986("reactanim"); func_2DEC(); } //Function Number: 13 getsprintanim() { var_00 = undefined; if(isdefined(self.grenade)) { var_00 = animscripts/utility::getmoveanim("sprint_short"); } if(!isdefined(var_00)) { var_00 = animscripts/utility::getmoveanim("sprint"); } return var_00; } //Function Number: 14 func_74C6() { if(isdefined(self.var_797D)) { return 1; } if(isdefined(self.grenade) && isdefined(self.enemy) && self.frontshieldanglecos == 1) { return distancesquared(self.origin,self.enemy.origin) > 90000; } return 0; } //Function Number: 15 func_74C7() { if(isdefined(self.var_55A9)) { return 0; } if(!self.facemotion || self.stairsstate != "none") { return 0; } var_00 = gettime(); if(isdefined(self.dangersprinttime)) { if(var_00 < self.dangersprinttime) { return 1; } if(var_00 - self.dangersprinttime < 6000) { return 0; } } if(!isdefined(self.enemy) || !issentient(self.enemy)) { return 0; } if(randomint(100) < 25 && self lastknowntime(self.enemy) + 2000 > var_00) { self.dangersprinttime = var_00 + 2000 + randomint(1000); return 1; } return 0; } //Function Number: 16 func_3B36() { var_00 = self.moveplaybackrate; if(self.lookaheadhitsstairs && self.stairsstate == "none" && self.lookaheaddist < 300) { var_00 = var_00 * 0.75; } return var_00; } //Function Number: 17 func_79D8() { var_00 = func_3B36(); self setanimknob(%combatrun,1,0.5,var_00); var_01 = 0; var_02 = isdefined(self.var_65CD) && gettime() - self.var_65CD < 100; if(var_02 && randomfloat(1) < self.a.var_63C9) { func_7C6E(); func_70C6(0); func_699B(); } if(func_74C6()) { var_03 = getsprintanim(); self setflaggedanimknob("runanim",var_03,1,0.5,self.moveplaybackrate); func_696E(var_03); func_70C6(0); var_01 = 1; } else if(isdefined(self.enemy) && animscripts/move::func_5127()) { func_70C6(1); if(!self.facemotion) { thread faceenemyaimtracking(); } else if(self.var_744B != "none" && !isdefined(self.var_5680)) { func_2D51(); if(canshootwhilerunningforward()) { var_01 = func_6995(1); } else if(canshootwhilerunningbackward()) { runngun_backward(); } } else if(isdefined(self.var_6999) && self.var_6999 != 0) { var_01 = func_6995(0); } } else if(isdefined(self.var_6999) && self.var_6999 != 0) { func_70C6(0); var_01 = func_6995(0); } else { func_70C6(0); } if(!var_01) { func_7C6E(); if(var_02 && self.a.var_63C9 != 0) { func_699B(); } if(func_5438()) { } self clearanim(%stair_transitions,0.1); if(func_74C7()) { var_04 = animscripts/utility::getmoveanim("sprint_short"); } else { var_04 = func_3BDB(); } self setflaggedanimknoblimited("runanim",var_04,1,0.1,self.moveplaybackrate,1); func_696E(var_04); setmovenonforwardanims(animscripts/utility::getmoveanim("move_b"),animscripts/utility::getmoveanim("move_l"),animscripts/utility::getmoveanim("move_r"),self.sidesteprate); thread func_7008("run"); } animscripts/notetracks::donotetracksfortime(0.2,"runanim"); } //Function Number: 18 func_3C00(param_00,param_01) { if(!isdefined(param_00)) { param_00 = "none"; } if(param_00 == param_01) { return undefined; } if(param_00 == "up") { return animscripts/utility::getmoveanim("stairs_up_out"); } if(param_00 == "down") { return animscripts/utility::getmoveanim("stairs_down_out"); } if(param_01 == "up") { return animscripts/utility::getmoveanim("stairs_up_in"); } if(param_01 == "down") { return animscripts/utility::getmoveanim("stairs_down_in"); } } //Function Number: 19 faceenemyaimtracking() { if(isdefined(self.aim_while_moving_thread)) { } self.aim_while_moving_thread = 1; self endon("killanimscript"); self endon("end_face_enemy_tracking"); self setdefaultaimlimits(); var_00 = undefined; if(isdefined(self.var_1E61) && isdefined(self.var_1E61["walk_aims"])) { self setanimlimited(self.var_1E61["walk_aims"]["walk_aim_2"]); self setanimlimited(self.var_1E61["walk_aims"]["walk_aim_4"]); self setanimlimited(self.var_1E61["walk_aims"]["walk_aim_6"]); self setanimlimited(self.var_1E61["walk_aims"]["walk_aim_8"]); } else { var_01 = "walk"; if(animscripts/utility::func_74A5() && isdefined(animscripts/utility::lookupanim("cqb","aim_2"))) { var_01 = "cqb"; } var_02 = animscripts/utility::func_4F5D(var_01); self setanimlimited(var_02["aim_2"]); self setanimlimited(var_02["aim_4"]); self setanimlimited(var_02["aim_6"]); self setanimlimited(var_02["aim_8"]); if(isdefined(var_02["aim_5"])) { self setanimlimited(var_02["aim_5"]); var_00 = %w_aim_5; } } animscripts/track::func_8221(%w_aim_2,%w_aim_4,%w_aim_6,%w_aim_8,var_00); } //Function Number: 20 func_2D51() { self.aim_while_moving_thread = undefined; self notify("end_face_enemy_tracking"); } //Function Number: 21 func_70C6(param_00) { var_01 = isdefined(self.bshootwhilemoving); if(param_00) { self.bshootwhilemoving = param_00; if(!var_01) { thread func_6989(); thread func_69A9(); } } self.bshootwhilemoving = undefined; if(var_01) { self notify("end_shoot_while_moving"); self notify("end_face_enemy_tracking"); self.var_742D = undefined; self.aim_while_moving_thread = undefined; self.var_6995 = undefined; } } //Function Number: 22 func_6989() { self endon("killanimscript"); self endon("end_shoot_while_moving"); animscripts/shoot_behavior::func_2439("normal"); } //Function Number: 23 func_69A9() { self endon("killanimscript"); self endon("end_shoot_while_moving"); animscripts/move::func_7451(); } //Function Number: 24 aimedsomewhatatenemy() { var_00 = self getmuzzleangle(); var_01 = vectortoangles(self.enemy getshootatpos() - self getmuzzlepos()); if(animscripts/utility::absangleclamp180(var_00[1] - var_01[1]) > 15) { return 0; } return animscripts/utility::absangleclamp180(var_00[0] - var_01[0]) <= 20; } //Function Number: 25 canshootwhilerunningforward() { if((!isdefined(self.var_6999) || self.var_6999 == 0) && abs(self getmotionangle()) > self.var_5118) { return 0; } return 1; } //Function Number: 26 canshootwhilerunningbackward() { if(180 - abs(self getmotionangle()) >= 45) { return 0; } var_00 = func_3BA3(0.2); if(abs(var_00) > 30) { return 0; } return 1; } //Function Number: 27 canshootwhilerunning() { return animscripts/move::func_5127() && isdefined(self.enemy) && canshootwhilerunningforward() || canshootwhilerunningbackward(); } //Function Number: 28 func_3BA3(param_00) { var_01 = self.origin; var_02 = self.angles[1] + self getmotionangle(); var_01 = var_01 + (cos(var_02),sin(var_02),0) * length(self.velocity) * param_00; var_03 = self.angles[1] - vectortoyaw(self.enemy.origin - var_01); var_03 = angleclamp180(var_03); return var_03; } //Function Number: 29 func_5438() { var_00 = 0; var_01 = undefined; if(self.stairsstate == "none" && self.lookaheadhitsstairs) { if(animscripts/utility::func_74A5()) { var_02 = 32; } else { var_02 = 48; } var_03 = self.origin + (0,0,6); var_04 = vectornormalize((self.lookaheaddir[0],self.lookaheaddir[1],0)); var_05 = var_03 + var_02 * var_04; var_06 = self aiphysicstrace(var_03,var_05,15,48,1,1); if(var_06["fraction"] < 1) { if(!isdefined(var_06["stairs"])) { return 0; } var_01 = func_3C00("none","up"); } else { var_07 = 18; var_08 = var_05 + (0,0,var_07); var_09 = var_05 - (0,0,var_07); var_06 = self aiphysicstrace(var_08,var_09,15,48,1,1); if(var_06["fraction"] >= 1) { return 0; } if(!isdefined(var_06["stairs"])) { return 0; } var_01 = func_3C00("none","down"); } } else if(self.stairsstate == "up") { var_02 = 24; var_07 = 18; var_05 = self.origin + var_02 * self.lookaheaddir; var_08 = var_05 + (0,0,var_07); var_09 = var_05 - (0,0,var_07); var_06 = self aiphysicstrace(var_08,var_09,15,48,1,1); if(var_06["fraction"] <= 0 || var_06["fraction"] >= 1) { return 0; } if(isdefined(var_06["stairs"])) { return 0; } var_01 = func_3C00("up","none"); } else if(self.stairsstate == "down" && !self.lookaheadhitsstairs) { var_02 = 24; var_07 = 18; var_05 = self.origin + var_02 * self.lookaheaddir; var_08 = var_05 + (0,0,var_07); var_09 = var_05 - (0,0,var_07); var_06 = self aiphysicstrace(var_08,var_09,15,48,1,1); if(var_06["fraction"] <= 0 || var_06["fraction"] >= 1) { return 0; } if(isdefined(var_06["stairs"])) { return 0; } var_01 = func_3C00("down","none"); } if(!isdefined(var_01)) { return 0; } self notify("stop_move_anim_update"); self.var_868B = undefined; self setflaggedanimknoballrestart("runanim",var_01,%body,1,0.1,self.moveplaybackrate); func_696E(var_01); animscripts/shared::func_2986("runanim"); return 1; } //Function Number: 30 func_79D9() { self endon("movemode"); self clearanim(%combatrun,0.6); var_00 = func_3B36(); if(func_5438()) { } self clearanim(%stair_transitions,0.1); self setanimknoball(%combatrun,%body,1,0.2,var_00); if(func_74C6()) { var_01 = getsprintanim(); } else { var_01 = func_3BDB(); } if(self.stairsstate == "none") { var_02 = 0.3; } else { var_02 = 0.1; } self setflaggedanimknob("runanim",var_01,1,var_02,self.moveplaybackrate,1); func_696E(var_01); setmovenonforwardanims(animscripts/utility::getmoveanim("move_b"),animscripts/utility::getmoveanim("move_l"),animscripts/utility::getmoveanim("move_r")); thread func_7008("run"); var_03 = 0; if(self.leanamount > 0 && self.leanamount < 0.998) { var_03 = 1; } else if(self.leanamount < 0 && self.leanamount > -0.998) { var_03 = -1; } var_04 = max(0.2,var_02); animscripts/notetracks::donotetracksfortime(var_04,"runanim"); } //Function Number: 31 crouchrun_runoverride() { self endon("movemode"); self setflaggedanimknoball("runanim",self.crouchrun_combatanim,%body,1,0.4,self.moveplaybackrate); func_696E(self.crouchrun_combatanim); animscripts/shared::func_2986("runanim"); } //Function Number: 32 crouchrun_runnormal() { self endon("movemode"); var_00 = func_3A69(); self setanimknob(var_00,1,0.4); thread func_8705("crouchrun",var_00,animscripts/utility::lookupanim("run","crouch_b"),animscripts/utility::lookupanim("run","crouch_l"),animscripts/utility::lookupanim("run","crouch_r")); self setflaggedanimknoball("runanim",%crouchrun,%body,1,0.2,self.moveplaybackrate); func_696E(undefined); animscripts/notetracks::donotetracksfortime(0.2,"runanim"); } //Function Number: 33 standrun_checkreload() { var_00 = isdefined(self.a.allowedpartialreloadontheruntime) && self.a.allowedpartialreloadontheruntime > gettime(); var_00 = var_00 || isdefined(self.enemy) && distancesquared(self.origin,self.enemy.origin) < 65536; if(var_00) { if(!animscripts/combat_utility::func_5596(0)) { return 0; } } else if(!animscripts/combat_utility::func_5596(0.5)) { return 0; } if(isdefined(self.grenade)) { return 0; } if(!self.facemotion || self.stairsstate != "none") { return 0; } if(isdefined(self.dontshootwhilemoving) || isdefined(self.norunreload)) { return 0; } if(canshootwhilerunning() && !animscripts/combat_utility::func_5596(0)) { return 0; } if(!isdefined(self.pathgoalpos) || distancesquared(self.origin,self.pathgoalpos) < 65536) { return 0; } var_01 = angleclamp180(self getmotionangle()); if(abs(var_01) > 25) { return 0; } if(!animscripts/utility::usingriflelikeweapon()) { return 0; } if(!func_698F()) { return 0; } if(animscripts/utility::func_74A5()) { animscripts/cqb::cqb_reloadinternal(); } else { func_79DA(); } self notify("abort_reload"); self orientmode("face default"); return 1; } //Function Number: 34 func_79DA() { self endon("movemode"); self orientmode("face motion"); var_00 = "reload_" + animscripts/combat_utility::getuniqueflagnameindex(); var_01 = animscripts/utility::lookupanim("run","reload"); if(isarray(var_01)) { var_01 = var_01[randomint(var_01.size)]; } self setflaggedanimknoballrestart(var_00,var_01,%body,1,0.25); func_696E(var_01); self.var_868C = 1; setmovenonforwardanims(animscripts/utility::getmoveanim("move_b"),animscripts/utility::getmoveanim("move_l"),animscripts/utility::getmoveanim("move_r")); thread func_7008("run"); animscripts/shared::func_2986(var_00); self.var_868C = undefined; } //Function Number: 35 func_698F() { var_00 = self getanimtime(%walk_and_run_loops); var_01 = getanimlength(animscripts/utility::lookupanim("run","straight")) / 3; var_00 = var_00 * 3; if(var_00 > 3) { var_00 = var_00 - 2; } else if(var_00 > 2) { var_00 = var_00 - 1; } if(var_00 < 0.15 / var_01) { return 1; } if(var_00 > 1 - 0.3 / var_01) { return 1; } return 0; } //Function Number: 36 setmovenonforwardanims(param_00,param_01,param_02,param_03) { if(!isdefined(param_03)) { param_03 = 1; } self setanimknoblimited(param_00,1,0.1,param_03,1); self setanimknoblimited(param_01,1,0.1,param_03,1); self setanimknoblimited(param_02,1,0.1,param_03,1); } //Function Number: 37 func_7008(param_00) { func_8705(param_00,%combatrun_forward,%combatrun_backward,%combatrun_left,%combatrun_right); } //Function Number: 38 func_8705(param_00,param_01,param_02,param_03,param_04) { if(isdefined(self.var_868B) && self.var_868B == param_00) { } self notify("stop_move_anim_update"); self.var_868B = param_00; self.var_8C47 = undefined; self endon("killanimscript"); self endon("move_interrupt"); self endon("stop_move_anim_update"); for(;;) { func_8728(param_01,param_02,param_03,param_04); wait(0.05); waittillframeend; } } //Function Number: 39 func_8728(param_00,param_01,param_02,param_03) { if(self.facemotion && !animscripts/utility::func_74A5() && !isdefined(self.var_868C)) { if(!isdefined(self.var_8C47)) { self.var_8C47 = 1; self setanim(param_00,1,0.2,1,1); self setanim(param_01,0,0.2,1,1); self setanim(param_02,0,0.2,1,1); self setanim(param_03,0,0.2,1,1); } } self.var_8C47 = undefined; var_04 = animscripts/utility::quadrantanimweights(self getmotionangle()); if(isdefined(self.var_868C)) { var_04["back"] = 0; if(var_04["front"] < 0.2) { var_04["front"] = 0.2; } } self setanim(param_00,var_04["front"],0.2,1,1); self setanim(param_01,var_04["back"],0.2,1,1); self setanim(param_02,var_04["left"],0.2,1,1); self setanim(param_03,var_04["right"],0.2,1,1); } //Function Number: 40 func_79D6() { var_00 = isdefined(self.var_8C03) && self.var_8C03; var_01 = animscripts/utility::isshotgun(self.weapon); if(var_00 == var_01) { return 0; } if(!isdefined(self.pathgoalpos) || distancesquared(self.origin,self.pathgoalpos) < 65536) { return 0; } if(animscripts/utility::func_87FE()) { return 0; } if(self.weapon == self.primaryweapon) { if(!var_00) { return 0; } if(animscripts/utility::isshotgun(self.secondaryweapon)) { return 0; } } else { if(var_00) { return 0; } if(animscripts/utility::isshotgun(self.primaryweapon)) { return 0; } } var_02 = angleclamp180(self getmotionangle()); if(abs(var_02) > 25) { return 0; } if(!func_698F()) { return 0; } if(var_00) { func_7462("shotgunPullout",animscripts/utility::lookupanim("cqb","shotgun_pullout"),"gun_2_chest","none",self.secondaryweapon,"shotgun_pickup"); } else { func_7462("shotgunPutaway",animscripts/utility::lookupanim("cqb","shotgun_putaway"),"gun_2_back","back",self.primaryweapon,"shotgun_pickup"); } self notify("switchEnded"); return 1; } //Function Number: 41 func_7462(param_00,param_01,param_02,param_03,param_04,param_05) { self endon("movemode"); self setflaggedanimknoballrestart(param_00,param_01,%body,1,0.25); func_696E(param_01); self.var_868C = 1; setmovenonforwardanims(animscripts/utility::getmoveanim("move_b"),animscripts/utility::getmoveanim("move_l"),animscripts/utility::getmoveanim("move_r")); thread func_7008("run"); thread func_8D1F(param_00,param_02,param_03,param_04,param_05); animscripts/notetracks::func_298D(getanimlength(param_01) - 0.25,param_00,::func_46A7); self.var_868C = undefined; } //Function Number: 42 func_46A7(param_00) { if(param_00 == "gun_2_chest" || param_00 == "gun_2_back") { return 1; } } //Function Number: 43 func_8D1F(param_00,param_01,param_02,param_03,param_04) { self endon("killanimscript"); self endon("movemode"); self endon("switchEnded"); self waittillmatch(param_01,param_00); animscripts/shared::placeweaponon(self.weapon,param_02); thread shotgunswitchfinish(param_03); self waittillmatch(param_04,param_00); self notify("complete_weapon_switch"); } //Function Number: 44 shotgunswitchfinish(param_00) { self endon("death"); common_scripts\utility::func_8B2A("killanimscript","movemode","switchEnded","complete_weapon_switch"); self.lastweapon = self.weapon; animscripts/shared::placeweaponon(param_00,"right"); self.bulletsinclip = weaponclipsize(self.weapon); } //Function Number: 45 func_696E(param_00) { self.facialidx = animscripts/face::func_6004(param_00,"run",self.facialidx); } //Function Number: 46 func_693D() { self.facialidx = undefined; self clearanim(%head,0.2); }