share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/backstab.lua
changeset 7417 2520705b857f
parent 7259 b630df7ac843
child 7425 3495e70c6d14
equal deleted inserted replaced
7415:1a6a6db3fa96 7417:2520705b857f
    12 leaksNum = 1
    12 leaksNum = 1
    13 denseNum = 2
    13 denseNum = 2
    14 waterNum = 3
    14 waterNum = 3
    15 buffaloNum = 4
    15 buffaloNum = 4
    16 chiefNum = 5
    16 chiefNum = 5
    17 princessNum = 6
    17 girlNum = 6
    18 wiseNum = 7
    18 wiseNum = 7
    19 
    19 
    20 spyKillStage = 1
    20 spyKillStage = 1
    21 platformStage = 2
    21 platformStage = 2
    22 wave3Stage = 3
    22 wave3Stage = 3
    23 
    23 
    24 tmpVar = 0
    24 tmpVar = 0
    25 
    25 
    26 nativeNames = {loc("Leaks A Lot"), loc("Dense Cloud"), loc("Fiery Water"), 
    26 nativeNames = {loc("Leaks A Lot"), loc("Dense Cloud"), loc("Fiery Water"), 
    27                loc("Raging Buffalo"), loc("Righteous Beard"), loc("Fell From Heaven"),
    27                loc("Raging Buffalo"), loc("Righteous Beard"), loc("Fell From Grace"),
    28                loc("Wise Oak"), loc("Eagle Eye"), loc("Flaming Worm")}
    28                loc("Wise Oak"), loc("Eagle Eye"), loc("Flaming Worm")}
    29 
    29 
    30 nativeHats = {"Rambo", "RobinHood", "pirate_jack", "zoo_Bunny", "IndianChief",
    30 nativeHats = {"Rambo", "RobinHood", "pirate_jack", "zoo_Bunny", "IndianChief",
    31               "tiara", "AkuAku", "None", "None"}
    31               "tiara", "AkuAku", "None", "None"}
    32 
    32 
   164     AnimInsertStepNext({func = AnimTurn, args = {natives[waterNum], "Right"}})
   164     AnimInsertStepNext({func = AnimTurn, args = {natives[waterNum], "Right"}})
   165   end
   165   end
   166   if nativeRevived[leaksNum] == true and nativeRevived[denseNum] == true then
   166   if nativeRevived[leaksNum] == true and nativeRevived[denseNum] == true then
   167     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("But why would they help us?"), SAY_SAY, 4000}})
   167     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("But why would they help us?"), SAY_SAY, 4000}})
   168     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("It must be the aliens!"), SAY_SAY, 3500}})
   168     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("It must be the aliens!"), SAY_SAY, 3500}})
   169     AnimInsertStepNext({func = AnimSay, args = {natives[princessNum], loc("You just appeared out of thin air!"), SAY_SAY, 5000}})
   169     AnimInsertStepNext({func = AnimSay, args = {natives[girlNum], loc("You just appeared out of thin air!"), SAY_SAY, 5000}})
   170     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("But...we died!"), SAY_SAY, 2500}})
   170     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("But...we died!"), SAY_SAY, 2500}})
   171     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("This must be the caves!"), SAY_SAY, 3500}})
   171     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("This must be the caves!"), SAY_SAY, 3500}})
   172     AnimInsertStepNext({func = AnimSay, args = {natives[denseNum], loc("Dude, where are we?"), SAY_SAY, 3000}})
   172     AnimInsertStepNext({func = AnimSay, args = {natives[denseNum], loc("Dude, where are we?"), SAY_SAY, 3000}})
   173     AnimInsertStepNext({func = AnimWait, args = {natives[leaksNum], 800}})
   173     AnimInsertStepNext({func = AnimWait, args = {natives[leaksNum], 800}})
   174     AnimInsertStepNext({func = AnimTurn, args = {natives[leaksNum], "Right"}})
   174     AnimInsertStepNext({func = AnimTurn, args = {natives[leaksNum], "Right"}})
   180     AnimInsertStepNext({func = AnimTurn, args = {natives[leaksNum], "Right"}})
   180     AnimInsertStepNext({func = AnimTurn, args = {natives[leaksNum], "Right"}})
   181     AnimInsertStepNext({func = AnimTurn, args = {natives[denseNum], "Left"}})
   181     AnimInsertStepNext({func = AnimTurn, args = {natives[denseNum], "Left"}})
   182     AnimInsertStepNext({func = AnimWait, args = {natives[leaksNum], 800}})
   182     AnimInsertStepNext({func = AnimWait, args = {natives[leaksNum], 800}})
   183     AnimInsertStepNext({func = AnimTurn, args = {natives[leaksNum], "Left"}})
   183     AnimInsertStepNext({func = AnimTurn, args = {natives[leaksNum], "Left"}})
   184     AnimInsertStepNext({func = AnimTurn, args = {natives[denseNum], "Right"}})
   184     AnimInsertStepNext({func = AnimTurn, args = {natives[denseNum], "Right"}})
   185     AnimInsertStepNext({func = AnimCustomFunction, swh = false, args = {natives[leaksNum], CondNeedToTurn, {natives[leaksNum], natives[princessNum]}}})
   185     AnimInsertStepNext({func = AnimCustomFunction, swh = false, args = {natives[leaksNum], CondNeedToTurn, {natives[leaksNum], natives[girlNum]}}})
   186     if nativeDead[chiefNum] ~= true then
   186     if nativeDead[chiefNum] ~= true then
   187       AnimInsertStepNext({func = AnimTurn, args = {natives[chiefNum], "Right"}})
   187       AnimInsertStepNext({func = AnimTurn, args = {natives[chiefNum], "Right"}})
   188     end
   188     end
   189   elseif nativeRevived[leaksNum] == true then
   189   elseif nativeRevived[leaksNum] == true then
   190     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("Why would they do this?"), SAY_SAY, 6000}})
   190     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("Why would they do this?"), SAY_SAY, 6000}})
   233     AnimInsertStepNext({func = AnimSay, args = {natives[wiseNum], loc("What shall we do with the traitor?"), SAY_SAY, 6000}})
   233     AnimInsertStepNext({func = AnimSay, args = {natives[wiseNum], loc("What shall we do with the traitor?"), SAY_SAY, 6000}})
   234     AnimInsertStepNext({func = SetHealth, swh = false, args = {natives[denseNum], 26}})
   234     AnimInsertStepNext({func = SetHealth, swh = false, args = {natives[denseNum], 26}})
   235     AnimInsertStepNext({func = AnimVisualGear, args = {GetGearPosition(natives[denseNum]), vgtExplosion, 0, true}})
   235     AnimInsertStepNext({func = AnimVisualGear, args = {GetGearPosition(natives[denseNum]), vgtExplosion, 0, true}})
   236     AnimInsertStepNext({func = AnimSay, args = {natives[wiseNum], loc("Here, let me help you!"), SAY_SAY, 3000}})
   236     AnimInsertStepNext({func = AnimSay, args = {natives[wiseNum], loc("Here, let me help you!"), SAY_SAY, 3000}})
   237     if nativeDead[chiefNum] == true then
   237     if nativeDead[chiefNum] == true then
   238       AnimInsertStepNext({func = AnimSay, args = {natives[princessNum], loc("You killed my father, you monster!"), SAY_SAY, 5000}})
   238       AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("I forgot that she's the daughter of the chief, too..."), SAY_THINK, 7000}})
       
   239       AnimInsertStepNext({func = AnimSay, args = {natives[girlNum], loc("You killed my father, you monster!"), SAY_SAY, 5000}})
   239     end
   240     end
   240     AnimInsertStepNext({func = AnimSay, args = {natives[denseNum], loc("Look, I had no choice!"), SAY_SAY, 3000}})
   241     AnimInsertStepNext({func = AnimSay, args = {natives[denseNum], loc("Look, I had no choice!"), SAY_SAY, 3000}})
   241     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("You have been giving us out to the enemy, haven't you!"), SAY_SAY, 7000}})
   242     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("You have been giving us out to the enemy, haven't you!"), SAY_SAY, 7000}})
   242     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("You're a pathetic liar!"), SAY_SAY, 3000}})
   243     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("You're a pathetic liar!"), SAY_SAY, 3000}})
   243     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("Interesting! Last time you said you killed a cannibal!"), SAY_SAY, 7000}})
   244     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("Interesting! Last time you said you killed a cannibal!"), SAY_SAY, 7000}})
   248   else
   249   else
   249     spyHog = natives[waterNum]
   250     spyHog = natives[waterNum]
   250     AnimInsertStepNext({func = AnimSay, args = {natives[wiseNum], loc("What shall we do with the traitor?"), SAY_SAY, 5000}})
   251     AnimInsertStepNext({func = AnimSay, args = {natives[wiseNum], loc("What shall we do with the traitor?"), SAY_SAY, 5000}})
   251     AnimInsertStepNext({func = SetHealth, swh = false, args = {natives[waterNum], 26}})
   252     AnimInsertStepNext({func = SetHealth, swh = false, args = {natives[waterNum], 26}})
   252     AnimInsertStepNext({func = AnimVisualGear, args = {nativePos[denseNum][1] + 50, nativePos[denseNum][2], vgtExplosion, 0, true}})
   253     AnimInsertStepNext({func = AnimVisualGear, args = {nativePos[denseNum][1] + 50, nativePos[denseNum][2], vgtExplosion, 0, true}})
   253     AnimInsertStepNext({func = AnimSay, args = {natives[princessNum], loc("I can't believe what I'm hearing!"), SAY_SAY, 5500}})
   254     AnimInsertStepNext({func = AnimSay, args = {natives[girlNum], loc("I can't believe what I'm hearing!"), SAY_SAY, 5500}})
   254     AnimInsertStepNext({func = AnimSay, args = {natives[waterNum], loc("You know what? I don't even regret anything!"), SAY_SAY, 7000}})
   255     AnimInsertStepNext({func = AnimSay, args = {natives[waterNum], loc("You know what? I don't even regret anything!"), SAY_SAY, 7000}})
   255     AnimInsertStepNext({func = AnimSay, args = {natives[princessNum], loc("In fact, you are the only one that's been acting strangely."), SAY_SAY, 8000}})
   256     AnimInsertStepNext({func = AnimSay, args = {natives[girlNum], loc("In fact, you are the only one that's been acting strangely."), SAY_SAY, 8000}})
   256     AnimInsertStepNext({func = AnimSay, args = {natives[waterNum], loc("Are you accusing me of something?"), SAY_SAY, 3500}})
   257     AnimInsertStepNext({func = AnimSay, args = {natives[waterNum], loc("Are you accusing me of something?"), SAY_SAY, 3500}})
   257     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("Seems like every time you take a \"walk\", the enemy find us!"), SAY_SAY, 8000}})
   258     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("Seems like every time you take a \"walk\", the enemy find us!"), SAY_SAY, 8000}})
   258     AnimInsertStepNext({func = AnimSay, args = {natives[waterNum], loc("You know...taking a stroll."), SAY_SAY, 3500}})
   259     AnimInsertStepNext({func = AnimSay, args = {natives[waterNum], loc("You know...taking a stroll."), SAY_SAY, 3500}})
   259     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("Where have you been?!"), SAY_SAY, 3000}})
   260     AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("Where have you been?!"), SAY_SAY, 3000}})
   260   end
   261   end
   269   AnimInsertStepNext({func = AnimJump, args = {natives[waterNum], "long"}})
   270   AnimInsertStepNext({func = AnimJump, args = {natives[waterNum], "long"}})
   270   AnimInsertStepNext({func = AnimJump, args = {natives[waterNum], "long"}})
   271   AnimInsertStepNext({func = AnimJump, args = {natives[waterNum], "long"}})
   271   AnimInsertStepNext({func = AnimJump, args = {natives[waterNum], "long"}})
   272   AnimInsertStepNext({func = AnimJump, args = {natives[waterNum], "long"}})
   272   AnimInsertStepNext({func = AnimTurn, args = {natives[waterNum], "Left"}})
   273   AnimInsertStepNext({func = AnimTurn, args = {natives[waterNum], "Left"}})
   273   AnimInsertStepNext({func = AnimSay, args = {natives[wiseNum], loc("There must be a spy among us!"), SAY_SAY, 4000}})
   274   AnimInsertStepNext({func = AnimSay, args = {natives[wiseNum], loc("There must be a spy among us!"), SAY_SAY, 4000}})
   274   AnimInsertStepNext({func = AnimSay, args = {natives[princessNum], loc("We made sure noone followed us!"), SAY_SAY, 4000}})
   275   AnimInsertStepNext({func = AnimSay, args = {natives[girlNum], loc("We made sure noone followed us!"), SAY_SAY, 4000}})
   275   AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("What? Here? How did they find us?!"), SAY_SAY, 5000}})
   276   AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("What? Here? How did they find us?!"), SAY_SAY, 5000}})
   276 end
   277 end
   277 
   278 
   278 function AnimationSetup()
   279 function AnimationSetup()
   279   table.insert(startAnim, {func = AnimWait, args = {natives[leaksNum], 3000}})
   280   table.insert(startAnim, {func = AnimWait, args = {natives[leaksNum], 3000}})
   454     end
   455     end
   455   end
   456   end
   456   if choice == choiceEliminate then
   457   if choice == choiceEliminate then
   457     table.insert(afterChoiceAnim, {func = AnimWait, args = {speakerHog, 1500}})
   458     table.insert(afterChoiceAnim, {func = AnimWait, args = {speakerHog, 1500}})
   458     table.insert(afterChoiceAnim, {func = AnimSay, args = {speakerHog, loc("He won't be selling us out anymore!"), SAY_SAY, 6000}})
   459     table.insert(afterChoiceAnim, {func = AnimSay, args = {speakerHog, loc("He won't be selling us out anymore!"), SAY_SAY, 6000}})
   459     if nativeDead[princessNum] ~= true and m4ChiefDead == 1 then
   460     if nativeDead[girlNum] ~= true and m4ChiefDead == 1 then
   460       table.insert(afterChoiceAnim, {func = AnimSay, args = {natives[princessNum], loc("That's for my father!"), SAY_SAY, 3500}})
   461       table.insert(afterChoiceAnim, {func = AnimSay, args = {natives[girlNum], loc("That's for my father!"), SAY_SAY, 3500}})
   461     end
   462     end
   462     table.insert(afterChoiceAnim, {func = AnimSay, args = {speakerHog, loc("Let's show those cannibals what we're made of!"), SAY_SAY, 7000}})
   463     table.insert(afterChoiceAnim, {func = AnimSay, args = {speakerHog, loc("Let's show those cannibals what we're made of!"), SAY_SAY, 7000}})
   463   else
   464   else
   464     table.insert(afterChoiceAnim, {func = AnimCustomFunction, swh = false, args = {natives[leaksNum], CondNeedToTurn, {speakerHog, spyHog}}})
   465     table.insert(afterChoiceAnim, {func = AnimCustomFunction, swh = false, args = {natives[leaksNum], CondNeedToTurn, {speakerHog, spyHog}}})
   465     table.insert(afterChoiceAnim, {func = AnimSay, args = {speakerHog, loc("We'll spare your life for now!"), SAY_SAY, 4500}})
   466     table.insert(afterChoiceAnim, {func = AnimSay, args = {speakerHog, loc("We'll spare your life for now!"), SAY_SAY, 4500}})
   716   if nativeDead[buffaloNum] == true then
   717   if nativeDead[buffaloNum] == true then
   717     SaveCampaignVar("M5BuffaloDead", "1")
   718     SaveCampaignVar("M5BuffaloDead", "1")
   718   else
   719   else
   719     SaveCampaignVar("M5BuffaloDead", "0")
   720     SaveCampaignVar("M5BuffaloDead", "0")
   720   end
   721   end
   721   if nativeDead[princessNum] == true then
   722   if nativeDead[girlNum] == true then
   722     SaveCampaignVar("M5PrincessDead", "1")
   723     SaveCampaignVar("M5GirlDead", "1")
   723   else
   724   else
   724     SaveCampaignVar("M5PrincessDead", "0")
   725     SaveCampaignVar("M5GirlDead", "0")
   725   end
   726   end
   726   if nativeDead[wiseNum] == true then
   727   if nativeDead[wiseNum] == true then
   727     SaveCampaignVar("M5WiseDead", "1")
   728     SaveCampaignVar("M5WiseDead", "1")
   728   else
   729   else
   729     SaveCampaignVar("M5WiseDead", "0")
   730     SaveCampaignVar("M5WiseDead", "0")
   837     nativeHidden[waterNum] = true
   838     nativeHidden[waterNum] = true
   838     needRevival = true
   839     needRevival = true
   839   end
   840   end
   840   if m4ChiefDead == 1 then
   841   if m4ChiefDead == 1 then
   841     DeleteGear(natives[chiefNum])
   842     DeleteGear(natives[chiefNum])
   842     SetGearPosition(natives[princessNum], unpack(nativePos[buffaloNum]))
   843     SetGearPosition(natives[girlNum], unpack(nativePos[buffaloNum]))
   843     nativePos[princessNum] = nativePos[buffaloNum]
   844     nativePos[girlNum] = nativePos[buffaloNum]
   844   end
   845   end
   845   if m4BuffaloDead == 1 then
   846   if m4BuffaloDead == 1 then
   846     DeleteGear(natives[buffaloNum])
   847     DeleteGear(natives[buffaloNum])
   847   end
   848   end
   848   startElimination = 0
   849   startElimination = 0
   857 
   858 
   858 function SetupEvents()
   859 function SetupEvents()
   859 end
   860 end
   860 
   861 
   861 function SetupAmmo()
   862 function SetupAmmo()
   862   AddAmmo(natives[princessNum], amSwitch, 0)
   863   AddAmmo(natives[girlNum], amSwitch, 0)
   863 end
   864 end
   864 
   865 
   865 function AddHogs()
   866 function AddHogs()
   866 	AddTeam(loc("Natives"), 29439, "Bone", "Island", "HillBilly", "cm_birdy")
   867 	AddTeam(loc("Natives"), 29439, "Bone", "Island", "HillBilly", "cm_birdy")
   867   for i = 1, 7 do
   868   for i = 1, 7 do