share/hedgewars/Data/Missions/Challenge/User_Mission_-_Rope_Knock_Challenge.lua
author Wuzzy <Wuzzy2@mail.ru>
Sat, 24 Feb 2018 14:59:35 +0100
changeset 13065 a297e06d1607
parent 12770 cf1377ab2f89
child 13067 64aba90811a2
permissions -rw-r--r--
Display score next to team bar in singleplayer challenges
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},
12770
cf1377ab2f89 Add sparkle's name to Rope Knock Challenge
Wuzzy <Wuzzy2@mail.ru>
parents: 12739
diff changeset
    54
					{"sparkle",		"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
    55
					{"szczur", 		"mp3",false},
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    56
					{"sdw195", 			"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    57
					{"sphrix", 			"TeamTopHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    58
					{"sheepluva",		"zoo_Sheep",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    59
					{"Smaxx", 			"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    60
					{"shadowzero", 		"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    61
					{"Star and Moon",	"SparkleSuperFun",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    62
					{"The 24",			"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    63
					{"TLD",				"NoHat",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    64
					{"Tiyuri", 			"sf_ryu",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    65
					{"unC0Rr", 			"cyborg1",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    66
					{"Waldsau", 		"cyborg1",false},
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    67
					{"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
    68
					{"Wuzzy",		"fr_orange",false},
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    69
					{"Xeli", 			"android",false}
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
13065
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12770
diff changeset
    73
local playerTeamName = loc("Wannabe Shoppsta")
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12770
diff changeset
    74
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    75
function GenericEnd()
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    76
	EndGame()
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    77
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    78
13065
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12770
diff changeset
    79
function GetKillScore()
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12770
diff changeset
    80
	return math.ceil((hogsKilled / 16)*6000)
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12770
diff changeset
    81
end
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12770
diff changeset
    82
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    83
function GameOverMan()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    84
	missionWon = false
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    85
	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
    86
	SendStat(siGameResult, loc("Challenge over!"))
13065
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12770
diff changeset
    87
	local score = GetKillScore()
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    88
	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
    89
	SendStat(siPointType, loc("points"))
13065
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12770
diff changeset
    90
	SendStat(siPlayerKills, tostring(score), playerTeamName)
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    91
	PlaySound(sndHellish)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    92
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    93
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    94
function GG()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    95
	missionWon = true
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    96
	local completeTime = (TurnTime - finishTime) / 1000
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    97
	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
    98
	PlaySound(sndHomerun)
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    99
	SendStat(siGameResult, loc("Challenge completed!"))
13065
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12770
diff changeset
   100
	local hogScore = GetKillScore()
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   101
	local timeScore = math.ceil((finishTime/TurnTime)*6000)
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   102
	local score = hogScore + timeScore
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   103
	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
   104
	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
   105
	SendStat(siPointType, loc("points"))
13065
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12770
diff changeset
   106
	SendStat(siPlayerKills, tostring(score), playerTeamName)
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12770
diff changeset
   107
	SetTeamLabel(playerTeamName, tostring(score))
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   108
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   109
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   110
function AssignCharacter(p)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   111
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   112
	done = false
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   113
	sanityCheck = 0
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   114
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   115
	while(done == false) do
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   116
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   117
		i = 1+ GetRandom(#HogData)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   118
		if HogData[i][3] == false then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   119
			HogData[i][3] = true
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   120
			done = true
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   121
			SetHogName(hhs[p], HogData[i][1])
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   122
			SetHogHat(hhs[p], HogData[i][2])
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   123
		elseif HogData[i][3] == true then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   124
			sanityCheck = sanityCheck +1
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   125
			if sanityCheck == 100 then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   126
				done = true
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   127
				SetHogName(hhs[p], "Newbie")
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   128
				SetHogHat(hhs[p], "NoHat")
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   129
			end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   130
		end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   131
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   132
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   133
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   134
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   135
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   136
function onGameInit()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   137
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   138
	--Seed = 1
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   139
	GameFlags = gfBorder + gfSolidLand
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   140
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   141
	TurnTime = 180 * 1000
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   142
	Delay = 500
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   143
	Map = "Ropes"
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   144
	Theme = "Eyes"
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   145
12224
d62d6f8ebef1 Disable Sudden Death consistently in all missions which don't require it
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   146
	-- Disable Sudden Death
d62d6f8ebef1 Disable Sudden Death consistently in all missions which don't require it
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   147
	WaterRise = 0
d62d6f8ebef1 Disable Sudden Death consistently in all missions which don't require it
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   148
	HealthDecrease = 0
d62d6f8ebef1 Disable Sudden Death consistently in all missions which don't require it
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   149
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   150
	CaseFreq = 0
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   151
	MinesNum = 0
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   152
	Explosives = 0
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   153
13065
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12770
diff changeset
   154
	AddTeam(playerTeamName, 0x11F12B, "money", "Island", "Default", "cm_shoppa")
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   155
	hhs[0] = AddHog(loc("Ace"), 0, 1, "Gasmask")
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   156
	SetGearPosition(player, 1380, 1500)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   157
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   158
	AddTeam(loc("Unsuspecting Louts"), 0xDD0000, "Simple", "Island", "Default", "cm_face")
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   159
	for i = 1, 8 do
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   160
		hhs[i] = AddHog("generic", 0, 1, "NoHat")
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   161
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   162
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   163
	AddTeam(loc("Unlucky Sods"), 0xDD0000, "Simple", "Island", "Default", "cm_balrog")
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   164
	for i = 9, 16 do
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   165
		hhs[i] = AddHog("generic", 0, 1, "NoHat")
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   166
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   167
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   168
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   169
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   170
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   171
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   172
function onGameStart()
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   173
	SendHealthStatsOff()
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   174
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   175
	ShowMission     (
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   176
                        loc("Rope-knocking Challenge"),
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   177
                        loc("Challenge"),
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   178
                        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
   179
                        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
   180
                        -amRope, 4000)
13065
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12770
diff changeset
   181
	SetTeamLabel(playerTeamName, "0")
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   182
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   183
	PlaceGirder(46,1783, 0)
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   184
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   185
	SetGearPosition(hhs[0], 2419, 1769)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   186
	SetGearPosition(hhs[1], 3350, 570)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   187
	SetGearPosition(hhs[2], 3039, 1300)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   188
	SetGearPosition(hhs[3], 2909, 430)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   189
	SetGearPosition(hhs[4], 2150, 879)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   190
	SetGearPosition(hhs[5], 1735, 1136)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   191
	SetGearPosition(hhs[6], 1563, 553)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   192
	SetGearPosition(hhs[7], 679, 859)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   193
	SetGearPosition(hhs[8], 1034, 251)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   194
	SetGearPosition(hhs[9], 255, 67)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   195
	SetGearPosition(hhs[10], 2671, 7)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   196
	SetGearPosition(hhs[11], 2929, 244)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   197
	SetGearPosition(hhs[12], 1946, 221)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   198
	SetGearPosition(hhs[13], 3849, 1067)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   199
	SetGearPosition(hhs[14], 3360, 659)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   200
	SetGearPosition(hhs[15], 3885, 285)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   201
	SetGearPosition(hhs[16], 935, 1160)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   202
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   203
	for i = 1, 16 do
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   204
		AssignCharacter(i)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   205
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   206
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   207
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   208
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   209
function onGameTick()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   210
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   211
	if (TurnTimeLeft == 1) and (missionWon == nil) then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   212
		GameOverMan()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   213
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   214
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   215
	if missionWon ~= nil then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   216
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   217
		endTimer = endTimer - 1
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   218
		if endTimer == 1 then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   219
			GenericEnd()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   220
		end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   221
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   222
		if missionWon == true then
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   223
			AddCaption(loc("Victory!"), 0xFFFFFFFF,capgrpGameState)
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   224
		else
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   225
			AddCaption(loc("Challenge over!"), 0xFFFFFFFF,capgrpGameState)
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   226
		end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   227
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   228
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   229
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   230
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   231
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   232
function onGearDamage(gear, damage)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   233
12739
2f873afda0e2 Rope Knock Challenge: Don't count hog kills after hero hurt itself
Wuzzy <Wuzzy2@mail.ru>
parents: 12738
diff changeset
   234
	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
   235
		ouchies = true
2f873afda0e2 Rope Knock Challenge: Don't count hog kills after hero hurt itself
Wuzzy <Wuzzy2@mail.ru>
parents: 12738
diff changeset
   236
	end
2f873afda0e2 Rope Knock Challenge: Don't count hog kills after hero hurt itself
Wuzzy <Wuzzy2@mail.ru>
parents: 12738
diff changeset
   237
2f873afda0e2 Rope Knock Challenge: Don't count hog kills after hero hurt itself
Wuzzy <Wuzzy2@mail.ru>
parents: 12738
diff changeset
   238
	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
   239
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   240
		AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   241
		DeleteGear(gear)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   242
		PlaySound(sndExplosion)
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   243
		AddCaption(string.format(knockTaunt(), GetHogName(gear)), 0xFFFFFFFF, capgrpMessage)
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   244
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   245
		hogsKilled = hogsKilled +1
13065
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12770
diff changeset
   246
		SetTeamLabel(playerTeamName, tostring(GetKillScore()))
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12770
diff changeset
   247
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   248
		if hogsKilled == 15 then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   249
			PlaySound(sndRideOfTheValkyries)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   250
		elseif hogsKilled == 16 then
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   251
			finishTime = TurnTimeLeft
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   252
			GG()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   253
		end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   254
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   255
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   256
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   257
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   258
11687
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   259
function knockTaunt()
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   260
	local r = math.random(0,23)
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   261
	local taunt
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   262
	if r == 0 then taunt =		loc("%s has been knocked out.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   263
	elseif r == 1 then taunt =	loc("%s hit the ground.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   264
	elseif r == 2 then taunt =	loc("%s splatted.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   265
	elseif r == 3 then taunt =	loc("%s was smashed.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   266
	elseif r == 4 then taunt =	loc("%s felt unstable.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   267
	elseif r == 5 then taunt =	loc("%s exploded.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   268
	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
   269
	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
   270
	elseif r == 8 then taunt =	loc("%s was knocked away.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   271
	elseif r == 9 then taunt =	loc("%s was really unlucky.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   272
	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
   273
	elseif r == 11 then taunt =	loc("%s had no chance.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   274
	elseif r == 12 then taunt =	loc("%s was a good target.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   275
	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
   276
	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
   277
	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
   278
	elseif r == 16 then taunt =	loc("%s hates Newton.")		-- Isaac Newton
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   279
	elseif r == 17 then taunt =	loc("%s had it coming.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   280
	elseif r == 18 then taunt =	loc("%s is eliminated!")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   281
	elseif r == 19 then taunt =	loc("%s fell too fast.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   282
	elseif r == 20 then taunt =	loc("%s flew like a rock.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   283
	elseif r == 21 then taunt =	loc("%s stumpled.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   284
	elseif r == 22 then taunt =	loc("%s was shoved away.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   285
	elseif r == 23 then taunt =	loc("%s didn't expect that.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   286
	end
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   287
	return taunt
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   288
end
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   289
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   290
function onGearDelete(gear)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   291
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   292
	if (gear == hhs[0]) and (missionWon == nil) then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   293
		GameOverMan()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   294
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   295
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   296
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   297
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   298
function onAmmoStoreInit()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   299
	SetAmmo(amRope, 9, 0, 0, 0)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   300
end
11689
c0ad9cf7db65 preselect weapons
sheepluva
parents: 11687
diff changeset
   301
c0ad9cf7db65 preselect weapons
sheepluva
parents: 11687
diff changeset
   302
function onNewTurn()
c0ad9cf7db65 preselect weapons
sheepluva
parents: 11687
diff changeset
   303
 	SetWeapon(amRope)
c0ad9cf7db65 preselect weapons
sheepluva
parents: 11687
diff changeset
   304
end