# HG changeset patch # User belphegorr # Date 1341493362 -10800 # Node ID e3f2280d900081d238020f65fe381c5e6c153bc4 # Parent 4a17a921ec932a627de0a3c8bfe9c8f200ad7c9a Added localization and changed primary team color. diff -r 4a17a921ec93 -r e3f2280d9000 share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/first_blood.lua --- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/first_blood.lua Thu Jul 05 00:57:30 2012 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/first_blood.lua Thu Jul 05 16:02:42 2012 +0300 @@ -1,3 +1,4 @@ +loadfile(GetDataPath() .. "Scripts/Locale.lua")() loadfile(GetDataPath() .. "Scripts/Animate.lua")() -----------------------------Variables--------------------------------- @@ -23,13 +24,13 @@ targets = {} crates = {} -targXdif2 = {2755, 2638, 2921, 2664, 2973, 3162, 3268, 3067, 3588, 3759, 3062, 1300} -targYdif2 = {1197, 1537, 1646, 1852, 1857, 1804, 1538, 1173, 984, 1290, 1167, 1183} -targXdif1 = {2749, 2909, 2770, 2892, 2836, 1558, 1305} -targYdif1 = {1179, 1313, 1734, 1603, 1441, 1152, 1259} -targetPosX = {{821, 866, 789}, {614, 656, 638}, {1238, 1237, 1200}, {1558, 1596, 1631}, {2190, 2396, 2457}} -targetPosY = {{1342, 1347, 1326}, {1112, 1121, 1061}, {1152, 1111, 1111}, {1132, 1136, 1280}, {1291, 1379, 1317}} -crateNum = {7, 12} +targXdif2 = {2755, 2638, 2921, 2664, 2973, 3162, 3268, 3067, 3062, 1300} +targYdif2 = {1197, 1537, 1646, 1852, 1857, 1804, 1538, 1173, 1167, 1183} +targXdif1 = {2749, 2909, 2770, 2836, 1558, 1305} +targYdif1 = {1179, 1313, 1734, 1441, 1152, 1259} +targetPosX = {{821, 866, 789}, {614, 656, 638}, {1238, 1237, 1200}} +targetPosY = {{1342, 1347, 1326}, {1112, 1121, 1061}, {1152, 1111, 1111}} +crateNum = {7, 10} stage = 1 @@ -58,18 +59,18 @@ difficultyChoice = false goals = { - [startDialogue] = {"First Blood", "First Steps", "Press [Left] or [Right] to move around, [Enter] to jump", 1, 4000}, - [onShroomAnim] = {"First Blood", "A leap in a leap", "Go on top of the flower", 1, 4000}, - [onFlowerAnim] = {"First Blood", "Hightime", "Collect the crate on the right.|Hint: Select the rope, [Up] or [Down] to aim, [Space] to fire, directional keys to move.|Ropes can be fired again in the air!", 1, 7000}, - [tookParaAnim] = {"First Blood", "Omnivore", "Get on the head of the mole", 1, 4000}, - [onMoleHeadAnim] = {"First Blood", "The Leap of Faith", "Use the parachute ([Space] while in air) to get the next crate", 1, 4000}, - [tookRope2Anim] = {"First Blood", "The Rising", "Do the deed", 1, 4000}, - [tookPunchAnim] = {"First Blood", "The Slaughter", "Destroy the targets!|Hint: Select the Shoryuken and hit [Space]|P.S. You can use it mid-air.", 1, 5000}, - [challengeAnim] = {"First Blood", "The Crate Frenzy", "Collect the crates within the time limit!|If you fail, you'll have to try again.", 1, 5000}, - [challengeFailedAnim] = {"First Blood", "The Crate Frenzy", "Collect the crates within the time limit!|If you fail, you'll have to try again.", 1, 5000}, - [challengeCompletedAnim] = {"First Blood", "The Ultimate Weapon", "Destroy the targets!|Hint: [Up], [Down] to aim, [Space] to shoot", 1, 5000}, - [beforeKillAnim] = {"First Blood", "The First Blood", "Kill the cannibal!", 1, 5000}, - [closeCannim] = {"First Blood", "The First Blood", "KILL IT!", 1, 5000} + [startDialogue] = {loc("First Blood"), loc("First Steps"), loc("Press [Left] or [Right] to move around, [Enter] to jump"), 1, 4000}, + [onShroomAnim] = {loc("First Blood"), loc("A leap in a leap"), loc("Go on top of the flower"), 1, 4000}, + [onFlowerAnim] = {loc("First Blood"), loc("Hightime"), loc("Collect the crate on the right.|Hint: Select the rope, [Up] or [Down] to aim, [Space] to fire, directional keys to move.|Ropes can be fired again in the air!"), 1, 7000}, + [tookParaAnim] = {loc("First Blood"), loc("Omnivore"), loc("Get on the head of the mole"), 1, 4000}, + [onMoleHeadAnim] = {loc("First Blood"), loc("The Leap of Faith"), loc("Use the parachute ([Space] while in air) to get the next crate"), 1, 4000}, + [tookRope2Anim] = {loc("First Blood"), loc("The Rising"), loc("Do the deed"), 1, 4000}, + [tookPunchAnim] = {loc("First Blood"), loc("The Slaughter"), loc("Destroy the targets!|Hint: Select the Shoryuken and hit [Space]|P.S. You can use it mid-air."), 1, 5000}, + [challengeAnim] = {loc("First Blood"), loc("The Crate Frenzy"), loc("Collect the crates within the time limit!|If you fail, you'll have to try again."), 1, 5000}, + [challengeFailedAnim] = {loc("First Blood"), loc("The Crate Frenzy"), loc("Collect the crates within the time limit!|If you fail, you'll have to try again."), 1, 5000}, + [challengeCompletedAnim] = {loc("First Blood"), loc("The Ultimate Weapon"), loc("Destroy the targets!|Hint: [Up], [Down] to aim, [Space] to shoot"), 1, 5000}, + [beforeKillAnim] = {loc("First Blood"), loc("The First Blood"), loc("Kill the cannibal!"), 1, 5000}, + [closeCannim] = {loc("First Blood"), loc("The First Blood"), loc("KILL IT!"), 1, 5000} } -----------------------------Animations-------------------------------- function Skipanim(anim) @@ -92,127 +93,127 @@ function AnimationSetup() AddSkipFunction(damageAnim, SkipDamageAnim, {damageAnim}) table.insert(damageAnim, {func = AnimWait, args = {youngh, 500}, skipFunc = Skipanim, skipArgs = damageAnim}) - table.insert(damageAnim, {func = AnimSay, args = {elderh, "Watch your steps, young one!", SAY_SAY, 2000}}) + table.insert(damageAnim, {func = AnimSay, args = {elderh, loc("Watch your steps, young one!"), SAY_SAY, 2000}}) table.insert(damageAnim, {func = AnimGearWait, args = {youngh, 500}}) AddSkipFunction(princessDamagedAnim, SkipDamageAnim, {princessDamagedAnim}) table.insert(princessDamagedAnim, {func = AnimWait, args = {princess, 500}, skipFunc = Skipanim, skipArgs = princessDamagedAnim}) - table.insert(princessDamagedAnim, {func = AnimSay, args = {princess, "Why do men keep hurting me?", SAY_THINK, 3000}}) + table.insert(princessDamagedAnim, {func = AnimSay, args = {princess, loc("Why do men keep hurting me?"), SAY_THINK, 3000}}) table.insert(princessDamagedAnim, {func = AnimGearWait, args = {youngh, 500}}) AddSkipFunction(elderDamagedAnim, SkipDamageAnim, {elderDamagedAnim}) table.insert(elderDamagedAnim, {func = AnimWait, args = {elderh, 500}, skipFunc = Skipanim, skipArgs = elderDamagedAnim}) - table.insert(elderDamagedAnim, {func = AnimSay, args = {elderh, "Violence is not the answer to your problems!", SAY_SAY, 3000}}) + table.insert(elderDamagedAnim, {func = AnimSay, args = {elderh, loc("Violence is not the answer to your problems!"), SAY_SAY, 3000}}) table.insert(elderDamagedAnim, {func = AnimGearWait, args = {youngh, 500}}) AddSkipFunction(startDialogue, Skipanim, {startDialogue}) table.insert(startDialogue, {func = AnimWait, args = {youngh, 3500}, skipFunc = Skipanim, skipArgs = startDialogue}) - table.insert(startDialogue, {func = AnimCaption, args = {youngh, "Once upon a time, on an island with great natural resources, lived two tribes in heated conflict...", 5000}}) - table.insert(startDialogue, {func = AnimCaption, args = {youngh, "One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life...", 5000}}) - table.insert(startDialogue, {func = AnimCaption, args = {youngh, "The other one were all cannibals, spending their time eating the organs of fellow hedgehogs...", 5000}}) - table.insert(startDialogue, {func = AnimCaption, args = {youngh, "And so it began...", 1000}}) - table.insert(startDialogue, {func = AnimSay, args = {elderh, "What are you doing at a distance so great, young one?", SAY_SHOUT, 4000}}) - table.insert(startDialogue, {func = AnimSay, args = {elderh, "Come closer, so that your training may continue!", SAY_SHOUT, 6000}}) - table.insert(startDialogue, {func = AnimSay, args = {youngh, "This is it! It's time to make Fell From Heaven fall for me...", SAY_THINK, 6000}}) + table.insert(startDialogue, {func = AnimCaption, args = {youngh, loc("Once upon a time, on an island with great natural resources, lived two tribes in heated conflict..."), 5000}}) + table.insert(startDialogue, {func = AnimCaption, args = {youngh, loc("One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."), 5000}}) + table.insert(startDialogue, {func = AnimCaption, args = {youngh, loc("The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."), 5000}}) + table.insert(startDialogue, {func = AnimCaption, args = {youngh, loc("And so it began..."), 1000}}) + table.insert(startDialogue, {func = AnimSay, args = {elderh, loc("What are you doing at a distance so great, young one?"), SAY_SHOUT, 4000}}) + table.insert(startDialogue, {func = AnimSay, args = {elderh, loc("Come closer, so that your training may continue!"), SAY_SHOUT, 6000}}) + table.insert(startDialogue, {func = AnimSay, args = {youngh, loc("This is it! It's time to make Fell From Heaven fall for me..."), SAY_THINK, 6000}}) table.insert(startDialogue, {func = AnimJump, args = {youngh, "long"}}) table.insert(startDialogue, {func = AnimTurn, args = {princess, "Right"}}) table.insert(startDialogue, {func = AnimSwitchHog, args = {youngh}}) - table.insert(startDialogue, {func = AnimShowMission, args = {youngh, "First Blood", "First Steps", "Press [Left] or [Right] to move around, [Enter] to jump", 1, 4000}}) + table.insert(startDialogue, {func = AnimShowMission, args = {youngh, loc("First Blood"), loc("First Steps"), loc("Press [Left] or [Right] to move around, [Enter] to jump"), 1, 4000}}) AddSkipFunction(onShroomAnim, SkipOnShroom, {onShroomAnim}) - table.insert(onShroomAnim, {func = AnimSay, args = {elderh, "I can see you have been training diligently.", SAY_SAY, 4000}, skipFunc = Skipanim, skipArgs = onShroomAnim}) - table.insert(onShroomAnim, {func = AnimSay, args = {elderh, "The wind whispers that you are ready to become familiar with tools, now...", SAY_SAY, 4000}}) - table.insert(onShroomAnim, {func = AnimSay, args = {elderh, "Open that crate and we will continue!", SAY_SAY, 5000}}) + table.insert(onShroomAnim, {func = AnimSay, args = {elderh, loc("I can see you have been training diligently."), SAY_SAY, 4000}, skipFunc = Skipanim, skipArgs = onShroomAnim}) + table.insert(onShroomAnim, {func = AnimSay, args = {elderh, loc("The wind whispers that you are ready to become familiar with tools, now..."), SAY_SAY, 4000}}) + table.insert(onShroomAnim, {func = AnimSay, args = {elderh, loc("Open that crate and we will continue!"), SAY_SAY, 5000}}) table.insert(onShroomAnim, {func = AnimMove, args = {elderh, "right", 2700, 0}}) table.insert(onShroomAnim, {func = AnimTurn, args = {elderh, "Left"}}) - table.insert(onShroomAnim, {func = AnimSay, args = {princess, "He moves like an eagle in the sky.", SAY_THINK, 4000}}) + table.insert(onShroomAnim, {func = AnimSay, args = {princess, loc("He moves like an eagle in the sky."), SAY_THINK, 4000}}) table.insert(onShroomAnim, {func = AnimSwitchHog, args = {youngh}}) - table.insert(onShroomAnim, {func = AnimShowMission, args = {youngh, "First Blood", "A leap in a leap", "Go on top of the flower", 1, 4000}}) + table.insert(onShroomAnim, {func = AnimShowMission, args = {youngh, loc("First Blood"), loc("A leap in a leap"), loc("Go on top of the flower"), 1, 4000}}) AddSkipFunction(onFlowerAnim, Skipanim, {onFlowerAnim}) table.insert(onFlowerAnim, {func = AnimTurn, args = {elderh, "Right"}, skipFunc = Skipanim, skipArgs = onFlowerAnim}) - table.insert(onFlowerAnim, {func = AnimSay, args = {elderh, "See that crate farther on the right?", SAY_SAY, 4000}}) - table.insert(onFlowerAnim, {func = AnimSay, args = {elderh, "Swing, Leaks A Lot, on the wings of the wind!", SAY_SAY, 6000}}) - table.insert(onFlowerAnim, {func = AnimSay, args = {princess, "His arms are so strong!", SAY_THINK, 4000}}) + table.insert(onFlowerAnim, {func = AnimSay, args = {elderh, loc("See that crate farther on the right?"), SAY_SAY, 4000}}) + table.insert(onFlowerAnim, {func = AnimSay, args = {elderh, loc("Swing, Leaks A Lot, on the wings of the wind!"), SAY_SAY, 6000}}) + table.insert(onFlowerAnim, {func = AnimSay, args = {princess, loc("His arms are so strong!"), SAY_THINK, 4000}}) table.insert(onFlowerAnim, {func = AnimSwitchHog, args = {youngh}}) - table.insert(onFlowerAnim, {func = AnimShowMission, args = {youngh, "First Blood", "Hightime", "Collect the crate on the right.|Hint: Select the rope, [Up] or [Down] to aim, [Space] to fire, directional keys to move.|Ropes can be fired again in the air!", 1, 7000}}) + table.insert(onFlowerAnim, {func = AnimShowMission, args = {youngh, loc("First Blood"), loc("Hightime"), loc("Collect the crate on the right.|Hint: Select the rope, [Up] or [Down] to aim, [Space] to fire, directional keys to move.|Ropes can be fired again in the air!"), 1, 7000}}) AddSkipFunction(tookParaAnim, Skipanim, {tookParaAnim}) table.insert(tookParaAnim, {func = AnimGearWait, args = {youngh, 1000}, skipFunc = Skipanim, skipArgs = tookParaAnim}) - table.insert(tookParaAnim, {func = AnimSay, args = {elderh, "Use the rope to get on the head of the mole, young one!", SAY_SHOUT, 4000}}) - table.insert(tookParaAnim, {func = AnimSay, args = {elderh, "Worry not, for it is a peaceful animal! There is no reason to be afraid...", SAY_SHOUT, 5000}}) - table.insert(tookParaAnim, {func = AnimSay, args = {elderh, "We all know what happens when you get frightened...", SAY_SAY, 4000}}) - table.insert(tookParaAnim, {func = AnimSay, args = {youngh, "So humiliating...", SAY_SAY, 4000}}) - table.insert(tookParaAnim, {func = AnimShowMission, args = {youngh, "First Blood", "Omnivore", "Get on the head of the mole", 1, 4000}}) + table.insert(tookParaAnim, {func = AnimSay, args = {elderh, loc("Use the rope to get on the head of the mole, young one!"), SAY_SHOUT, 4000}}) + table.insert(tookParaAnim, {func = AnimSay, args = {elderh, loc("Worry not, for it is a peaceful animal! There is no reason to be afraid..."), SAY_SHOUT, 5000}}) + table.insert(tookParaAnim, {func = AnimSay, args = {elderh, loc("We all know what happens when you get frightened..."), SAY_SAY, 4000}}) + table.insert(tookParaAnim, {func = AnimSay, args = {youngh, loc("So humiliating..."), SAY_SAY, 4000}}) + table.insert(tookParaAnim, {func = AnimShowMission, args = {youngh, loc("First Blood"), loc("Omnivore"), loc("Get on the head of the mole"), 1, 4000}}) table.insert(tookParaAnim, {func = AnimSwitchHog, args = {youngh}}) AddSkipFunction(onMoleHeadAnim, Skipanim, {onMoleHeadAnim}) - table.insert(onMoleHeadAnim, {func = AnimSay, args = {elderh, "Perfect! Now try to get the next crate without hurting yourself!", SAY_SAY, 4000}, skipFunc = Skipanim, skipArgs = onMoleHeadAnim}) - table.insert(onMoleHeadAnim, {func = AnimSay, args = {elderh, "The giant umbrella from the last crate should help break the fall.", SAY_SAY, 4000}}) - table.insert(onMoleHeadAnim, {func = AnimSay, args = {princess, "He's so brave...", SAY_THINK, 4000}}) - table.insert(onMoleHeadAnim, {func = AnimShowMission, args = {youngh, "First Blood", "The Leap of Faith", "Use the parachute ([Space] while in air) to get the next crate", 1, 4000}}) + table.insert(onMoleHeadAnim, {func = AnimSay, args = {elderh, loc("Perfect! Now try to get the next crate without hurting yourself!"), SAY_SAY, 4000}, skipFunc = Skipanim, skipArgs = onMoleHeadAnim}) + table.insert(onMoleHeadAnim, {func = AnimSay, args = {elderh, loc("The giant umbrella from the last crate should help break the fall."), SAY_SAY, 4000}}) + table.insert(onMoleHeadAnim, {func = AnimSay, args = {princess, loc("He's so brave..."), SAY_THINK, 4000}}) + table.insert(onMoleHeadAnim, {func = AnimShowMission, args = {youngh, loc("First Blood"), loc("The Leap of Faith"), loc("Use the parachute ([Space] while in air) to get the next crate"), 1, 4000}}) table.insert(onMoleHeadAnim, {func = AnimSwitchHog, args = {youngh}}) AddSkipFunction(pastMoleHeadAnim, Skipanim, {pastMoleHeadAnim}) - table.insert(pastMoleHeadAnim, {func = AnimSay, args = {elderh, "I see you have already taken the leap of faith.", SAY_SAY, 4000}, skipFunc = Skipanim, skipArgs = pastMoleHeadAnim}) - table.insert(pastMoleHeadAnim, {func = AnimSay, args = {elderh, "Get that crate!", SAY_SAY, 4000}}) + table.insert(pastMoleHeadAnim, {func = AnimSay, args = {elderh, loc("I see you have already taken the leap of faith."), SAY_SAY, 4000}, skipFunc = Skipanim, skipArgs = pastMoleHeadAnim}) + table.insert(pastMoleHeadAnim, {func = AnimSay, args = {elderh, loc("Get that crate!"), SAY_SAY, 4000}}) table.insert(pastMoleHeadAnim, {func = AnimSwitchHog, args = {youngh}}) AddSkipFunction(tookRope2Anim, Skipanim, {tookRope2Anim}) - table.insert(tookRope2Anim, {func = AnimSay, args = {elderh, "Impressive...you are still dry as the corpse of a hawk after a week in the desert...", SAY_SAY, 5000}, skipFunc = Skipanim, skipArgs = tookRope2Anim}) - table.insert(tookRope2Anim, {func = AnimSay, args = {elderh, "You probably know what to do next...", SAY_SAY, 4000}}) - table.insert(tookRope2Anim, {func = AnimShowMission, args = {youngh, "First Blood", "The Rising", "Do the deed", 1, 4000}}) + table.insert(tookRope2Anim, {func = AnimSay, args = {elderh, loc("Impressive...you are still dry as the corpse of a hawk after a week in the desert..."), SAY_SAY, 5000}, skipFunc = Skipanim, skipArgs = tookRope2Anim}) + table.insert(tookRope2Anim, {func = AnimSay, args = {elderh, loc("You probably know what to do next..."), SAY_SAY, 4000}}) + table.insert(tookRope2Anim, {func = AnimShowMission, args = {youngh, loc("First Blood"), loc("The Rising"), loc("Do the deed"), 1, 4000}}) table.insert(tookRope2Anim, {func = AnimSwitchHog, args = {youngh}}) AddSkipFunction(tookPunchAnim, Skipanim, {tookPunchAnim}) table.insert(tookPunchAnim, {func = AnimTurn, args = {elderh, "Left"}, skipFunc = Skipanim, skipArgs = tookPunchAnim}) - table.insert(tookPunchAnim, {func = AnimSay, args = {elderh, "It is time to practice your fighting skills.", SAY_SAY, 4000}}) - table.insert(tookPunchAnim, {func = AnimSay, args = {elderh, "Imagine those targets are the wolves that killed your parents! Take your anger out on them!", SAY_SAY, 5000}}) - table.insert(tookPunchAnim, {func = AnimShowMission, args = {youngh, "First Blood", "The Slaughter", "Destroy the targets!|Hint: Select the Shoryuken and hit [Space]|P.S. You can use it mid-air.", 1, 5000}}) + table.insert(tookPunchAnim, {func = AnimSay, args = {elderh, loc("It is time to practice your fighting skills."), SAY_SAY, 4000}}) + table.insert(tookPunchAnim, {func = AnimSay, args = {elderh, loc("Imagine those targets are the wolves that killed your parents! Take your anger out on them!"), SAY_SAY, 5000}}) + table.insert(tookPunchAnim, {func = AnimShowMission, args = {youngh, loc("First Blood"), loc("The Slaughter"), loc("Destroy the targets!|Hint: Select the Shoryuken and hit [Space]|P.S. You can use it mid-air."), 1, 5000}}) table.insert(tookPunchAnim, {func = AnimSwitchHog, args = {youngh}}) AddSkipFunction(challengeAnim, Skipanim, {challengeAnim}) - table.insert(challengeAnim, {func = AnimSay, args = {elderh, "I hope you are prepared for a small challenge, young one.", SAY_SAY, 4000}, skipFunc = Skipanim, skipArgs = challengeAnim}) - table.insert(challengeAnim, {func = AnimSay, args = {elderh, "Your movement skills will be evaluated now.", SAY_SAY, 4000}}) - table.insert(challengeAnim, {func = AnimSay, args = {elderh, "Collect all the crates, but remember, our time in this life is limited!", SAY_SAY, 4000}}) - table.insert(challengeAnim, {func = AnimSay, args = {elderh, "How difficult would you like it to be?"}}) + table.insert(challengeAnim, {func = AnimSay, args = {elderh, loc("I hope you are prepared for a small challenge, young one."), SAY_SAY, 4000}, skipFunc = Skipanim, skipArgs = challengeAnim}) + table.insert(challengeAnim, {func = AnimSay, args = {elderh, loc("Your movement skills will be evaluated now."), SAY_SAY, 4000}}) + table.insert(challengeAnim, {func = AnimSay, args = {elderh, loc("Collect all the crates, but remember, our time in this life is limited!"), SAY_SAY, 4000}}) + table.insert(challengeAnim, {func = AnimSay, args = {elderh, loc("How difficult would you like it to be?")}}) table.insert(challengeAnim, {func = AnimSwitchHog, args = {youngh}}) table.insert(challengeAnim, {func = AnimWait, args = {youngh, 500}}) AddSkipFunction(challengeFailedAnim, Skipanim, {challengeFailedAnim}) - table.insert(challengeFailedAnim, {func = AnimSay, args = {elderh, "Hmmm...perhaps a little more time will help.", SAY_SAY, 4000}, skipFunc = Skipanim, skipArgs = challengeFailedAnim}) - table.insert(challengeFailedAnim, {func = AnimShowMission, args = {youngh, "First Blood", "The Crate Frenzy", "Collect the crates within the time limit!|If you fail, you'll have to try again.", 1, 5000}}) + table.insert(challengeFailedAnim, {func = AnimSay, args = {elderh, loc("Hmmm...perhaps a little more time will help."), SAY_SAY, 4000}, skipFunc = Skipanim, skipArgs = challengeFailedAnim}) + table.insert(challengeFailedAnim, {func = AnimShowMission, args = {youngh, loc("First Blood"), loc("The Crate Frenzy"), loc("Collect the crates within the time limit!|If you fail, you'll have to try again."), 1, 5000}}) table.insert(challengeFailedAnim, {func = AnimSwitchHog, args = {youngh}}) AddSkipFunction(challengeCompletedAnim, Skipanim, {challengeCompletedAnim}) - table.insert(challengeCompletedAnim, {func = AnimSay, args = {elderh, "The spirits of the ancerstors are surely pleased, Leaks A Lot.", SAY_SAY, 4000}, skipFunc = Skipanim, skipArgs = challengeCompletedAnim}) - table.insert(challengeCompletedAnim, {func = AnimSay, args = {elderh, "You have proven yourself worthy to see our most ancient secret!", SAY_SAY, 4000}}) - table.insert(challengeCompletedAnim, {func = AnimSay, args = {elderh, "The weapon in that last crate was bestowed upon us by the ancients!", SAY_SAY, 4000}}) - table.insert(challengeCompletedAnim, {func = AnimSay, args = {elderh, "Use it with precaution!", SAY_SAY, 4000}}) - table.insert(challengeCompletedAnim, {func = AnimShowMission, args = {youngh, "First Blood", "The Ultimate Weapon", "Destroy the targets!|Hint: [Up], [Down] to aim, [Space] to shoot", 1, 5000}}) + table.insert(challengeCompletedAnim, {func = AnimSay, args = {elderh, loc("The spirits of the ancerstors are surely pleased, Leaks A Lot."), SAY_SAY, 4000}, skipFunc = Skipanim, skipArgs = challengeCompletedAnim}) + table.insert(challengeCompletedAnim, {func = AnimSay, args = {elderh, loc("You have proven yourself worthy to see our most ancient secret!"), SAY_SAY, 4000}}) + table.insert(challengeCompletedAnim, {func = AnimSay, args = {elderh, loc("The weapon in that last crate was bestowed upon us by the ancients!"), SAY_SAY, 4000}}) + table.insert(challengeCompletedAnim, {func = AnimSay, args = {elderh, loc("Use it with precaution!"), SAY_SAY, 4000}}) + table.insert(challengeCompletedAnim, {func = AnimShowMission, args = {youngh, loc("First Blood"), loc("The Ultimate Weapon"), loc("Destroy the targets!|Hint: [Up], [Down] to aim, [Space] to shoot"), 1, 5000}}) table.insert(challengeCompletedAnim, {func = AnimSwitchHog, args = {youngh}}) AddSkipFunction(beforeKillAnim, Skipanim, {beforeKillAnim}) - table.insert(beforeKillAnim, {func = AnimSay, args = {elderh, "What do my faulty eyes observe? A spy!", SAY_SHOUT, 4000}, skipFunc = Skipanim, skipArgs = beforeKillAnim}) + table.insert(beforeKillAnim, {func = AnimSay, args = {elderh, loc("What do my faulty eyes observe? A spy!"), SAY_SHOUT, 4000}, skipFunc = Skipanim, skipArgs = beforeKillAnim}) table.insert(beforeKillAnim, {func = AnimFollowGear, args = {cannibal}}) table.insert(beforeKillAnim, {func = AnimWait, args = {cannibal, 1000}}) - table.insert(beforeKillAnim, {func = AnimSay, args = {elderh, "Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!", SAY_SHOUT, 4000}}) - table.insert(beforeKillAnim, {func = AnimSay, args = {cannibal, "Oh, my!", SAY_THINK, 4000}}) - table.insert(beforeKillAnim, {func = AnimShowMission, args = {youngh, "First Blood", "The First Blood", "Kill the cannibal!", 1, 5000}}) + table.insert(beforeKillAnim, {func = AnimSay, args = {elderh, loc("Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"), SAY_SHOUT, 4000}}) + table.insert(beforeKillAnim, {func = AnimSay, args = {cannibal, loc("Oh, my!"), SAY_THINK, 4000}}) + table.insert(beforeKillAnim, {func = AnimShowMission, args = {youngh, loc("First Blood"), loc("The First Blood"), loc("Kill the cannibal!"), 1, 5000}}) table.insert(beforeKillAnim, {func = AnimSwitchHog, args = {youngh}}) AddSkipFunction(closeCannim, Skipanim, {closeCannim}) - table.insert(closeCannim, {func = AnimSay, args = {elderh, "I see you would like his punishment to be more...personal...", SAY_SAY, 4000}, skipFunc = Skipanim, skipArgs = closeCannim}) - table.insert(closeCannim, {func = AnimSay, args = {cannibal, "I'm certain that this is a misunderstanding, fellow hedgehogs!", SAY_SAY, 4000}}) - table.insert(closeCannim, {func = AnimSay, args = {cannibal, "If only I were given a chance to explain my being here...", SAY_SAY, 4000}}) - table.insert(closeCannim, {func = AnimSay, args = {elderh, "Do not let his words fool you, young one! He will stab you in the back as soon as you turn away!", SAY_SAY, 6000}}) - table.insert(closeCannim, {func = AnimSay, args = {elderh, "Here...pick your weapon!", SAY_SAY, 5000}}) - table.insert(closeCannim, {func = AnimShowMission, args = {youngh, "First Blood", "The First Blood", "KILL IT!", 1, 5000}}) + table.insert(closeCannim, {func = AnimSay, args = {elderh, loc("I see you would like his punishment to be more...personal..."), SAY_SAY, 4000}, skipFunc = Skipanim, skipArgs = closeCannim}) + table.insert(closeCannim, {func = AnimSay, args = {cannibal, loc("I'm certain that this is a misunderstanding, fellow hedgehogs!"), SAY_SAY, 4000}}) + table.insert(closeCannim, {func = AnimSay, args = {cannibal, loc("If only I were given a chance to explain my being here..."), SAY_SAY, 4000}}) + table.insert(closeCannim, {func = AnimSay, args = {elderh, loc("Do not let his words fool you, young one! He will stab you in the back as soon as you turn away!"), SAY_SAY, 6000}}) + table.insert(closeCannim, {func = AnimSay, args = {elderh, loc("Here...pick your weapon!"), SAY_SAY, 5000}}) + table.insert(closeCannim, {func = AnimShowMission, args = {youngh, loc("First Blood"), loc("The First Blood"), loc("KILL IT!"), 1, 5000}}) table.insert(closeCannim, {func = AnimSwitchHog, args = {youngh}}) - table.insert(cannKilledAnim, {func = AnimSay, args = {elderh, "Yes, yeees! You are now ready to enter the real world!", SAY_SHOUT, 6000}}) + table.insert(cannKilledAnim, {func = AnimSay, args = {elderh, loc("Yes, yeees! You are now ready to enter the real world!"), SAY_SHOUT, 6000}}) - table.insert(cannKilledEarlyAnim, {func = AnimSay, args = {elderh, "What?! A cannibal? Here? There is no time to waste! Come, you are prepared.", SAY_SHOUT, 4000}}) + table.insert(cannKilledEarlyAnim, {func = AnimSay, args = {elderh, loc("What?! A cannibal? Here? There is no time to waste! Come, you are prepared."), SAY_SHOUT, 4000}}) end -----------------------------Events------------------------------------ @@ -235,7 +236,7 @@ RemoveEventFunc(CheckDamage) RemoveEventFunc(CheckDamagedOthers) FinishThem() - ShowMission("First Blood", "The wasted youth", "Leaks A Lot gave his life for his tribe! He should have survived!", 2, 4000) + ShowMission(loc("First Blood"), loc("The wasted youth"), loc("Leaks A Lot gave his life for his tribe! He should have survived!"), 2, 4000) end function CheckDamagedOthers() @@ -259,7 +260,7 @@ end function DoKilledOthers() - AddCaption("After Leaks A Lot betrayed his tribe, he joined the cannibals...") + AddCaption(loc("After Leaks A Lot betrayed his tribe, he joined the cannibals...")) FinishThem() end @@ -268,7 +269,7 @@ end function DoMovedUntilJump() - ShowMission("First Blood", "Step By Step", "Hint: Double Jump - Press [Backspace] twice", -amSkip, 0) + ShowMission(loc("First Blood"), loc("Step By Step"), loc("Hint: Double Jump - Press [Backspace] twice"), -amSkip, 0) AddEvent(CheckOnShroom, {}, DoOnShroom, {}, 0) end @@ -390,7 +391,7 @@ function DoCratesColled() RemoveEventFunc(CheckTimesUp) TurnTimeLeft = -1 - AddCaption("As the challenge was completed, Leaks A Lot set foot on the ground...") + AddCaption(loc("As the challenge was completed, Leaks A Lot set foot on the ground...")) end function CheckChallengeWon() @@ -415,7 +416,7 @@ challengeFailed = true DeleteGear(crates[1]) TurnTimeLeft = -1 - AddCaption("And so happenned that Leaks A Lot failed to complete the challenge! He landed, pressured by shame...") + AddCaption(loc("And so happenned that Leaks A Lot failed to complete the challenge! He landed, pressured by shame...")) AddEvent(CheckChallengeFailed, {}, DoChallengeFailed, {}, 0) end @@ -440,7 +441,7 @@ PutTargets(1) AddEvent(CheckTargetsKilled, {}, DoTargetsKilled, {}, 1) AddEvent(CheckCannibalKilled, {}, DoCannibalKilledEarly, {}, 0) - ShowMission("First Blood", "The Bull's Eye", "[Up], [Down] to aim, [Space] to shoot!", 1, 5000) + ShowMission(loc("First Blood"), loc("The Bull's Eye"), loc("[Up], [Down] to aim, [Space] to shoot!"), 1, 5000) end function CheckTargetsKilled() @@ -450,7 +451,7 @@ function DoTargetsKilled() targetsDestroyed = 0 targsWave = targsWave + 1 - if targsWave > 5 then + if targsWave > 3 then RemoveEventFunc(CheckTargetsKilled) SetState(cannibal, gstVisible) cannibalVisible = true @@ -495,13 +496,13 @@ cratesCollected = 0 PutCrate(1) TurnTimeLeft = time - ShowMission("First Blood", "The Crate Frenzy", "Collect the crates within the time limit!|If you fail, you'll have to try again.", 1, 5000) + ShowMission(loc("First Blood"), loc("The Crate Frenzy"), loc("Collect the crates within the time limit!|If you fail, you'll have to try again."), 1, 5000) end function SetChoice() SetInputMask(band(0xFFFFFFFF, bnot(gmAnimate+gmAttack+gmDown+gmHJump+gmLJump+gmSlot+gmSwitch+gmTimer+gmUp+gmWeapon))) difficultyChoice = true - ShowMission("First Blood", "The Torment", "Select difficulty: [Left] - easier or [Right] - harder", 0, 4000) + ShowMission(loc("First Blood"), loc("The Torment"), loc("Select difficulty: [Left] - easier or [Right] - harder"), 0, 4000) AddEvent(CheckChoice, {}, DoChoice, {}, 0) end @@ -551,10 +552,10 @@ Theme = "Nature" - AddTeam("Natives", 2567585, "Bone", "Island", "HillBilly", "cm_birdy") - youngh = AddHog("Leaks A Lot", 0, 100, "Rambo") - elderh = AddHog("White Raven", 0, 99, "IndianChief") - princess = AddHog("Fell From Heaven", 0, 300, "tiara") + AddTeam(loc("Natives"), 29439, "Bone", "Island", "HillBilly", "cm_birdy") + youngh = AddHog(loc("Leaks A Lot"), 0, 100, "Rambo") + elderh = AddHog(loc("White Raven"), 0, 99, "IndianChief") + princess = AddHog(loc("Fell From Heaven"), 0, 300, "tiara") SetGearPosition(princess, 1911, 1361) HogTurnLeft(princess, true) SetGearPosition(elderh, 2667, 1208) @@ -562,8 +563,8 @@ SetGearPosition(youngh, 1862, 1362) HogTurnLeft(youngh, false) - AddTeam("Cannibals", 14483456, "Skull", "Island", "Pirate","cm_vampire") - cannibal = AddHog("Brainiac", 0, 5, "Zombi") + AddTeam(loc("Cannibals"), 14483456, "Skull", "Island", "Pirate","cm_vampire") + cannibal = AddHog(loc("Brainiac"), 0, 5, "Zombi") SetGearPosition(cannibal, 525, 1256) HogTurnLeft(cannibal, false) @@ -574,7 +575,7 @@ function onGameStart() TurnTimeLeft = -1 FollowGear(youngh) - ShowMission("A Classic Fairytale", "First Blood", "Finish your training|Hint: Animations can be skipped with the [Precise] key.", -amSkip, 0) + ShowMission(loc("A Classic Fairytale"), loc("First Blood"), loc("Finish your training|Hint: Animations can be skipped with the [Precise] key."), -amSkip, 0) SetState(cannibal, gstInvisible) AddAnim(startDialogue) diff -r 4a17a921ec93 -r e3f2280d9000 share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/journey.lua --- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/journey.lua Thu Jul 05 00:57:30 2012 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/journey.lua Thu Jul 05 16:02:42 2012 +0300 @@ -1,3 +1,4 @@ +loadfile(GetDataPath() .. "Scripts/Locale.lua")() loadfile(GetDataPath() .. "Scripts/Animate.lua")() --///////////////////////////////CONSTANTS/////////////////////////// @@ -9,8 +10,8 @@ endStage = 1 cannibalNum = 8 -cannibalNames = {"John", "Flesh for Brainz", "Eye Chewer", "Torn Muscle", - "Nom-Nom", "Vedgies", "Brain Blower", "Gorkij"} +cannibalNames = {loc("John"), loc("Flesh for Brainz"), loc("Eye Chewer"), loc("Torn Muscle"), + loc("Nom-Nom"), loc("Vedgies"), loc("Brain Blower"), loc("Gorkij")} cannibalPos = {{2471, 1174}, {939, 1019}, {1953, 902}, {3055, 1041}, {1121, 729}, {1150, 718}, {1149, 680}, {1161, 773}} @@ -78,7 +79,7 @@ --/////////////////////////Animation Functions/////////////////////// function AfterMidFailAnim() - ParseCommand("teamgone Natives") + ParseCommand("teamgone " .. loc("Natives")) TurnTimeLeft = 0 end @@ -98,7 +99,7 @@ SetGearMessage(leaks, 0) TurnsLeft = 12 TurnTimeLeft = TurnTime - ShowMission("The Journey Back", "Collateral Damage", "Save the princess by collecting the crate in under 12 turns!", 0, 6000) + ShowMission(loc("The Journey Back"), loc("Collateral Damage"), loc("Save the princess by collecting the crate in under 12 turns!"), 0, 6000) -----------------------///////////////------------ --SetGearPosition(leaks, 417, 1800) end @@ -138,7 +139,7 @@ SwitchHog(leaks) SetGearMessage(leaks, 0) TurnTimeLeft = -1 - ShowMission("The Journey Back", "Collateral Damage II", "Save Fell From Heaven!", 1, 4000) + ShowMission(loc("The Journey Back"), loc("Collateral Damage II"), loc("Save Fell From Heaven!"), 1, 4000) AddEvent(CheckLost, {}, DoLost, {}, 0) AddEvent(CheckWon, {}, DoWon, 0) RemoveEventFunc(CheckFailedCourse) @@ -149,7 +150,7 @@ SwitchHog(leaks) SetGearMessage(leaks, 0) TurnTimeLeft = -1 - ShowMission("The Journey Back", "Collateral Damage II", "Save Fell From Heaven!", 1, 4000) + ShowMission(loc("The Journey Back"), loc("Collateral Damage II"), loc("Save Fell From Heaven!"), 1, 4000) AddEvent(CheckLost, {}, DoLost, {}, 0) AddEvent(CheckWon, {}, DoWon, {}, 0) end @@ -171,14 +172,14 @@ function AfterStartAnim() SetGearMessage(leaks, 0) TurnTimeLeft = TurnTime - local goal = "Get the crate on the other side of the island!|" - local hint = "Hint: you might want to stay out of sight and take all the crates...|" - local stuck = "If you get stuck, use your Desert Eagle or restart the mission!|" - local conds = "Leaks A Lot must survive!" + local goal = loc("Get the crate on the other side of the island!|") + local hint = loc("Hint: you might want to stay out of sight and take all the crates...|") + local stuck = loc("If you get stuck, use your Desert Eagle or restart the mission!|") + local conds = loc("Leaks A Lot must survive!") if m2DenseDead == 0 then - conds = "Your hogs must survive!" + conds = loc("Your hogs must survive!") end - ShowMission("The Journey Back", "Adventurous", goal .. hint .. stuck .. conds, 0, 7000) + ShowMission(loc("The Journey Back"), loc("Adventurous"), goal .. hint .. stuck .. conds, 0, 7000) end function SkipStartAnim() @@ -232,7 +233,7 @@ SetGearMessage(leaks, 0) SetGearMessage(dense, 0) TurnTimeLeft = 0 - ShowMission("The Journey Back", "The Savior", "Get Dense Cloud out of the pit!", 1, 5000) + ShowMission(loc("The Journey Back"), loc("The Savior"), loc("Get Dense Cloud out of the pit!"), 1, 5000) end function SkipPastFlowerAnim() @@ -253,7 +254,7 @@ SetGearMessage(leaks, 0) SetGearMessage(dense, 0) TurnTimeLeft = 0 - ShowMission("The Journey Back", "They never learn", "Free Dense Cloud and continue the mission!", 1, 5000) + ShowMission(loc("The Journey Back"), loc("They never learn"), loc("Free Dense Cloud and continue the mission!"), 1, 5000) end function SkipOutPitAnim() @@ -376,7 +377,7 @@ function SetupAnimRefusedDied() SetupAnimAcceptedDied() - table.insert(startAnim, {func = AnimSay, args = {leaks, "I just wonder where Ramon and Spiky disappeared...", SAY_THINK, 6000}}) + table.insert(startAnim, {func = AnimSay, args = {leaks, loc("I just wonder where Ramon and Spiky disappeared..."), SAY_THINK, 6000}}) end function SetupAnimAttacked() @@ -384,46 +385,46 @@ startAnim = {} table.insert(startAnim, {func = AnimWait, args = {leaks, 3000}}) table.insert(startAnim, {func = AnimTurn, args = {leaks, "Left"}}) - table.insert(startAnim, {func = AnimSay, args = {leaks, "I wonder where Dense Cloud is...", SAY_THINK, 4000}}) - table.insert(startAnim, {func = AnimSay, args = {leaks, "He must be in the village already.", SAY_THINK, 4000}}) - table.insert(startAnim, {func = AnimSay, args = {leaks, "I'd better get going myself.", SAY_THINK, 4000}}) + table.insert(startAnim, {func = AnimSay, args = {leaks, loc("I wonder where Dense Cloud is..."), SAY_THINK, 4000}}) + table.insert(startAnim, {func = AnimSay, args = {leaks, loc("He must be in the village already."), SAY_THINK, 4000}}) + table.insert(startAnim, {func = AnimSay, args = {leaks, loc("I'd better get going myself."), SAY_THINK, 4000}}) midAnim = {} table.insert(midAnim, {func = AnimWait, args = {leaks, 500}}) table.insert(midAnim, {func = AnimCustomFunction, swh = false, args = {leaks, RestoreCyborg, {1300, 1200, 1390, 1200}}}) table.insert(midAnim, {func = AnimSwitchHog, args = {cyborg}}) table.insert(midAnim, {func = AnimCustomFunction, args = {cyborg, TargetPrincess, {}}}) - table.insert(midAnim, {func = AnimSay, args = {cyborg, "Welcome, Leaks A Lot!", SAY_SAY, 3000}}) - table.insert(midAnim, {func = AnimSay, args = {cyborg, "I want to play a game...", SAY_SAY, 3000}}) - table.insert(midAnim, {func = AnimSay, args = {princess, "Help me, please!!!", SAY_SHOUT, 3000}}) - table.insert(midAnim, {func = AnimSay, args = {cyborg, "If you can get that crate fast enough, your beloved \"princess\" may go free.", SAY_SAY, 7000}}) - table.insert(midAnim, {func = AnimSay, args = {cyborg, "However, if you fail to do so, she dies a most violent death! Muahahaha!", SAY_SAY, 8000}}) - table.insert(midAnim, {func = AnimSay, args = {cyborg, "Good luck...or else!", SAY_SAY, 4000}}) + table.insert(midAnim, {func = AnimSay, args = {cyborg, loc("Welcome, Leaks A Lot!"), SAY_SAY, 3000}}) + table.insert(midAnim, {func = AnimSay, args = {cyborg, loc("I want to play a game..."), SAY_SAY, 3000}}) + table.insert(midAnim, {func = AnimSay, args = {princess, loc("Help me, please!!!"), SAY_SHOUT, 3000}}) + table.insert(midAnim, {func = AnimSay, args = {cyborg, loc("If you can get that crate fast enough, your beloved \"princess\" may go free."), SAY_SAY, 7000}}) + table.insert(midAnim, {func = AnimSay, args = {cyborg, loc("However, if you fail to do so, she dies a most violent death! Muahahaha!"), SAY_SAY, 8000}}) + table.insert(midAnim, {func = AnimSay, args = {cyborg, loc("Good luck...or else!"), SAY_SAY, 4000}}) table.insert(midAnim, {func = AnimTeleportGear, args = {leaks, 2656, 1842}}) table.insert(midAnim, {func = AnimCustomFunction, args = {cyborg, HideCyborg, {}}, swh = false}) - table.insert(midAnim, {func = AnimSay, args = {leaks, "Hey! This is cheating!", SAY_SHOUT, 4000}}) + table.insert(midAnim, {func = AnimSay, args = {leaks, loc("Hey! This is cheating!"), SAY_SHOUT, 4000}}) AddSkipFunction(midAnim, SkipMidAnimAlone, {}) end function SetupAnimAcceptedDied() table.insert(startAnimAD, {func = AnimWait, args = {leaks, 3000}}) table.insert(startAnimAD, {func = AnimTurn, args = {leaks, "left"}}) - table.insert(startAnimAD, {func = AnimSay, args = {leaks, "I need to get to the other side of this island, fast!", SAY_THINK, 5000}}) - table.insert(startAnimAD, {func = AnimSay, args = {leaks, "With Dense Cloud on the land of shadows, I'm the village's only hope...", SAY_THINK, 7000}}) + table.insert(startAnimAD, {func = AnimSay, args = {leaks, loc("I need to get to the other side of this island, fast!"), SAY_THINK, 5000}}) + table.insert(startAnimAD, {func = AnimSay, args = {leaks, loc("With Dense Cloud on the land of shadows, I'm the village's only hope..."), SAY_THINK, 7000}}) table.insert(midAnimAD, {func = AnimWait, args = {leaks, 500}}) table.insert(midAnimAD, {func = AnimCustomFunction, swh = false, args = {leaks, RestoreCyborg, {1300, 1200, 1390, 1200}}}) table.insert(midAnimAD, {func = AnimSwitchHog, args = {cyborg}}) table.insert(midAnimAD, {func = AnimCustomFunction, args = {cyborg, TargetPrincess, {}}}) - table.insert(midAnimAD, {func = AnimSay, args = {cyborg, "Welcome, Leaks A Lot!", SAY_SAY, 3000}}) - table.insert(midAnimAD, {func = AnimSay, args = {cyborg, "I want to play a game...", SAY_SAY, 3000}}) - table.insert(midAnimAD, {func = AnimSay, args = {princess, "Help me, please!!!", SAY_SHOUT, 3000}}) - table.insert(midAnimAD, {func = AnimSay, args = {cyborg, "If you can get that crate fast enough, your beloved \"princess\" may go free.", SAY_SAY, 7000}}) - table.insert(midAnimAD, {func = AnimSay, args = {cyborg, "However, if you fail to do so, she dies a most violent death, just like your friend! Muahahaha!", SAY_SAY, 8000}}) - table.insert(midAnimAD, {func = AnimSay, args = {cyborg, "Good luck...or else!", SAY_SAY, 4000}}) + table.insert(midAnimAD, {func = AnimSay, args = {cyborg, loc("Welcome, Leaks A Lot!"), SAY_SAY, 3000}}) + table.insert(midAnimAD, {func = AnimSay, args = {cyborg, loc("I want to play a game..."), SAY_SAY, 3000}}) + table.insert(midAnimAD, {func = AnimSay, args = {princess, loc("Help me, please!!!"), SAY_SHOUT, 3000}}) + table.insert(midAnimAD, {func = AnimSay, args = {cyborg, loc("If you can get that crate fast enough, your beloved \"princess\" may go free."), SAY_SAY, 7000}}) + table.insert(midAnimAD, {func = AnimSay, args = {cyborg, loc("However, if you fail to do so, she dies a most violent death, just like your friend! Muahahaha!"), SAY_SAY, 8000}}) + table.insert(midAnimAD, {func = AnimSay, args = {cyborg, loc("Good luck...or else!"), SAY_SAY, 4000}}) table.insert(midAnimAD, {func = AnimTeleportGear, args = {leaks, 2656, 1842}}) table.insert(midAnimAD, {func = AnimCustomFunction, args = {cyborg, HideCyborg, {}}, swh = false}) - table.insert(midAnimAD, {func = AnimSay, args = {leaks, "Hey! This is cheating!", SAY_SHOUT, 4000}}) + table.insert(midAnimAD, {func = AnimSay, args = {leaks, loc("Hey! This is cheating!"), SAY_SHOUT, 4000}}) AddSkipFunction(midAnimAD, SkipMidAnimAlone, {}) table.insert(failAnimAD, {func = AnimCustomFunction, swh = false, args = {leaks, RestoreCyborg, {2299, 1687, 2294, 1841}}}) @@ -433,31 +434,31 @@ table.insert(failAnimAD, {func = AnimTurn, swh = false, args = {princess, "Left"}}) table.insert(failAnimAD, {func = AnimTurn, swh = false, args = {leaks, "Right"}}) table.insert(failAnimAD, {func = AnimWait, args = {cyborg, 1000}}) - table.insert(failAnimAD, {func = AnimSay, args = {cyborg, "You have failed to complete your task, young one!", SAY_SAY, 6000}}) - table.insert(failAnimAD, {func = AnimSay, args = {cyborg, "It's time you learned that your actions have consequences!", SAY_SAY, 7000}}) - table.insert(failAnimAD, {func = AnimSay, args = {princess, "No! Please, help me!", SAY_SAY, 4000}}) + table.insert(failAnimAD, {func = AnimSay, args = {cyborg, loc("You have failed to complete your task, young one!"), SAY_SAY, 6000}}) + table.insert(failAnimAD, {func = AnimSay, args = {cyborg, loc("It's time you learned that your actions have consequences!"), SAY_SAY, 7000}}) + table.insert(failAnimAD, {func = AnimSay, args = {princess, loc("No! Please, help me!"), SAY_SAY, 4000}}) table.insert(failAnimAD, {func = AnimSwitchHog, args = {cyborg}}) table.insert(failAnimAD, {func = AnimCustomFunction, args = {cyborg, DumpMines, {}}}) table.insert(failAnimAD, {func = AnimCustomFunction, args = {cyborg, KillPrincess, {}}}) table.insert(failAnimAD, {func = AnimWait, args = {cyborg, 12000}}) - table.insert(failAnimAD, {func = AnimSay, args = {leaks, "No! What have I done?! What have YOU done?!", SAY_SHOUT, 6000}}) + table.insert(failAnimAD, {func = AnimSay, args = {leaks, loc("No! What have I done?! What have YOU done?!"), SAY_SHOUT, 6000}}) table.insert(endAnimAD, {func = AnimCustomFunction, swh = false, args = {leaks, RestoreCyborg, {437, 1700, 519, 1722}}}) table.insert(endAnimAD, {func = AnimTurn, swh = false, args = {cyborg, "Right"}}) table.insert(endAnimAD, {func = AnimTurn, swh = false, args = {princess, "Right"}}) - table.insert(endAnimAD, {func = AnimSay, args = {princess, "Help me, Leaks!", SAY_SHOUT, 3000}}) - table.insert(endAnimAD, {func = AnimSay, args = {leaks, "But you said you'd let her go!", SAY_SHOUT, 5000}}) - table.insert(endAnimAD, {func = AnimSay, args = {cyborg, "And you believed me? Oh, god, that's cute!", SAY_SHOUT, 7000}}) - table.insert(endAnimAD, {func = AnimSay, args = {leaks, "I won't let you kill her!", SAY_SHOUT, 4000}}) + table.insert(endAnimAD, {func = AnimSay, args = {princess, loc("Help me, Leaks!"), SAY_SHOUT, 3000}}) + table.insert(endAnimAD, {func = AnimSay, args = {leaks, loc("But you said you'd let her go!"), SAY_SHOUT, 5000}}) + table.insert(endAnimAD, {func = AnimSay, args = {cyborg, loc("And you believed me? Oh, god, that's cute!"), SAY_SHOUT, 7000}}) + table.insert(endAnimAD, {func = AnimSay, args = {leaks, loc("I won't let you kill her!"), SAY_SHOUT, 4000}}) AddSkipFunction(endAnimAD, SkipEndAnimAlone, {}) - table.insert(endFailAnim, {func = AnimCaption, args = {leaks, "Leaks A Lot, depressed for killing his loved one, failed to save the village...", 3000}}) + table.insert(endFailAnim, {func = AnimCaption, args = {leaks, loc("Leaks A Lot, depressed for killing his loved one, failed to save the village..."), 3000}}) - table.insert(winAnimAD, {func = AnimSay, args = {princess, "Thank you, oh, thank you, Leaks A Lot!", SAY_SAY, 5000}}) - table.insert(winAnimAD, {func = AnimSay, args = {princess, "How can I ever repay you for saving my life?", SAY_SAY, 6000}}) - table.insert(winAnimAD, {func = AnimSay, args = {leaks, "There's nothing more satisfying for me than seeing you share your beauty with the world every morning, my princess!", SAY_SAY, 10000}}) - table.insert(winAnimAD, {func = AnimSay, args = {leaks, "Let's go home!", SAY_SAY, 3000}}) - table.insert(winAnimAD, {func = AnimCaption, args = {leaks, "And so they discovered that cyborgs weren't invulnerable...", 2000}}) + table.insert(winAnimAD, {func = AnimSay, args = {princess, loc("Thank you, oh, thank you, Leaks A Lot!"), SAY_SAY, 5000}}) + table.insert(winAnimAD, {func = AnimSay, args = {princess, loc("How can I ever repay you for saving my life?"), SAY_SAY, 6000}}) + table.insert(winAnimAD, {func = AnimSay, args = {leaks, loc("There's nothing more satisfying for me than seeing you share your beauty with the world every morning, my princess!"), SAY_SAY, 10000}}) + table.insert(winAnimAD, {func = AnimSay, args = {leaks, loc("Let's go home!"), SAY_SAY, 3000}}) + table.insert(winAnimAD, {func = AnimCaption, args = {leaks, loc("And so they discovered that cyborgs weren't invulnerable..."), 2000}}) startAnim = startAnimAD midAnim = midAnimAD @@ -470,21 +471,21 @@ function SetupAnimAcceptedLived() table.insert(startAnimAL, {func = AnimWait, args = {leaks, 3000}}) table.insert(startAnimAL, {func = AnimCustomFunction, args = {dense, CondNeedToTurn, {leaks, dense}}}) - table.insert(startAnimAL, {func = AnimSay, args = {leaks, "All right, we just need to get to the other side of the island!", SAY_SAY, 8000}}) - table.insert(startAnimAL, {func = AnimSay, args = {dense, "We have no time to waste...", SAY_SAY, 4000}}) + table.insert(startAnimAL, {func = AnimSay, args = {leaks, loc("All right, we just need to get to the other side of the island!"), SAY_SAY, 8000}}) + table.insert(startAnimAL, {func = AnimSay, args = {dense, loc("We have no time to waste..."), SAY_SAY, 4000}}) table.insert(startAnimAL, {func = AnimSwitchHog, args = {leaks}}) AddSkipFunction(startAnimAL, SkipStartAnim, {}) table.insert(pastFlowerAnimAL, {func = AnimCustomFunction, args = {dense, RestoreCyborgOnly, {unpack(startCyborgPosDuo)}}, swh = false}) table.insert(pastFlowerAnimAL, {func = AnimTurn, args = {cyborg, "Right"}}) - table.insert(pastFlowerAnimAL, {func = AnimSay, args = {cyborg, "Well, well! Isn't that the cutest thing you've ever seen?", SAY_SAY, 7000}}) - table.insert(pastFlowerAnimAL, {func = AnimSay, args = {cyborg, "Two little hogs cooperating, getting past obstacles...", SAY_SAY, 7000}}) - table.insert(pastFlowerAnimAL, {func = AnimSay, args = {cyborg, "Let me test your skills a little, will you?", SAY_SAY, 6000}}) + table.insert(pastFlowerAnimAL, {func = AnimSay, args = {cyborg, loc("Well, well! Isn't that the cutest thing you've ever seen?"), SAY_SAY, 7000}}) + table.insert(pastFlowerAnimAL, {func = AnimSay, args = {cyborg, loc("Two little hogs cooperating, getting past obstacles..."), SAY_SAY, 7000}}) + table.insert(pastFlowerAnimAL, {func = AnimSay, args = {cyborg, loc("Let me test your skills a little, will you?"), SAY_SAY, 6000}}) table.insert(pastFlowerAnimAL, {func = AnimTeleportGear, args = {cyborg, 2456, 1842}}) table.insert(pastFlowerAnimAL, {func = AnimTeleportGear, args = {dense, 2656, 1842}}) table.insert(pastFlowerAnimAL, {func = AnimCustomFunction, args = {dense, CondNeedToTurn, {cyborg, dense}}}) - table.insert(pastFlowerAnimAL, {func = AnimSay, args = {dense, "Why are you doing this?", SAY_SAY, 4000}}) - table.insert(pastFlowerAnimAL, {func = AnimSay, args = {cyborg, "To help you, of course!", SAY_SAY, 4000}}) + table.insert(pastFlowerAnimAL, {func = AnimSay, args = {dense, loc("Why are you doing this?"), SAY_SAY, 4000}}) + table.insert(pastFlowerAnimAL, {func = AnimSay, args = {cyborg, loc("To help you, of course!"), SAY_SAY, 4000}}) table.insert(pastFlowerAnimAL, {func = AnimSwitchHog, args = {dense}}) table.insert(pastFlowerAnimAL, {func = AnimDisappear, swh = false, args = {cyborg, 3781, 1583}}) table.insert(pastFlowerAnimAL, {func = AnimCustomFunction, swh = false, args = {cyborg, HideCyborgOnly, {}}}) @@ -493,8 +494,8 @@ table.insert(outPitAnimAL, {func = AnimCustomFunction, args = {dense, RestoreCyborgOnly, {unpack(midCyborgPosDuo)}}, swh = false}) table.insert(outPitAnimAL, {func = AnimTurn, args = {cyborg, "Right"}}) table.insert(outPitAnimAL, {func = AnimTeleportGear, args = {dense, unpack(midDensePosDuo)}}) - table.insert(outPitAnimAL, {func = AnimSay, args = {dense, "OH, COME ON!", SAY_SHOUT, 3000}}) - table.insert(outPitAnimAL, {func = AnimSay, args = {cyborg, "Let's see what your comrade does now!", SAY_SAY, 5000}}) + table.insert(outPitAnimAL, {func = AnimSay, args = {dense, loc("OH, COME ON!"), SAY_SHOUT, 3000}}) + table.insert(outPitAnimAL, {func = AnimSay, args = {cyborg, loc("Let's see what your comrade does now!"), SAY_SAY, 5000}}) table.insert(outPitAnimAL, {func = AnimSwitchHog, args = {dense}}) table.insert(outPitAnimAL, {func = AnimDisappear, swh = false, args = {cyborg, 3781, 1583}}) table.insert(outPitAnimAL, {func = AnimCustomFunction, swh = false, args = {cyborg, HideCyborgOnly, {}}}) @@ -507,19 +508,19 @@ table.insert(endAnim, {func = AnimTurn, swh = false, args = {dense, "Left"}}) table.insert(endAnim, {func = AnimTurn, swh = false, args = {cyborg, "Right"}}) table.insert(endAnim, {func = AnimTurn, swh = false, args = {princess, "Right"}}) - table.insert(endAnim, {func = AnimSay, args = {princess, "Help me, please!", SAY_SHOUT, 3000}}) - table.insert(endAnim, {func = AnimSay, args = {leaks, "What are you doing? Let her go!", SAY_SHOUT, 5000}}) - table.insert(endAnim, {func = AnimSay, args = {cyborg, "Yeah? Watcha gonna do? Cry?", SAY_SHOUT, 5000}}) - table.insert(endAnim, {func = AnimSay, args = {leaks, "We won't let you hurt her!", SAY_SHOUT, 4000}}) + table.insert(endAnim, {func = AnimSay, args = {princess, loc("Help me, please!"), SAY_SHOUT, 3000}}) + table.insert(endAnim, {func = AnimSay, args = {leaks, loc("What are you doing? Let her go!"), SAY_SHOUT, 5000}}) + table.insert(endAnim, {func = AnimSay, args = {cyborg, loc("Yeah? Watcha gonna do? Cry?"), SAY_SHOUT, 5000}}) + table.insert(endAnim, {func = AnimSay, args = {leaks, loc("We won't let you hurt her!"), SAY_SHOUT, 4000}}) AddSkipFunction(endAnim, SkipEndAnimDuo, {}) - table.insert(endFailAnim, {func = AnimCaption, args = {leaks, "Leaks A Lot, depressed for killing his loved one, failed to save the village...", 3000}}) + table.insert(endFailAnim, {func = AnimCaption, args = {leaks, loc("Leaks A Lot, depressed for killing his loved one, failed to save the village..."), 3000}}) - table.insert(winAnim, {func = AnimSay, args = {princess, "Thank you, oh, thank you, my heroes!", SAY_SAY, 5000}}) - table.insert(winAnim, {func = AnimSay, args = {princess, "How can I ever repay you for saving my life?", SAY_SAY, 6000}}) - table.insert(winAnim, {func = AnimSay, args = {leaks, "There's nothing more satisfying to us than seeing you share your beauty with the world every morning, my princess!", SAY_SAY, 10000}}) - table.insert(winAnim, {func = AnimSay, args = {leaks, "Let's go home!", SAY_SAY, 3000}}) - table.insert(winAnim, {func = AnimCaption, args = {leaks, "And so they discovered that cyborgs weren't invulnerable...", 2000}}) + table.insert(winAnim, {func = AnimSay, args = {princess, loc("Thank you, oh, thank you, my heroes!"), SAY_SAY, 5000}}) + table.insert(winAnim, {func = AnimSay, args = {princess, loc("How can I ever repay you for saving my life?"), SAY_SAY, 6000}}) + table.insert(winAnim, {func = AnimSay, args = {leaks, loc("There's nothing more satisfying to us than seeing you share your beauty with the world every morning, my princess!"), SAY_SAY, 10000}}) + table.insert(winAnim, {func = AnimSay, args = {leaks, loc("Let's go home!"), SAY_SAY, 3000}}) + table.insert(winAnim, {func = AnimCaption, args = {leaks, loc("And so they discovered that cyborgs weren't invulnerable..."), 2000}}) startAnim = startAnimAL pastFlowerAnim = pastFlowerAnimAL @@ -529,22 +530,22 @@ function SetupAnimRefusedLived() table.insert(startAnimRL, {func = AnimWait, args = {leaks, 3000}}) table.insert(startAnimRL, {func = AnimCustomFunction, args = {dense, CondNeedToTurn, {leaks, dense}}}) - table.insert(startAnimRL, {func = AnimSay, args = {leaks, "All right, we just need to get to the other side of the island!", SAY_SAY, 7000}}) - table.insert(startAnimRL, {func = AnimSay, args = {dense, "Dude, can you see Ramon and Spiky?", SAY_SAY, 5000}}) - table.insert(startAnimRL, {func = AnimSay, args = {leaks, "No...I wonder where they disappeared?!", SAY_SAY, 5000}}) + table.insert(startAnimRL, {func = AnimSay, args = {leaks, loc("All right, we just need to get to the other side of the island!"), SAY_SAY, 7000}}) + table.insert(startAnimRL, {func = AnimSay, args = {dense, loc("Dude, can you see Ramon and Spiky?"), SAY_SAY, 5000}}) + table.insert(startAnimRL, {func = AnimSay, args = {leaks, loc("No...I wonder where they disappeared?!"), SAY_SAY, 5000}}) AddSkipFunction(startAnimRL, SkipStartAnim, {}) table.insert(pastFlowerAnimRL, {func = AnimCustomFunction, args = {dense, RestoreCyborgOnly, {unpack(startCyborgPosDuo)}}, swh = false}) table.insert(pastFlowerAnimRL, {func = AnimTurn, args = {cyborg, "Right"}}) - table.insert(pastFlowerAnimRL, {func = AnimSay, args = {cyborg, "Well, well! Isn't that the cutest thing you've ever seen?", SAY_SAY, 7000}}) - table.insert(pastFlowerAnimRL, {func = AnimSay, args = {cyborg, "Two little hogs cooperating, getting past obstacles...", SAY_SAY, 7000}}) - table.insert(pastFlowerAnimRL, {func = AnimSay, args = {cyborg, "Let me test your skills a little, will you?", SAY_SAY, 6000}}) + table.insert(pastFlowerAnimRL, {func = AnimSay, args = {cyborg, loc("Well, well! Isn't that the cutest thing you've ever seen?"), SAY_SAY, 7000}}) + table.insert(pastFlowerAnimRL, {func = AnimSay, args = {cyborg, loc("Two little hogs cooperating, getting past obstacles..."), SAY_SAY, 7000}}) + table.insert(pastFlowerAnimRL, {func = AnimSay, args = {cyborg, loc("Let me test your skills a little, will you?"), SAY_SAY, 6000}}) table.insert(pastFlowerAnimRL, {func = AnimTeleportGear, args = {cyborg, 2456, 1842}}) table.insert(pastFlowerAnimRL, {func = AnimTeleportGear, args = {dense, 2656, 1842}}) table.insert(pastFlowerAnimRL, {func = AnimCustomFunction, args = {dense, CondNeedToTurn, {cyborg, dense}}}) - table.insert(pastFlowerAnimRL, {func = AnimSay, args = {dense, "Why are you doing this?", SAY_SAY, 4000}}) - table.insert(pastFlowerAnimRL, {func = AnimSay, args = {cyborg, "You couldn't possibly believe that after refusing my offer I'd just let you go!", SAY_SAY, 9000}}) - table.insert(pastFlowerAnimRL, {func = AnimSay, args = {cyborg, "You're funny!", SAY_SAY, 4000}}) + table.insert(pastFlowerAnimRL, {func = AnimSay, args = {dense, loc("Why are you doing this?"), SAY_SAY, 4000}}) + table.insert(pastFlowerAnimRL, {func = AnimSay, args = {cyborg, loc("You couldn't possibly believe that after refusing my offer I'd just let you go!"), SAY_SAY, 9000}}) + table.insert(pastFlowerAnimRL, {func = AnimSay, args = {cyborg, loc("You're funny!"), SAY_SAY, 4000}}) table.insert(pastFlowerAnimRL, {func = AnimSwitchHog, args = {dense}}) table.insert(pastFlowerAnimRL, {func = AnimDisappear, swh = false, args = {cyborg, 3781, 1583}}) table.insert(pastFlowerAnimRL, {func = AnimCustomFunction, swh = false, args = {cyborg, HideCyborgOnly, {}}}) @@ -553,8 +554,8 @@ table.insert(outPitAnimRL, {func = AnimCustomFunction, args = {dense, RestoreCyborgOnly, {unpack(midCyborgPosDuo)}}, swh = false}) table.insert(outPitAnimRL, {func = AnimTurn, args = {cyborg, "Right"}}) table.insert(outPitAnimRL, {func = AnimTeleportGear, args = {dense, unpack(midDensePosDuo)}}) - table.insert(outPitAnimRL, {func = AnimSay, args = {dense, "OH, COME ON!", SAY_SHOUT, 3000}}) - table.insert(outPitAnimRL, {func = AnimSay, args = {cyborg, "Let's see what your comrade does now!", SAY_SAY, 5000}}) + table.insert(outPitAnimRL, {func = AnimSay, args = {dense, loc("OH, COME ON!"), SAY_SHOUT, 3000}}) + table.insert(outPitAnimRL, {func = AnimSay, args = {cyborg, loc("Let's see what your comrade does now!"), SAY_SAY, 5000}}) table.insert(outPitAnimRL, {func = AnimSwitchHog, args = {dense}}) table.insert(outPitAnimRL, {func = AnimDisappear, swh = false, args = {cyborg, 3781, 1583}}) table.insert(outPitAnimRL, {func = AnimCustomFunction, swh = false, args = {cyborg, HideCyborgOnly, {}}}) @@ -567,19 +568,19 @@ table.insert(endAnim, {func = AnimTurn, swh = false, args = {dense, "Left"}}) table.insert(endAnim, {func = AnimTurn, swh = false, args = {cyborg, "Right"}}) table.insert(endAnim, {func = AnimTurn, swh = false, args = {princess, "Right"}}) - table.insert(endAnim, {func = AnimSay, args = {princess, "Help me, please!", SAY_SHOUT, 3000}}) - table.insert(endAnim, {func = AnimSay, args = {leaks, "What are you doing? Let her go!", SAY_SHOUT, 5000}}) - table.insert(endAnim, {func = AnimSay, args = {cyborg, "Yeah? Watcha gonna do? Cry?", SAY_SHOUT, 5000}}) - table.insert(endAnim, {func = AnimSay, args = {leaks, "We won't let you hurt her!", SAY_SHOUT, 4000}}) + table.insert(endAnim, {func = AnimSay, args = {princess, loc("Help me, please!"), SAY_SHOUT, 3000}}) + table.insert(endAnim, {func = AnimSay, args = {leaks, loc("What are you doing? Let her go!"), SAY_SHOUT, 5000}}) + table.insert(endAnim, {func = AnimSay, args = {cyborg, loc("Yeah? Watcha gonna do? Cry?"), SAY_SHOUT, 5000}}) + table.insert(endAnim, {func = AnimSay, args = {leaks, loc("We won't let you hurt her!"), SAY_SHOUT, 4000}}) AddSkipFunction(endAnim, SkipEndAnimDuo, {}) - table.insert(endFailAnim, {func = AnimCaption, args = {leaks, "Leaks A Lot, depressed for killing his loved one, failed to save the village...", 3000}}) + table.insert(endFailAnim, {func = AnimCaption, args = {leaks, loc("Leaks A Lot, depressed for killing his loved one, failed to save the village..."), 3000}}) - table.insert(winAnim, {func = AnimSay, args = {princess, "Thank you, oh, thank you, my heroes!", SAY_SAY, 5000}}) - table.insert(winAnim, {func = AnimSay, args = {princess, "How can I ever repay you for saving my life?", SAY_SAY, 6000}}) - table.insert(winAnim, {func = AnimSay, args = {leaks, "There's nothing more satisfying to us than seeing you share your beauty with the world every morning, my princess!", SAY_SAY, 10000}}) - table.insert(winAnim, {func = AnimSay, args = {leaks, "Let's go home!", SAY_SAY, 3000}}) - table.insert(winAnim, {func = AnimCaption, args = {leaks, "And so they discovered that cyborgs weren't invulnerable...", 2000}}) + table.insert(winAnim, {func = AnimSay, args = {princess, loc("Thank you, oh, thank you, my heroes!"), SAY_SAY, 5000}}) + table.insert(winAnim, {func = AnimSay, args = {princess, loc("How can I ever repay you for saving my life?"), SAY_SAY, 6000}}) + table.insert(winAnim, {func = AnimSay, args = {leaks, loc("There's nothing more satisfying to us than seeing you share your beauty with the world every morning, my princess!"), SAY_SAY, 10000}}) + table.insert(winAnim, {func = AnimSay, args = {leaks, loc("Let's go home!"), SAY_SAY, 3000}}) + table.insert(winAnim, {func = AnimCaption, args = {leaks, loc("And so they discovered that cyborgs weren't invulnerable..."), 2000}}) startAnim = startAnimRL pastFlowerAnim = pastFlowerAnimRL @@ -587,7 +588,7 @@ end function KillPrincess() - ParseCommand("teamgone Cannibal Sentry") + ParseCommand("teamgone " .. loc("Cannibal Sentry")) TurnTimeLeft = 0 end --/////////////////////////////Misc Functions//////////////////////// @@ -803,8 +804,8 @@ end function DoLeaksDead() - AddCaption("The village, unprepared, was destroyed by the cyborgs...") - ParseCommand("teamgone Natives") + AddCaption(loc("The village, unprepared, was destroyed by the cyborgs...")) + ParseCommand("teamgone ", .. loc("Natives")) end function CheckDenseDead() @@ -812,8 +813,8 @@ end function DoDenseDead() - AddCaption("The village, unprepared, was destroyed by the cyborgs...") - ParseCommand("teamgone Natives") + AddCaption(loc("The village, unprepared, was destroyed by the cyborgs...")) + ParseCommand("teamgone ", .. loc("Natives")) end function CheckTookBlowTorch() @@ -821,7 +822,7 @@ end function DoTookBlowTorch() - ShowMission("The Journey Back", "The Tunnel Maker", "Hint: Select the BlowTorch, aim and press [Fire]. Press [Fire] again to stop.|Don't blow up the crate.", 0, 6000) + ShowMission(loc("The Journey Back"), loc("The Tunnel Maker"), loc("Hint: Select the BlowTorch, aim and press [Fire]. Press [Fire] again to stop.|Don't blow up the crate."), 0, 6000) end function CheckTookLowGravity() @@ -829,7 +830,7 @@ end function DoTookLowGravity() - ShowMission("The Journey Back", "The Moonwalk", "Hint: Select the LowGravity and press [Fire].", 0, 6000) + ShowMission(loc("The Journey Back"), loc("The Moonwalk"), loc("Hint: Select the LowGravity and press [Fire]."), 0, 6000) end function CheckOnBridge() @@ -856,7 +857,7 @@ function DoOnFirstGirder() PlaceCourseMines() - ShowMission("The Journey Back", "Slippery", "You'd better watch your steps...", 0, 4000) + ShowMission(loc("The Journey Back"), loc("Slippery"), loc("You'd better watch your steps..."), 0, 4000) end function CheckTookSniper() @@ -883,7 +884,7 @@ function DoLost() AddAnim(endFailAnim) - AddFunction({func = ParseCommand, args = {'teamgone Natives'}}) + AddFunction({func = ParseCommand, args = {'teamgone ' .. loc('Natives')}}) end function CheckWon() @@ -898,8 +899,8 @@ function FinishWon() SwitchHog(leaks) - ParseCommand("teamgone Cannibal Sentry") - ParseCommand("teamgone 011101001") + ParseCommand("teamgone " .. loc("Cannibal Sentry")) + ParseCommand("teamgone " .. loc("011101001")) TurnTimeLeft = 0 end @@ -928,11 +929,11 @@ Theme = "Nature" SuddenDeathTurns = 3000 - AddTeam("Natives", 2567585, "Bone", "Island", "HillBilly", "cm_birdy") - leaks = AddHog("Leaks A Lot", 0, 100, "Rambo") - dense = AddHog("Dense Cloud", 0, 100, "RobinHood") + AddTeam(loc("Natives"), 29439, "Bone", "Island", "HillBilly", "cm_birdy") + leaks = AddHog(loc("Leaks A Lot"), 0, 100, "Rambo") + dense = AddHog(loc("Dense Cloud"), 0, 100, "RobinHood") - AddTeam("Cannibal Sentry", 14483456, "Skull", "Island", "Pirate","cm_vampire") + AddTeam(loc("Cannibal Sentry"), 14483456, "Skull", "Island", "Pirate","cm_vampire") cannibals = {} for i = 1, 4 do cannibals[i] = AddHog(cannibalNames[i], 3, 40, "Zombi") @@ -944,9 +945,9 @@ SetGearPosition(cannibals[i], 0, 0) end - AddTeam("011101001", 14483456, "ring", "UFO", "Robot", "cm_star") - cyborg = AddHog("Y3K1337", 0, 200, "cyborg1") - princess = AddHog("Fell From Heaven", 0, 200, "tiara") + AddTeam(loc("011101001"), 14483456, "ring", "UFO", "Robot", "cm_star") + cyborg = AddHog(loc("Y3K1337"), 0, 200, "cyborg1") + princess = AddHog(loc("Fell From Heaven"), 0, 200, "tiara") SetGearPosition(dense, 0, 0) SetGearPosition(leaks, 0, 0) @@ -1031,7 +1032,7 @@ AnimSwitchHog(leaks) SetGearMessage(leaks, 0) TurnTimeLeft = -1 - elseif GetHogTeamName(CurrentHedgehog) ~= "Natives" then + elseif GetHogTeamName(CurrentHedgehog) ~= loc("Natives") then for i = 1, 4 do if cannibalDead[i] ~= true then if GetX(cannibals[i]) < GetX(leaks) then diff -r 4a17a921ec93 -r e3f2280d9000 share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/shadow.lua --- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/shadow.lua Thu Jul 05 00:57:30 2012 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/shadow.lua Thu Jul 05 16:02:42 2012 +0300 @@ -1,3 +1,4 @@ +loadfile(GetDataPath() .. "Scripts/Locale.lua")() loadfile(GetDataPath() .. "Scripts/Animate.lua")() -----------------------------Constants--------------------------------- @@ -28,7 +29,7 @@ choiceRefuse = 2 choiceAttack = 3 -HogNames = {"Brainiac", "Corpsemonger", "Femur Lover", "Glark", "Bonely", "Rot Molester", "Bloodrocutor", "Muscle Dissolver", "Bloodsucker"} +HogNames = {loc("Brainiac"), loc("Corpsemonger"), loc("Femur Lover"), loc("Glark"), loc("Bonely"), loc("Rot Molester"), loc("Bloodrocutor"), loc("Muscle Dissolver"), loc("Bloodsucker")} ---POSITIONS--- @@ -88,7 +89,7 @@ SpawnUtilityCrate(2365, 1495, amShotgun) SpawnUtilityCrate(2495, 1519, amGrenade) SpawnUtilityCrate(2620, 1524, amRope) - ShowMission("The Shadow Falls", "The Showdown", "Save Leaks A Lot!|Hint: The Switch utility might be of help to you.", 1, 6000) + ShowMission(loc("The Shadow Falls"), loc("The Showdown"), loc("Save Leaks A Lot!|Hint: The Switch utility might be of help to you."), 1, 6000) RemoveEventFunc(CheckDenseDead) AddEvent(CheckStronglingsDead, {}, DoStronglingsDeadRefused, {}, 0) AddAmmo(cannibals[6], amGrenade, 5) @@ -111,7 +112,7 @@ function AfterStartDialogue() stage = spyStage - ShowMission("The Shadow Falls", "Play with me!", "Defend yourself!|Hint: You can get tips on using weapons by moving your mouse over them in the weapon selection menu", 1, 6000) + ShowMission(loc("The Shadow Falls"), loc("Play with me!"), loc("Defend yourself!|Hint: You can get tips on using weapons by moving your mouse over them in the weapon selection menu"), 1, 6000) TurnTimeLeft = TurnTime end @@ -135,7 +136,7 @@ SetGearMessage(dense, 0) SetGearMessage(leaks, 0) TurnTimeLeft = TurnTime - ShowMission("The Shadow Falls", "Why do you not like me?", "Obliterate them!|Hint: You might want to take cover...", 1, 6000) + ShowMission(loc("The Shadow Falls"), loc("Why do you not like me?"), loc("Obliterate them!|Hint: You might want to take cover..."), 1, 6000) end function SkipWeaklingsAnim() @@ -153,7 +154,7 @@ function AfterStronglingsAnim() stage = cyborgStage TurnTimeLeft = 0 - ShowMission("The Shadow Falls", "The Dilemma", "Choose your side! If you want to join the strange man, walk up to him.|Otherwise, walk away from him. If you decide to att...nevermind...", 1, 8000) + ShowMission(loc("The Shadow Falls"), loc("The Dilemma"), loc("Choose your side! If you want to join the strange man, walk up to him.|Otherwise, walk away from him. If you decide to att...nevermind..."), 1, 8000) AddEvent(CheckChoice, {}, DoChoice, {}, 0) AddEvent(CheckRefuse, {}, DoRefuse, {}, 0) AddEvent(CheckAccept, {}, DoAccept, {}, 0) @@ -192,7 +193,7 @@ SetGearPosition(dense, 1350, 1310) AddAmmo(dense, amGirder, 2) AddAmmo(dense, amParachute, 2) - ShowMission("The Shadow Falls", "The walk of Fame", "Return to Leaks A Lot! If you get stuck, press [Precise] to try again!", 1, 6000) + ShowMission(loc("The Shadow Falls"), loc("The walk of Fame"), loc("Return to Leaks A Lot! If you get stuck, press [Precise] to try again!"), 1, 6000) RemoveEventFunc(CheckNeedGirder) RemoveEventFunc(CheckNeedWeapons) AddEvent(CheckNeedGirder, {}, DoNeedGirder, {}, 0) @@ -204,7 +205,7 @@ stage = acceptedReturnStage SpawnAmmoCrate(1300, 810, amGirder) SpawnAmmoCrate(1300, 810 - 60, amParachute) - ShowMission("The Shadow Falls", "The walk of Fame", "Return to Leaks A Lot! If you get stuck, press [Precise] to try again!", 1, 6000) + ShowMission(loc("The Shadow Falls"), loc("The walk of Fame"), loc("Return to Leaks A Lot! If you get stuck, press [Precise] to try again!"), 1, 6000) HideHog(cyborg) AddEvent(CheckTookWeapons, {}, DoTookWeapons, {}, 0) AddEvent(CheckNeedGirder, {}, DoNeedGirder, {}, 0) @@ -223,7 +224,7 @@ function AfterAttackedAnim() stage = aloneStage HideHog(cyborg) - ShowMission("The Shadow Falls", "The Individualist", "Defeat the cannibals!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power", 1, 8000) + ShowMission(loc("The Shadow Falls"), loc("The Individualist"), loc("Defeat the cannibals!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"), 1, 8000) AddAmmo(cannibals[6], amGrenade, 5) AddAmmo(cannibals[6], amFirePunch, 0) AddAmmo(cannibals[6], amBaseballBat, 0) @@ -289,34 +290,34 @@ function SetupAcceptedSurvivedFinalAnim() table.insert(acceptedSurvivedFinalAnim, {func = AnimCustomFunction, args = {dense, CondNeedToTurn, {leaks, dense}}}) - table.insert(acceptedSurvivedFinalAnim, {func = AnimSay, args = {leaks, "Pfew! That was close!", SAY_SAY, 3000}}) + table.insert(acceptedSurvivedFinalAnim, {func = AnimSay, args = {leaks, loc("Pfew! That was close!"), SAY_SAY, 3000}}) if grenadeUsed and shotgunUsed then - table.insert(acceptedSurvivedFinalAnim, {func = AnimSay, args = {leaks, "Where did you get the exploding apples and the magic bow that shoots many arrows?", SAY_SAY, 9000}}) + table.insert(acceptedSurvivedFinalAnim, {func = AnimSay, args = {leaks, loc("Where did you get the exploding apples and the magic bow that shoots many arrows?"), SAY_SAY, 9000}}) elseif grenadeUsed then - table.insert(acceptedSurvivedFinalAnim, {func = AnimSay, args = {leaks, "Where did you get the exploding apples?", SAY_SAY, 6000}}) + table.insert(acceptedSurvivedFinalAnim, {func = AnimSay, args = {leaks, loc("Where did you get the exploding apples?"), SAY_SAY, 6000}}) elseif shotgunUsed then - table.insert(acceptedSurvivedFinalAnim, {func = AnimSay, args = {leaks, "Where did you get the magic bow that shoots many arrows?", SAY_SAY, 8000}}) + table.insert(acceptedSurvivedFinalAnim, {func = AnimSay, args = {leaks, loc("Where did you get the magic bow that shoots many arrows?"), SAY_SAY, 8000}}) else - table.insert(acceptedSurvivedFinalAnim, {func = AnimSay, args = {leaks, "Did you warn the village?", SAY_SAY, 4000}}) - table.insert(acceptedSurvivedFinalAnim, {func = AnimSay, args = {dense, "No, I came back to help you out...", SAY_SAY, 5000}}) + table.insert(acceptedSurvivedFinalAnim, {func = AnimSay, args = {leaks, loc("Did you warn the village?"), SAY_SAY, 4000}}) + table.insert(acceptedSurvivedFinalAnim, {func = AnimSay, args = {dense, loc("No, I came back to help you out..."), SAY_SAY, 5000}}) end if grenadeUsed or shotgunUsed then - table.insert(acceptedSurvivedFinalAnim, {func = AnimSay, args = {dense, "Uhm...I met one of them and took his weapons.", SAY_SAY, 5000}}) + table.insert(acceptedSurvivedFinalAnim, {func = AnimSay, args = {dense, loc("Uhm...I met one of them and took his weapons."), SAY_SAY, 5000}}) end - table.insert(acceptedSurvivedFinalAnim, {func = AnimSay, args = {dense, "We should head back to the village now.", SAY_SAY, 5000}}) + table.insert(acceptedSurvivedFinalAnim, {func = AnimSay, args = {dense, loc("We should head back to the village now."), SAY_SAY, 5000}}) end function AnimationSetup() table.insert(startDialogue, {func = AnimWait, args = {dense, 4000}}) - table.insert(startDialogue, {func = AnimCaption, args = {leaks, "After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax.", 6000}}) - table.insert(startDialogue, {func = AnimCaption, args = {leaks, "Little did they know that this hunt will mark them forever...", 4000}}) - table.insert(startDialogue, {func = AnimSay, args = {leaks, "I have no idea where that mole disappeared...Can you see it?", SAY_SAY, 9000}}) - table.insert(startDialogue, {func = AnimSay, args = {dense, "Nope. It was one fast mole, that's for sure.", SAY_SAY, 5000}}) + table.insert(startDialogue, {func = AnimCaption, args = {leaks, loc("After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."), 6000}}) + table.insert(startDialogue, {func = AnimCaption, args = {leaks, loc("Little did they know that this hunt will mark them forever..."), 4000}}) + table.insert(startDialogue, {func = AnimSay, args = {leaks, loc("I have no idea where that mole disappeared...Can you see it?"), SAY_SAY, 9000}}) + table.insert(startDialogue, {func = AnimSay, args = {dense, loc("Nope. It was one fast mole, that's for sure."), SAY_SAY, 5000}}) table.insert(startDialogue, {func = AnimCustomFunction, args = {dense, EmitDenseClouds, {startDialogue, "right"}}}) table.insert(startDialogue, {func = AnimWait, args = {dense, 2000}}) - table.insert(startDialogue, {func = AnimSay, args = {leaks, "Please, stop releasing your \"smoke signals\"!", SAY_SAY, 5000}}) - table.insert(startDialogue, {func = AnimSay, args = {leaks, "You're terrorizing the forest...We won't catch anything like this!", SAY_SAY, 6000}}) - table.insert(startDialogue, {func = AnimSay, args = {leaks, "...", SAY_THINK, 1000}}) + table.insert(startDialogue, {func = AnimSay, args = {leaks, loc("Please, stop releasing your \"smoke signals\"!"), SAY_SAY, 5000}}) + table.insert(startDialogue, {func = AnimSay, args = {leaks, loc("You're terrorizing the forest...We won't catch anything like this!"), SAY_SAY, 6000}}) + table.insert(startDialogue, {func = AnimSay, args = {leaks, loc("..."), SAY_THINK, 1000}}) table.insert(startDialogue, {func = AnimGiveState, args = {cannibals[1], 0}, swh = false}) table.insert(startDialogue, {func = AnimOutOfNowhere, args = {cannibals[1], unpack(cannibalPos[1])}, swh = false}) table.insert(startDialogue, {func = AnimTurn, args = {leaks, "Right"}}) @@ -325,18 +326,18 @@ table.insert(startDialogue, {func = AnimTurn, args = {cannibals[1], "Left"}}) table.insert(startDialogue, {func = AnimWait, args = {cannibals[1], 1000}}) table.insert(startDialogue, {func = AnimTurn, args = {cannibals[1], "Right"}}) - table.insert(startDialogue, {func = AnimSay, args = {cannibals[1], "I can't believe it worked!", SAY_THINK, 3500}}) - table.insert(startDialogue, {func = AnimSay, args = {cannibals[1], "That shaman sure knows what he/she's doing!", SAY_THINK, 6000}}) - table.insert(startDialogue, {func = AnimSay, args = {leaks, "It wants our brains!", SAY_SHOUT, 3000}}) + table.insert(startDialogue, {func = AnimSay, args = {cannibals[1], loc("I can't believe it worked!"), SAY_THINK, 3500}}) + table.insert(startDialogue, {func = AnimSay, args = {cannibals[1], loc("That shaman sure knows what he/she's doing!"), SAY_THINK, 6000}}) + table.insert(startDialogue, {func = AnimSay, args = {leaks, loc("It wants our brains!"), SAY_SHOUT, 3000}}) table.insert(startDialogue, {func = AnimTurn, args = {cannibals[1], "Left"}}) - table.insert(startDialogue, {func = AnimSay, args = {cannibals[1], "Not you again! My head still hurts from last time!", SAY_SHOUT, 6000}}) + table.insert(startDialogue, {func = AnimSay, args = {cannibals[1], loc("Not you again! My head still hurts from last time!"), SAY_SHOUT, 6000}}) table.insert(startDialogue, {func = AnimSwitchHog, args = {leaks}}) AddSkipFunction(startDialogue, StartSkipFunc, {}) table.insert(weaklingsAnim, {func = AnimGearWait, args = {leaks, 1000}}) table.insert(weaklingsAnim, {func = AnimCustomFunction, args = {leaks, CondNeedToTurn, {leaks, dense}}}) - table.insert(weaklingsAnim, {func = AnimSay, args = {leaks, "Did you see him coming?", SAY_SAY, 3500}}) - table.insert(weaklingsAnim, {func = AnimSay, args = {dense, "No. Where did he come from?", SAY_SAY, 3500}}) + table.insert(weaklingsAnim, {func = AnimSay, args = {leaks, loc("Did you see him coming?"), SAY_SAY, 3500}}) + table.insert(weaklingsAnim, {func = AnimSay, args = {dense, loc("No. Where did he come from?"), SAY_SAY, 3500}}) table.insert(weaklingsAnim, {func = AnimCustomFunction, args = {leaks, UnHideWeaklings, {}}}) table.insert(weaklingsAnim, {func = AnimOutOfNowhere, args = {cannibals[2], unpack(cannibalPos[2])}}) table.insert(weaklingsAnim, {func = AnimGiveState, args = {cannibals[2], 0}}) @@ -350,8 +351,8 @@ table.insert(weaklingsAnim, {func = AnimGiveState, args = {cannibals[5], 0}}) table.insert(weaklingsAnim, {func = AnimOutOfNowhere, args = {cannibals[5], unpack(cannibalPos[5])}}) table.insert(weaklingsAnim, {func = AnimWait, args = {leaks, 400}}) - table.insert(weaklingsAnim, {func = AnimSay, args = {cannibals[3], "Are we there yet?", SAY_SAY, 4000}}) - table.insert(weaklingsAnim, {func = AnimSay, args = {dense, "This must be some kind of sorcery!", SAY_SHOUT, 3500}}) + table.insert(weaklingsAnim, {func = AnimSay, args = {cannibals[3], loc("Are we there yet?"), SAY_SAY, 4000}}) + table.insert(weaklingsAnim, {func = AnimSay, args = {dense, loc("This must be some kind of sorcery!"), SAY_SHOUT, 3500}}) table.insert(weaklingsAnim, {func = AnimSwitchHog, args = {leaks}}) AddSkipFunction(weaklingsAnim, SkipWeaklingsAnim, {}) @@ -360,11 +361,11 @@ table.insert(stronglingsAnim, {func = AnimCustomFunction, args = {leaks, CondNeedToTurn, {leaks, dense}}}) table.insert(stronglingsAnim, {func = AnimGiveState, args = {leaks, 0}}) table.insert(stronglingsAnim, {func = AnimGiveState, args = {dense, 0}}) - table.insert(stronglingsAnim, {func = AnimSay, args = {leaks, "I thought their shaman died when he tried our medicine!", SAY_SAY, 7000}}) - table.insert(stronglingsAnim, {func = AnimSay, args = {dense, "I saw it with my own eyes!", SAY_SAY, 4000}}) - table.insert(stronglingsAnim, {func = AnimSay, args = {leaks, "Then how do they keep appearing?", SAY_SAY, 4000}}) - table.insert(stronglingsAnim, {func = AnimSay, args = {leaks, "It's impossible to communicate with the spirits without a shaman.", SAY_SAY, 7000}}) - table.insert(stronglingsAnim, {func = AnimSay, args = {dense, "We need to warn the village.", SAY_SAY, 3500}}) + table.insert(stronglingsAnim, {func = AnimSay, args = {leaks, loc("I thought their shaman died when he tried our medicine!"), SAY_SAY, 7000}}) + table.insert(stronglingsAnim, {func = AnimSay, args = {dense, loc("I saw it with my own eyes!"), SAY_SAY, 4000}}) + table.insert(stronglingsAnim, {func = AnimSay, args = {leaks, loc("Then how do they keep appearing?"), SAY_SAY, 4000}}) + table.insert(stronglingsAnim, {func = AnimSay, args = {leaks, loc("It's impossible to communicate with the spirits without a shaman."), SAY_SAY, 7000}}) + table.insert(stronglingsAnim, {func = AnimSay, args = {dense, loc("We need to warn the village."), SAY_SAY, 3500}}) table.insert(stronglingsAnim, {func = AnimGiveState, args = {cannibals[6], 0}}) table.insert(stronglingsAnim, {func = AnimOutOfNowhere, args = {cannibals[6], unpack(cannibalPos[6])}}) table.insert(stronglingsAnim, {func = AnimWait, args = {leaks, 400}}) @@ -377,14 +378,14 @@ table.insert(stronglingsAnim, {func = AnimGiveState, args = {cannibals[9], 0}}) table.insert(stronglingsAnim, {func = AnimOutOfNowhere, args = {cannibals[9], unpack(cannibalPos[9])}}) table.insert(stronglingsAnim, {func = AnimWait, args = {leaks, 400}}) - table.insert(stronglingsAnim, {func = AnimSay, args = {cannibals[7], "What a ride!", SAY_SHOUT, 2000}}) + table.insert(stronglingsAnim, {func = AnimSay, args = {cannibals[7], loc("What a ride!"), SAY_SHOUT, 2000}}) table.insert(stronglingsAnim, {func = AnimTurn, args = {leaks, "Right"}}) table.insert(stronglingsAnim, {func = AnimWait, args = {leaks, 700}}) table.insert(stronglingsAnim, {func = AnimTurn, args = {leaks, "Left"}}) - table.insert(stronglingsAnim, {func = AnimSay, args = {leaks, "We can't defeat them!", SAY_THINK, 3000}}) - table.insert(stronglingsAnim, {func = AnimSay, args = {leaks, "I'll hold them up while you return to the village!", SAY_SAY, 6000}}) + table.insert(stronglingsAnim, {func = AnimSay, args = {leaks, loc("We can't defeat them!"), SAY_THINK, 3000}}) + table.insert(stronglingsAnim, {func = AnimSay, args = {leaks, loc("I'll hold them up while you return to the village!"), SAY_SAY, 6000}}) table.insert(stronglingsAnim, {func = AnimFollowGear, args = {cyborg}, swh = false}) - table.insert(stronglingsAnim, {func = AnimCaption, args = {cyborg, "30 minutes later..."}, swh = false}) + table.insert(stronglingsAnim, {func = AnimCaption, args = {cyborg, loc("30 minutes later...")}, swh = false}) table.insert(stronglingsAnim, {func = AnimWait, args = {cyborg, 2000}}) table.insert(stronglingsAnim, {func = AnimSetGearPosition, args = {dense, 1420, 1315}}) table.insert(stronglingsAnim, {func = AnimMove, args = {dense, "left", 1400, 0}}) @@ -393,36 +394,36 @@ table.insert(stronglingsAnim, {func = AnimOutOfNowhere, args = {cyborg, 1250, 1320}}) table.insert(stronglingsAnim, {func = AnimRemoveState, args = {cyborg, gstInvisible}}) table.insert(stronglingsAnim, {func = AnimGearWait, args = {cyborg, 2000}}) - table.insert(stronglingsAnim, {func = AnimSay, args = {cyborg, "Greetings, cloudy one!", SAY_SAY, 3000}}) - table.insert(stronglingsAnim, {func = AnimSay, args = {cyborg, "I have come to make you an offering...", SAY_SAY, 6000}}) - table.insert(stronglingsAnim, {func = AnimSay, args = {cyborg, "You are given the chance to turn your life around...", SAY_SAY, 6000}}) - table.insert(stronglingsAnim, {func = AnimSay, args = {cyborg, "If you agree to provide the information we need, you will be spared!", SAY_SAY, 7000}}) - table.insert(stronglingsAnim, {func = AnimSay, args = {cyborg, "Have no illusions, your tribe is dead, indifferent of your choice.", SAY_SAY, 7000}}) - table.insert(stronglingsAnim, {func = AnimSay, args = {cyborg, "If you decide to help us, though, we will no longer need to find a new governor for the island.", SAY_SAY, 8000}}) - table.insert(stronglingsAnim, {func = AnimSay, args = {cyborg, "If you know what I mean...", SAY_SAY, 3000}}) - table.insert(stronglingsAnim, {func = AnimSay, args = {cyborg, "So? What will it be?", SAY_SAY, 3000}}) + table.insert(stronglingsAnim, {func = AnimSay, args = {cyborg, loc("Greetings, cloudy one!"), SAY_SAY, 3000}}) + table.insert(stronglingsAnim, {func = AnimSay, args = {cyborg, loc("I have come to make you an offering..."), SAY_SAY, 6000}}) + table.insert(stronglingsAnim, {func = AnimSay, args = {cyborg, loc("You are given the chance to turn your life around..."), SAY_SAY, 6000}}) + table.insert(stronglingsAnim, {func = AnimSay, args = {cyborg, loc("If you agree to provide the information we need, you will be spared!"), SAY_SAY, 7000}}) + table.insert(stronglingsAnim, {func = AnimSay, args = {cyborg, loc("Have no illusions, your tribe is dead, indifferent of your choice."), SAY_SAY, 7000}}) + table.insert(stronglingsAnim, {func = AnimSay, args = {cyborg, loc("If you decide to help us, though, we will no longer need to find a new governor for the island."), SAY_SAY, 8000}}) + table.insert(stronglingsAnim, {func = AnimSay, args = {cyborg, loc("If you know what I mean..."), SAY_SAY, 3000}}) + table.insert(stronglingsAnim, {func = AnimSay, args = {cyborg, loc("So? What will it be?"), SAY_SAY, 3000}}) table.insert(stronglingsAnim, {func = AnimSwitchHog, args = {dense}}) AddSkipFunction(stronglingsAnim, SkipStronglingsAnim, {}) - table.insert(acceptedAnim, {func = AnimSay, args = {cyborg, "Great choice, Steve! Mind if I call you that?", SAY_SAY, 7000}}) - table.insert(acceptedAnim, {func = AnimSay, args = {dense, "Whatever floats your boat...", SAY_SAY, 4500}}) - table.insert(acceptedAnim, {func = AnimSay, args = {cyborg, "Great! You will be contacted soon for assistance.", SAY_SAY, 6000}}) - table.insert(acceptedAnim, {func = AnimSay, args = {cyborg, "In the meantime, take these and return to your \"friend\"!", SAY_SAY, 6000}}) + table.insert(acceptedAnim, {func = AnimSay, args = {cyborg, loc("Great choice, Steve! Mind if I call you that?"), SAY_SAY, 7000}}) + table.insert(acceptedAnim, {func = AnimSay, args = {dense, loc("Whatever floats your boat..."), SAY_SAY, 4500}}) + table.insert(acceptedAnim, {func = AnimSay, args = {cyborg, loc("Great! You will be contacted soon for assistance."), SAY_SAY, 6000}}) + table.insert(acceptedAnim, {func = AnimSay, args = {cyborg, loc("In the meantime, take these and return to your \"friend\"!"), SAY_SAY, 6000}}) table.insert(acceptedAnim, {func = AnimGiveState, args = {cyborg, gstInvisible}}) table.insert(acceptedAnim, {func = AnimDisappear, args = {cyborg, unpack(cyborgPos)}}) table.insert(acceptedAnim, {func = AnimSwitchHog, args = {dense}}) AddSkipFunction(acceptedAnim, SkipAcceptedAnim, {}) - table.insert(acceptedDiedFinalAnim, {func = AnimSay, args = {leaks, "Pfew! That was close!", SAY_THINK, 3000}}) - table.insert(acceptedDiedFinalAnim, {func = AnimSay, args = {leaks, "Your death will not be in vain, Dense Cloud!", SAY_THINK, 5000}}) - table.insert(acceptedDiedFinalAnim, {func = AnimSay, args = {dense, "You will be avenged!", SAY_SAY, 3000}}) + table.insert(acceptedDiedFinalAnim, {func = AnimSay, args = {leaks, loc("Pfew! That was close!"), SAY_THINK, 3000}}) + table.insert(acceptedDiedFinalAnim, {func = AnimSay, args = {leaks, loc("Your death will not be in vain, Dense Cloud!"), SAY_THINK, 5000}}) + table.insert(acceptedDiedFinalAnim, {func = AnimSay, args = {dense, loc("You will be avenged!"), SAY_SAY, 3000}}) - table.insert(refusedAnim, {func = AnimSay, args = {cyborg, "I see...", SAY_SAY, 2000}}) - table.insert(refusedAnim, {func = AnimSay, args = {cyborg, "Remember this, pathetic animal: when the day comes, you will regret your blind loyalty!", SAY_SAY, 8000}}) - table.insert(refusedAnim, {func = AnimSay, args = {cyborg, "You just committed suicide...", SAY_SAY, 5000}}) + table.insert(refusedAnim, {func = AnimSay, args = {cyborg, loc("I see..."), SAY_SAY, 2000}}) + table.insert(refusedAnim, {func = AnimSay, args = {cyborg, loc("Remember this, pathetic animal: when the day comes, you will regret your blind loyalty!"), SAY_SAY, 8000}}) + table.insert(refusedAnim, {func = AnimSay, args = {cyborg, loc("You just committed suicide..."), SAY_SAY, 5000}}) table.insert(refusedAnim, {func = AnimDisappear, args = {cyborg, unpack(cyborgPos)}}) table.insert(refusedAnim, {func = AnimGiveState, args = {cyborg, gstInvisible}}) - table.insert(refusedAnim, {func = AnimSay, args = {dense, "If you say so...", SAY_THINK, 3000}}) + table.insert(refusedAnim, {func = AnimSay, args = {dense, loc("If you say so..."), SAY_THINK, 3000}}) table.insert(refusedAnim, {func = AnimFollowGear, args = {cyborg}, swh = false}) table.insert(refusedAnim, {func = AnimWait, args = {cyborg, 700}}) table.insert(refusedAnim, {func = AnimCustomFunction, args = {dense, RefusedStart, {}}}) @@ -434,34 +435,34 @@ table.insert(refusedAnim, {func = AnimTurn, args = {spiky, "right"}}) table.insert(refusedAnim, {func = AnimWait, args = {cyborg, 1700}}) table.insert(refusedAnim, {func = AnimTurn, args = {spiky, "left"}}) - table.insert(refusedAnim, {func = AnimSay, args = {spiky, "Dude, we really need a new shaman...", SAY_SAY, 4000}}) + table.insert(refusedAnim, {func = AnimSay, args = {spiky, loc("Dude, we really need a new shaman..."), SAY_SAY, 4000}}) AddSkipFunction(refusedAnim, SkipRefusedAnim, {}) - table.insert(refusedFinalAnim, {func = AnimSay, args = {leaks, "It's over...", SAY_SAY, 2000}}) - table.insert(refusedFinalAnim, {func = AnimSay, args = {leaks, "Let's head back to the village!", SAY_SAY, 4000}}) + table.insert(refusedFinalAnim, {func = AnimSay, args = {leaks, loc("It's over..."), SAY_SAY, 2000}}) + table.insert(refusedFinalAnim, {func = AnimSay, args = {leaks, loc("Let's head back to the village!"), SAY_SAY, 4000}}) table.insert(attackedAnim, {func = AnimCustomFunction, args = {dense, CondNeedToTurn, {cyborg, dense}}}) table.insert(attackedAnim, {func = AnimCustomFunction, args = {cyborg, SetHealth, {cyborg, 200}}}) table.insert(attackedAnim, {func = AnimWait, args = {cyborg, 2000}}) - table.insert(attackedAnim, {func = AnimSay, args = {cyborg, "Really?! You thought you could harm me with your little toys?", SAY_SAY, 7000}}) - table.insert(attackedAnim, {func = AnimSay, args = {cyborg, "You're pathetic! You are not worthy of my attention...", SAY_SAY, 6000}}) - table.insert(attackedAnim, {func = AnimSay, args = {cyborg, "Actually, you aren't worthy of life! Take this...", SAY_SAY, 5000}}) + table.insert(attackedAnim, {func = AnimSay, args = {cyborg, loc("Really?! You thought you could harm me with your little toys?"), SAY_SAY, 7000}}) + table.insert(attackedAnim, {func = AnimSay, args = {cyborg, loc("You're pathetic! You are not worthy of my attention..."), SAY_SAY, 6000}}) + table.insert(attackedAnim, {func = AnimSay, args = {cyborg, loc("Actually, you aren't worthy of life! Take this..."), SAY_SAY, 5000}}) table.insert(attackedAnim, {func = AnimCustomFunction, args = {dense, BlowDenseCloud, {}}, swh = false}) table.insert(attackedAnim, {func = AnimWait, args = {cyborg, 2000}}) - table.insert(attackedAnim, {func = AnimSay, args = {cyborg, "Incredible...", SAY_SAY, 3000}}) + table.insert(attackedAnim, {func = AnimSay, args = {cyborg, loc("Incredible..."), SAY_SAY, 3000}}) table.insert(attackedAnim, {func = AnimDisappear, args = {cyborg, unpack(cyborgPos)}}) table.insert(attackedAnim, {func = AnimGiveState, args = {cyborg, gstInvisible}}) table.insert(attackedAnim, {func = AnimSwitchHog, args = {leaks}}) - table.insert(attackedAnim, {func = AnimSay, args = {leaks, "I wonder where Dense Cloud is...", SAY_THINK, 4000}}) - table.insert(attackedAnim, {func = AnimSay, args = {leaks, "I can't wait any more, I have to save myself!", SAY_THINK, 5000}}) + table.insert(attackedAnim, {func = AnimSay, args = {leaks, loc("I wonder where Dense Cloud is..."), SAY_THINK, 4000}}) + table.insert(attackedAnim, {func = AnimSay, args = {leaks, loc("I can't wait any more, I have to save myself!"), SAY_THINK, 5000}}) table.insert(attackedAnim, {func = AnimCustomFunction, args = {leaks, SpawnCrates, {}}}) table.insert(attackedAnim, {func = AnimWait, args = {leaks, 1500}}) - table.insert(attackedAnim, {func = AnimSay, args = {leaks, "Where are all these crates coming from?!", SAY_THINK, 5500}}) + table.insert(attackedAnim, {func = AnimSay, args = {leaks, loc("Where are all these crates coming from?!"), SAY_THINK, 5500}}) AddSkipFunction(attackedAnim, SkipAttackedAnim, {}) table.insert(attackedFinalAnim, {func = AnimWait, args = {leaks, 2000}}) - table.insert(attackedFinalAnim, {func = AnimSay, args = {leaks, "I have to get back to the village!", SAY_THINK, 5000}}) - table.insert(attackedFinalAnim, {func = AnimSay, args = {leaks, "Dense Cloud must have already told them everything...", SAY_THINK, 7000}}) + table.insert(attackedFinalAnim, {func = AnimSay, args = {leaks, loc("I have to get back to the village!"), SAY_THINK, 5000}}) + table.insert(attackedFinalAnim, {func = AnimSay, args = {leaks, loc("Dense Cloud must have already told them everything..."), SAY_THINK, 7000}}) end @@ -486,30 +487,30 @@ end function AddHogs() - AddTeam("Natives", 2567585, "Bone", "Island", "HillBilly", "cm_birdy") - ramon = AddHog("Ramon", 0, 100, "rasta") - leaks = AddHog("Leaks A Lot", 0, 100, "Rambo") - dense = AddHog("Dense Cloud", 0, 100, "RobinHood") - spiky = AddHog("Spiky Cheese", 0, 100, "hair_yellow") + AddTeam(loc("Natives"), 29439, "Bone", "Island", "HillBilly", "cm_birdy") + ramon = AddHog(loc("Ramon"), 0, 100, "rasta") + leaks = AddHog(loc("Leaks A Lot"), 0, 100, "Rambo") + dense = AddHog(loc("Dense Cloud"), 0, 100, "RobinHood") + spiky = AddHog(loc("Spiky Cheese"), 0, 100, "hair_yellow") - AddTeam("Weaklings", 14483456, "Skull", "Island", "Pirate","cm_vampire") + AddTeam(loc("Weaklings"), 14483456, "Skull", "Island", "Pirate","cm_vampire") cannibals = {} - cannibals[1] = AddHog("Brainiac", 5, 20, "Zombi") + cannibals[1] = AddHog(loc("Brainiac"), 5, 20, "Zombi") for i = 2, 5 do cannibals[i] = AddHog(HogNames[i], 1, 20, "Zombi") hogNr[cannibals[i]] = i - 2 end - AddTeam("Stronglings", 14483456, "Skull", "Island", "Pirate","cm_vampire") + AddTeam(loc("Stronglings"), 14483456, "Skull", "Island", "Pirate","cm_vampire") for i = 6, 9 do cannibals[i] = AddHog(HogNames[i], 2, 30, "vampirichog") hogNr[cannibals[i]] = i - 2 end - AddTeam("011101001", 14483456, "ring", "UFO", "Robot", "cm_star") - cyborg = AddHog("Y3K1337", 0, 200, "cyborg1") + AddTeam(loc("011101001"), 14483456, "ring", "UFO", "Robot", "cm_star") + cyborg = AddHog(loc("Y3K1337"), 0, 200, "cyborg1") end function PlaceHogs() @@ -635,7 +636,7 @@ AddAnim(stronglingsAnim) AddFunction({func = AfterStronglingsAnim, args = {}}) stage = interWeakStage - ParseCommand("teamgone Weaklings") + ParseCommand("teamgone " .. loc("Weaklings")) end function CheckRefuse() @@ -678,7 +679,7 @@ end function DoNeedGirder() - ShowMission("The Shadow Falls", "Under Construction", "To place a girder, select it, use [Left] and [Right] to select angle and length, place with [Left Click]", 1, 6000) + ShowMission(loc("The Shadow Falls"), loc("Under Construction"), loc("To place a girder, select it, use [Left] and [Right] to select angle and length, place with [Left Click]"), 1, 6000) end function CheckNeedWeapons() @@ -688,7 +689,7 @@ function DoNeedWeapons() grenadeCrate = SpawnAmmoCrate(2550, 600, amGrenade) shotgunCrate = SpawnAmmoCrate(2550, 550, amShotgun) - AddCaption("A little gift from the cyborgs") + AddCaption(loc("A little gift from the cyborgs")) end function CheckTookWeapons() @@ -696,7 +697,7 @@ end function DoTookWeapons() - ShowMission("The Shadow Falls", "The guardian", "Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power", 1, 8000) + ShowMission(loc("The Shadow Falls"), loc("The guardian"), loc("Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"), 1, 8000) AddAmmo(dense, amSkip, 100) AddAmmo(dense, amSwitch, 100) stage = duoStage @@ -776,10 +777,10 @@ end function DoDead() - AddCaption("...and so the cyborgs took over the world...") + AddCaption(loc("...and so the cyborgs took over the world...")) stage = loseStage TurnTimeLeft = 0 - ParseCommand('teamgone Natives') + ParseCommand("teamgone " .. loc("Natives")) end function CheckDenseDead() @@ -822,7 +823,7 @@ AddAnim(startDialogue) AddFunction({func = AfterStartDialogue, args = {}}) AddEvent(CheckBrainiacDead, {}, DoBrainiacDead, {}, 0) - ShowMission("The Shadow Falls", "The First Encounter", "Survive!|Hint: Cinematics can be skipped with the [Precise] key.", 1, 0) + ShowMission(loc("The Shadow Falls"), loc("The First Encounter"), loc("Survive!|Hint: Cinematics can be skipped with the [Precise] key."), 1, 0) end function onGameTick() @@ -859,9 +860,9 @@ end function onGearAdd(gear) - if GetGearType(gear) == gtGrenade and GetHogTeamName(CurrentHedgehog) == "Natives" then + if GetGearType(gear) == gtGrenade and GetHogTeamName(CurrentHedgehog) == loc("Natives") then grenadeUsed = true - elseif GetGearType(gear) == gtShotgunShot and GetHogTeamName(CurrentHedgehog) == "Natives" then + elseif GetGearType(gear) == gtShotgunShot and GetHogTeamName(CurrentHedgehog) == loc("Natives") then shotgunUsed = true end end @@ -886,7 +887,7 @@ function onNewTurn() if AnimInProgress() then TurnTimeLeft = -1 --- elseif stage == interSpyStage and GetHogTeamName(CurrentHedgehog) ~= "Natives" then +-- elseif stage == interSpyStage and GetHogTeamName(CurrentHedgehog) ~= loc("Natives") then -- TurnTimeLeft = 0 -- SetState(CurrentHedgehog, gstInvisible) elseif stage == cyborgStage then diff -r 4a17a921ec93 -r e3f2280d9000 share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/united.lua --- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/united.lua Thu Jul 05 00:57:30 2012 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/united.lua Thu Jul 05 16:02:42 2012 +0300 @@ -1,4 +1,4 @@ - +loadfile(GetDataPath() .. "Scripts/Locale.lua")() loadfile(GetDataPath() .. "Scripts/Animate.lua")() -----------------------------Constants--------------------------------- @@ -14,8 +14,8 @@ cannibalPos = {{2219, 1339}, {2322, 1357}, {805, 784}, {3876, 1048}, {1101, 916}, {2854, 1408}, {1974, 486}, {1103, 961}} -HogNames = {"Olive", "Brain Stu", "Brainila", "Salivaslurper", - "Spleenlover", "Tighlicker", "NomNom", "Mindy"} +HogNames = {loc("Olive"), loc("Brain Stu"), loc("Brainila"), loc("Salivaslurper"), + loc("Spleenlover"), loc("Tighlicker"), loc("NomNom"), loc("Mindy")} natives = {} -----------------------------Variables--------------------------------- @@ -40,10 +40,10 @@ finalAnim = {} --------------------------Anim skip functions-------------------------- function AfterStartAnim() - local goal = "Defeat the cannibals!|" - local chiefgoal = "Try to protect the chief! Unlike your other hogs, he won't return on future missions if he dies." + local goal = loc("Defeat the cannibals!|") + local chiefgoal = loc("Try to protect the chief! Unlike your other hogs, he won't return on future missions if he dies.") TurnTimeLeft = TurnTime - ShowMission("United We Stand", "Invasion", goal .. chiefgoal, 1, 6000) + ShowMission(loc("United We Stand"), loc("Invasion"), goal .. chiefgoal, 1, 6000) end function SkipStartAnim() @@ -84,7 +84,7 @@ SaveCampaignVar("M4ChiefDead", "0") end SaveCampaignVar("Progress", "4") - ParseCommand("teamgone 011101001") + ParseCommand("teamgone " .. loc("011101001")) TurnTimeLeft = 0 end -----------------------------Animations-------------------------------- @@ -108,31 +108,31 @@ function AnimationSetup() table.insert(startAnim, {func = AnimWait, args = {leaks, 4000}}) - table.insert(startAnim, {func = AnimCaption, args = {leaks, "Back in the village, after telling the villagers about the threat...", 5000}}) - table.insert(startAnim, {func = AnimCaption, args = {leaks, "Their buildings were very primitive back then, even for an uncivilised island.", 7000}}) - table.insert(startAnim, {func = AnimSay, args = {chief, "Young one, you are telling us that they can instantly change location without a shaman?", SAY_SAY, 8000}}) - table.insert(startAnim, {func = AnimSay, args = {chief, "That is, indeed, very weird...", SAY_SAY, 3500}}) - table.insert(startAnim, {func = AnimSay, args = {buffalo, "If they try coming here, they can have a taste of my delicious knuckles!", SAY_SHOUT, 8000}}) - table.insert(startAnim, {func = AnimSay, args = {buffalo, "Haha!", SAY_SHOUT, 2000}}) + table.insert(startAnim, {func = AnimCaption, args = {leaks, loc("Back in the village, after telling the villagers about the threat..."), 5000}}) + table.insert(startAnim, {func = AnimCaption, args = {leaks, loc("Their buildings were very primitive back then, even for an uncivilised island."), 7000}}) + table.insert(startAnim, {func = AnimSay, args = {chief, loc("Young one, you are telling us that they can instantly change location without a shaman?"), SAY_SAY, 8000}}) + table.insert(startAnim, {func = AnimSay, args = {chief, loc("That is, indeed, very weird..."), SAY_SAY, 3500}}) + table.insert(startAnim, {func = AnimSay, args = {buffalo, loc("If they try coming here, they can have a taste of my delicious knuckles!"), SAY_SHOUT, 8000}}) + table.insert(startAnim, {func = AnimSay, args = {buffalo, loc("Haha!"), SAY_SHOUT, 2000}}) if denseDead == false then - table.insert(startAnim, {func = AnimSay, args = {dense, "I'm not sure about that!", SAY_SAY, 3400}}) - table.insert(startAnim, {func = AnimSay, args = {dense, "They have weapons we've never seen before!", SAY_SAY, 5000}}) - table.insert(startAnim, {func = AnimSay, args = {dense, "Luckily, I've managed to snatch some of them.", SAY_SAY, 5000}}) + table.insert(startAnim, {func = AnimSay, args = {dense, loc("I'm not sure about that!"), SAY_SAY, 3400}}) + table.insert(startAnim, {func = AnimSay, args = {dense, loc("They have weapons we've never seen before!"), SAY_SAY, 5000}}) + table.insert(startAnim, {func = AnimSay, args = {dense, loc("Luckily, I've managed to snatch some of them."), SAY_SAY, 5000}}) table.insert(startAnim, {func = AnimCustomFunction, args = {dense, SpawnCrates, {1}}}) - table.insert(startAnim, {func = AnimSay, args = {dense, "Oops...I dropped them.", SAY_SAY, 3000}}) + table.insert(startAnim, {func = AnimSay, args = {dense, loc("Oops...I dropped them."), SAY_SAY, 3000}}) else - table.insert(startAnim, {func = AnimSay, args = {leaks, "I'm not sure about that!", SAY_SAY, 3400}}) - table.insert(startAnim, {func = AnimSay, args = {leaks, "They have weapons we've never seen before!", SAY_SAY, 5000}}) + table.insert(startAnim, {func = AnimSay, args = {leaks, loc("I'm not sure about that!"), SAY_SAY, 3400}}) + table.insert(startAnim, {func = AnimSay, args = {leaks, loc("They have weapons we've never seen before!"), SAY_SAY, 5000}}) table.insert(startAnim, {func = AnimCustomFunction, args = {leaks, SpawnCrates, {1}}}) table.insert(startAnim, {func = AnimWait, args = {leaks, 1000}}) - table.insert(startAnim, {func = AnimSay, args = {leaks, "They keep appearing like this. It's weird!", SAY_SAY, 5000}}) + table.insert(startAnim, {func = AnimSay, args = {leaks, loc("They keep appearing like this. It's weird!"), SAY_SAY, 5000}}) end - table.insert(startAnim, {func = AnimSay, args = {chief, "Did anyone follow you?", SAY_SAY, 3000}}) - table.insert(startAnim, {func = AnimSay, args = {leaks, "No, we made sure of that!", SAY_SAY, 3500}}) + table.insert(startAnim, {func = AnimSay, args = {chief, loc("Did anyone follow you?"), SAY_SAY, 3000}}) + table.insert(startAnim, {func = AnimSay, args = {leaks, loc("No, we made sure of that!"), SAY_SAY, 3500}}) table.insert(startAnim, {func = AnimCustomFunction, args = {leaks, SpawnHealthCrates, {1}}}) table.insert(startAnim, {func = AnimWait, args = {leaks, 1000}}) - table.insert(startAnim, {func = AnimSay, args = {chief, "First aid kits?!", SAY_SAY, 3000}}) - table.insert(startAnim, {func = AnimSay, args = {leaks, "I've seen this before. They just appear out of thin air.", SAY_SAY, 7000}}) + table.insert(startAnim, {func = AnimSay, args = {chief, loc("First aid kits?!"), SAY_SAY, 3000}}) + table.insert(startAnim, {func = AnimSay, args = {leaks, loc("I've seen this before. They just appear out of thin air."), SAY_SAY, 7000}}) table.insert(startAnim, {func = AnimMove, args = {water, "left", 3000, 0}}) table.insert(startAnim, {func = AnimJump, args = {water, "long"}}) table.insert(startAnim, {func = AnimMove, args = {water, "left", 2655, 0}}) @@ -141,19 +141,19 @@ table.insert(startAnim, {func = AnimJump, args = {water, "back"}}) table.insert(startAnim, {func = AnimTurn, args = {water, "Left"}}) table.insert(startAnim, {func = AnimMove, args = {water, "left", 2467, 754}}) - table.insert(startAnim, {func = AnimSay, args = {water, "Hey guys!", SAY_SAY, 2500}}) + table.insert(startAnim, {func = AnimSay, args = {water, loc("Hey guys!"), SAY_SAY, 2500}}) table.insert(startAnim, {func = AnimTurn, args = {chief, "Right"}}) - table.insert(startAnim, {func = AnimSay, args = {chief, "...", SAY_THINK, 1500}}) - table.insert(startAnim, {func = AnimSay, args = {chief, "Where have you been?", SAY_SAY, 4000}}) - table.insert(startAnim, {func = AnimSay, args = {water, "Just on a walk.", SAY_SAY, 3000}}) - table.insert(startAnim, {func = AnimSay, args = {chief, "You have chosen the perfect moment to leave.", SAY_SAY, 6000}}) + table.insert(startAnim, {func = AnimSay, args = {chief, loc("..."), SAY_THINK, 1500}}) + table.insert(startAnim, {func = AnimSay, args = {chief, loc("Where have you been?"), SAY_SAY, 4000}}) + table.insert(startAnim, {func = AnimSay, args = {water, loc("Just on a walk."), SAY_SAY, 3000}}) + table.insert(startAnim, {func = AnimSay, args = {chief, loc("You have chosen the perfect moment to leave."), SAY_SAY, 6000}}) table.insert(startAnim, {func = AnimCustomFunction, args = {chief, RestoreWave, {1}}}) for i = 1, 4 do table.insert(startAnim, {func = AnimOutOfNowhere, args = {cannibals[i], unpack(cannibalPos[i])}}) end table.insert(startAnim, {func = AnimWait, args = {chief, 1500}}) - table.insert(startAnim, {func = AnimSay, args = {leaks, "HOW DO THEY KNOW WHERE WE ARE???", SAY_SHOUT, 5000}}) - table.insert(startAnim, {func = AnimSay, args = {chief, "We have to protect the village!", SAY_SAY, 5000}}) + table.insert(startAnim, {func = AnimSay, args = {leaks, loc("HOW DO THEY KNOW WHERE WE ARE???"), SAY_SHOUT, 5000}}) + table.insert(startAnim, {func = AnimSay, args = {chief, loc("We have to protect the village!"), SAY_SAY, 5000}}) table.insert(startAnim, {func = AnimSwitchHog, args = {leaks}}) AddSkipFunction(startAnim, SkipStartAnim, {}) @@ -182,19 +182,19 @@ hogs[2] = chief end table.insert(finalAnim, {func = AnimCustomFunction, args = {hogs[1], CondNeedToTurn, {hogs[1], hogs[2]}}}) - table.insert(finalAnim, {func = AnimSay, args = {hogs[1], "We can't hold them up much longer!", SAY_SAY, 5000}}) - table.insert(finalAnim, {func = AnimSay, args = {hogs[1], "We need to move!", SAY_SAY, 3000}}) - table.insert(finalAnim, {func = AnimSay, args = {hogs[2], "But where can we go?", SAY_SAY, 3000}}) - table.insert(finalAnim, {func = AnimSay, args = {hogs[1], "To the caves...", SAY_SAY, 2500}}) - table.insert(finalAnim, {func = AnimSay, args = {hogs[2], "Good idea, they'll never find us there!", SAY_SAY, 5000}}) + table.insert(finalAnim, {func = AnimSay, args = {hogs[1], loc("We can't hold them up much longer!"), SAY_SAY, 5000}}) + table.insert(finalAnim, {func = AnimSay, args = {hogs[1], loc("We need to move!"), SAY_SAY, 3000}}) + table.insert(finalAnim, {func = AnimSay, args = {hogs[2], loc("But where can we go?"), SAY_SAY, 3000}}) + table.insert(finalAnim, {func = AnimSay, args = {hogs[1], loc("To the caves..."), SAY_SAY, 2500}}) + table.insert(finalAnim, {func = AnimSay, args = {hogs[2], loc("Good idea, they'll never find us there!"), SAY_SAY, 5000}}) else for i = 1, 5 do if nativesDead[i] ~= true then hogs[1] = natives[i] end end - table.insert(finalAnim, {func = AnimSay, args = {hogs[1], "I need to move the tribe!", SAY_THINK, 4000}}) - table.insert(finalAnim, {func = AnimSay, args = {hogs[1], "The caves are well hidden, they won't find us there!", SAY_THINK, 7000}}) + table.insert(finalAnim, {func = AnimSay, args = {hogs[1], loc("I need to move the tribe!"), SAY_THINK, 4000}}) + table.insert(finalAnim, {func = AnimSay, args = {hogs[1], loc("The caves are well hidden, they won't find us there!"), SAY_THINK, 7000}}) end end -----------------------------Misc-------------------------------------- @@ -243,27 +243,27 @@ end function AddHogs() - AddTeam("Natives", 2567585, "Bone", "Island", "HillBilly", "cm_birdy") - leaks = AddHog("Leaks A Lot", 0, 100, "Rambo") - dense = AddHog("Dense Cloud", 0, 100, "RobinHood") - water = AddHog("Fiery Water", 0, 100, "pirate_jack") - buffalo = AddHog("Raging Buffalo", 0, 100, "zoo_Bunny") - chief = AddHog("Righteous Beard", 0, 100, "IndianChief") + AddTeam(loc("Natives"), 29439, "Bone", "Island", "HillBilly", "cm_birdy") + leaks = AddHog(loc("Leaks A Lot"), 0, 100, "Rambo") + dense = AddHog(loc("Dense Cloud"), 0, 100, "RobinHood") + water = AddHog(loc("Fiery Water"), 0, 100, "pirate_jack") + buffalo = AddHog(loc("Raging Buffalo"), 0, 100, "zoo_Bunny") + chief = AddHog(loc("Righteous Beard"), 0, 100, "IndianChief") natives = {leaks, dense, water, buffalo, chief} nativesNum = 5 - AddTeam("Light Cannfantry", 14483456, "Skull", "Island", "Pirate", "cm_vampire") + AddTeam(loc("Light Cannfantry"), 14483456, "Skull", "Island", "Pirate", "cm_vampire") for i = 1, 4 do cannibals[i] = AddHog(HogNames[i], 3, 70, "Zombi") end - AddTeam("Heavy Cannfantry", 14483456, "Skull", "Island", "Pirate", "cm_vampire") + AddTeam(loc("Heavy Cannfantry"), 14483456, "Skull", "Island", "Pirate", "cm_vampire") for i = 5, 8 do cannibals[i] = AddHog(HogNames[i], 2, 100, "vampirichog") end - AddTeam("011101001", 14483456, "ring", "UFO", "Robot", "cm_star") - cyborg = AddHog("Unit 334a$7%;.*", 0, 200, "cyborg1") + AddTeam(loc("011101001"), 14483456, "ring", "UFO", "Robot", "cm_star") + cyborg = AddHog(loc("Unit 334a$7%;.*"), 0, 200, "cyborg1") SetGearPosition(leaks, unpack(leaksPos)) SetGearPosition(dense, unpack(densePos))