share/hedgewars/Data/Missions/Challenge/User_Mission_-_Rope_Knock_Challenge.lua
author Wuzzy <Wuzzy2@mail.ru>
Wed, 14 Mar 2018 00:20:47 +0100
changeset 13195 f9c787f58459
parent 13098 403dbadfc8fb
child 13359 f9a15dcd857c
permissions -rw-r--r--
Update German Lua translation
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
11692
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
     7
local finishTime
12744
2f873afda0e2 Rope Knock Challenge: Don't count hog kills after hero hurt itself
Wuzzy <Wuzzy2@mail.ru>
parents: 12743
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 =	{
12743
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12591
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: 12591
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: 12591
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},
12743
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12591
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: 12591
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: 12591
diff changeset
    25
					{"Displacer",		"fr_lemon",false},
13098
403dbadfc8fb Rope Knock Challenge: Remove trailing space of name "doomy "
Wuzzy <Wuzzy2@mail.ru>
parents: 13072
diff changeset
    26
					{"doomy", 			"NoHat",false},
7889
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},
12743
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12591
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},
12743
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12591
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},
12743
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12591
diff changeset
    53
					{"Solar",		"pinksunhat",false},
12775
cf1377ab2f89 Add sparkle's name to Rope Knock Challenge
Wuzzy <Wuzzy2@mail.ru>
parents: 12744
diff changeset
    54
					{"sparkle",		"NoHat",false},
12743
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12591
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},
12743
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12591
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
13070
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12775
diff changeset
    73
local playerTeamName = loc("Wannabe Shoppsta")
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12775
diff changeset
    74
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
    75
function GenericEnd()
11692
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
13070
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12775
diff changeset
    79
function GetKillScore()
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12775
diff changeset
    80
	return math.ceil((hogsKilled / 16)*6000)
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12775
diff changeset
    81
end
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12775
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
11692
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!"))
13070
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12775
diff changeset
    87
	local score = GetKillScore()
11692
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))
12743
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12591
diff changeset
    89
	SendStat(siPointType, loc("points"))
13070
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12775
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
11692
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)
11692
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
    99
	SendStat(siGameResult, loc("Challenge completed!"))
13070
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12775
diff changeset
   100
	local hogScore = GetKillScore()
11692
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))
12743
49c45424a333 Rope knock challenge: Add names of developers and Shoppa tournament players who ranked 1st/2nd/3rd
Wuzzy <Wuzzy2@mail.ru>
parents: 12591
diff changeset
   105
	SendStat(siPointType, loc("points"))
13070
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12775
diff changeset
   106
	SendStat(siPlayerKills, tostring(score), playerTeamName)
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12775
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
12229
d62d6f8ebef1 Disable Sudden Death consistently in all missions which don't require it
Wuzzy <almikes@aol.com>
parents: 11973
diff changeset
   146
	-- Disable Sudden Death
d62d6f8ebef1 Disable Sudden Death consistently in all missions which don't require it
Wuzzy <almikes@aol.com>
parents: 11973
diff changeset
   147
	WaterRise = 0
d62d6f8ebef1 Disable Sudden Death consistently in all missions which don't require it
Wuzzy <almikes@aol.com>
parents: 11973
diff changeset
   148
	HealthDecrease = 0
