share/hedgewars/Data/Missions/Training/Basic_Training_-_Rope.lua
author Wuzzy <Wuzzy2@mail.ru>
Thu, 25 Apr 2019 23:01:05 +0200
changeset 14844 e239378a9400
parent 14673 38836d6c5c8a
child 14933 4c5fb1ee75b7
permissions -rw-r--r--
Prevent entering “/”, “\” and “:” in team and scheme names. The name of teams and schems is saved in the file name itself, so these characters would cause trouble as they are used in path names in Linux and Windows.
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
14673
38836d6c5c8a Play "Flawless" voice when completing the rope or saucer training perfectly
Wuzzy <Wuzzy2@mail.ru>
parents: 14497
diff changeset
    44
local flawless = true		-- flawless if no damage taken and no mistake made
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    45
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    46
local cpX, cpY = 208, 1384	-- hog checkpoint, initialized with start coords
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    47
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    48
-- "Constants"
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    49
local initHogHealth = 50
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
    50
local initHogHealthFinal = 1
14497
6c62f7ebea45 Fix 2 team name mistakes in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14485
diff changeset
    51
local teamName
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    52
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    53
local girderData = {
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    54
	{2012, 1366, 6}, -- water gate
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    55
	{1156, 678, 2}, -- post-barrel gate
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    56
	{1206, 905, 2}, -- post-barrel gate
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    57
	{1064, 288, 6}, -- top level gate
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    58
	{1064, 455, 6}, -- top level gate
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    59
	{1557, 1009, 0}, -- barrel pit protection
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    60
	{1436, 1003, 4}, -- barrel pit protection
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    61
	{3607, 1307, 4}, -- post-water gate
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    62
	{3809, 1375, 0}, -- post-water gate
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    63
}
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    64
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    65
local targetData = {
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    66
	-- 1: Start
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    67
	{504, 1215},
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    68
	-- 2: Start 2
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    69
	{1082, 1348},
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    70
	-- 3: Before the water
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    71
	{1941, 1490},
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    72
	-- 4: After the water
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    73
	{3504, 1557},
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    74
	-- 5: Barrel pit
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    75
	{2060, 885},
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    76
	-- 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
    77
	{834, 381},
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    78
	-- 7: Goal
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    79
	{3802, 356},
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
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    82
function onGameInit()
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
    83
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    84
	ClearGameFlags()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    85
	EnableGameFlags(gfDisableGirders, gfDisableLandObjects, gfOneClanMode, gfInfAttack, gfSolidLand, gfDisableWind)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    86
	Seed = "{386439b4-748a-48b1-945a-eba6a817ca83}"
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    87
	Theme = "Bamboo"
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    88
	MapGen = mgDrawn
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    89
	MapFeatureSize = 12
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    90
	TemplateFilter = 0
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    91
	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
    92
	TurnTime = MAX_TURN_TIME
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    93
	Explosives = 0
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    94
	MinesNum = 0
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    95
	CaseFreq = 0
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    96
	MinesTime = 0
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    97
	WaterRise = 0
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    98
	HealthDecrease = 0
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    99
14497
6c62f7ebea45 Fix 2 team name mistakes in missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14485
diff changeset
   100
	teamName = AddMissionTeam(-1)
14485
208359558642 Use player-chosen team identity for training and a few challenges
Wuzzy <Wuzzy2@mail.ru>
parents: 14469
diff changeset
   101
	hog = AddMissionHog(initHogHealth)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   102
	SetGearPosition(hog, cpX, cpY)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   103
	SetEffect(hog, heResurrectable, 1)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   104
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   105
	drawMap()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   106
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   107
	SendHealthStatsOff()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   108
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   109
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   110
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   111
-- 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
   112
-- 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
   113
local function resetFinalChallenge(setPos)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   114
	if setPos == nil then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   115
		setPos = true
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   116
	end
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   117
	SetHealth(hog, initHogHealthFinal)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   118
	AddAmmo(hog, amRope, 1)
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   119
	SetGearVelocity(hog, 0, 0)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   120
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   121
	if setPos then
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   122
		PlaySound(sndWarp)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   123
		SetGearPosition(hog, cpX, cpY)
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   124
		AddVisualGear(cpX, cpY, vgtExplosion, 0, false)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   125
		FollowGear(hog)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   126
	end
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   127
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   128
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   129
-- Deletes girder with given girderData ID
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   130
local function eraseGirder(id)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   131
	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
   132
	PlaySound(sndVaporize)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   133
	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
   134
	AddCaption(loc("Barrier unlocked!"))
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   135
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   136
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   137
local function loadGearData()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   138
	------ GIRDERS ------
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   139
	for g=1, #girderData do
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   140
		PlaceGirder(unpack(girderData[g]))
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   141
	end
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   142
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   143
	PlaceSprite(1678, 546, sprTargetBee, 0)
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   144
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   145
	------ BARRELS ------
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   146
	local barrels = {}
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   147
	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
   148
	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
   149
	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
   150
	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
   151
	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
   152
	for b=1, #barrels do
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   153
		SetHealth(barrels[b], 1)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   154
	end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   155
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   156
	------ FIRST TARGET ------
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   157
	currentTarget = 1
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   158
	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
   159
end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   160
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   161
function onGameStart()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   162
	loadGearData()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   163
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   164
	ShowMission(loc("Basic Rope Training"), loc("Basic Training"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   165
	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
   166
	FollowGear(hog)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   167
end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   168
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   169
function onNewTurn()
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   170
	local ctrl = ""
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   171
	if not wasFirstTurn then
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   172
		if INTERFACE == "desktop" then
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   173
			ctrl = loc("Open ammo menu: [Right click]")
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   174
		elseif INTERFACE == "touch" then
14393
cf49fac6e88a Make better re-use of some mission strings
Wuzzy <Wuzzy2@mail.ru>
parents: 14387
diff changeset
   175
			ctrl = loc("Open ammo menu: Tap the [Suitcase]")
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   176
		end
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   177
		ShowMission(loc("Basic Rope Training"), loc("Select Rope"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   178
		loc("Select the rope to begin!").."|"..
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   179
		ctrl, 2, 7500)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   180
		wasFirstTurn = true
6501
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
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   183
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   184
function onGameTick()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   185
	if gameOver or (not CurrentHedgehog) then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   186
		return
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   187
	end
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   188
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   189
	-- First rope selection
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   190
	if not ropeSelected and GetCurAmmoType() == amRope then
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   191
		local ctrl = ""
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   192
		if INTERFACE == "desktop" then
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   193
			ctrl = loc("Aim: [Up]/[Down]").."|"..
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   194
			loc("Attack: [Space]")
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   195
		elseif INTERFACE == "touch" then
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   196
			ctrl = loc("Aim: [Up]/[Down]").."|"..
14393
cf49fac6e88a Make better re-use of some mission strings
Wuzzy <Wuzzy2@mail.ru>
parents: 14387
diff changeset
   197
			loc("Attack: Tap the [Bomb]")
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   198
		end
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   199
		ShowMission(loc("Basic Rope Training"), loc("Getting Started"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   200
		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
   201
		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
   202
		ctrl, 2, 15000)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   203
		ropeSelected = true
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   204
	-- Rope attach
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   205
	elseif ropeGear and band(GetState(ropeGear), gstCollision) ~= 0 then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   206
		-- First rope attach
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   207
		if not ropeAttached and not target1Reached then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   208
			ShowMission(loc("Basic Rope Training"), loc("How to Rope"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   209
			loc("Great!").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   210
			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
   211
			loc("Retract/Extend rope: [Up]/[Down]").."|"..
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   212
			loc("Swing: [Left]/[Right]").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   213
			loc("Release rope: [Attack]"), 2, 15000)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   214
			ropeAttached = true
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   215
		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
   216
			HideMission()
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
	end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   219
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   220
	-- 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
   221
	local allowAttack = true
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   222
	if GetCurAmmoType() == amGrenade and ropeGear == nil then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   223
		allowAttack = false
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   224
	end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   225
	if allowAttack then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   226
		SetInputMask(bor(GetInputMask(), gmAttack))
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   227
	else
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   228
		SetInputMask(band(GetInputMask(), bnot(gmAttack)))
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   229
	end
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   230
	if isInFinalChallenge then
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   231
		local dX, dY = GetGearVelocity(CurrentHedgehog)
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   232
		local x, y = GetGearPosition(CurrentHedgehog)
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   233
		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
   234
				GetFlightTime(CurrentHedgehog) == 0 and (not ropeGear) and
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   235
				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
   236
				(x < 3417 or y > 471) then
14673
38836d6c5c8a Play "Flawless" voice when completing the rope or saucer training perfectly
Wuzzy <Wuzzy2@mail.ru>
parents: 14497
diff changeset
   237
			flawless = false
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   238
			AddCaption(loc("Your rope is gone! Try again!"))
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   239
			resetFinalChallenge()
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   240
			PlaySound(sndWarp)
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   241
		end
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   242
	end
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   243
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   244
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   245
function onGameTick20()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   246
	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
   247
		ShowMission(loc("Basic Rope Training"), loc("Target Puncher"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   248
		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
   249
		loc("Release rope: [Attack]"), 2, 9000)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   250
		target1Reached = true
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   251
	end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   252
end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   253
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   254
function onGearAdd(gear)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   255
	if GetGearType(gear) == gtRope then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   256
		ropeGear = gear
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   257
	elseif GetGearType(gear) == gtGrenade then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   258
		if not ropeGear then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   259
			DeleteGear(gear)
6501
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
	end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   262
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   263
13635
fe7d2bbf5f3f Fix resurrection animation appearing at wrong position for some missions and styles
Wuzzy <Wuzzy2@mail.ru>
parents: 13588
diff changeset
   264
function onGearResurrect(gear, vGear)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   265
	-- Teleport hog to previous checkpoint
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   266
	if gear == hog then
14673
38836d6c5c8a Play "Flawless" voice when completing the rope or saucer training perfectly
Wuzzy <Wuzzy2@mail.ru>
parents: 14497
diff changeset
   267
		flawless = false
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   268
		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
   269
		if vGear then
fe7d2bbf5f3f Fix resurrection animation appearing at wrong position for some missions and styles
Wuzzy <Wuzzy2@mail.ru>
parents: 13588
diff changeset
   270
			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
   271
		end
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   272
		FollowGear(hog)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   273
		AddCaption(loc("Your hedgehog has been revived!"))
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   274
		if isInFinalChallenge then
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   275
			resetFinalChallenge(false)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   276
		end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   277
	end
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   278
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   279
14673
38836d6c5c8a Play "Flawless" voice when completing the rope or saucer training perfectly
Wuzzy <Wuzzy2@mail.ru>
parents: 14497
diff changeset
   280
function onGearDamage(gear)
38836d6c5c8a Play "Flawless" voice when completing the rope or saucer training perfectly
Wuzzy <Wuzzy2@mail.ru>
parents: 14497
diff changeset
   281
	if gear == hog then
38836d6c5c8a Play "Flawless" voice when completing the rope or saucer training perfectly
Wuzzy <Wuzzy2@mail.ru>
parents: 14497
diff changeset
   282
		flawless = false
38836d6c5c8a Play "Flawless" voice when completing the rope or saucer training perfectly
Wuzzy <Wuzzy2@mail.ru>
parents: 14497
diff changeset
   283
	end
38836d6c5c8a Play "Flawless" voice when completing the rope or saucer training perfectly
Wuzzy <Wuzzy2@mail.ru>
parents: 14497
diff changeset
   284
end
38836d6c5c8a Play "Flawless" voice when completing the rope or saucer training perfectly
Wuzzy <Wuzzy2@mail.ru>
parents: 14497
diff changeset
   285
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   286
function onGearDelete(gear)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   287
	if GetGearType(gear) == gtTarget then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   288
		-- Update checkpoint
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   289
		cpX, cpY = GetGearPosition(gear)
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   290
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   291
		-- New message
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   292
		if currentTarget == 1 then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   293
			ShowMission(loc("Basic Rope Training"), loc("Obstacle"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   294
			loc("Well done! Let's destroy the next target!").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   295
			loc("The targets will guide you through the training.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   296
			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
   297
		elseif currentTarget == 2 then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   298
			ShowMission(loc("Basic Rope Training"), loc("Speed Roping"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   299
			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
   300
			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
   301
		elseif currentTarget == 3 then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   302
			ShowMission(loc("Basic Rope Training"), loc("Over the Water"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   303
			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
   304
			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
   305
			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
   306
			loc("Good luck!"), 2, 22500)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   307
			eraseGirder(1)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   308
		elseif currentTarget == 4 then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   309
			ShowMission(loc("Basic Rope Training"), loc("Little Obstacle Course"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   310
			loc("Well done! The next target awaits.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   311
			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
   312
			eraseGirder(8)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   313
			eraseGirder(9)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   314
		elseif currentTarget == 5 then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   315
			ShowMission(loc("Basic Rope Training"), loc("Rope Weapons"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   316
			loc("Some weapons can be dropped from the rope.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   317
			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
   318
			loc("Step 1: Start roping").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   319
			loc("Step 2: Select grenade").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   320
			loc("Step 3: Drop the grenade").."| |"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   321
			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
   322
			AddAmmo(hog, amBaseballBat, 0)
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   323
			SpawnAmmoCrate(1849, 920, amGrenade, AMMO_INFINITE)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   324
		elseif currentTarget == 6 then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   325
			ShowMission(loc("Basic Rope Training"), loc("Finite Ropes"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   326
			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
   327
			loc("Rules:").." |"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   328
			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
   329
			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
   330
			loc("Final Challenge:").." |"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   331
			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
   332
			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
   333
			2, 25000)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   334
			eraseGirder(4)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   335
			eraseGirder(5)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   336
			AddAmmo(hog, amRope, 1)
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   337
			SetHealth(hog, initHogHealthFinal)
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   338
			isInFinalChallenge = true
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   339
		elseif currentTarget == 7 then
14469
ead8928a59f8 Report mission victory for most missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14460
diff changeset
   340
			SaveMissionVar("Won", "true")
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   341
			ShowMission(loc("Basic Rope Training"), loc("Training complete!"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   342
			loc("Congratulations!"), 0, 0)
14673
38836d6c5c8a Play "Flawless" voice when completing the rope or saucer training perfectly
Wuzzy <Wuzzy2@mail.ru>
parents: 14497
diff changeset
   343
			if flawless then
38836d6c5c8a Play "Flawless" voice when completing the rope or saucer training perfectly
Wuzzy <Wuzzy2@mail.ru>
parents: 14497
diff changeset
   344
				PlaySound(sndFlawless, hog)
38836d6c5c8a Play "Flawless" voice when completing the rope or saucer training perfectly
Wuzzy <Wuzzy2@mail.ru>
parents: 14497
diff changeset
   345
			else
38836d6c5c8a Play "Flawless" voice when completing the rope or saucer training perfectly
Wuzzy <Wuzzy2@mail.ru>
parents: 14497
diff changeset
   346
				PlaySound(sndVictory, hog)
38836d6c5c8a Play "Flawless" voice when completing the rope or saucer training perfectly
Wuzzy <Wuzzy2@mail.ru>
parents: 14497
diff changeset
   347
			end
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   348
			AddAmmo(hog, amBaseballBat, 0)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   349
			AddAmmo(hog, amGrenade, 0)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   350
			AddAmmo(hog, amRope, 0)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   351
			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
   352
			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
   353
			SendStat(siPlayerKills, "0", teamName)
12055
daf63e2a21d2 Rewrite some help texts in the basic rope training mission
Wuzzy <almikes@aol.com>
parents: 12054
diff changeset
   354
			EndGame()
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   355
			gameOver = true
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   356
			SetInputMask(0)
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   357
		end
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   358
		currentTarget = currentTarget + 1
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   359
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   360
		if currentTarget <= #targetData then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   361
			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
   362
		end
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   363
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   364
	elseif GetGearType(gear) == gtExplosives then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   365
		if not barrelsBoom then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   366
			barrelsBoom = true
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   367
			AddAmmo(hog, amGrenade, 0)
14460
df366c5b8440 Rope training: Simplify final challenge, remove mines
Wuzzy <Wuzzy2@mail.ru>
parents: 14459
diff changeset
   368
			AddAmmo(hog, amBaseballBat, AMMO_INFINITE)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   369
			eraseGirder(2)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   370
			eraseGirder(3)
14459
fd34b9037c69 Rope training: Show hint after destroying barrels
Wuzzy <Wuzzy2@mail.ru>
parents: 14393
diff changeset
   371
			ShowMission(loc("Basic Rope Training"),
fd34b9037c69 Rope training: Show hint after destroying barrels
Wuzzy <Wuzzy2@mail.ru>
parents: 14393
diff changeset
   372
				loc("Kaboom!"),
fd34b9037c69 Rope training: Show hint after destroying barrels
Wuzzy <Wuzzy2@mail.ru>
parents: 14393
diff changeset
   373
				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
   374
				2, 5000)
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   375
		end
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   376
	elseif GetGearType(gear) == gtRope then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   377
		ropeGear = nil
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   378
		if ropeAttached and not target1Reached then
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   379
			local ctrl = ""
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   380
			if INTERFACE == "desktop" then
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   381
				ctrl = loc("Aim: [Up]/[Down]").."|"..
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   382
				loc("Attack: [Space]")
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   383
			elseif INTERFACE == "touch" then
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   384
				ctrl = loc("Aim: [Up]/[Down]").."|"..
14393
cf49fac6e88a Make better re-use of some mission strings
Wuzzy <Wuzzy2@mail.ru>
parents: 14387
diff changeset
   385
				loc("Attack: Tap the [Bomb]")
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   386
			end
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   387
			ShowMission(loc("Basic Rope Training"), loc("How to Rope"),
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   388
			loc("Go to the target.").."|"..
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   389
			loc("Hold [Attack] to attach the rope.").."|"..
14387
f9d4b8222903 Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents: 13755
diff changeset
   390
			ctrl, 2, 13000)
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   391
			ropeAttached = false
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   392
		end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   393
	elseif GetGearType(gear) == gtCase then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   394
		eraseGirder(6)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   395
		eraseGirder(7)
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   396
	end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   397
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   398
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   399
function onAmmoStoreInit()
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   400
	SetAmmo(amRope, 9, 0, 0, 1)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   401
	SetAmmo(amBaseballBat, 9, 0, 0, 1)
6501
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   402
end
4a6666deb85b Add some (slightly modified) GCI missions.
mikade
parents:
diff changeset
   403
13087
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   404
function onAttack()
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   405
	if GetCurAmmoType() == amGrenade and not ropeGear then
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   406
		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
   407
		PlaySound(sndDenied)
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   408
	end
aa9e871f9685 Complete overhaul of Basic Rope Training
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
   409
end