share/hedgewars/Data/Missions/Training/Basic_Training_-_Rope.lua
author Wuzzy <Wuzzy2@mail.ru>
Wed, 19 Dec 2018 20:34:07 +0100
changeset 14484 4e5280a9e782
parent 14469 ead8928a59f8
child 14485 208359558642
permissions -rw-r--r--
Lua: AddTeam / AddMissionTeam now return team index
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
     1
--[[
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
     2
	Basic Rope Training
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
     3
	Teaches the player how to rope! No advanced tricks, just the basics. But fun! (I hope)
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
     4
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
     5
	Lesson plan:
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
     6
	- Select rope
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
     7
	- Shoot rope, attach, detach
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
     8
	- Extend, retract, swing to reach easy target
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
     9
	- Multiple shots / rope re-use to go over water hazard
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    10
	- Drop grenade from rope
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    11
	- Special rules when you only got 1 rope (i.e. when the rope is officially used up)
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
    12
	- Rope around obstacles
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    13
]]
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    14
8043
da083f8d95e6 We need custom script loading function in lua now
unc0rr
parents: 7838
diff changeset
    15
HedgewarsScriptLoad("/Scripts/Locale.lua")
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    16
HedgewarsScriptLoad("/Scripts/Utils.lua")
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    17
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    18
-- Map definition automatically converted from HWMAP file by hwmap2lua.sh
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    19
local map =
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    20
{'\2\30\7\126\135\2\28\5\52\0\1\211\6\203\135\3\207\6\189\0\3\1\5\205\135\4\120\5\203\0\2\30\5\31\135\2\35\4\173\0\1\170\4\216\135\4\150\4\248\0\3\230\4\138\135\4\54\6\22\0\3\205\6\189\135\4\154\7\91\0\4\154\7\91\135\6\57\7\41\0\4\79\6\38\135\4\221\6\112\0\4\221\6\112\135\6\27\6\70\0\3\175\6\196\135\4\51\5\235\0\3\17\6\178\135\3\161\5\226\0\4\33\7\4\135\4\191\6\93\0\4\200\7\75\135\5\45\6\137\0\6\29\6\66\135\6\98\5\123\0\6\107\7\32\135\6\237\5\249\0\6\102\5\95\135\7\169\5\6\0\7\0\5\237\135\7\235\6\20\0\7\233\6\13\135\7\226\8\43\0\13\66\6\47\135\13\100\8\57\0\7\167\5\15\135\7\164\4\51\0\7\71\4\109\135\13\235\4\132\0\13\4\6\75\135\14\242\6\57\0\14\169\6\166\135\15\183\4\86\0',
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    21
'\15\208\5\13\135\15\96\2\248\0\15\206\3\104\135\13\175\2\88\0\14\171\5\17\140\14\219\4\77\138\14\166\3\136\136\13\219\3\31\136\13\184\4\228\136\13\173\3\250\0\14\2\4\19\136\7\36\3\211\0\14\52\2\85\137\7\57\2\76\0\12\196\2\245\137\11\195\3\127\137\10\174\2\223\137\9\174\3\113\137\8\160\2\211\137\8\11\3\111\137\6\249\3\218\131\6\66\3\209\0\5\88\3\202\131\4\38\3\193\0\5\33\3\207\131\5\31\5\31\0\4\235\4\228\131\6\125\4\251\0\6\98\3\214\131\6\80\5\1\0\7\41\2\104\136\3\253\2\72\0\4\31\3\207\133\1\149\3\166\0\2\243\4\15\133\1\117\2\202\0\1\149\3\60\133\1\211\1\87\0\1\138\1\138\133\3\42\0\71\0\2\131\0\96\133\4\168\0\149\0\5\116\1\124\141\7\41\0\204\141\8\252\2\42\141\10\39\0\135\141\11\40\1\124\141\10\17\1\186\141',
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    22
'\12\104\0\151\141\4\29\0\156\137\14\160\0\69\0\13\182\1\133\137\13\171\2\78\0\13\201\0\78\137\13\189\0\197\0\13\194\1\195\137\15\148\2\147\0\14\189\0\59\137\15\222\0\217\0\15\226\0\215\137\15\164\2\145\0\13\217\1\211\137\15\167\1\220\0\14\208\2\37\164\8\89\1\92\139\6\146\1\211\139\8\174\2\39\203\10\19\2\7\203\11\56\1\167\203\12\106\0\217\203\7\36\1\12\203\5\182\1\163\203\6\141\1\165\203\8\71\1\135\203\8\151\3\19\203\8\7\3\70\203\9\227\3\118\203\13\66\3\113\133\13\54\4\104\0\11\200\3\26\133\11\191\4\84\0\9\160\2\255\133\9\160\4\84\0\8\16\3\163\133\8\18\4\109\0\9\108\3\53\197\10\19\3\70\0\14\25\5\228\132\14\43\4\253\130\13\237\3\241\210\13\217\3\225\210\13\95\4\74\140\7\137\4\40\0\2\209\6\75\207\3\255\6\102\0\4\1\6\107\207',
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    23
'\4\182\6\228\0\4\182\6\226\207\6\36\6\189\0\6\36\6\201\207\6\166\5\191\0\4\138\4\100\158\1\183\4\68\0\4\145\5\8\158\4\203\5\201\0\5\141\5\198\158\5\180\5\139\0\7\116\4\230\142\5\49\5\52\0\6\185\4\47\148\6\182\4\186\0\7\64\4\88\153\4\216\4\10\143\13\255\2\42\146\15\100\2\216\0\4\1\6\20\199\2\142\6\29\0\3\255\6\22\199\5\22\6\224\0\7\231\5\198\133\7\235\6\31\0\13\70\6\68\133\13\54\5\237\0\14\36\4\253\197\4\90\2\223\133\4\239\3\97\0\2\181\2\252\133\3\95\2\156\0\2\216\1\90\133\3\113\1\218\0\4\200\1\32\133\4\122\1\167\0\7\169\1\106\133\4\10\4\106\213\1\30\4\86\0\4\58\5\54\219\1\119\5\6\139\1\119\5\157\0\1\238\5\189\139\0\85\5\164\0\0\105\6\63\139\0\119\3\182\0\0\37\3\188\134\1\231\3\195\0',
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    24
'\1\142\5\13\145\1\188\5\102\0\1\199\5\59\145\3\209\5\198\134\5\59\5\102\0\4\63\5\111\134\0\121\3\225\134\4\111\3\234\0\2\255\4\106\134\3\12\4\228\0\2\58\4\120\132\13\148\2\60\132\13\146\1\106\0'}
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    25
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    26
local function drawMap()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    27
	for m=1, #map do
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    28
		ParseCommand("draw "..map[m])
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    29
	end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    30
