share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/journey.lua
changeset 12542 9d069efefe52
parent 12512 b1c2b0a8a43e
child 12543 9fda510f0bc4
equal deleted inserted replaced
12541:8d249cc59430 12542:9d069efefe52
    34 
    34 
    35 blowTaken = false
    35 blowTaken = false
    36 fireTaken = false
    36 fireTaken = false
    37 gravityTaken = false
    37 gravityTaken = false
    38 sniperTaken = false
    38 sniperTaken = false
    39 girderTaken = false
       
    40 girder1Taken = false
       
    41 girder2Taken = false
       
    42 leaksDead = false
    39 leaksDead = false
    43 denseDead = false
    40 denseDead = false
    44 princessDead = false
    41 princessDead = false
    45 cyborgDead = false
    42 cyborgDead = false
    46 victory = false
    43 victory = false
    89     AnimSetGearPosition(cannibals[i], unpack(cannibalPos[i]))
    86     AnimSetGearPosition(cannibals[i], unpack(cannibalPos[i]))
    90   end
    87   end
    91 
    88 
    92   AddAmmo(cannibals[5], amDEagle, 0)
    89   AddAmmo(cannibals[5], amDEagle, 0)
    93 
    90 
    94   AddEvent(CheckGirderTaken, {}, DoGirderTaken, {}, 0)
       
    95   AddEvent(CheckOnFirstGirder, {}, DoOnFirstGirder, {}, 0)
    91   AddEvent(CheckOnFirstGirder, {}, DoOnFirstGirder, {}, 0)
    96   AddEvent(CheckTookSniper, {}, DoTookSniper, {}, 0)
    92   AddEvent(CheckTookSniper, {}, DoTookSniper, {}, 0)
    97   AddEvent(CheckFailedCourse, {}, DoFailedCourse, {}, 0)
    93   AddEvent(CheckFailedCourse, {}, DoFailedCourse, {}, 0)
    98   SetGearMessage(leaks, 0)
    94   SetGearMessage(leaks, 0)
    99   TurnsLeft = 12
    95   TurnsLeft = 12
   214 end
   210 end
   215 
   211 
   216 function AfterPastFlowerAnim()
   212 function AfterPastFlowerAnim()
   217   PlaceMinesDuo()
   213   PlaceMinesDuo()
   218   AddEvent(CheckDensePit, {}, DoDensePit, {}, 0)
   214   AddEvent(CheckDensePit, {}, DoDensePit, {}, 0)
   219   AddEvent(CheckTookGirder1, {}, DoTookGirder1, {}, 0)
       
   220   AddEvent(CheckTookGirder2, {}, DoTookGirder2, {}, 0)
       
   221   SetGearMessage(leaks, 0)
   215   SetGearMessage(leaks, 0)
   222   SetGearMessage(dense, 0)
   216   SetGearMessage(dense, 0)
   223   EndTurn(0)
   217   EndTurn(0)
   224   ShowMission(loc("The Journey Back"), loc("The Savior"), 
   218   ShowMission(loc("The Journey Back"), loc("The Savior"), 
   225     loc("Get Dense Cloud out of the pit!") .. "|" ..
   219     loc("Get Dense Cloud out of the pit!") .. "|" ..
   754 
   748 
   755 function DoTookFire()
   749 function DoTookFire()
   756   AddAmmo(leaks, amFirePunch, 100)
   750   AddAmmo(leaks, amFirePunch, 100)
   757 end
   751 end
   758 
   752 
   759 function CheckTookGirder1()
       
   760   return girder1Taken
       
   761 end
       
   762 
       
   763 function CheckTookGirder2()
       
   764   return girder2Taken
       
   765 end
       
   766 
       
   767 function DoTookGirder1()
       
   768   AddAmmo(dense, amGirder, 2)
       
   769 end
       
   770 
       
   771 function DoTookGirder2()
       
   772   AddAmmo(dense, amGirder, 3)
       
   773 end
       
   774 
       
   775 function CheckDensePit()
   753 function CheckDensePit()
   776   if GetHealth(dense) ~= nil then
   754   if GetHealth(dense) ~= nil then
   777     return GetY(dense) < 1250 and StoppedGear(dense)
   755     return GetY(dense) < 1250 and StoppedGear(dense)
   778   else
   756   else
   779     return false
   757     return false
   860   RestoreHedge(cyborg)
   838   RestoreHedge(cyborg)
   861   RestoreHedge(princess)
   839   RestoreHedge(princess)
   862   AnimWait(cyborg, 1)
   840   AnimWait(cyborg, 1)
   863   AddFunction({func = AddAnim, args = {midAnim}})
   841   AddFunction({func = AddAnim, args = {midAnim}})
   864   AddFunction({func = AddFunction, args = {{func = AfterMidAnimAlone, args = {}}}})
   842   AddFunction({func = AddFunction, args = {{func = AfterMidAnimAlone, args = {}}}})
   865 end
       
   866 
       
   867 function CheckGirderTaken()
       
   868   return girderTaken
       
   869 end
       
   870 
       
   871 function DoGirderTaken()
       
   872   AddAmmo(leaks, amGirder, 2)
       
   873 --  AddAmmo(leaks, amGirder, 3)
       
   874 end
   843 end
   875 
   844 
   876 function CheckOnFirstGirder()
   845 function CheckOnFirstGirder()
   877   return leaksDead == false and GetX(leaks) < 1160 and StoppedGear(leaks)
   846   return leaksDead == false and GetX(leaks) < 1160 and StoppedGear(leaks)
   878 end
   847 end
  1039     denseDead = true
  1008     denseDead = true
  1040   elseif gear == cyborg then
  1009   elseif gear == cyborg then
  1041     cyborgDead = true
  1010     cyborgDead = true
  1042   elseif gear == princess and not victory then
  1011   elseif gear == princess and not victory then
  1043     princessDead = true
  1012     princessDead = true
  1044   elseif gear == girderCrate then
       
  1045     girderTaken = true
       
  1046   elseif gear == girderCrate1 then
       
  1047     girder1Taken = true
       
  1048   elseif gear == girderCrate2 then
       
  1049     girder2Taken = true
       
  1050   elseif gear == sniperCrate then
  1013   elseif gear == sniperCrate then
  1051     sniperTaken = true
  1014     sniperTaken = true
  1052   else
  1015   else
  1053     for i = 1, 4 do
  1016     for i = 1, 4 do
  1054       if gear == cannibals[i] then
  1017       if gear == cannibals[i] then