share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/dragon.lua
changeset 12263 2c8e7e73ef58
parent 12262 2c11b8f5fa4d
child 12269 401cf7a7f870
equal deleted inserted replaced
12262:2c11b8f5fa4d 12263:2c8e7e73ef58
   191 
   191 
   192 function AnimationSetup()
   192 function AnimationSetup()
   193   startAnim = {}
   193   startAnim = {}
   194   local m = m5DeployedNum
   194   local m = m5DeployedNum
   195   table.insert(startAnim, {func = AnimWait, args = {native, 3000}})
   195   table.insert(startAnim, {func = AnimWait, args = {native, 3000}})
   196   table.insert(startAnim, {func = AnimCaption, args = {native, loc("With the rest of the tribe gone, it was up to ") .. nativeNames[m5DeployedNum] .. loc(" to save the village."), 5000}})
   196   table.insert(startAnim, {func = AnimCaption, args = {native, string.format(loc("With the rest of the tribe gone, it was up to %s to save the village."), nativeNames[m5DeployedNum]), 5000}})
   197   table.insert(startAnim, {func = AnimCaption, args = {native, loc("But it proved to be no easy task!"), 2000}})
   197   table.insert(startAnim, {func = AnimCaption, args = {native, loc("But it proved to be no easy task!"), 2000}})
   198   for i = 1, 4 do
   198   for i = 1, 4 do
   199     table.insert(startAnim, {func = FollowGear, swh = false, args = {cyborgs[i]}})
   199     table.insert(startAnim, {func = FollowGear, swh = false, args = {cyborgs[i]}})
   200     table.insert(startAnim, {func = AnimWait, args = {native, 1000}})
   200     table.insert(startAnim, {func = AnimWait, args = {native, 1000}})
   201   end
   201   end
   239   end
   239   end
   240 
   240 
   241   table.insert(startAnim, {func = AnimCustomFunction, args = {native, RestoreHedge, {cyborg, unpack(cyborgPos)}}})
   241   table.insert(startAnim, {func = AnimCustomFunction, args = {native, RestoreHedge, {cyborg, unpack(cyborgPos)}}})
   242   table.insert(startAnim, {func = AnimOutOfNowhere, args = {cyborg, unpack(cyborgPos)}})
   242   table.insert(startAnim, {func = AnimOutOfNowhere, args = {cyborg, unpack(cyborgPos)}})
   243   table.insert(startAnim, {func = AnimTurn, args = {cyborg, "Left"}})
   243   table.insert(startAnim, {func = AnimTurn, args = {cyborg, "Left"}})
   244   table.insert(startAnim, {func = AnimSay, args = {cyborg, loc("Greetings, ") .. nativeUnNames[m] .. "!", SAY_SAY, 2500}})
   244   table.insert(startAnim, {func = AnimSay, args = {cyborg, string.format(loc("Greetings, %s!"), nativeUnNames[m]), SAY_SAY, 2500}})
   245   table.insert(startAnim, {func = AnimSay, args = {cyborg, loc("As you can see, there is no way to get on the other side!"), SAY_SAY, 7000}})
   245   table.insert(startAnim, {func = AnimSay, args = {cyborg, loc("As you can see, there is no way to get on the other side!"), SAY_SAY, 7000}})
   246   table.insert(startAnim, {func = AnimSay, args = {cyborg, loc("I wish to help you, ") .. nativeUnNames[m] .. "!", SAY_SAY, 4000}})
   246   table.insert(startAnim, {func = AnimSay, args = {cyborg, string.format(loc("I wish to help you, %s!"), nativeUnNames[m]), SAY_SAY, 4000}})
   247   table.insert(startAnim, {func = AnimSay, args = {cyborg, loc("Beware, though! If you are slow, you die!"), SAY_SAY, 7000}})
   247   table.insert(startAnim, {func = AnimSay, args = {cyborg, loc("Beware, though! If you are slow, you die!"), SAY_SAY, 7000}})
   248   table.insert(startAnim, {func = AnimDisappear, args = {cyborg, unpack(cyborgPos)}})
   248   table.insert(startAnim, {func = AnimDisappear, args = {cyborg, unpack(cyborgPos)}})
   249   table.insert(startAnim, {func = AnimSwitchHog, args = {native}})
   249   table.insert(startAnim, {func = AnimSwitchHog, args = {native}})
   250   table.insert(startAnim, {func = AnimCustomFunction, args = {native, HideHedge, {cyborg}}})
   250   table.insert(startAnim, {func = AnimCustomFunction, args = {native, HideHedge, {cyborg}}})
   251   table.insert(startAnim, {func = AnimSay, args = {native, loc("Talk about mixed signals..."), SAY_SAY, 4000}})
   251   table.insert(startAnim, {func = AnimSay, args = {native, loc("Talk about mixed signals..."), SAY_SAY, 4000}})
   255 function SetupKillAnim()
   255 function SetupKillAnim()
   256   table.insert(killAnim, {func = AnimSay, args = {native, loc("Well, that was a waste of time."), SAY_THINK, 5000}})
   256   table.insert(killAnim, {func = AnimSay, args = {native, loc("Well, that was a waste of time."), SAY_THINK, 5000}})
   257   table.insert(killAnim, {func = AnimCustomFunction, args = {native, RestoreHedge, {cyborg, unpack(cyborgPos)}}})
   257   table.insert(killAnim, {func = AnimCustomFunction, args = {native, RestoreHedge, {cyborg, unpack(cyborgPos)}}})
   258   table.insert(killAnim, {func = AnimOutOfNowhere, args = {cyborg, unpack(cyborgPos)}})
   258   table.insert(killAnim, {func = AnimOutOfNowhere, args = {cyborg, unpack(cyborgPos)}})
   259   table.insert(killAnim, {func = AnimCustomFunction, args = {cyborg, CondNeedToTurn, {cyborg, native}}})
   259   table.insert(killAnim, {func = AnimCustomFunction, args = {cyborg, CondNeedToTurn, {cyborg, native}}})
   260   table.insert(killAnim, {func = AnimSay, args = {cyborg, loc("You bear impressive skills, ") .. nativeUnNames[m5DeployedNum] .. "!", SAY_SHOUT, 4000}})
   260   table.insert(killAnim, {func = AnimSay, args = {cyborg, string.format(loc("You bear impressive skills, %s!"), nativeUnNames[m5DeployedNum]), SAY_SHOUT, 4000}})
   261   table.insert(killAnim, {func = AnimSay, args = {cyborg, loc("However, my mates don't agree with me on letting you go..."), SAY_SHOUT, 7000}})
   261   table.insert(killAnim, {func = AnimSay, args = {cyborg, loc("However, my mates don't agree with me on letting you go..."), SAY_SHOUT, 7000}})
   262   table.insert(killAnim, {func = AnimSay, args = {cyborg, loc("I guess you'll have to kill them."), SAY_SHOUT, 4000}})
   262   table.insert(killAnim, {func = AnimSay, args = {cyborg, loc("I guess you'll have to kill them."), SAY_SHOUT, 4000}})
   263   table.insert(killAnim, {func = AnimDisappear, args = {cyborg, unpack(cyborgPos)}})
   263   table.insert(killAnim, {func = AnimDisappear, args = {cyborg, unpack(cyborgPos)}})
   264   table.insert(killAnim, {func = AnimSwitchHog, args = {native}})
   264   table.insert(killAnim, {func = AnimSwitchHog, args = {native}})
   265   table.insert(killAnim, {func = AnimWait, args = {native, 1}})
   265   table.insert(killAnim, {func = AnimWait, args = {native, 1}})
   270 function SetupKilledAnim()
   270 function SetupKilledAnim()
   271   table.insert(killedAnim, {func = AnimWait, args = {cyborg, 500}})
   271   table.insert(killedAnim, {func = AnimWait, args = {cyborg, 500}})
   272   table.insert(killedAnim, {func = AnimOutOfNowhere, args = {cyborg, unpack(secondPos[2])}})
   272   table.insert(killedAnim, {func = AnimOutOfNowhere, args = {cyborg, unpack(secondPos[2])}})
   273   table.insert(killedAnim, {func = AnimOutOfNowhere, args = {native, unpack(secondPos[1])}})
   273   table.insert(killedAnim, {func = AnimOutOfNowhere, args = {native, unpack(secondPos[1])}})
   274   table.insert(killedAnim, {func = AnimCustomFunction, args = {cyborg, CondNeedToTurn, {cyborg, native}}})
   274   table.insert(killedAnim, {func = AnimCustomFunction, args = {cyborg, CondNeedToTurn, {cyborg, native}}})
   275   table.insert(killedAnim, {func = AnimSay, args = {cyborg, loc("Nice work, ") .. nativeUnNames[m5DeployedNum] .. "!", SAY_SHOUT, 4000}})
   275   table.insert(killedAnim, {func = AnimSay, args = {cyborg, string.format(loc("Nice work, %s!"), nativeUnNames[m5DeployedNum]), SAY_SHOUT, 4000}})
   276   table.insert(killedAnim, {func = AnimSay, args = {cyborg, loc("As a reward for your performance, here's some new technology!"), SAY_SHOUT, 8000}})
   276   table.insert(killedAnim, {func = AnimSay, args = {cyborg, loc("As a reward for your performance, here's some new technology!"), SAY_SHOUT, 8000}})
   277   table.insert(killedAnim, {func = AnimSay, args = {cyborg, loc("Use it wisely!"), SAY_SHOUT, 3000}})
   277   table.insert(killedAnim, {func = AnimSay, args = {cyborg, loc("Use it wisely!"), SAY_SHOUT, 3000}})
   278   table.insert(killedAnim, {func = AnimDisappear, args = {cyborg, unpack(secondPos[2])}})
   278   table.insert(killedAnim, {func = AnimDisappear, args = {cyborg, unpack(secondPos[2])}})
   279   table.insert(killedAnim, {func = AnimSwitchHog, args = {native}})
   279   table.insert(killedAnim, {func = AnimSwitchHog, args = {native}})
   280   AddSkipFunction(killedAnim, SkipKilledAnim, {})
   280   AddSkipFunction(killedAnim, SkipKilledAnim, {})
   632     TurnTimeLeft = 30000
   632     TurnTimeLeft = 30000
   633   elseif GetHogTeamName(CurrentHedgehog) == loc("011101001") then
   633   elseif GetHogTeamName(CurrentHedgehog) == loc("011101001") then
   634     TurnTimeLeft = 0
   634     TurnTimeLeft = 0
   635   else
   635   else
   636     SetInputMask(0xFFFFFFFF)
   636     SetInputMask(0xFFFFFFFF)
   637     AddCaption(loc("Turns until Sudden Death: ") .. SuddenDeathTurns - TotalRounds)
   637     AddCaption(string.format(loc("Turns until Sudden Death: %d"), SuddenDeathTurns - TotalRounds))
   638   end
   638   end
   639 end
   639 end
   640 
   640 
   641 function onPrecise()
   641 function onPrecise()
   642   if GameTime > 2500 and AnimInProgress() then
   642   if GameTime > 2500 and AnimInProgress() then