/******************************************************************* * Decompiled By: Bog * Decompiled File: cover_arrival.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 35 * Decompile Time: 524 ms * Timestamp: 4/22/2024 2:00:14 AM *******************************************************************/ //Function Number: 1 main() { self endon("killanimscript"); self endon("abort_approach"); if(self.swimmer) { animscripts\swim::swim_coverarrival_main(); return; } if(isdefined(self.customarrivalfunc)) { [[ self.customarrivalfunc ]](); return; } var_00 = self.approachnumber; var_01 = animscripts\utility::lookupanim("cover_trans",self.approachtype)[var_00]; if(!isdefined(self.heat)) { thread abortapproachifthreatened(); } self clearanim(%body,0.2); self setflaggedanimrestart("coverArrival",var_01,1,0.2,self.movetransitionrate); animscripts\face::playfacialanim(var_01,"run"); animscripts\shared::donotetracks("coverArrival",::handlestartaim); var_02 = level.arrivalendstance[self.approachtype]; if(isdefined(var_02)) { self.a.pose = var_02; } self.a.movement = "stop"; self.a.arrivaltype = self.approachtype; self clearanim(%animscript_root,0.2); self.lastapproachaborttime = undefined; } //Function Number: 2 handlestartaim(param_00) { if(param_00 == "start_aim") { if(self.a.pose == "stand") { animscripts\animset::set_animarray_standing(); } else if(self.a.pose == "crouch") { animscripts\animset::set_animarray_crouching(); } else { } animscripts\combat::set_aim_and_turn_limits(); self.previouspitchdelta = 0; animscripts\combat_utility::setupaim(0.2); thread animscripts\track::trackshootentorpos(); } } //Function Number: 3 isthreatenedbyenemy() { if(!isdefined(self.node)) { return 0; } if(isdefined(self.enemy) && self seerecently(self.enemy,1.5) && distancesquared(self.origin,self.enemy.origin) < 250000) { return !self iscovervalidagainstenemy(); } return 0; } //Function Number: 4 abortapproachifthreatened() { self endon("killanimscript"); for(;;) { if(!isdefined(self.node)) { return; } if(isthreatenedbyenemy()) { self clearanim(%animscript_root,0.3); self notify("abort_approach"); self.lastapproachaborttime = gettime(); return; } wait(0.1); } } //Function Number: 5 canusesawapproach(param_00) { if(!animscripts\utility::usingmg()) { return 0; } if(!isdefined(param_00.turretinfo)) { return 0; } if(param_00.type != "Cover Stand" && param_00.type != "Cover Prone" && param_00.type != "Cover Crouch") { return 0; } if(isdefined(self.enemy) && distancesquared(self.enemy.origin,param_00.origin) < 65536) { return 0; } if(animscripts\utility::getnodeyawtoenemy() > 40 || animscripts\utility::getnodeyawtoenemy() < -40) { return 0; } return 1; } //Function Number: 6 determinenodeapproachtype(param_00) { if(isdefined(self.mech) && self.mech) { return "exposed"; } var_01 = param_00.type; if(animscripts\utility::is_free_running() && var_01 == "Cover Crouch") { return "free_run_into_cover_crouch"; } if(var_01 == "Cover Multi") { if(!isdefined(self.cover)) { self.cover = spawnstruct(); } var_02 = animscripts\cover_multi::covermulti_getbestvaliddir(["over",["left","right"]]); self.cover.arrivalnodetype = var_02; var_03 = animscripts\cover_multi::covermulti_getstatefromdir(param_00,var_02); var_01 = animscripts\utility::getcovermultipretendtype(param_00,var_03); } if(canusesawapproach(param_00)) { if(var_01 == "Cover Stand") { return "stand_saw"; } if(var_01 == "Cover Crouch") { return "crouch_saw"; } else if(var_01 == "Cover Prone") { return "prone_saw"; } } if(!isdefined(level.approach_types[var_01])) { return; } if(isdefined(param_00.arrivalstance)) { var_04 = param_00.arrivalstance; } else { var_04 = var_01 gethighestnodestance(); } if(var_04 == "prone") { var_04 = "crouch"; } var_05 = level.approach_types[var_01][var_04]; if(usereadystand() && var_05 == "exposed") { var_05 = "exposed_ready"; } if(animscripts\utility::isunstableground()) { if(var_05 == "exposed") { var_05 = "exposed_unstable"; if(self.movemode == "run") { var_05 = var_05 + "_run"; } return var_05; } else if(var_05 == "stand") { var_05 = "stand_unstable"; if(self.movemode == "run") { var_05 = var_05 + "_run"; } return var_05; } } if(animscripts\utility::shouldcqb()) { var_06 = var_05 + "_cqb"; if(isdefined(level.archetypes["soldier"]["cover_trans"][var_06])) { var_05 = var_06; } } return var_05; } //Function Number: 7 determineexposedapproachtype(param_00) { if(isdefined(self.heat)) { return "heat"; } if(isdefined(param_00.arrivalstance)) { var_01 = param_00.arrivalstance; } else { var_01 = var_01 gethighestnodestance(); } if(var_01 == "prone") { var_01 = "crouch"; } if(var_01 == "crouch") { var_02 = "exposed_crouch"; } else { var_02 = "exposed"; } if(var_02 == "exposed" && usereadystand()) { var_02 = var_02 + "_ready"; } if(var_02 == "exposed" && animscripts\utility::isunstableground()) { var_02 = "exposed_unstable"; if(self.movemode == "run") { var_02 = var_02 + "_run"; } return var_02; } if(animscripts\utility::shouldcqb()) { return var_02 + "_cqb"; } return var_02; } //Function Number: 8 calculatenodeoffsetfromanimationdelta(param_00,param_01) { var_02 = anglestoright(param_00); var_03 = anglestoforward(param_00); return var_03 * param_01[0] + var_02 * 0 - param_01[1]; } //Function Number: 9 getapproachent() { if(isdefined(self.scriptedarrivalent)) { return self.scriptedarrivalent; } if(isdefined(self.node)) { return self.node; } return undefined; } //Function Number: 10 getapproachpoint(param_00,param_01) { if(param_01 == "stand_saw") { var_02 = (param_00.turretinfo.origin[0],param_00.turretinfo.origin[1],param_00.origin[2]); var_03 = anglestoforward((0,param_00.turretinfo.angles[1],0)); var_04 = anglestoright((0,param_00.turretinfo.angles[1],0)); var_02 = var_02 + var_03 * -32.545 - var_04 * 6.899; } else if(var_02 == "crouch_saw") { var_02 = (param_01.turretinfo.origin[0],param_01.turretinfo.origin[1],param_01.origin[2]); var_03 = anglestoforward((0,param_00.turretinfo.angles[1],0)); var_04 = anglestoright((0,param_00.turretinfo.angles[1],0)); var_02 = var_02 + var_03 * -32.545 - var_04 * 6.899; } else if(var_02 == "prone_saw") { var_02 = (param_01.turretinfo.origin[0],param_01.turretinfo.origin[1],param_01.origin[2]); var_03 = anglestoforward((0,param_00.turretinfo.angles[1],0)); var_04 = anglestoright((0,param_00.turretinfo.angles[1],0)); var_02 = var_02 + var_03 * -37.36 - var_04 * 13.279; } else if(isdefined(self.scriptedarrivalent)) { var_02 = self.goalpos; } else { var_02 = param_01.origin; } return var_02; } //Function Number: 11 checkapproachpreconditions() { if(isdefined(self getnegotiationstartnode())) { return 0; } if(isdefined(self.disablearrivals) && self.disablearrivals) { return 0; } return 1; } //Function Number: 12 checkapproachconditions(param_00,param_01,param_02) { if(isdefined(level.exposedtransition[param_00])) { return 0; } if(param_00 == "stand" || param_00 == "crouch" || param_00 == "stand_unstable") { if(animscripts\utility::absangleclamp180(vectortoyaw(param_01) - param_02.angles[1] + 180) < 60) { return 0; } } if(isthreatenedbyenemy() || isdefined(self.lastapproachaborttime) && self.lastapproachaborttime + 500 > gettime()) { return 0; } return 1; } //Function Number: 13 setupapproachnode(param_00) { self endon("killanimscript"); if(isdefined(self.heat)) { thread dolastminuteexposedapproachwrapper(); return; } if(param_00) { self.requestarrivalnotify = 1; } if(self.swimmer == 1) { thread animscripts\swim::swim_setupapproach(); return; } self.a.arrivaltype = undefined; thread dolastminuteexposedapproachwrapper(); self waittill("cover_approach",var_01); if(!checkapproachpreconditions()) { return; } thread setupapproachnode(0); var_02 = "exposed"; var_03 = self.pathgoalpos; var_04 = vectortoyaw(var_01); var_05 = var_04; var_06 = getapproachent(); if(isdefined(var_06)) { var_02 = determinenodeapproachtype(var_06); if(isdefined(var_02) && var_02 != "exposed") { var_03 = getapproachpoint(var_06,var_02); var_04 = var_06.angles[1]; var_05 = animscripts\utility::getnodeforwardyaw(var_06); } } else if(usereadystand()) { if(animscripts\utility::shouldcqb()) { var_02 = "exposed_ready_cqb"; } else { var_02 = "exposed_ready"; } } if(!checkapproachconditions(var_02,var_01,var_06)) { return; } startcoverapproach(var_02,var_03,var_04,var_05,var_01); } //Function Number: 14 coverapproachlastminutecheck(param_00,param_01,param_02,param_03,param_04) { if(isdefined(self.disablearrivals) && self.disablearrivals) { return 0; } if(abs(self getmotionangle()) > 45 && isdefined(self.enemy) && vectordot(anglestoforward(self.angles),vectornormalize(self.enemy.origin - self.origin)) > 0.8) { return 0; } if(self.a.pose != "stand" || self.a.movement != "run" && !animscripts\utility::iscqbwalkingorfacingenemy()) { return 0; } if(animscripts\utility::absangleclamp180(param_04 - self.angles[1]) > 30) { if(isdefined(self.enemy) && self cansee(self.enemy) && distancesquared(self.origin,self.enemy.origin) < 65536) { if(vectordot(anglestoforward(self.angles),self.enemy.origin - self.origin) > 0) { return 0; } } } if(!checkcoverenterpos(param_00,param_01,param_02,param_03,0)) { return 0; } return 1; } //Function Number: 15 approachwaittillclose(param_00,param_01) { if(!isdefined(param_00)) { return; } for(;;) { if(!isdefined(self.pathgoalpos)) { waitforpathgoalpos(); } var_02 = distance(self.origin,self.pathgoalpos); if(var_02 <= param_01 + 8) { break; } var_03 = var_02 - param_01 / 250 - 0.1; if(var_03 < 0.05) { var_03 = 0.05; } wait(var_03); } } //Function Number: 16 startcoverapproach(param_00,param_01,param_02,param_03,param_04) { self endon("killanimscript"); self endon("cover_approach"); var_05 = getapproachent(); var_06 = animscripts\exit_node::getmaxdirectionsandexcludedirfromapproachtype(var_05); var_07 = var_06.maxdirections; var_08 = var_06.excludedir; var_09 = vectordot(param_04,anglestoforward(var_05.angles)) >= 0; var_06 = checkarrivalenterpositions(param_01,param_03,param_00,param_04,var_07,var_08,var_09); if(var_06.approachnumber < 0) { return; } var_0A = var_06.approachnumber; if(var_0A <= 6 && var_09) { self endon("goal_changed"); if(isdefined(self.animarchetype) && isdefined(level.archetypes[self.animarchetype]) && isdefined(level.archetypes[self.animarchetype]["CoverTransLongestDist"][param_00])) { self.arrivalstartdist = level.archetypes[self.animarchetype]["CoverTransLongestDist"][param_00]; } else if(isdefined(level.archetypes["soldier"]["CoverTransLongestDist"][param_00])) { self.arrivalstartdist = level.archetypes["soldier"]["CoverTransLongestDist"][param_00]; } else { self.arrivalstartdist = 8; } approachwaittillclose(var_05,self.arrivalstartdist); var_0B = vectornormalize(param_01 - self.origin); var_06 = checkarrivalenterpositions(param_01,param_03,param_00,var_0B,var_07,var_08,var_09); self.arrivalstartdist = length(animscripts\utility::lookuptransitionanim("cover_trans_dist",param_00,var_0A)); approachwaittillclose(var_05,self.arrivalstartdist); if(!self maymovetopoint(param_01)) { self.arrivalstartdist = undefined; return; } if(var_06.approachnumber < 0) { self.arrivalstartdist = undefined; return; } var_0A = var_06.approachnumber; var_0C = param_03 - animscripts\utility::lookuptransitionanim("cover_trans_angles",param_00,var_0A); } else { self setruntopos(self.coverenterpos); self waittill("runto_arrived"); var_0C = param_04 - animscripts\utility::lookuptransitionanim("cover_trans_angles",param_01,var_0C); if(!coverapproachlastminutecheck(param_01,param_03,param_00,var_0A,var_0C)) { return; } } self.approachnumber = var_0A; self.approachtype = param_00; self.arrivalstartdist = undefined; self startcoverarrival(self.coverenterpos,var_0C,0); } //Function Number: 17 checkarrivalenterpositions(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { var_07 = spawnstruct(); animscripts\exit_node::calculatenodetransitionangles(var_07,param_02,1,param_01,param_03,param_04,param_05); animscripts\exit_node::sortnodetransitionangles(var_07,param_04); var_08 = spawnstruct(); var_09 = (0,0,0); var_08.approachnumber = -1; var_0A = 2; for(var_0B = 1;var_0B <= var_0A;var_0B++) { var_08.approachnumber = var_07.transindex[var_0B]; if(!checkcoverenterpos(param_00,param_01,param_02,var_08.approachnumber,param_06)) { continue; } break; } if(var_0B > var_0A) { var_08.approachnumber = -1; return var_08; } var_0C = distancesquared(param_00,self.origin); var_0D = distancesquared(param_00,self.coverenterpos); if(var_0C < var_0D * 2 * 2) { if(var_0C < var_0D) { var_08.approachnumber = -1; return var_08; } if(!param_06) { var_0E = vectornormalize(self.coverenterpos - self.origin); var_0F = param_01 - animscripts\utility::lookuptransitionanim("cover_trans_angles",param_02,var_08.approachnumber); var_10 = anglestoforward((0,var_0F,0)); var_11 = vectordot(var_0E,var_10); if(var_11 < 0.707) { var_08.approachnumber = -1; return var_08; } } } return var_08; } //Function Number: 18 dolastminuteexposedapproachwrapper() { self endon("killanimscript"); self endon("move_interrupt"); self notify("doing_last_minute_exposed_approach"); self endon("doing_last_minute_exposed_approach"); thread watchgoalchanged(); for(;;) { dolastminuteexposedapproach(); for(;;) { common_scripts\utility::waittill_any("goal_changed","goal_changed_previous_frame"); if(isdefined(self.coverenterpos) && isdefined(self.pathgoalpos) && distance2d(self.coverenterpos,self.pathgoalpos) < 1) { continue; } break; } } } //Function Number: 19 watchgoalchanged() { self endon("killanimscript"); self endon("doing_last_minute_exposed_approach"); for(;;) { self waittill("goal_changed"); wait(0.05); self notify("goal_changed_previous_frame"); } } //Function Number: 20 exposedapproachconditioncheck(param_00,param_01) { if(!isdefined(self.pathgoalpos)) { return 0; } if(isdefined(self.disablearrivals) && self.disablearrivals) { return 0; } if(isdefined(self.approachconditioncheckfunc)) { if(!self [[ self.approachconditioncheckfunc ]](param_00)) { return 0; } } else { if(!self.facemotion && !isdefined(param_00) || param_00.type == "Path" || param_00.type == "Path 3D") { return 0; } if(self.a.pose != "stand") { return 0; } } if(isthreatenedbyenemy() || isdefined(self.lastapproachaborttime) && self.lastapproachaborttime + 500 > gettime()) { return 0; } if(!self maymovetopoint(self.pathgoalpos)) { return 0; } return 1; } //Function Number: 21 exposedapproachwaittillclose() { for(;;) { if(!isdefined(self.pathgoalpos)) { waitforpathgoalpos(); } var_00 = getapproachent(); if(isdefined(var_00) && !isdefined(self.heat)) { var_01 = var_00.origin; } else { var_01 = self.pathgoalpos; } var_02 = distance(self.origin,var_01); var_03 = 0; if(isdefined(self.animarchetype) && isdefined(level.archetypes[self.animarchetype]) && isdefined(level.archetypes[self.animarchetype]["longestExposedApproachDist"])) { var_03 = level.archetypes[self.animarchetype]["longestExposedApproachDist"]; } else { var_03 = level.archetypes["soldier"]["longestExposedApproachDist"]; } if(var_02 <= var_03 + 8) { break; } var_04 = var_02 - var_03 / 250 - 0.1; if(var_04 < 0) { break; } if(var_04 < 0.05) { var_04 = 0.05; } wait(var_04); } } //Function Number: 22 faceenemyatendofapproach(param_00) { if(!isdefined(self.enemy)) { return 0; } if(isdefined(self.heat) && isdefined(param_00)) { return 0; } if(self.combatmode == "cover" && issentient(self.enemy) && gettime() - self lastknowntime(self.enemy) > 15000) { return 0; } if(common_scripts\utility::flag("_cloaked_stealth_enabled")) { return self cansee(self.enemy); } return sighttracepassed(self.enemy getshootatpos(),self.pathgoalpos + (0,0,60),0,undefined); } //Function Number: 23 dolastminuteexposedapproach() { self endon("goal_changed"); self endon("move_interrupt"); if(isdefined(self getnegotiationstartnode())) { return; } exposedapproachwaittillclose(); if(isdefined(self.grenade) && isdefined(self.grenade.activator) && self.grenade.activator == self) { return; } var_00 = "exposed"; var_01 = 1; if(isdefined(self.approachtypefunc)) { var_00 = self [[ self.approachtypefunc ]](); } else if(animscripts\utility::isunstableground()) { var_00 = "exposed_unstable"; if(self.movemode == "run") { var_00 = var_00 + "_run"; } } else if(usereadystand()) { if(animscripts\utility::shouldcqb()) { var_00 = "exposed_ready_cqb"; } else { var_00 = "exposed_ready"; } } else if(animscripts\utility::shouldcqb()) { var_00 = "exposed_cqb"; } else if(isdefined(self.heat)) { var_00 = "heat"; var_01 = 4096; } else if(animscripts\utility::usingsmg()) { var_00 = "exposed_smg"; } var_02 = getapproachent(); if(isdefined(var_02) && isdefined(self.pathgoalpos) && !isdefined(self.disablecoverarrivalsonly)) { var_03 = distancesquared(self.pathgoalpos,var_02.origin) < var_01; } else { var_03 = 0; } if(var_03) { var_00 = determineexposedapproachtype(var_02); } if(isdefined(self.mech) && self.mech) { var_00 = "exposed"; } var_04 = vectornormalize(self.pathgoalpos - self.origin); var_05 = vectortoyaw(var_04); if(isdefined(self.faceenemyarrival)) { var_05 = self.angles[1]; } else if(faceenemyatendofapproach(var_02)) { var_05 = vectortoyaw(self.enemy.origin - self.pathgoalpos); } else { var_06 = isdefined(var_02) && var_03; var_06 = var_06 && var_02.type != "Path" && var_02.type != "Path 3D" && var_02.type != "Ambush" || !animscripts\utility::recentlysawenemy(); if(var_06) { var_05 = animscripts\utility::getnodeforwardyaw(var_02); } else { var_07 = self getanglestolikelyenemypath(); if(isdefined(var_07)) { var_05 = var_07[1]; } } } var_08 = spawnstruct(); animscripts\exit_node::calculatenodetransitionangles(var_08,var_00,1,var_05,var_04,9,-1); var_09 = 1; for(var_0A = 2;var_0A <= 9;var_0A++) { if(var_08.transitions[var_0A] > var_08.transitions[var_09]) { var_09 = var_0A; } } self.approachnumber = var_08.transindex[var_09]; self.approachtype = var_00; var_0B = animscripts\utility::lookuptransitionanim("cover_trans",var_00,self.approachnumber); if(!isdefined(var_0B) || isdefined(self.disableapproach)) { return; } var_0C = length(animscripts\utility::lookuptransitionanim("cover_trans_dist",var_00,self.approachnumber)); var_0D = var_0C + 8; var_0D = var_0D * var_0D; while(isdefined(self.pathgoalpos) && isdefined(var_0D) && distancesquared(self.origin,self.pathgoalpos) > var_0D) { wait(0.05); } if(isdefined(self.arrivalstartdist) && self.arrivalstartdist < var_0C + 8) { return; } if(!exposedapproachconditioncheck(var_02,var_03)) { return; } var_0E = distance(self.origin,self.pathgoalpos); if(abs(var_0E - var_0C) > 8) { return; } var_0F = vectortoyaw(self.pathgoalpos - self.origin); if(isdefined(self.heat) && var_03) { var_10 = var_05 - animscripts\utility::lookuptransitionanim("cover_trans_angles",var_00,self.approachnumber); var_11 = getarrivalstartpos(self.pathgoalpos,var_05,var_00,self.approachnumber); } else if(var_0E > 0) { var_12 = animscripts\utility::lookuptransitionanim("cover_trans_dist",var_02,self.approachnumber); var_13 = atan(var_12[1] / var_12[0]); if(!isdefined(self.faceenemyarrival) || self.facemotion) { var_10 = var_0F - var_13; if(animscripts\utility::absangleclamp180(var_10 - self.angles[1]) > 30) { return; } } else { var_10 = self.angles[1]; } var_14 = var_0E - var_0C; var_11 = self.origin + vectornormalize(self.pathgoalpos - self.origin) * var_14; } else { var_10 = self.angles[1]; var_11 = self.origin; } self startcoverarrival(var_11,var_10,0); } //Function Number: 24 waitforpathgoalpos() { for(;;) { if(isdefined(self.pathgoalpos)) { return; } wait(0.1); } } //Function Number: 25 custommovetransitionfunc() { if(!isdefined(self.startmovetransitionanim)) { return; } self animmode("zonly_physics",0); self orientmode("face current"); self setflaggedanimknoballrestart("move",self.startmovetransitionanim,%animscript_root,1); animscripts\face::playfacialanim(self.startmovetransitionanim,"run"); if(animhasnotetrack(self.startmovetransitionanim,"code_move")) { animscripts\shared::donotetracks("move"); self orientmode("face motion"); self animmode("none",0); } animscripts\shared::donotetracks("move"); } //Function Number: 26 customidletransitionfunc() { if(!isdefined(self.startidletransitionanim)) { return; } var_00 = self.approachnumber; var_01 = self.startidletransitionanim; if(!isdefined(self.heat)) { thread abortapproachifthreatened(); } self clearanim(%body,0.2); self setflaggedanimrestart("coverArrival",var_01,1,0.2,self.movetransitionrate); animscripts\face::playfacialanim(var_01,"run"); animscripts\shared::donotetracks("coverArrival",::handlestartaim); var_02 = level.arrivalendstance[self.approachtype]; if(isdefined(var_02)) { self.a.pose = var_02; } self.a.movement = "stop"; self.a.arrivaltype = self.approachtype; self clearanim(%animscript_root,0.3); self.lastapproachaborttime = undefined; } //Function Number: 27 str(param_00) { if(!isdefined(param_00)) { return "{undefined}"; } return param_00; } //Function Number: 28 drawvec(param_00,param_01,param_02,param_03) { for(var_04 = 0;var_04 < param_02 * 100;var_04++) { wait(0.05); } } //Function Number: 29 drawapproachvec(param_00) { self endon("killanimscript"); for(;;) { if(!isdefined(self.node)) { break; } wait(0.05); } } //Function Number: 30 getarrivalstartpos(param_00,param_01,param_02,param_03) { var_04 = (0,param_01 - animscripts\utility::lookuptransitionanim("cover_trans_angles",param_02,param_03),0); var_05 = anglestoforward(var_04); var_06 = anglestoright(var_04); var_07 = animscripts\utility::lookuptransitionanim("cover_trans_dist",param_02,param_03); var_08 = var_05 * var_07[0]; var_09 = var_06 * var_07[1]; return param_00 - var_08 + var_09; } //Function Number: 31 getarrivalprestartpos(param_00,param_01,param_02,param_03) { var_04 = (0,param_01 - animscripts\utility::lookuptransitionanim("cover_trans_angles",param_02,param_03),0); var_05 = anglestoforward(var_04); var_06 = anglestoright(var_04); var_07 = animscripts\utility::lookuptransitionanim("cover_trans_predist",param_02,param_03); var_08 = var_05 * var_07[0]; var_09 = var_06 * var_07[1]; return param_00 - var_08 + var_09; } //Function Number: 32 checkcoverenterpos(param_00,param_01,param_02,param_03,param_04) { var_05 = getarrivalstartpos(param_00,param_01,param_02,param_03); self.coverenterpos = var_05; if(param_03 <= 6 && param_04) { return 1; } if(!self maymovefrompointtopoint(var_05,param_00)) { return 0; } if(param_03 <= 6 || isdefined(level.exposedtransition[param_02])) { return 1; } var_06 = getarrivalprestartpos(var_05,param_01,param_02,param_03); self.coverenterpos = var_06; return self maymovefrompointtopoint(var_06,var_05); } //Function Number: 33 usereadystand() { if(!isdefined(level.readystand_anims_inited)) { return 0; } if(!level.readystand_anims_inited) { return 0; } if(!isdefined(self.busereadyidle)) { return 0; } if(!self.busereadyidle) { return 0; } return 1; } //Function Number: 34 debug_arrivals_on_actor() { return 0; } //Function Number: 35 debug_arrival(param_00) { if(!debug_arrivals_on_actor()) { } }