share/hedgewars/Data/Missions/Challenge/User_Mission_-_Rope_Knock_Challenge.lua
author Wuzzy <Wuzzy2@mail.ru>
Mon, 23 Oct 2017 03:01:10 +0200
changeset 12739 2f873afda0e2
parent 12738 49c45424a333
child 12770 cf1377ab2f89
permissions -rw-r--r--
Rope Knock Challenge: Don't count hog kills after hero hurt itself
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8043
da083f8d95e6 We need custom script loading function in lua now
unc0rr
parents: 7889
diff changeset
     1
HedgewarsScriptLoad("/Scripts/Locale.lua")
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
     2
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
     3
local hhs = {}
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
     4
local missionWon = nil
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
     5
local endTimer = 1000
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
     6
local hogsKilled = 0
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
     7
local finishTime
12739
2f873afda0e2 Rope Knock Challenge: Don't count hog kills after hero hurt itself
Wuzzy <Wuzzy2@mail.ru>
parents: 12738
diff changeset
     8
local ouchies = false
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
     9
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    10
local HogData =	{
12738
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    11
					{"amn",			"NinjaFull",false},
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    12
					{"alfadur",		"NoHat",false},
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    13
					{"Anachron",		"war_americanww2helmet",false},
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    14
					{"Bufon", 			"ShaggyYeti",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    15
					{"burp", 			"lambda",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    16
					{"Blue", 			"cap_blue",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    17
					{"bender", 			"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    18
					{"Castell",			"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    19
					{"cekoto", 			"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    20
					{"CheezeMonkey",	"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    21
					{"claymore", 		"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    22
					{"CIA-144", 		"cyborg1",false},
12738
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    23
					{"cri.the.grinch",	"sf_blanka",false},
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    24
					{"eldiablo",		"Evil",false},
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    25
					{"Displacer",		"fr_lemon",false},
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    26
					{"doomy ", 			"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    27
					{"Falkenauge", 		"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    28
					{"FadeOne", 		"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    29
					{"hayaa", 			"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    30
					{"Hermes", 			"laurel",false},
12738
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    31
					{"Henek", 		"WizardHat",false},
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    32
					{"HedgeKing",		"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    33
					{"Izack1535", 		"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    34
					{"Kiofspa", 		"NoHat",false},
12738
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    35
					{"KoBeWi",		"NoHat",false},
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    36
					{"Komplex", 		"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    37
					{"koda", 			"poke_mudkip",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    38
					{"Lalo", 			"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    39
					{"Logan", 			"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    40
					{"lollkiller", 		"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    41
					{"Luelle", 			"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    42
					{"mikade", 			"Skull",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    43
					{"Mushi", 			"sm_daisy",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    44
					{"Naboo", 			"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    45
					{"nemo", 			"bb_bub",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    46
					{"practice", 		"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    47
					{"Prof. Panic",  	"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    48
					{"Randy",			"zoo_Sheep",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    49
					{"rhino", 			"NinjaTriangle",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    50
					{"Radissthor",  	"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    51
					{"Sami",			"sm_peach",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    52
					{"soreau", 			"NoHat",false},
12738
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    53
					{"Solar",		"pinksunhat",false},
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    54
					{"szczur", 		"mp3",false},
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    55
					{"sdw195", 			"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    56
					{"sphrix", 			"TeamTopHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    57
					{"sheepluva",		"zoo_Sheep",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    58
					{"Smaxx", 			"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    59
					{"shadowzero", 		"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    60
					{"Star and Moon",	"SparkleSuperFun",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    61
					{"The 24",			"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    62
					{"TLD",				"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    63
					{"Tiyuri", 			"sf_ryu",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    64
					{"unC0Rr", 			"cyborg1",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    65
					{"Waldsau", 		"cyborg1",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    66
					{"wolfmarc", 		"knight",false},
12738
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    67
					{"Wuzzy",		"fr_orange",false},
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    68
					{"Xeli", 			"android",false}
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    69
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    70
				}
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    71
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    72
function GenericEnd()
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    73
	EndGame()
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    74
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    75
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    76
function GameOverMan()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    77
	missionWon = false
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    78
	ShowMission(loc("Rope-knocking Challenge"), loc("Challenge over!"), loc("Oh no! Just try again!"), -amSkip, 0)
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    79
	SendStat(siGameResult, loc("Challenge over!"))
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    80
	local score = math.ceil((hogsKilled / 16)*6000)
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    81
	SendStat(siCustomAchievement, string.format(loc("You have killed %d of 16 hedgehogs (+%d points)."), hogsKilled, score))
12738
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    82
	SendStat(siPointType, loc("points"))
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    83
	SendStat(siPlayerKills, tostring(score), loc("Wannabe Shoppsta"))
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    84
	PlaySound(sndHellish)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    85
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    86
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    87
function GG()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    88
	missionWon = true
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    89
	local completeTime = (TurnTime - finishTime) / 1000
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    90
	ShowMission(loc("Rope-knocking Challenge"), loc("Challenge completed!"), loc("Congratulations!") .. "|" .. string.format(loc("Completion time: %.2fs"), completeTime), 0, 0)
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    91
	PlaySound(sndHomerun)
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    92
	SendStat(siGameResult, loc("Challenge completed!"))
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    93
	local hogScore = math.ceil((hogsKilled / 16)*6000)
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    94
	local timeScore = math.ceil((finishTime/TurnTime)*6000)
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    95
	local score = hogScore + timeScore
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    96
	SendStat(siCustomAchievement, string.format(loc("You have killed %d of 16 hedgehogs (+%d points)."), hogsKilled, hogScore))
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    97
	SendStat(siCustomAchievement, string.format(loc("You have completed this challenge in %.2f s (+%d points)."), completeTime, timeScore))
12738
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12586
diff changeset
    98
	SendStat(siPointType, loc("points"))
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    99
	SendStat(siPlayerKills, tostring(score), loc("Wannabe Shoppsta"))
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   100
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   101
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   102
function AssignCharacter(p)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   103
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   104
	done = false
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   105
	sanityCheck = 0
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   106
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   107
	while(done == false) do
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   108
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   109
		i = 1+ GetRandom(#HogData)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   110
		if HogData[i][3] == false then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   111
			HogData[i][3] = true
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   112
			done = true
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   113
			SetHogName(hhs[p], HogData[i][1])
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   114
			SetHogHat(hhs[p], HogData[i][2])
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   115
		elseif HogData[i][3] == true then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   116
			sanityCheck = sanityCheck +1
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   117
			if sanityCheck == 100 then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   118
				done = true
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   119
				SetHogName(hhs[p], "Newbie")
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   120
				SetHogHat(hhs[p], "NoHat")
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   121
			end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   122
		end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   123
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   124
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   125
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   126
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   127
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   128
function onGameInit()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   129
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   130
	--Seed = 1
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   131
	GameFlags = gfBorder + gfSolidLand
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   132
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   133
	TurnTime = 180 * 1000
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   134
	Delay = 500
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   135
	Map = "Ropes"
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   136
	Theme = "Eyes"
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   137
12224
d62d6f8ebef1 Disable Sudden Death consistently in all missions which don't require it
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   138
	-- Disable Sudden Death
d62d6f8ebef1 Disable Sudden Death consistently in all missions which don't require it
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   139
	WaterRise = 0
d62d6f8ebef1 Disable Sudden Death consistently in all missions which don't require it
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   140
	HealthDecrease = 0
d62d6f8ebef1 Disable Sudden Death consistently in all missions which don't require it
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   141
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   142
	CaseFreq = 0
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   143
	MinesNum = 0
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   144
	Explosives = 0
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   145
12586
7510fe66bfbb Change graves of teams in missions for greater variety
Wuzzy <almikes@aol.com>
parents: 12224
diff changeset
   146
	AddTeam(loc("Wannabe Shoppsta"), 0x11F12B, "money", "Island", "Default", "cm_shoppa")
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   147
	hhs[0] = AddHog(loc("Ace"), 0, 1, "Gasmask")
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   148
	SetGearPosition(player, 1380, 1500)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   149
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   150
	AddTeam(loc("Unsuspecting Louts"), 0xDD0000, "Simple", "Island", "Default", "cm_face")
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   151
	for i = 1, 8 do
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   152
		hhs[i] = AddHog("generic", 0, 1, "NoHat")
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   153
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   154
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   155
	AddTeam(loc("Unlucky Sods"), 0xDD0000, "Simple", "Island", "Default", "cm_balrog")
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   156
	for i = 9, 16 do
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   157
		hhs[i] = AddHog("generic", 0, 1, "NoHat")
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   158
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   159
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   160
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   161
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   162
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   163
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   164
function onGameStart()
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   165
	SendHealthStatsOff()
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   166
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   167
	ShowMission     (
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   168
                        loc("Rope-knocking Challenge"),
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   169
                        loc("Challenge"),
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   170
                        loc("Use the rope to knock your enemies to their doom.") .. "|" ..
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   171
                        loc("Finish this challenge as fast as possible to earn bonus points."),
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   172
                        -amRope, 4000)
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   173
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   174
	PlaceGirder(46,1783, 0)
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   175
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   176
	SetGearPosition(hhs[0], 2419, 1769)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   177
	SetGearPosition(hhs[1], 3350, 570)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   178
	SetGearPosition(hhs[2], 3039, 1300)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   179
	SetGearPosition(hhs[3], 2909, 430)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   180
	SetGearPosition(hhs[4], 2150, 879)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   181
	SetGearPosition(hhs[5], 1735, 1136)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   182
	SetGearPosition(hhs[6], 1563, 553)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   183
	SetGearPosition(hhs[7], 679, 859)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   184
	SetGearPosition(hhs[8], 1034, 251)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   185
	SetGearPosition(hhs[9], 255, 67)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   186
	SetGearPosition(hhs[10], 2671, 7)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   187
	SetGearPosition(hhs[11], 2929, 244)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   188
	SetGearPosition(hhs[12], 1946, 221)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   189
	SetGearPosition(hhs[13], 3849, 1067)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   190
	SetGearPosition(hhs[14], 3360, 659)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   191
	SetGearPosition(hhs[15], 3885, 285)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   192
	SetGearPosition(hhs[16], 935, 1160)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   193
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   194
	for i = 1, 16 do
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   195
		AssignCharacter(i)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   196
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   197
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   198
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   199
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   200
function onGameTick()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   201
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   202
	if (TurnTimeLeft == 1) and (missionWon == nil) then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   203
		GameOverMan()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   204
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   205
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   206
	if missionWon ~= nil then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   207
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   208
		endTimer = endTimer - 1
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   209
		if endTimer == 1 then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   210
			GenericEnd()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   211
		end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   212
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   213
		if missionWon == true then
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   214
			AddCaption(loc("Victory!"), 0xFFFFFFFF,capgrpGameState)
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   215
		else
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   216
			AddCaption(loc("Challenge over!"), 0xFFFFFFFF,capgrpGameState)
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   217
		end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   218
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   219
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   220
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   221
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   222
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   223
function onGearDamage(gear, damage)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   224
12739
2f873afda0e2 Rope Knock Challenge: Don't count hog kills after hero hurt itself
Wuzzy <Wuzzy2@mail.ru>
parents: 12738
diff changeset
   225
	if gear == hhs[0] then
2f873afda0e2 Rope Knock Challenge: Don't count hog kills after hero hurt itself
Wuzzy <Wuzzy2@mail.ru>
parents: 12738
diff changeset
   226
		ouchies = true
2f873afda0e2 Rope Knock Challenge: Don't count hog kills after hero hurt itself
Wuzzy <Wuzzy2@mail.ru>
parents: 12738
diff changeset
   227
	end
2f873afda0e2 Rope Knock Challenge: Don't count hog kills after hero hurt itself
Wuzzy <Wuzzy2@mail.ru>
parents: 12738
diff changeset
   228
2f873afda0e2 Rope Knock Challenge: Don't count hog kills after hero hurt itself
Wuzzy <Wuzzy2@mail.ru>
parents: 12738
diff changeset
   229
	if gear ~= hhs[0] and GetGearType(gear) == gtHedgehog and missionWon == nil and ouchies == false then
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   230
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   231
		AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   232
		DeleteGear(gear)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   233
		PlaySound(sndExplosion)
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   234
		AddCaption(string.format(knockTaunt(), GetHogName(gear)), 0xFFFFFFFF, capgrpMessage)
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   235
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   236
		hogsKilled = hogsKilled +1
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   237
		if hogsKilled == 15 then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   238
			PlaySound(sndRideOfTheValkyries)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   239
		elseif hogsKilled == 16 then
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   240
			finishTime = TurnTimeLeft
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   241
			GG()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   242
		end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   243
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   244
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   245
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   246
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   247
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   248
function knockTaunt()
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   249
	local r = math.random(0,23)
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   250
	local taunt
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   251
	if r == 0 then taunt =		loc("%s has been knocked out.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   252
	elseif r == 1 then taunt =	loc("%s hit the ground.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   253
	elseif r == 2 then taunt =	loc("%s splatted.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   254
	elseif r == 3 then taunt =	loc("%s was smashed.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   255
	elseif r == 4 then taunt =	loc("%s felt unstable.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   256
	elseif r == 5 then taunt =	loc("%s exploded.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   257
	elseif r == 6 then taunt =	loc("%s fell from a high cliff.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   258
	elseif r == 7 then taunt =	loc("%s goes the way of the lemming.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   259
	elseif r == 8 then taunt =	loc("%s was knocked away.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   260
	elseif r == 9 then taunt =	loc("%s was really unlucky.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   261
	elseif r == 10 then taunt =	loc("%s felt victim to rope-knocking.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   262
	elseif r == 11 then taunt =	loc("%s had no chance.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   263
	elseif r == 12 then taunt =	loc("%s was a good target.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   264
	elseif r == 13 then taunt =	loc("%s spawned at a really bad position.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   265
	elseif r == 14 then taunt =	loc("%s was doomed from the beginning.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   266
	elseif r == 15 then taunt =	loc("%s has fallen victim to gravity.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   267
	elseif r == 16 then taunt =	loc("%s hates Newton.")		-- Isaac Newton
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   268
	elseif r == 17 then taunt =	loc("%s had it coming.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   269
	elseif r == 18 then taunt =	loc("%s is eliminated!")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   270
	elseif r == 19 then taunt =	loc("%s fell too fast.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   271
	elseif r == 20 then taunt =	loc("%s flew like a rock.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   272
	elseif r == 21 then taunt =	loc("%s stumpled.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   273
	elseif r == 22 then taunt =	loc("%s was shoved away.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   274
	elseif r == 23 then taunt =	loc("%s didn't expect that.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   275
	end
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   276
	return taunt
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   277
end
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   278
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   279
function onGearDelete(gear)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   280
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   281
	if (gear == hhs[0]) and (missionWon == nil) then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   282
		GameOverMan()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   283
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   284
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   285
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   286
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   287
function onAmmoStoreInit()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   288
	SetAmmo(amRope, 9, 0, 0, 0)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   289
end
11689
c0ad9cf7db65 preselect weapons
sheepluva
parents: 11687
diff changeset
   290
c0ad9cf7db65 preselect weapons
sheepluva
parents: 11687
diff changeset
   291
function onNewTurn()
c0ad9cf7db65 preselect weapons
sheepluva
parents: 11687
diff changeset
   292
 	SetWeapon(amRope)
c0ad9cf7db65 preselect weapons
sheepluva
parents: 11687
diff changeset
   293
end