end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    31
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    32
-- Gears
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    33
local hog
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    34
local ropeGear
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    35
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    36
-- Status vars
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    37
local ropeSelected = false	-- rope was selected the first time, used for msg
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    38
local ropeAttached = false	-- rope was attached, used for msg
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    39
local target1Reached = false	-- hog near 1st first target
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    40
local barrelsBoom = false	-- barrels exploded
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    41
local wasFirstTurn = false	-- first turn msg was displayed
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    42
local gameOver = false		-- game over (only victory possible)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    43
local currentTarget = 0		-- current target ID. First target = 1
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    44
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    45
local cpX, cpY = 208, 1384	-- hog checkpoint, initialized with start coords
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    46
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    47
-- "Constants"
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    48
local initHogHealth = 50
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
    49
local initHogHealthFinal = 1
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    50
local teamName = loc("Wannabe Ropers")
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    51
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    52
local girderData = {
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    53
	{2012, 1366, 6}, -- water gate
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    54
	{1156, 678, 2}, -- post-barrel gate
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    55
	{1206, 905, 2}, -- post-barrel gate
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    56
	{1064, 288, 6}, -- top level gate
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    57
	{1064, 455, 6}, -- top level gate
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    58
	{1557, 1009, 0}, -- barrel pit protection
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    59
	{1436, 1003, 4}, -- barrel pit protection
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    60
	{3607, 1307, 4}, -- post-water gate
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    61
	{3809, 1375, 0}, -- post-water gate
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    62
}
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    63
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    64
local targetData = {
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    65
	-- 1: Start
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    66
	{504, 1215},
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    67
	-- 2: Start 2
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    68
	{1082, 1348},
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    69
	-- 3: Before the water
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    70
	{1941, 1490},
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    71
	-- 4: After the water
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    72
	{3504, 1557},
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    73
	-- 5: Barrel pit
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    74
	{2060, 885},
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    75
	-- 6: Grand Finale
13188
fde354aaf978 Rope Training: Place the second-last target at a more reasonable position
Wuzzy <Wuzzy2@mail.ru>
parents: 13099
diff changeset
    76
	{834, 381},
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    77
	-- 7: Goal
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    78
	{3802, 356},
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    79
}
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    80
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    81
function onGameInit()
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    82
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    83
	ClearGameFlags()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    84
	EnableGameFlags(gfDisableGirders, gfDisableLandObjects, gfOneClanMode, gfInfAttack, gfSolidLand, gfDisableWind)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    85
	Seed = "{386439b4-748a-48b1-945a-eba6a817ca83}"
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    86
	Theme = "Bamboo"
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    87
	MapGen = mgDrawn
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    88
	MapFeatureSize = 12
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    89
	TemplateFilter = 0
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    90
	TemplateNumber = 0