d62d6f8ebef1 Disable Sudden Death consistently in all missions which don't require it
Wuzzy <almikes@aol.com>
parents: 11973
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
13072
64aba90811a2 Change team colors in rope knock challenge to standard color scheme
Wuzzy <Wuzzy2@mail.ru>
parents: 13070
diff changeset
   154
	AddTeam(playerTeamName, 0xFF0204, "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
13072
64aba90811a2 Change team colors in rope knock challenge to standard color scheme
Wuzzy <Wuzzy2@mail.ru>
parents: 13070
diff changeset
   158
	AddTeam(loc("Unsuspecting Louts"), 0x4980C1, "Simple", "Island", "Default", "cm_face")
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   159
	for i = 1, 8 do
13072
64aba90811a2 Change team colors in rope knock challenge to standard color scheme
Wuzzy <Wuzzy2@mail.ru>
parents: 13070
diff changeset
   160
		-- The name "generic" is a placeholder and will be replaced in AssignCharacter
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   161
		hhs[i] = AddHog("generic", 0, 1, "NoHat")
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   162
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   163
13072
64aba90811a2 Change team colors in rope knock challenge to standard color scheme
Wuzzy <Wuzzy2@mail.ru>
parents: 13070
diff changeset
   164
	AddTeam(loc("Unlucky Sods"), 0x4980C1, "Simple", "Island", "Default", "cm_balrog")
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   165
	for i = 9, 16 do
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   166
		hhs[i] = AddHog("generic", 0, 1, "NoHat")
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   167
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   168
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   169
end
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
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   173
function onGameStart()
11692
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   174
	SendHealthStatsOff()
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   175
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   176
	ShowMission     (
11692
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   177
                        loc("Rope-knocking Challenge"),
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   178
                        loc("Challenge"),
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   179
                        loc("Use the rope to knock your enemies to their doom.") .. "|" ..
11692
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   180
                        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
   181
                        -amRope, 4000)
13070
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12775
diff changeset
   182
	SetTeamLabel(playerTeamName, "0")
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   183
11692
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   184
	PlaceGirder(46,1783, 0)
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   185
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   186
	SetGearPosition(hhs[0], 2419, 1769)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   187
	SetGearPosition(hhs[1], 3350, 570)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   188
	SetGearPosition(hhs[2], 3039, 1300)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   189
	SetGearPosition(hhs[3], 2909, 430)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   190
	SetGearPosition(hhs[4], 2150, 879)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   191
	SetGearPosition(hhs[5], 1735, 1136)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   192
	SetGearPosition(hhs[6], 1563, 553)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   193
	SetGearPosition(hhs[7], 679, 859)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   194
	SetGearPosition(hhs[8], 1034, 251)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   195
	SetGearPosition(hhs[9], 255, 67)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   196
	SetGearPosition(hhs[10], 2671, 7)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   197
	SetGearPosition(hhs[11], 2929, 244)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   198
	SetGearPosition(hhs[12], 1946, 221)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   199
	SetGearPosition(hhs[13], 3849, 1067)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   200
	SetGearPosition(hhs[14], 3360, 659)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   201
	SetGearPosition(hhs[15], 3885, 285)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   202
	SetGearPosition(hhs[16], 935, 1160)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   203
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   204
	for i = 1, 16 do
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   205
		AssignCharacter(i)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   206
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   207
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   208
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   209
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   210
function onGameTick()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   211
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   212
	if (TurnTimeLeft == 1) and (missionWon == nil) then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   213
		GameOverMan()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   214
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   215
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   216
	if missionWon ~= nil then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   217
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   218
		endTimer = endTimer - 1
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   219
		if endTimer == 1 then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   220
			GenericEnd()
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
		if missionWon == true then
11692
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   224
			AddCaption(loc("Victory!"), 0xFFFFFFFF,capgrpGameState)
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   225
		else
11692
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   226
			AddCaption(loc("Challenge over!"), 0xFFFFFFFF,capgrpGameState)
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   227
		end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   228
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   229
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   230
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   231
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   232
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   233
function onGearDamage(gear, damage)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   234
12744
2f873afda0e2 Rope Knock Challenge: Don't count hog kills after hero hurt itself
Wuzzy <Wuzzy2@mail.ru>
parents: 12743
diff changeset
   235
	if gear == hhs[0] then
2f873afda0e2 Rope Knock Challenge: Don't count hog kills after hero hurt itself
Wuzzy <Wuzzy2@mail.ru>
parents: 12743
diff changeset
   236
		ouchies = true
2f873afda0e2 Rope Knock Challenge: Don't count hog kills after hero hurt itself
Wuzzy <Wuzzy2@mail.ru>
parents: 12743
diff changeset
   237
	end
2f873afda0e2 Rope Knock Challenge: Don't count hog kills after hero hurt itself
Wuzzy <Wuzzy2@mail.ru>
parents: 12743
diff changeset
   238
2f873afda0e2 Rope Knock Challenge: Don't count hog kills after hero hurt itself
Wuzzy <Wuzzy2@mail.ru>
parents: 12743
diff changeset
   239
	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
   240
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   241
		AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   242
		DeleteGear(gear)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   243
		PlaySound(sndExplosion)
11692
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   244
		AddCaption(string.format(knockTaunt(), GetHogName(gear)), 0xFFFFFFFF, capgrpMessage)
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   245
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   246
		hogsKilled = hogsKilled +1
13070
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12775
diff changeset
   247
		SetTeamLabel(playerTeamName, tostring(GetKillScore()))
a297e06d1607 Display score next to team bar in singleplayer challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 12775
diff changeset
   248
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   249
		if hogsKilled == 15 then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   250
			PlaySound(sndRideOfTheValkyries)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   251
		elseif hogsKilled == 16 then
11692
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   252
			finishTime = TurnTimeLeft
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   253
			GG()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   254
		end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   255
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   256
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   257
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   258
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   259
11692
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   260
function knockTaunt()
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   261
	local r = math.random(0,23)
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   262
	local taunt
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   263
	if r == 0 then taunt =		loc("%s has been knocked out.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   264
	elseif r == 1 then taunt =	loc("%s hit the ground.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   265
	elseif r == 2 then taunt =	loc("%s splatted.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   266
	elseif r == 3 then taunt =	loc("%s was smashed.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   267
	elseif r == 4 then taunt =	loc("%s felt unstable.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   268
	elseif r == 5 then taunt =	loc("%s exploded.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   269
	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
   270
	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
   271
	elseif r == 8 then taunt =	loc("%s was knocked away.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   272
	elseif r == 9 then taunt =	loc("%s was really unlucky.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   273
	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
   274
	elseif r == 11 then taunt =	loc("%s had no chance.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   275
	elseif r == 12 then taunt =	loc("%s was a good target.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   276
	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
   277
	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
   278
	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
   279
	elseif r == 16 then taunt =	loc("%s hates Newton.")		-- Isaac Newton
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   280
	elseif r == 17 then taunt =	loc("%s had it coming.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   281
	elseif r == 18 then taunt =	loc("%s is eliminated!")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   282
	elseif r == 19 then taunt =	loc("%s fell too fast.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   283
	elseif r == 20 then taunt =	loc("%s flew like a rock.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   284
	elseif r == 21 then taunt =	loc("%s stumpled.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   285
	elseif r == 22 then taunt =	loc("%s was shoved away.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   286
	elseif r == 23 then taunt =	loc("%s didn't expect that.")
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   287
	end
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   288
	return taunt
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   289
end
594016813e06 Update Rope-Knocking Challenge
Wuzzy <almikes@aol.com>
parents: 10290
diff changeset
   290
7889
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   291
function onGearDelete(gear)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   292
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   293
	if (gear == hhs[0]) and (missionWon == nil) then
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   294
		GameOverMan()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   295
	end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   296
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   297
end
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   298
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   299
function onAmmoStoreInit()
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   300
	SetAmmo(amRope, 9, 0, 0, 0)
57b117d441b9 consistent line endings
nemo
parents: 7095
diff changeset
   301
end
11694
c0ad9cf7db65 preselect weapons
sheepluva
parents: 11692
diff changeset
   302
c0ad9cf7db65 preselect weapons
sheepluva
parents: 11692
diff changeset
   303
function onNewTurn()
c0ad9cf7db65 preselect weapons
sheepluva
parents: 11692
diff changeset
   304
 	SetWeapon(amRope)
c0ad9cf7db65 preselect weapons
sheepluva
parents: 11692
diff changeset
   305
end