author | alfadur |
Mon, 15 Apr 2019 21:22:51 +0300 | |
changeset 14808 | 92225a708bda |
parent 14485 | 208359558642 |
child 14933 | 4c5fb1ee75b7 |
permissions | -rw-r--r-- |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
1 |
--[[ |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
2 |
Basic Bazooka Training |
11015 | 3 |
|
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
4 |
This training missions teaches players how to use the bazooka. |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
5 |
Lesson plan: |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
6 |
- Selecting bazooka |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
7 |
- Aiming and shooting |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
8 |
- Wind |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
9 |
- Limited ammo |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
10 |
- “Bouncing bomb” / water skip |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
11 |
- Precise aiming |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
12 |
]] |
11015 | 13 |
|
14 |
HedgewarsScriptLoad("/Scripts/Locale.lua") |
|
13502
65c348d6c1fa
Add hidden bazooka training achievement for 100% accuracy
Wuzzy <Wuzzy2@mail.ru>
parents:
13359
diff
changeset
|
15 |
HedgewarsScriptLoad("/Scripts/Achievements.lua") |
11015 | 16 |
|
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
17 |
local hog -- Hog gear |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
18 |
local weaponSelected = false -- Player has selected the weapon |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
19 |
local gamePhase = 0 -- Used to track progress |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
20 |
local targetsLeft = 0 -- # of targets left in this round |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
21 |
local targetGears = {} -- list of target gears |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
22 |
local bazookasInGame = 0 -- # of bazookas currently flying |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
23 |
local bazookaGears = {} -- list of bazooka gears |
13189
3966ef529313
Basic Bazooka Training: Add one more target, make limited ammo section easier, add more hints
Wuzzy <Wuzzy2@mail.ru>
parents:
13170
diff
changeset
|
24 |
local limitedAmmo = 10 -- amount of ammo for the limited ammo challenge |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
25 |
local limitedAmmoReset = -1 -- Timer for resetting ammo if player fails in |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
26 |
-- limited ammo challenge. -1 = no-op |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
27 |
local gameOver = false -- If true, game has ended |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
28 |
local shotsFired = 0 -- Total # of bazookas fired |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
29 |
local maxTargets = 0 -- Target counter, used together with flawless |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
30 |
local flawless = true -- track flawless victory (100% accuracy, no hurt, no death) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
31 |
local missedTauntTimer = -1 -- Wait timer for playing sndMissed. -1 = no-op |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
32 |
|
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
33 |
function onGameInit() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
34 |
|
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
35 |
ClearGameFlags() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
36 |
EnableGameFlags(gfDisableWind, gfOneClanMode, gfInfAttack, gfSolidLand) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
37 |
Map = "" |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
38 |
Seed = 0 |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
39 |
Theme = "Nature" |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
40 |
MapGen = mgDrawn |
13755
110d6c1e817f
Lua: Rename globals: NoPointX→NO_CURSOR, cMaxTurnTime→MAX_TURN_TIME, cMaxHogHealth→MAX_HOG_HEALTH
Wuzzy <Wuzzy2@mail.ru>
parents:
13669
diff
changeset
|
41 |
TurnTime = MAX_TURN_TIME |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
42 |
Explosives = 0 |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
43 |
MinesNum = 0 |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
44 |
CaseFreq = 0 |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
45 |
WaterRise = 0 |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
46 |
HealthDecrease = 0 |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
47 |
|
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
48 |
------ TEAM LIST ------ |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
49 |
|
14485
208359558642
Use player-chosen team identity for training and a few challenges
Wuzzy <Wuzzy2@mail.ru>
parents:
14469
diff
changeset
|
50 |
AddMissionTeam(-1) |
208359558642
Use player-chosen team identity for training and a few challenges
Wuzzy <Wuzzy2@mail.ru>
parents:
14469
diff
changeset
|
51 |
hog = AddMissionHog(100) |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
52 |
SetGearPosition(hog, 1485, 2001) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
53 |
SetEffect(hog, heResurrectable, 1) |
11015 | 54 |
|
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
55 |
SendHealthStatsOff() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
56 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
57 |
|
13635
fe7d2bbf5f3f
Fix resurrection animation appearing at wrong position for some missions and styles
Wuzzy <Wuzzy2@mail.ru>
parents:
13588
diff
changeset
|
58 |
function onGearResurrect(gear, vGear) |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
59 |
if gear == hog then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
60 |
flawless = false |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
61 |
SetGearPosition(hog, 1485, 2001) |
13635
fe7d2bbf5f3f
Fix resurrection animation appearing at wrong position for some missions and styles
Wuzzy <Wuzzy2@mail.ru>
parents:
13588
diff
changeset
|
62 |
if vGear then |
fe7d2bbf5f3f
Fix resurrection animation appearing at wrong position for some missions and styles
Wuzzy <Wuzzy2@mail.ru>
parents:
13588
diff
changeset
|
63 |
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
|
64 |
end |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
65 |
AddCaption(loc("Your hedgehog has been revived!")) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
66 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
67 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
68 |
|
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
69 |
function placeGirders() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
70 |
PlaceGirder(1520, 2018, 4) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
71 |
PlaceGirder(1449, 1927, 6) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
72 |
PlaceGirder(1341, 1989, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
73 |
PlaceGirder(1141, 1990, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
74 |
PlaceGirder(2031, 1907, 6) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
75 |
PlaceGirder(2031, 1745, 6) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
76 |
PlaceGirder(2398, 1985, 4) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
77 |
PlaceGirder(2542, 1921, 7) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
78 |
PlaceGirder(2617, 1954, 6) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
79 |
PlaceGirder(2565, 2028, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
80 |
PlaceGirder(2082, 1979, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
81 |
PlaceGirder(2082, 1673, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
82 |
PlaceGirder(1980, 1836, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
83 |
PlaceGirder(1716, 1674, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
84 |
PlaceGirder(1812, 1832, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
85 |
PlaceGirder(1665, 1744, 6) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
86 |
PlaceGirder(2326, 1895, 6) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
87 |
PlaceGirder(2326, 1734, 6) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
88 |
PlaceGirder(2326, 1572, 6) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
89 |
PlaceGirder(2275, 1582, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
90 |
PlaceGirder(1738, 1714, 7) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
91 |
PlaceGirder(1818, 1703, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
92 |
PlaceGirder(1939, 1703, 4) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
93 |
PlaceGirder(2805, 1781, 3) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
94 |
PlaceGirder(2905, 1621, 3) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
95 |
PlaceGirder(3005, 1441, 3) |
13189
3966ef529313
Basic Bazooka Training: Add one more target, make limited ammo section easier, add more hints
Wuzzy <Wuzzy2@mail.ru>
parents:
13170
diff
changeset
|
96 |
PlaceGirder(945, 1340, 5) |
11015 | 97 |
end |
98 |
||
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
99 |
function spawnTargets(phase) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
100 |
if not phase then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
101 |
phase = gamePhase |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
102 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
103 |
if phase == 0 then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
104 |
AddGear(1734, 1656, gtTarget, 0, 0, 0, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
105 |
AddGear(1812, 1814, gtTarget, 0, 0, 0, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
106 |
AddGear(1974, 1818, gtTarget, 0, 0, 0, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
107 |
elseif phase == 2 then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
108 |
AddGear(2102, 1655, gtTarget, 0, 0, 0, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
109 |
AddGear(2278, 1564, gtTarget, 0, 0, 0, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
110 |
AddGear(2080, 1961, gtTarget, 0, 0, 0, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
111 |
elseif phase == 3 then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
112 |
AddGear(1141, 1972, gtTarget, 0, 0, 0, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
113 |
AddGear(1345, 1971, gtTarget, 0, 0, 0, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
114 |
AddGear(1892, 1680, gtTarget, 0, 0, 0, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
115 |
elseif phase == 4 then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
116 |
AddGear(2584, 2010, gtTarget, 0, 0, 0, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
117 |
elseif phase == 5 then |
13189
3966ef529313
Basic Bazooka Training: Add one more target, make limited ammo section easier, add more hints
Wuzzy <Wuzzy2@mail.ru>
parents:
13170
diff
changeset
|
118 |
AddGear(955, 1320, gtTarget, 0, 0, 0, 0) |
3966ef529313
Basic Bazooka Training: Add one more target, make limited ammo section easier, add more hints
Wuzzy <Wuzzy2@mail.ru>
parents:
13170
diff
changeset
|
119 |
elseif phase == 6 then |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
120 |
AddGear(2794, 1759, gtTarget, 0, 0, 0, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
121 |
AddGear(2894, 1599, gtTarget, 0, 0, 0, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
122 |
AddGear(2994, 1419, gtTarget, 0, 0, 0, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
123 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
124 |
end |
11015 | 125 |
|
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
126 |
function onGameStart() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
127 |
placeGirders() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
128 |
spawnTargets() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
129 |
ShowMission(loc("Basic Bazooka Training"), loc("Basic Training"), loc("Destroy all the targets!"), -amBazooka, 0) |
11015 | 130 |
end |
131 |
||
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
132 |
function newGamePhase() |
14387
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
133 |
local ctrl = "" |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
134 |
-- Spawn targets, update wind and ammo, show instructions |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
135 |
if gamePhase == 0 then |
14387
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
136 |
if INTERFACE == "desktop" then |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
137 |
ctrl = loc("Open ammo menu: [Right click]").."|".. |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
138 |
loc("Select weapon: [Left click]") |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
139 |
elseif INTERFACE == "touch" then |
14393
cf49fac6e88a
Make better re-use of some mission strings
Wuzzy <Wuzzy2@mail.ru>
parents:
14387
diff
changeset
|
140 |
ctrl = loc("Open ammo menu: Tap the [Suitcase]") |
14387
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
141 |
end |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
142 |
ShowMission(loc("Basic Bazooka Training"), loc("Select Weapon"), loc("To begin with the training, select the bazooka from the ammo menu!").."|".. |
14387
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
143 |
ctrl, 2, 5000) |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
144 |
elseif gamePhase == 1 then |
14387
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
145 |
if INTERFACE == "desktop" then |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
146 |
ctrl = loc("Attack: [Space]").."|".. |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
147 |
loc("Aim: [Up]/[Down]").."|".. |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
148 |
loc("Walk: [Left]/[Right]") |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
149 |
elseif INTERFACE == "touch" then |
14393
cf49fac6e88a
Make better re-use of some mission strings
Wuzzy <Wuzzy2@mail.ru>
parents:
14387
diff
changeset
|
150 |
ctrl = loc("Attack: Tap the [Bomb]").."|".. |
14387
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
151 |
loc("Aim: [Up]/[Down]").."|".. |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
152 |
loc("Walk: [Left]/[Right]") |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
153 |
end |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
154 |
ShowMission(loc("Basic Bazooka Training"), loc("My First Bazooka"), |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
155 |
loc("Let's get started!").."|".. |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
156 |
loc("Launch some bazookas to destroy the targets!").."|".. |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
157 |
loc("Hold the Attack key pressed for more power.").."|".. |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
158 |
loc("Don't hit yourself!").."|".. |
14387
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
159 |
ctrl, 2, 10000) |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
160 |
spawnTargets() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
161 |
elseif gamePhase == 2 then |
14387
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
162 |
if INTERFACE == "desktop" then |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
163 |
ctrl = loc("You see the wind strength at the bottom right corner.") |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
164 |
elseif INTERFACE == "touch" then |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
165 |
ctrl = loc("You see the wind strength at the top.") |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
166 |
end |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
167 |
ShowMission(loc("Basic Bazooka Training"), loc("Wind"), loc("Bazookas are influenced by wind.").."|".. |
14387
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
168 |
ctrl.."|".. |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
169 |
loc("Destroy the targets!"), 2, 5000) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
170 |
SetWind(50) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
171 |
spawnTargets() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
172 |
elseif gamePhase == 3 then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
173 |
-- Vaporize any bazookas still in the air |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
174 |
for gear, _ in pairs(bazookaGears) do |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
175 |
AddVisualGear(GetX(gear), GetY(gear), vgtSteam, 0, false) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
176 |
DeleteGear(gear) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
177 |
PlaySound(sndVaporize) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
178 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
179 |
ShowMission(loc("Basic Bazooka Training"), loc("Limited Ammo"), loc("Your ammo is limited this time.").."|".. |
13189
3966ef529313
Basic Bazooka Training: Add one more target, make limited ammo section easier, add more hints
Wuzzy <Wuzzy2@mail.ru>
parents:
13170
diff
changeset
|
180 |
loc("Destroy all targets with no more than 10 bazookas."), |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
181 |
2, 8000) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
182 |
SetWind(-20) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
183 |
AddAmmo(hog, amBazooka, limitedAmmo) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
184 |
spawnTargets() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
185 |
elseif gamePhase == 4 then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
186 |
ShowMission(loc("Basic Bazooka Training"), loc("Bouncing Bomb"), loc("The next target can only be reached by something called “bouncing bomb”.").."|".. |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
187 |
loc("Hint: Launch the bazooka horizontally at full power."), |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
188 |
2, 8000) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
189 |
SetWind(90) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
190 |
spawnTargets() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
191 |
AddAmmo(hog, amBazooka, 100) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
192 |
if GetCurAmmoType() ~= amBazooka then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
193 |
SetWeapon(amBazooka) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
194 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
195 |
elseif gamePhase == 5 then |
13189
3966ef529313
Basic Bazooka Training: Add one more target, make limited ammo section easier, add more hints
Wuzzy <Wuzzy2@mail.ru>
parents:
13170
diff
changeset
|
196 |
ShowMission(loc("Basic Bazooka Training"), loc("High Target"), |
13359 | 197 |
loc("By the way, not only bazookas will bounce on water, but also grenades and many other things.").."|".. |
13189
3966ef529313
Basic Bazooka Training: Add one more target, make limited ammo section easier, add more hints
Wuzzy <Wuzzy2@mail.ru>
parents:
13170
diff
changeset
|
198 |
loc("The next target is high in the sky."), |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
199 |
2, 8000) |
13189
3966ef529313
Basic Bazooka Training: Add one more target, make limited ammo section easier, add more hints
Wuzzy <Wuzzy2@mail.ru>
parents:
13170
diff
changeset
|
200 |
SetWind(-33) |
3966ef529313
Basic Bazooka Training: Add one more target, make limited ammo section easier, add more hints
Wuzzy <Wuzzy2@mail.ru>
parents:
13170
diff
changeset
|
201 |
spawnTargets() |
3966ef529313
Basic Bazooka Training: Add one more target, make limited ammo section easier, add more hints
Wuzzy <Wuzzy2@mail.ru>
parents:
13170
diff
changeset
|
202 |
elseif gamePhase == 6 then |
14387
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
203 |
if INTERFACE == "desktop" then |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
204 |
ctrl = loc("Precise Aim: [Left Shift] + [Up]/[Down]").."|" |
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
205 |
end |
13189
3966ef529313
Basic Bazooka Training: Add one more target, make limited ammo section easier, add more hints
Wuzzy <Wuzzy2@mail.ru>
parents:
13170
diff
changeset
|
206 |
ShowMission(loc("Basic Bazooka Training"), loc("Final Targets"), |
3966ef529313
Basic Bazooka Training: Add one more target, make limited ammo section easier, add more hints
Wuzzy <Wuzzy2@mail.ru>
parents:
13170
diff
changeset
|
207 |
loc("The final targets are quite tricky. You need to aim well.").."|".. |
14387
f9d4b8222903
Add tutorial texts for Touch interface
Wuzzy <Wuzzy2@mail.ru>
parents:
13755
diff
changeset
|
208 |
ctrl.. |
13195 | 209 |
loc("Hint: It might be easier if you vary the angle only slightly."), |
13189
3966ef529313
Basic Bazooka Training: Add one more target, make limited ammo section easier, add more hints
Wuzzy <Wuzzy2@mail.ru>
parents:
13170
diff
changeset
|
210 |
2, 12000) |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
211 |
SetWind(75) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
212 |
spawnTargets() |
13189
3966ef529313
Basic Bazooka Training: Add one more target, make limited ammo section easier, add more hints
Wuzzy <Wuzzy2@mail.ru>
parents:
13170
diff
changeset
|
213 |
elseif gamePhase == 7 then |
14469
ead8928a59f8
Report mission victory for most missions
Wuzzy <Wuzzy2@mail.ru>
parents:
14393
diff
changeset
|
214 |
SaveMissionVar("Won", "true") |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
215 |
ShowMission(loc("Basic Bazooka Training"), loc("Training complete!"), loc("Congratulations!"), 0, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
216 |
SetInputMask(0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
217 |
AddAmmo(CurrentHedgehog, amBazooka, 0) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
218 |
if shotsFired > maxTargets then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
219 |
flawless = false |
13502
65c348d6c1fa
Add hidden bazooka training achievement for 100% accuracy
Wuzzy <Wuzzy2@mail.ru>
parents:
13359
diff
changeset
|
220 |
else |
65c348d6c1fa
Add hidden bazooka training achievement for 100% accuracy
Wuzzy <Wuzzy2@mail.ru>
parents:
13359
diff
changeset
|
221 |
-- For 100% accuracy |
65c348d6c1fa
Add hidden bazooka training achievement for 100% accuracy
Wuzzy <Wuzzy2@mail.ru>
parents:
13359
diff
changeset
|
222 |
awardAchievement(loc("Bazooka Master")) |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
223 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
224 |
if flawless then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
225 |
PlaySound(sndFlawless, hog) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
226 |
else |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
227 |
PlaySound(sndVictory, hog) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
228 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
229 |
SendStat(siCustomAchievement, loc("Good job!")) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
230 |
SendStat(siGameResult, loc("You have completed the Basic Bazooka Training!")) |
14485
208359558642
Use player-chosen team identity for training and a few challenges
Wuzzy <Wuzzy2@mail.ru>
parents:
14469
diff
changeset
|
231 |
SendStat(siPlayerKills, "0", GetHogTeamName(hog)) |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
232 |
EndGame() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
233 |
gameOver = true |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
234 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
235 |
gamePhase = gamePhase + 1 |
11015 | 236 |
end |
237 |
||
238 |
function onNewTurn() |
|
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
239 |
if gamePhase == 0 then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
240 |
newGamePhase() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
241 |
end |
11015 | 242 |
end |
243 |
||
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
244 |
function onHogAttack(ammoType) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
245 |
if ammoType == amBazooka then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
246 |
HideMission() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
247 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
248 |
end |
11015 | 249 |
|
13508
c5d7376fa58a
Bazooka/Grende training: Hide mission panel on pressing attack key
Wuzzy <Wuzzy2@mail.ru>
parents:
13502
diff
changeset
|
250 |
function onAttack() |
c5d7376fa58a
Bazooka/Grende training: Hide mission panel on pressing attack key
Wuzzy <Wuzzy2@mail.ru>
parents:
13502
diff
changeset
|
251 |
if GetCurAmmoType() == amBazooka then |
c5d7376fa58a
Bazooka/Grende training: Hide mission panel on pressing attack key
Wuzzy <Wuzzy2@mail.ru>
parents:
13502
diff
changeset
|
252 |
HideMission() |
c5d7376fa58a
Bazooka/Grende training: Hide mission panel on pressing attack key
Wuzzy <Wuzzy2@mail.ru>
parents:
13502
diff
changeset
|
253 |
end |
c5d7376fa58a
Bazooka/Grende training: Hide mission panel on pressing attack key
Wuzzy <Wuzzy2@mail.ru>
parents:
13502
diff
changeset
|
254 |
end |
c5d7376fa58a
Bazooka/Grende training: Hide mission panel on pressing attack key
Wuzzy <Wuzzy2@mail.ru>
parents:
13502
diff
changeset
|
255 |
|
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
256 |
function onGearAdd(gear) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
257 |
if GetGearType(gear) == gtTarget then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
258 |
targetsLeft = targetsLeft + 1 |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
259 |
maxTargets = maxTargets + 1 |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
260 |
targetGears[gear] = true |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
261 |
elseif GetGearType(gear) == gtShell then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
262 |
bazookasInGame = bazookasInGame + 1 |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
263 |
bazookaGears[gear] = true |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
264 |
shotsFired = shotsFired + 1 |
11015 | 265 |
end |
266 |
end |
|
267 |
||
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
268 |
function onGearDelete(gear) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
269 |
if GetGearType(gear) == gtTarget then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
270 |
targetsLeft = targetsLeft - 1 |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
271 |
targetGears[gear] = nil |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
272 |
if targetsLeft <= 0 then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
273 |
newGamePhase() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
274 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
275 |
elseif GetGearType(gear) == gtShell then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
276 |
bazookasInGame = bazookasInGame - 1 |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
277 |
bazookaGears[gear] = nil |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
278 |
if bazookasInGame == 0 and GetAmmoCount(hog, amBazooka) == 0 then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
279 |
limitedAmmoReset = 20 |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
280 |
flawless = false |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
281 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
282 |
end |
11015 | 283 |
end |
284 |
||
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
285 |
function onGearDamage(gear) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
286 |
if gear == hog then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
287 |
flawless = false |
11015 | 288 |
end |
289 |
end |
|
290 |
||
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
291 |
function onGameTick20() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
292 |
-- Reset targets and ammo if ammo depleted |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
293 |
if limitedAmmoReset > 0 then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
294 |
limitedAmmoReset = limitedAmmoReset - 20 |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
295 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
296 |
if limitedAmmoReset == 0 then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
297 |
if not gameOver and bazookasInGame == 0 and GetAmmoCount(hog, amBazooka) == 0 then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
298 |
for gear, _ in pairs(targetGears) do |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
299 |
DeleteGear(gear) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
300 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
301 |
spawnTargets(3) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
302 |
AddCaption(loc("Out of ammo! Try again!")) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
303 |
AddAmmo(hog, amBazooka, limitedAmmo) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
304 |
SetWeapon(amBazooka) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
305 |
missedTauntTimer = 1000 |
11015 | 306 |
end |
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
307 |
limitedAmmoReset = -1 |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
308 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
309 |
if missedTauntTimer > 0 then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
310 |
missedTauntTimer = missedTauntTimer - 20 |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
311 |
end |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
312 |
if missedTauntTimer == 0 then |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
313 |
PlaySound(sndMissed, hog) |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
314 |
missedTauntTimer = -1 |
11015 | 315 |
end |
13170
89a6b862e692
Bazooka/Grenade Training: Make weapon selection detection future-proof
Wuzzy <Wuzzy2@mail.ru>
parents:
13081
diff
changeset
|
316 |
|
89a6b862e692
Bazooka/Grenade Training: Make weapon selection detection future-proof
Wuzzy <Wuzzy2@mail.ru>
parents:
13081
diff
changeset
|
317 |
if not weaponSelected and gamePhase == 1 and GetCurAmmoType() == amBazooka then |
89a6b862e692
Bazooka/Grenade Training: Make weapon selection detection future-proof
Wuzzy <Wuzzy2@mail.ru>
parents:
13081
diff
changeset
|
318 |
newGamePhase() |
89a6b862e692
Bazooka/Grenade Training: Make weapon selection detection future-proof
Wuzzy <Wuzzy2@mail.ru>
parents:
13081
diff
changeset
|
319 |
weaponSelected = true |
89a6b862e692
Bazooka/Grenade Training: Make weapon selection detection future-proof
Wuzzy <Wuzzy2@mail.ru>
parents:
13081
diff
changeset
|
320 |
end |
11015 | 321 |
end |
322 |
||
13078
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
323 |
function onAmmoStoreInit() |
bd629a70b4a1
Complete redo of Basic Bazooka Training
Wuzzy <Wuzzy2@mail.ru>
parents:
12430
diff
changeset
|
324 |
SetAmmo(amBazooka, 9, 0, 0, 0) |
11015 | 325 |
end |