13755
110d6c1e817f Lua: Rename globals: NoPointX→NO_CURSOR, cMaxTurnTime→MAX_TURN_TIME, cMaxHogHealth→MAX_HOG_HEALTH
Wuzzy <Wuzzy2@mail.ru>
parents: 13669
diff changeset
    91
	TurnTime = MAX_TURN_TIME
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    92
	Explosives = 0
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    93
	MinesNum = 0
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    94
	CaseFreq = 0
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    95
	MinesTime = 0
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    96
	WaterRise = 0
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    97
	HealthDecrease = 0
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    98
13588
141cdfe0f3ca Switch almost all Lua calls of AddTeam to using default clan colors instead of hardcoded color
Wuzzy <Wuzzy2@mail.ru>
parents: 13188
diff changeset
    99
	AddTeam(teamName, -1, "Plinko", "Snail", "Default", "cm_yinyang")
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   100
	hog = AddHog(loc("Roper"), 0, initHogHealth, "StrawHat")
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   101
	SetGearPosition(hog, cpX, cpY)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   102
	SetEffect(hog, heResurrectable, 1)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   103
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   104
	drawMap()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   105
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   106
	SendHealthStatsOff()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   107
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   108
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   109
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   110
-- The final challenge is to rope through an obstacle course with only 1 rope.
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   111
-- If the player screws up, this functinon will restart it.
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   112
local function resetFinalChallenge(setPos)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   113
	if setPos == nil then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   114
		setPos = true
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   115
	end
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   116
	SetHealth(hog, initHogHealthFinal)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   117
	AddAmmo(hog, amRope, 1)
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   118
	SetGearVelocity(hog, 0, 0)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   119
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   120
	if setPos then
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   121
		PlaySound(sndWarp)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   122
		SetGearPosition(hog, cpX, cpY)
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   123
		AddVisualGear(cpX, cpY, vgtExplosion, 0, false)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   124
		FollowGear(hog)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   125
	end
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   126
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   127
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   128
-- Deletes girder with given girderData ID
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   129
local function eraseGirder(id)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   130
	EraseSprite(girderData[id][1], girderData[id][2], sprAmGirder, girderData[id][3], false, false, false, false)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   131
	PlaySound(sndVaporize)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   132
	AddVisualGear(girderData[id][1], girderData[id][2], vgtSteam, false, 0)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   133
	AddCaption(loc("Barrier unlocked!"))
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   134
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   135
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   136
local function loadGearData()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   137
	------ GIRDERS ------
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   138
	for g=1, #girderData do
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   139
		PlaceGirder(unpack(girderData[g]))
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   140
	end
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   141
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   142
	PlaceSprite(1678, 546, sprTargetBee, 0)
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   143
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   144
	------ BARRELS ------
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   145
	local barrels = {}
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   146
	table.insert(barrels, AddGear(1370, 1223, gtExplosives, 0, 0, 0, 0))
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   147
	table.insert(barrels, AddGear(1430, 1226, gtExplosives, 0, 0, 0, 0))
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   148
	table.insert(barrels, AddGear(1489, 1218, gtExplosives, 0, 0, 0, 0))
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   149
	table.insert(barrels, AddGear(1537, 1211, gtExplosives, 0, 0, 0, 0))
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   150
	table.insert(barrels, AddGear(1578, 1206, gtExplosives, 0, 0, 0, 0))
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   151
	for b=1, #barrels do
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   152
		SetHealth(barrels[b], 1)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   153
	end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   154
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   155
	------ FIRST TARGET ------
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   156
	currentTarget = 1
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   157
	AddGear(targetData[currentTarget][1], targetData[currentTarget][2], gtTarget, 0, 0, 0, 0)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   158
