--- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/moon02.lua Wed Sep 11 21:25:50 2013 +0300
+++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/moon02.lua Thu Sep 12 03:11:30 2013 +0300
@@ -17,6 +17,7 @@
local startChallenge = false
-- dialogs
local dialog01 = {}
+local dialog02 = {}
-- mission objectives
local goals = {
[dialog01] = {missionName, loc("Challenge Objectives"), challengeObjectives, 1, 4500},
@@ -84,7 +85,6 @@
AddAmmo(hero.gear, amRope, 1)
AddAmmo(hero.gear, amSkip, 1)
- AddAmmo(hero.gear, amTeleport, 100)
SendHealthStatsOff()
hogTurn = runner.gear
@@ -92,7 +92,6 @@
end
function onNewTurn()
- WriteLnToConsole("NEW TURN "..CurrentHedgehog)
if startChallenge then
if CurrentHedgehog ~= hero.gear then
TurnTimeLeft = 0
@@ -140,7 +139,6 @@
function heroDeath(gear)
-- game over
- WriteLnToConsole("END GAME 1")
EndGame()
end
@@ -164,7 +162,22 @@
table.insert(dialog01, {func = AnimSay, args = {runner.gear, loc("We'll play a game first"), SAY_SAY, 3000}})
table.insert(dialog01, {func = AnimSay, args = {runner.gear, loc("I'll let you know whatever I know about him if you manage to catch me 3 times"), SAY_SAY, 4000}})
table.insert(dialog01, {func = AnimSay, args = {runner.gear, loc("Let's go!"), SAY_SAY, 2000}})
- table.insert(dialog01, {func = moveRunner, args = {}})
+ table.insert(dialog01, {func = moveRunner, args = {}})
+ -- DIALOG 02 - Hog Solo story
+ AddSkipFunction(dialog02, Skipanim, {dialog02})
+ table.insert(dialog02, {func = AnimWait, args = {hero.gear, 3200}})
+ table.insert(dialog02, {func = AnimCaption, args = {hero.gear, loc("The truth about Pr. Hogevil"), 5000}})
+ table.insert(dialog02, {func = AnimSay, args = {runner.gear, loc("Amazing! I was never beaten in running before!"), SAY_SAY, 4000}})
+ table.insert(dialog02, {func = AnimSay, args = {runner.gear, loc("So, let me tell you what I know about Pr. Hogevil..."), SAY_SAY, 4000}})
+ table.insert(dialog02, {func = AnimSay, args = {runner.gear, loc("Pr. Hogevil, then known as James Hogus, worked for PAotH back in my time"), SAY_SAY, 4000}})
+ table.insert(dialog02, {func = AnimSay, args = {runner.gear, loc("He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device"), SAY_SAY, 5000}})
+ table.insert(dialog02, {func = AnimSay, args = {runner.gear, loc("In one of the last tests during the construction of the device an accident happpened"), SAY_SAY, 5000}})
+ table.insert(dialog02, {func = AnimSay, args = {runner.gear, loc("In this accident Pr. Hogevil lost all his nails from his head!"), SAY_SAY, 5000}})
+ table.insert(dialog02, {func = AnimSay, args = {runner.gear, loc("That's why he always wears a hat since then"), SAY_SAY, 4000}})
+ table.insert(dialog02, {func = AnimSay, args = {runner.gear, loc("After that incident he got underground and start working his plan to steal the device"), SAY_SAY, 5000}})
+ table.insert(dialog02, {func = AnimSay, args = {runner.gear, loc("He is a very taugh and very determined hedgehog. I would be extremely careful if I were you"), SAY_SAY, 5000}})
+ table.insert(dialog02, {func = AnimSay, args = {runner.gear, loc("I should go now, goodbye!"), SAY_SAY, 3000}})
+ table.insert(dialog02, {func = win, args = {}})
end
------------- other functions ---------------
@@ -178,37 +191,35 @@
end
function moveRunner()
- if not startChallenge then
- startChallenge = true
+ if currentPosition > 3 then
+ if GetX(hero.gear) > GetX(runner.gear) then
+ HogTurnLeft(runner.gear, false)
+ end
+ TurnTimeLeft = 0
+ AddAnim(dialog02)
+ else
+ if not startChallenge then
+ startChallenge = true
+ end
+ AddAmmo(hero.gear, amRope, 1)
+ if currentPosition ~= 1 then
+ PlaySound(sndVictory)
+ if currentPosition > 1 and currentPosition < 4 then
+ AnimCaption(hero.gear, loc("Go get him again"), 3000)
+ AnimSay(runner.gear, loc("You got me"), SAY_SAY, 3000)
+ end
+ previousTimeLeft = TurnTimeLeft
+ end
+ currentPosition = currentPosition + 1
+ SetGearPosition(runner.gear, runner.places[currentPosition].x, runner.places[currentPosition].y)
+ TurnTimeLeft = 0
end
- AddAmmo(hero.gear, amRope, 1)
- -- add anim dialogs here
- if currentPosition ~= 1 then
- PlaySound(sndVictory)
- AnimSay(runner.gear, loc("You got me"), SAY_SAY, 3000)
- previousTimeLeft = TurnTimeLeft
- end
- currentPosition = currentPosition + 1
- SetGearPosition(runner.gear, runner.places[currentPosition].x, runner.places[currentPosition].y)
- WriteLnToConsole("HERE 1")
- WriteLnToConsole("HERE A")
- TurnTimeLeft = 0
- WriteLnToConsole("HERE 2")
end
function lose()
- -- game over
- WriteLnToConsole("ROPE "..GetAmmoCount(hero.gear, amRope))
- WriteLnToConsole("PREVIOUS TIME "..previousTimeLeft)
- WriteLnToConsole("HOG "..CurrentHedgehog)
- WriteLnToConsole("TurnTimeLeft "..TurnTimeLeft)
- WriteLnToConsole("END GAME 2")
EndGame()
end
-function heroOutOfRope()
- if GetAmmoCount(hero.gear, amRope) == 0 then
- return true
- end
- return false
+function win()
+ EndGame()
end