Template:PatchDiff/October 4, 2011 Patch/update/scripts/vscripts/transitions/sp elevator motifs.nut

From the Portal Wiki
Jump to navigation Jump to search
N/A1ElevatorMotifs <-
N/A2[
N/A3 { map = "sp_a1_intro1", speed = 200 },
N/A4 { map = "sp_a1_intro2", speed = 200 }, // this is what we do for continual elevator shafts
N/A5 { map = "sp_a1_intro3", speed = 200 }, // this is what we do for continual elevator shafts
N/A6 { map = "sp_a1_intro5", speed = 200 }, // this is what we do for continual elevator shafts
N/A7 { map = "sp_a1_intro6", speed = 200 }, // this is what we do for continual elevator shafts
N/A8 { map = "sp_a2_bridge_intro", speed = 200 },
N/A9// { map = "sp_a2_laser_over_goo", speed = 300, motifs = [ "@shaft_stoppage_1", "transition", ] },
N/A10 { map = "sp_a2_column_blocker", speed = 200 },
N/A11 { map = "sp_a2_trust_fling", speed = 300 },
N/A12 
N/A13 
N/A14 { map = "sp_a2_intro", speed = 125 },
N/A15 { map = "sp_a2_laser_intro", speed = 200 },
N/A16 { map = "sp_a2_laser_stairs", speed = 200 },
N/A17 { map = "sp_a2_dual_lasers", speed = 200 },
N/A18 { map = "sp_a2_catapult_intro", speed = 200 },
N/A19 { map = "sp_a2_pit_flings", speed = 200 },
N/A20// { map = "sp_a2_fizzler_intro", speed = 200 },
N/A21 { map = "sp_a2_sphere_peek", speed = 200 },
N/A22 { map = "sp_a2_ricochet", speed = 200 },
N/A23 { map = "sp_a2_bridge_the_gap", speed = 200},
N/A24 { map = "sp_a2_turret_intro", speed = 200 },
N/A25 { map = "sp_a2_laser_relays", speed = 200 },
N/A26 { map = "sp_a2_turret_blocker", speed = 200 },
N/A27 { map = "sp_a2_laser_vs_turret", speed = 200 },
N/A28 { map = "sp_a2_pull_the_rug", speed = 200 },
N/A29 { map = "sp_a2_ring_around_turrets", speed = 200 },
N/A30 { map = "sp_a2_laser_chaining", speed = 200 },
N/A31 { map = "sp_a2_triple_laser", speed = 200 },
N/A32 { map = "sp_a3_jump_intro", speed = 120 },
N/A33 { map = "sp_a3_bomb_flings", speed = 120 },
N/A34 { map = "sp_a3_crazy_box", speed = 120 },
N/A35 { map = "sp_a3_speed_ramp", speed = 120 },
N/A36 { map = "sp_a3_speed_flings", speed = 120 },
N/A37 { map = "sp_a4_intro", speed = 200 },
N/A38 { map = "sp_a4_tb_intro", speed = 200 },
N/A39 { map = "sp_a4_tb_trust_drop", speed = 200 },
N/A40 { map = "sp_a4_tb_wall_button", speed = 200 },
N/A41 { map = "sp_a4_tb_polarity", speed = 200 },
N/A42 { map = "sp_a4_tb_catch", speed = 100 },
N/A43 { map = "sp_a4_stop_the_box", speed = 200 },
N/A44 { map = "sp_a4_laser_catapult", speed = 200 },
N/A45 { map = "sp_a4_speed_tb_catch", speed = 200 },
N/A46 { map = "sp_a4_jump_polarity", speed = 200 },
N/A47]
N/A48 
N/A49function StartMoving()
N/A50{
N/A51 try
N/A52 {
N/A53 TryDLC1InstalledOrCatch()
N/A54 SendToConsole( "map_wants_save_disable 1" )
N/A55 }
N/A56 catch (e)
N/A57 {
N/A58 printl( "=======================Riding elevator not installed fall through." )
N/A59 }
N/A60 
N/A61 local foundLevel = false
N/A62 
N/A63 foreach (index, level in ElevatorMotifs)
N/A64 {
N/A65 if (level.map == GetMapName() && ("speed" in level) )
N/A66 {
N/A67 printl( "Starting elevator " + self.GetName() + " with speed " + level.speed )
N/A68 EntFire(self.GetName(),"SetSpeedReal",level.speed,0.0)
N/A69 foundLevel = true
N/A70 }
N/A71 }
N/A72 
N/A73 if (foundLevel == false)
N/A74 {
N/A75 printl( "Using default elevator speed 300" )
N/A76 EntFire(self.GetName(),"SetSpeedReal","300",0.0)
N/A77 }
N/A78}
N/A79 
N/A80function ReadyForTransition()
N/A81{
N/A82 // see if we need to teleport to somewhere else or
N/A83 PrepareTeleport()
N/A84}
N/A85 
N/A86function FailSafeTransition()
N/A87{
N/A88 // fire whichever one of these we have.
N/A89 EntFire("@transition_from_map","Trigger","",0.0)
N/A90 EntFire("@transition_with_survey","Trigger","",0.0)
N/A91}
N/A92 
N/A93function PrepareTeleport()
N/A94{
N/A95 local foundLevel = false
N/A96 
N/A97 if ( ::TransitionFired == 1 )
N/A98 return
N/A99 
N/A100 foreach (index, level in ElevatorMotifs)
N/A101 {
N/A102 if ( level.map == GetMapName() )
N/A103 {
N/A104 if ("motifs" in level)
N/A105 {
N/A106 printl( "Trying to connect to motif " + level.motifs[::MotifIndex] )
N/A107 
N/A108 if( level.motifs[::MotifIndex] == "transition" )
N/A109 {
N/A110 EntFire("@transition_with_survey","Trigger","",0.0)
N/A111 EntFire("@transition_from_map","Trigger","",0.0)
N/A112 return
N/A113 }
N/A114 else
N/A115 {
N/A116 EntFire(self.GetName(),"SetRemoteDestination",level.motifs[::MotifIndex],0.0)
N/A117 if( ::MotifIndex == 0 )
N/A118 {
N/A119 EntFire("departure_elevator-elevator_1","Stop","",0.05)
N/A120 }
N/A121 }
N/A122 foundLevel = true
N/A123 }
N/A124 else
N/A125 {
N/A126 if( ::TransitionReady == 1 )
N/A127 {
N/A128  ::TransitionFired <- 1
N/A129 EntFire("@transition_from_map","Trigger","",0.0)
N/A130 EntFire("@transition_with_survey","Trigger","",0.0)
N/A131 }
N/A132 // just bail, we don't need to do anything weird here.
N/A133 return;
N/A134 }
N/A135 }
N/A136 }
N/A137 
N/A138 if (foundLevel == false)
N/A139 {
N/A140// printl("**********************************")
N/A141// printl("Level not found in elevator_motifs")
N/A142// printl("**********************************")
N/A143 {
N/A144  ::TransitionFired <- 1
N/A145 EntFire("@transition_with_survey","Trigger","",0.0)
N/A146 EntFire("@transition_from_map","Trigger","",0.0)
N/A147 printl("Level not found in elevator_motifs defaulting to transition")
N/A148 }
N/A149 
N/A150 // just bail, we don't need to do anything weird here.
N/A151 return;
N/A152 }
N/A153 
N/A154 EntFire(self.GetName(),"Enable",0.0)
N/A155  ::MotifIndex += 1
N/A156}
N/A157 
N/A158function OnPostSpawn()
N/A159{
N/A160  ::MotifIndex <- 0
N/A161  ::TransitionReady <- 0
N/A162  ::TransitionFired <- 0
N/A163}