end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   159
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   160
function onGameStart()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   161
	loadGearData()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   162
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   163
	ShowMission(loc("Basic Rope Training"), loc("Basic Training"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   164
	loc("Use the rope to complete the obstacle course!"), -amRope, 0)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   165
	FollowGear(hog)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   166
end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   167
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   168
function onNewTurn()
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   169
	local ctrl = ""
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   170
	if not wasFirstTurn then
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   171
		if INTERFACE == "desktop" then
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   172
			ctrl = loc("Open ammo menu: [Right click]")
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   173
		elseif INTERFACE == "touch" then
14393
cf49fac6e88a Make better re-use of some mission strings
Wuzzy <Wuzzy2@mail.ru>
parents: 14387
diff changeset
   174
			ctrl = loc("Open ammo menu: Tap the [Suitcase]")
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   175
		end
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   176
		ShowMission(loc("Basic Rope Training"), loc("Select Rope"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   177
		loc("Select the rope to begin!").."|"..
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   178
		ctrl, 2, 7500)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   179
		wasFirstTurn = true
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   180
	end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   181
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   182
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   183
function onGameTick()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   184
	if gameOver or (not CurrentHedgehog) then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   185
		return
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   186
	end
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   187
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   188
	-- First rope selection
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   189
	if not ropeSelected and GetCurAmmoType() == amRope then
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   190
		local ctrl = ""
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   191
		if INTERFACE == "desktop" then
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   192
			ctrl = loc("Aim: [Up]/[Down]").."|"..
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   193
			loc("Attack: [Space]")
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   194
		elseif INTERFACE == "touch" then
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   195
			ctrl = loc("Aim: [Up]/[Down]").."|"..
14393
cf49fac6e88a Make better re-use of some mission strings
Wuzzy <Wuzzy2@mail.ru>
parents: 14387
diff changeset
   196
			loc("Attack: Tap the [Bomb]")
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   197
		end
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   198
		ShowMission(loc("Basic Rope Training"), loc("Getting Started"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   199
		loc("You can use the rope to reach new places.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   200
		loc("Aim at the ceiling and hold [Attack] pressed until the rope attaches.").."|"..
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   201
		ctrl, 2, 15000)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   202
		ropeSelected = true
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   203
	-- Rope attach
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   204
	elseif ropeGear and band(GetState(ropeGear), gstCollision) ~= 0 then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   205
		-- First rope attach
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   206
		if not ropeAttached and not target1Reached then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   207
			ShowMission(loc("Basic Rope Training"), loc("How to Rope"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   208
			loc("Great!").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   209
			loc("Use the rope to get to the target!").."|"..
13099
ffa5cdc75826 Rope training: Fix confused order of retract/extend controls
Wuzzy <Wuzzy2@mail.ru>
parents: 13087
diff changeset
   210
			loc("Retract/Extend rope: [Up]/[Down]").."|"..
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   211
			loc("Swing: [Left]/[Right]").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   212
			loc("Release rope: [Attack]"), 2, 15000)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   213
			ropeAttached = true
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   214
		elseif currentTarget > 1 and (not (currentTarget == 6 and barrelsBoom)) then
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   215
			HideMission()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   216
		end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   217
	end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   218
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   219
	-- Prevent grenade being thrown by hand (must use from rope instead)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   220
	local allowAttack = true
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   221
	if GetCurAmmoType() == amGrenade and ropeGear == nil then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   222
		allowAttack = false
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   223
	end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   224
	if allowAttack then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   225
		SetInputMask(bor(GetInputMask(), gmAttack))
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   226
	else
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   227
		SetInputMask(band(GetInputMask(), bnot(gmAttack)))
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   228
	end
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   229
	if isInFinalChallenge then
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   230
		local dX, dY = GetGearVelocity(CurrentHedgehog)
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   231
		local x, y = GetGearPosition(CurrentHedgehog)
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   232
		if band(GetState(CurrentHedgehog), gstHHDriven) ~= 0 and GetAmmoCount(CurrentHedgehog, amRope) == 0 and
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   233
				GetFlightTime(CurrentHedgehog) == 0 and (not ropeGear) and
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   234
				math.abs(dX) < 5 and math.abs(dY) < 5 and
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   235
				(x < 3417 or y > 471) then
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   236
			AddCaption(loc("Your rope is gone! Try again!"))
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   237
			resetFinalChallenge()
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   238
			PlaySound(sndWarp)
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   239
		end
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   240
	end
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   241
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   242
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   243
function onGameTick20()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   244
	if not gameOver and not target1Reached and CurrentHedgehog and gearIsInCircle(CurrentHedgehog, targetData[1][1], targetData[1][2], 48, false) then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   245
		ShowMission(loc("Basic Rope Training"), loc("Target Puncher"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   246
		loc("Okay, now destroy the target|using the baseball bat.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   247
		loc("Release rope: [Attack]"), 2, 9000)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   248
		target1Reached = true
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   249
	end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   250
end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   251
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   252
function onGearAdd(gear)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   253
	if GetGearType(gear) == gtRope then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   254
		ropeGear = gear
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   255
	elseif GetGearType(gear) == gtGrenade then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   256
		if not ropeGear then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   257
			DeleteGear(gear)
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   258
		end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   259
	end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   260
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   261
13635
fe7d2bbf5f3f Fix resurrection animation appearing at wrong position for some missions and styles
Wuzzy <Wuzzy2@mail.ru>
parents: 13588
diff changeset
   262
function onGearResurrect(gear, vGear)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   263
	-- Teleport hog to previous checkpoint
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   264
	if gear == hog then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   265
		SetGearPosition(hog, cpX, cpY)
13635
fe7d2bbf5f3f Fix resurrection animation appearing at wrong position for some missions and styles
Wuzzy <Wuzzy2@mail.ru>
parents: 13588
diff changeset
   266
		if vGear then
fe7d2bbf5f3f Fix resurrection animation appearing at wrong position for some missions and styles
Wuzzy <Wuzzy2@mail.ru>
parents: 13588
diff changeset
   267
			SetVisualGearValues(vGear, GetX(hog), GetY(hog))
fe7d2bbf5f3f Fix resurrection animation appearing at wrong position for some missions and styles
Wuzzy <Wuzzy2@mail.ru>
parents: 13588
diff changeset
   268
		end
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   269
		FollowGear(hog)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   270
		AddCaption(loc("Your hedgehog has been revived!"))
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   271
		if isInFinalChallenge then
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   272
			resetFinalChallenge(false)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   273
		end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   274
	end
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   275
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   276
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   277
function onGearDelete(gear)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   278
	if GetGearType(gear) == gtTarget then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   279
		-- Update checkpoint
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   280
		cpX, cpY = GetGearPosition(gear)
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   281
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   282
		-- New message
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   283
		if currentTarget == 1 then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   284
			ShowMission(loc("Basic Rope Training"), loc("Obstacle"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   285
			loc("Well done! Let's destroy the next target!").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   286
			loc("The targets will guide you through the training.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   287
			loc("Use your rope to get to the next target, then destroy it!"), 2, 8000)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   288
		elseif currentTarget == 2 then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   289
			ShowMission(loc("Basic Rope Training"), loc("Speed Roping"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   290
			loc("Try to reach and destroy the next target quickly.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   291
			loc("Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."), 2, 15000)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   292
		elseif currentTarget == 3 then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   293
			ShowMission(loc("Basic Rope Training"), loc("Over the Water"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   294
			loc("When you're in mid-air, you can continue to aim|and fire another rope if you're not attached.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   295
			loc("To get over the water, you have to do multiple|rope shots and swings.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   296
			loc("It needs some practice, but you have infinite lives.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   297
			loc("Good luck!"), 2, 22500)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   298
			eraseGirder(1)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   299
		elseif currentTarget == 4 then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   300
			ShowMission(loc("Basic Rope Training"), loc("Little Obstacle Course"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   301
			loc("Well done! The next target awaits.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   302
			loc("Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."), 2, 7000)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   303
			eraseGirder(8)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   304
			eraseGirder(9)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   305
		elseif currentTarget == 5 then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   306
			ShowMission(loc("Basic Rope Training"), loc("Rope Weapons"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   307
			loc("Some weapons can be dropped from the rope.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   308
			loc("Collect the weapon crate and drop|a grenade from rope to destroy the barrels.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   309
			loc("Step 1: Start roping").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   310
			loc("Step 2: Select grenade").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   311
			loc("Step 3: Drop the grenade").."| |"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   312
			loc("Drop weapon (while on rope): [Long Jump]"), 2, 20000)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   313
			AddAmmo(hog, amBaseballBat, 0)
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   314
			SpawnAmmoCrate(1849, 920, amGrenade, AMMO_INFINITE)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   315
		elseif currentTarget == 6 then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   316
			ShowMission(loc("Basic Rope Training"), loc("Finite Ropes"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   317
			loc("So far, you had infinite ropes, but in the|real world, ropes are usually limited.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   318
			loc("Rules:").." |"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   319
			loc("As long you don't touch the ground, you can|re-use the same rope as often as you like.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   320
			loc("If you miss a shot while trying to|re-attach, your rope is gone, too!").."| |"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   321
			loc("Final Challenge:").." |"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   322
			loc("Reach and destroy the final target to win.").."|"..
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   323
			loc("You only get 1 rope this time, don't waste it!"),
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   324
			2, 25000)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   325
			eraseGirder(4)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   326
			eraseGirder(5)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   327
			AddAmmo(hog, amRope, 1)
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   328
			SetHealth(hog, initHogHealthFinal)
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   329
			isInFinalChallenge = true
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   330
		elseif currentTarget == 7 then
14469
ead8928a59f8 Report mission victory for most missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14460
diff changeset
   331
			SaveMissionVar("Won", "true")
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   332
			ShowMission(loc("Basic Rope Training"), loc("Training complete!"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   333
			loc("Congratulations!"), 0, 0)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   334
			PlaySound(sndVictory, hog)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   335
			AddAmmo(hog, amBaseballBat, 0)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   336
			AddAmmo(hog, amGrenade, 0)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   337
			AddAmmo(hog, amRope, 0)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   338
			SendStat(siCustomAchievement, loc("Oh yeah! You sure know how to rope!"))
12055
daf63e2a21d2 Rewrite some help texts in the basic rope training mission
Wuzzy <almikes@aol.com>
parents: 12054
diff changeset
   339
			SendStat(siGameResult, loc("You have finished the Basic Rope Training!"))
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   340
			SendStat(siPlayerKills, "0", teamName)
12055
daf63e2a21d2 Rewrite some help texts in the basic rope training mission
Wuzzy <almikes@aol.com>
parents: 12054
diff changeset
   341
			EndGame()
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   342
			gameOver = true
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   343
			SetInputMask(0)
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   344
		end
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   345
		currentTarget = currentTarget + 1
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   346
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   347
		if currentTarget <= #targetData then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   348
			AddGear(targetData[currentTarget][1], targetData[currentTarget][2], gtTarget, 0, 0, 0, 0)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   349
		end
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   350
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   351
	elseif GetGearType(gear) == gtExplosives then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   352
		if not barrelsBoom then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   353
			barrelsBoom = true
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   354
			AddAmmo(hog, amGrenade, 0)
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   355
			AddAmmo(hog, amBaseballBat, AMMO_INFINITE)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   356
			eraseGirder(2)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   357
			eraseGirder(3)
14459
fd34b9037c69 Rope training: Show hint after destroying barrels
Wuzzy <Wuzzy2@mail.ru>
parents: 14393
diff changeset
   358
			ShowMission(loc("Basic Rope Training"),
fd34b9037c69 Rope training: Show hint after destroying barrels
Wuzzy <Wuzzy2@mail.ru>
parents: 14393
diff changeset
   359
				loc("Kaboom!"),
fd34b9037c69 Rope training: Show hint after destroying barrels
Wuzzy <Wuzzy2@mail.ru>
parents: 14393
diff changeset
   360
				loc("Follow the path and destroy the next target."),
fd34b9037c69 Rope training: Show hint after destroying barrels
Wuzzy <Wuzzy2@mail.ru>
parents: 14393
diff changeset
   361
				2, 5000)
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   362
		end
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   363
	elseif GetGearType(gear) == gtRope then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   364
		ropeGear = nil
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   365
		if ropeAttached and not target1Reached then
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   366
			local ctrl = ""
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   367
			if INTERFACE == "desktop" then
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   368
				ctrl = loc("Aim: [Up]/[Down]").."|"..
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   369
				loc("Attack: [Space]")
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   370
			elseif INTERFACE == "touch" then
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   371
				ctrl = loc("Aim: [Up]/[Down]").."|"..
14393
cf49fac6e88a Make better re-use of some mission strings
Wuzzy <Wuzzy2@mail.ru>
parents: 14387
diff changeset
   372
				loc("Attack: Tap the [Bomb]")
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   373
			end
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   374
			ShowMission(loc("Basic Rope Training"), loc("How to Rope"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   375
			loc("Go to the target.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   376
			loc("Hold [Attack] to attach the rope.").."|"..
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   377
			ctrl, 2, 13000)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   378
			ropeAttached = false
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   379
		end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   380
	elseif GetGearType(gear) == gtCase then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   381
		eraseGirder(6)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   382
		eraseGirder(7)
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   383
	end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   384
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   385
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   386
function onAmmoStoreInit()
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   387
	SetAmmo(amRope, 9, 0, 0, 1)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   388
	SetAmmo(amBaseballBat, 9, 0, 0, 1)
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   389
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   390
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   391
function onAttack()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   392
	if GetCurAmmoType() == amGrenade and not ropeGear then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   393
		AddCaption(loc("You have to drop the grenade from rope!"), 0xFF4000FF, capgrpMessage)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   394
		PlaySound(sndDenied)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   395
	end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   396
end