share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/journey.lua
changeset 15049 6fc8f0a2929d
parent 15048 d131ec7be850
child 15050 ce3efc9cc6d3
equal deleted inserted replaced
15048:d131ec7be850 15049:6fc8f0a2929d
   138 cannibalsTeamName = nil
   138 cannibalsTeamName = nil
   139 cyborgTeamName = nil
   139 cyborgTeamName = nil
   140 
   140 
   141 startAnimStarted = false
   141 startAnimStarted = false
   142 blowTaken = false
   142 blowTaken = false
   143 fireTaken = false
       
   144 gravityTaken = false
   143 gravityTaken = false
   145 sniperTaken = false
   144 sniperTaken = false
   146 leaksDead = false
   145 leaksDead = false
   147 denseDead = false
   146 denseDead = false
   148 princessDead = false
   147 princessDead = false
   339 function AfterOutPitAnim()
   338 function AfterOutPitAnim()
   340   SetupCourseDuo()
   339   SetupCourseDuo()
   341   RestoreHedge(cannibals[5])
   340   RestoreHedge(cannibals[5])
   342   AddAmmo(cannibals[5], amDEagle, 0)
   341   AddAmmo(cannibals[5], amDEagle, 0)
   343   HideHedge(cannibals[5])
   342   HideHedge(cannibals[5])
   344   AddEvent(CheckTookFire, {}, DoTookFire, {}, 0)
       
   345   SetGearMessage(dense, band(GetGearMessage(dense), bnot(gmAllStoppable)))
   343   SetGearMessage(dense, band(GetGearMessage(dense), bnot(gmAllStoppable)))
   346   SetGearMessage(leaks, band(GetGearMessage(leaks), bnot(gmAllStoppable)))
   344   SetGearMessage(leaks, band(GetGearMessage(leaks), bnot(gmAllStoppable)))
   347   EndTurn(true)
   345   EndTurn(true)
   348   ShowMission(loc("The Journey Back"), loc("They never learn"),
   346   ShowMission(loc("The Journey Back"), loc("They never learn"),
   349     loc("Free Dense Cloud and continue the mission!") .. "|" ..
   347     loc("Free Dense Cloud and continue the mission!") .. "|" ..
   411   PlaceGirder(962, 650, 2)
   409   PlaceGirder(962, 650, 2)
   412   PlaceGirder(962, 630, 2)
   410   PlaceGirder(962, 630, 2)
   413   PlaceGirder(1033, 649, 0)
   411   PlaceGirder(1033, 649, 0)
   414   PlaceGirder(952, 650, 0)
   412   PlaceGirder(952, 650, 0)
   415 
   413 
   416   fireCrate = SpawnSupplyCrate(1846, 1100, amFirePunch)
   414   SpawnSupplyCrate(1846, 1100, amFirePunch, AMMO_INFINITE)
   417   SpawnSupplyCrate(1900, 1100, amPickHammer)
   415   SpawnSupplyCrate(1900, 1100, amPickHammer)
   418   SpawnSupplyCrate(950, 674, amDynamite)
   416   SpawnSupplyCrate(950, 674, amDynamite)
   419   SpawnSupplyCrate(994, 825, amRope)
   417   SpawnSupplyCrate(994, 825, amRope)
   420   SpawnSupplyCrate(570, 1357, amLowGravity)
   418   SpawnSupplyCrate(570, 1357, amLowGravity)
   421 end
   419 end
   764   AddGear(2167, 1330, gtMine, 0, 0, 0, 0)
   762   AddGear(2167, 1330, gtMine, 0, 0, 0, 0)
   765   AddGear(2201, 1321, gtMine, 0, 0, 0, 0)
   763   AddGear(2201, 1321, gtMine, 0, 0, 0, 0)
   766   AddGear(2239, 1295, gtMine, 0, 0, 0, 0)
   764   AddGear(2239, 1295, gtMine, 0, 0, 0, 0)
   767 
   765 
   768   AnimSetGearPosition(leaks, 3781, 1583)
   766   AnimSetGearPosition(leaks, 3781, 1583)
   769   AddAmmo(cannibals[1], amShotgun, 100)
   767   AddAmmo(cannibals[1], amShotgun, AMMO_INFINITE)
   770   AddAmmo(leaks, amSwitch, 0)
   768   AddAmmo(leaks, amSwitch, 0)
   771 end
   769 end
   772 
   770 
   773 function SetupPlaceDuo()
   771 function SetupPlaceDuo()
   774   PlaceCratesDuo()
   772   PlaceCratesDuo()
   878   AddGear(1815, 1184, gtMine, 0, 0, 0, 0)
   876   AddGear(1815, 1184, gtMine, 0, 0, 0, 0)
   879 end
   877 end
   880 
   878 
   881 
   879 
   882 --////////////////////////////Event Functions////////////////////////
   880 --////////////////////////////Event Functions////////////////////////
   883 function CheckTookFire()
       
   884   return fireTaken
       
   885 end
       
   886 
       
   887 function DoTookFire()
       
   888   AddAmmo(leaks, amFirePunch, 100)
       
   889 end
       
   890 
   881 
   891 function CheckDensePit()
   882 function CheckDensePit()
   892   if GetHealth(dense) ~= nil then
   883   if GetHealth(dense) ~= nil then
   893     return GetY(dense) < 1250 and StoppedGear(dense)
   884     return GetY(dense) < 1250 and StoppedGear(dense)
   894   else
   885   else
  1159   if trackedGears[gear] then
  1150   if trackedGears[gear] then
  1160     trackedGears[gear] = nil
  1151     trackedGears[gear] = nil
  1161   end
  1152   end
  1162   if gear == blowCrate then
  1153   if gear == blowCrate then
  1163     blowTaken = true
  1154     blowTaken = true
  1164   elseif gear == fireCrate then
       
  1165     fireTaken = true
       
  1166   elseif gear == gravityCrate then
  1155   elseif gear == gravityCrate then
  1167     gravityTaken = true
  1156     gravityTaken = true
  1168   elseif gear == leaks and not victory then
  1157   elseif gear == leaks and not victory then
  1169     leaksDead = true
  1158     leaksDead = true
  1170   elseif gear == dense and not victory then
  1159   elseif gear == dense and not victory then