home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 2003 June / macformat-130.iso / mac / Reviewed⁄Demos / Spearhead Demo / demota / pak1.pk3 / maps / DM / mp_malta_dm.scr < prev   
Encoding:
Text File  |  2002-10-31  |  5.5 KB  |  203 lines

  1. main:
  2.     level.script = maps/dm/MP_Malta_DM.scr
  3.     level.music = mp_malta_dm
  4.  
  5.  
  6.     setcvar "g_obj_alliedtext1" "Malta"
  7.     setcvar "g_obj_alliedtext2" ""
  8.     setcvar "g_obj_alliedtext3" ""
  9.     setcvar "g_obj_axistext1" ""
  10.     setcvar "g_obj_axistext2" ""
  11.     setcvar "g_obj_axistext3" ""
  12.  
  13.     setcvar "g_scoreboardpic" "mp_malta_dm"
  14.  
  15.     if(level.roundbased)
  16.         thread roundbasedthread
  17.         
  18.     level waittill prespawn
  19.     
  20.     exec global/ambient.scr
  21.     exec global/DMprecache.scr
  22.     exec global/door_locked.scr
  23.     exec global/exploder.scr
  24.  
  25.     $alliedmortar.collisionent = $granatwerfer_collision
  26.     $alliedmortar_turret0.collisionent = $granatwerfer_turret_collision
  27.     $alliedmortar thread global/stationaryweapons.scr::MountedStationaryWeaponWithCollision "models/statweapons/p_granatwerfer_d.tik" $granatwerfer_destroyed_collision
  28.     $alliedmortar_turret0 maxyawoffset "40"
  29.  
  30.     $alliedmortar2.collisionent = $granatwerfer_collision
  31.     $alliedmortar2_turret0.collisionent = $granatwerfer_turret_collision
  32.     $alliedmortar2 thread global/stationaryweapons.scr::MountedStationaryWeaponWithCollision "models/statweapons/p_granatwerfer_d.tik" $granatwerfer_destroyed_collision
  33.     $alliedmortar2_turret0 maxyawoffset "40"
  34.     
  35.     $axismortar.collisionent = $granatwerfer_collision
  36.     $axismortar_turret0.collisionent = $granatwerfer_turret_collision
  37.     $axismortar thread global/stationaryweapons.scr::MountedStationaryWeaponWithCollision "models/statweapons/p_granatwerfer_d.tik" $granatwerfer_destroyed_collision
  38.     $axismortar_turret0 maxyawoffset "40"
  39.  
  40.     $axismortar2.collisionent = $granatwerfer_collision
  41.     $axismortar2_turret0.collisionent = $granatwerfer_turret_collision
  42.     $axismortar2 thread global/stationaryweapons.scr::MountedStationaryWeaponWithCollision "models/statweapons/p_granatwerfer_d.tik" $granatwerfer_destroyed_collision
  43.     $axismortar2_turret0 maxyawoffset "40"
  44.  
  45.     level waittill spawn
  46.  
  47.     $mg42 pitchcaps ( -25 45 0)
  48.     $mg42 maxyawoffset "80"
  49.     $mg42_2 pitchcaps ( -25 45 0)
  50.     $mg42_2 maxyawoffset "65"
  51.     level.portcullis_open = 1
  52.     $trapdoor thread trapdoor_init
  53.     $portcullis_switch bind $portcullis_switch_origin
  54.     
  55.     //make all the switches non solid so as not to injure the player when triggered.
  56.     $portcullis_switch notsolid    
  57.     $portcullis_switch_origin notsolid
  58.     $portcullis open $portcullis_entity
  59.  
  60.     $walltrigger thread exploder_init 1
  61.     $bridgetrigger thread exploder_init 2
  62.     $walltrigger2 thread exploder_init 3
  63.     $nudietrigger thread exploder_init 4
  64.     $debristrigger thread exploder_init 5
  65.     $balconytrigger thread exploder_init 6
  66.     $limestonetrigger1 thread exploder_init 7`
  67.     $limestonetrigger2 thread exploder_init 8
  68.     $towercorner_trigger thread exploder_init 9
  69.     $prisoncorner_trigger thread exploder_init 10
  70.     $bunkertrigger thread exploder_init 11
  71.     $alleytrigger thread exploder_init 12
  72.  
  73. end
  74.  
  75.  
  76. roundbasedthread:
  77.  
  78.     level waitTill prespawn
  79.  
  80.     level waittill spawn
  81.     
  82.  
  83.     // set the parameters for this round based match
  84.     level.dmrespawning = 0 // 1 or 0
  85.     level.dmroundlimit = 5 // round time limit in minutes
  86.     level.clockside = kills // set to axis, allies, kills, or draw
  87.  
  88.     level waittill roundstart
  89.     $portcullis open $portcullis_entity
  90.  
  91.  
  92. //--------------------------------------------------------------
  93. //Open Portcullis
  94. //--------------------------------------------------------------
  95. animate_portcullis_switch:
  96.     
  97.     dprintln "animating the switch"
  98.     dprintln "level.portcullis_open = " level.portcullis_open
  99.     if( level.portcullis_open == 1 )
  100.     {
  101.         dprintln "rotating down"
  102.         $portcullis_switch_origin speed 5
  103.         $portcullis_switch_origin rotatezdownto 180
  104.         $portcullis_switch_origin waitmove
  105.         $portcullis_switch_origin playsound switchbox
  106.     }
  107.     else
  108.     {
  109.         dprintln "rotating up"
  110.         $portcullis_switch_origin speed .1
  111.         $portcullis_switch_origin rotatezupto 0
  112.         $portcullis_switch_origin waitmove
  113.         $portcullis_switch_origin playsound switchbox
  114.     }
  115. end
  116.  
  117. toggle_portcullis:
  118.     $portcullis_trigger nottriggerable
  119.     thread animate_portcullis_switch
  120.     if (level.portcullis_open == 1)
  121.     {
  122.         $portcullis_entity playsound portcullis_close_move
  123.         $portcullis close $portcullis_entity
  124.         wait 5
  125.         $portcullis_entity playsound portcullis_close_stop
  126.         level.portcullis_open = 0
  127.     }
  128.     else
  129.     {
  130.         $portcullis_entity playsound portcullis_open_move
  131.         $portcullis open $portcullis_entity
  132.         wait 5    
  133.         $portcullis_entity playsound portcullis_open_stop    
  134.         level.portcullis_open = 1
  135.     }
  136.     $portcullis_trigger triggerable
  137. end
  138.  
  139. trapdoor_init:
  140.     self solid
  141.     self damage 0
  142.     level.trapdoor_state = 0
  143. trapdoor_loop_start:
  144.     self waittill use
  145.     if (level.trapdoor_state  == 0)
  146.     {
  147.         self thread trapdoor_open
  148.     }
  149.     else if (level.trapdoor_state  == 1)
  150.     {
  151.         self thread trapdoor_close
  152.     }
  153.     goto trapdoor_loop_start
  154. end
  155.  
  156. trapdoor_cycle local.duration:
  157.     wait local.duration
  158.     if (level.trapdoor_state == 1)
  159.     {
  160.         self thread trapdoor_close        
  161.     }
  162. end
  163.  
  164. trapdoor_open:
  165.     level.trapdoor_state = 1
  166.     self openportal
  167.     self playsound gate_wood_open_move
  168.     self rotatezupto 90
  169.     self time 1
  170.     self waitmove
  171.     self playsound gate_wood_open_stop
  172.     self thread trapdoor_cycle 15
  173.     
  174. end
  175.  
  176. trapdoor_close:
  177.     self playsound gate_wood_close_move
  178.     level.trapdoor_state = 0
  179.     self rotatezdownto 0
  180.     self time 1
  181.     self waitmove
  182.     self playsound gate_wood_close_stop
  183.     self closeportal
  184. end
  185.  
  186. // Exploders
  187. //
  188. // Exploding Wall
  189.  
  190. exploder_init local.set:
  191.     self immune bash
  192.     self immune bullet
  193.     self immune shotgun
  194.  
  195. exploder_start_loop:
  196.     self waittill damage
  197.     dprintln "Hit! " self.health
  198.     if (self.health > 0)
  199.         goto exploder_start_loop
  200.     dprintln "BOOM!"
  201.     thread global/exploder.scr::explode local.set
  202.     self remove
  203. end