share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/enemy.lua
author Wuzzy <Wuzzy2@mail.ru>
Tue, 28 May 2019 17:04:48 +0200
changeset 15072 4c40266fae97
parent 15029 09c63d4bcf53
child 15167 9d4a6ab60dec
permissions -rw-r--r--
ACF9: Correct the contents of the code comments
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12794
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
     1
--[[
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
     2
A Classic Fairytale: The enemy of my enemy
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
     3
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
     4
= SUMMARY =
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
     5
Simple deathmatch on the Islands map.
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
     6
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
     7
= GOAL =
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
     8
Wipe out the Hedge-cogs and Leader teams
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
     9
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
    10
= FLOW CHART =
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
    11
- Cut scene: startAnim
15072
4c40266fae97 ACF9: Correct the contents of the code comments
Wuzzy <Wuzzy2@mail.ru>
parents: 15029
diff changeset
    12
- Player starts with 3-5 natives and 4 cannibals
4c40266fae97 ACF9: Correct the contents of the code comments
Wuzzy <Wuzzy2@mail.ru>
parents: 15029
diff changeset
    13
- Mission adds 1 native if m5DeployedNum ~= leaksNum and m8DeployedLeader == 0
4c40266fae97 ACF9: Correct the contents of the code comments
Wuzzy <Wuzzy2@mail.ru>
parents: 15029
diff changeset
    14
- Mission adds 1 native (princess) if m8PrincessLeader == 0
13144
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
    15
- Enemy starts with 5 cyborgs
12794
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
    16
- TBS
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
    17
- Goal completed
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
    18
- Cut scene: finalAnim
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
    19
> Victory
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
    20
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
    21
]]
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12364
diff changeset
    22
8043
da083f8d95e6 We need custom script loading function in lua now
unc0rr
parents: 7530
diff changeset
    23
HedgewarsScriptLoad("/Scripts/Locale.lua")
da083f8d95e6 We need custom script loading function in lua now
unc0rr
parents: 7530
diff changeset
    24
HedgewarsScriptLoad("/Scripts/Animate.lua")
14876
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
    25
HedgewarsScriptLoad("/Scripts/Utils.lua")
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    26
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    27
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    28
--------------------------------------------Constants------------------------------------
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    29
choiceAccepted = 1
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    30
choiceRefused = 2
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    31
choiceAttacked = 3
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    32
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    33
choiceEliminate = 1
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    34
choiceSpare = 2
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    35
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    36
leaksNum = 1
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    37
denseNum = 2
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    38
waterNum = 3
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    39
buffaloNum = 4
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    40
chiefNum = 5
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    41
girlNum = 6
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    42
wiseNum = 7
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    43
ramonNum = 8
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    44
spikyNum = 9
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    45
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    46
denseScene = 1
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    47
princessScene = 2
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    48
waterScene = 3
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    49
cyborgScene = 4
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    50
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    51
nativeNames = {loc("Leaks A Lot"), loc("Dense Cloud"), loc("Fiery Water"), 
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    52
               loc("Raging Buffalo"), loc("Righteous Beard"), loc("Fell From Grace"),
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    53
               loc("Wise Oak"), loc("Ramon"), loc("Spiky Cheese")
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    54
              }
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    55
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    56
nativeHats = {"Rambo", "RobinHood", "pirate_jack", "zoo_Bunny", "IndianChief",
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    57
              "tiara", "AkuAku", "rasta", "hair_yellow"}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    58
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    59
nativePos = {{1259, 120}, {2378, 796}, {424, 1299}, {3322, 260}, {1022, 1550}}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    60
nativeDir = {"Right", "Left", "Right", "Left", "Right"}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    61
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    62
cannibalNames = {loc("Honest Lee"), loc("Vegan Jack"), loc("Sirius Lee"),
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    63
                 loc("Brutal Lily")}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    64
cannibalPos = {{162, 266}, {2159, 1517}, {3311, 1621}, {1180, 1560}}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    65
cannibalDir = {"Right", "Left", "Left", "Right"}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    66
cannibalsNum = 4
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    67
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    68
playersDir = {"Right", "Left", "Right", "Left", "Right", "Right", "Left", "Left", "Right"}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    69
playersAntiDir = {"Left", "Right", "Left", "Right", "Left", "Left", "Right", "Right", "Left"}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    70
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    71
cyborgNames = {loc("Smith 0.97"), loc("Smith 0.98"), loc("Smith 0.99a"),
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    72
               loc("Smith 0.99b"), loc("Smith 0.99f"), loc("Smith 1.0")}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    73
cyborgPos = {{2162, 20}, {2458, 564}, {542, 1133}, {3334, 1427}}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    74
cyborgDir = "Right"
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    75
cyborgsNum = 6
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    76
cyborgsPos = {{1490, 330}, {1737, 1005}, {2972, 922}, {1341, 1571},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    77
              {751, 543}, {3889, 907}}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    78
cyborgsDir = {"Right", "Right", "Left", "Right", "Right", "Left"}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    79
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    80
leaderPos = {3474, 151}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    81
leaderDir = "Left"
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    82
14485
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
    83
cyborgTeamName = nil
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
    84
nativesTeamName = nil
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
    85
cannibalsTeamName = nil
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
    86
hedgecogsTeamName = nil
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
    87
leaderTeamName = nil
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
    88
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    89
-----------------------------Variables---------------------------------
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    90
natives = {}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    91
origNatives = {}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    92
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    93
cyborgs = {}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    94
cyborg = nil
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    95
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    96
cannibals = {}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    97
players = {}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    98
leader = nil
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    99
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   100
gearDead = {}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   101
hedgeHidden = {}
14876
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   102
trackedMines = {}
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   103
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   104
startAnim = {}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   105
finalAnim = {}
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   106
-----------------------------Animations--------------------------------
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   107
function CondNeedToTurn(hog1, hog2)
15029
09c63d4bcf53 ACF: Add some checks before calling StoppedGear
Wuzzy <Wuzzy2@mail.ru>
parents: 15019
diff changeset
   108
  if (not GetHealth(hog1)) or (not GetHealth(hog2)) then
09c63d4bcf53 ACF: Add some checks before calling StoppedGear
Wuzzy <Wuzzy2@mail.ru>
parents: 15019
diff changeset
   109
    return
09c63d4bcf53 ACF: Add some checks before calling StoppedGear
Wuzzy <Wuzzy2@mail.ru>
parents: 15019
diff changeset
   110
  end
09c63d4bcf53 ACF: Add some checks before calling StoppedGear
Wuzzy <Wuzzy2@mail.ru>
parents: 15019
diff changeset
   111
  local xl, xd = GetX(hog1), GetX(hog2)
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   112
  if xl > xd then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   113
    AnimInsertStepNext({func = AnimTurn, args = {hog1, "Left"}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   114
    AnimInsertStepNext({func = AnimTurn, args = {hog2, "Right"}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   115
  elseif xl < xd then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   116
    AnimInsertStepNext({func = AnimTurn, args = {hog2, "Left"}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   117
    AnimInsertStepNext({func = AnimTurn, args = {hog1, "Right"}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   118
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   119
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   120
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   121
function CondNeedToTurn2(hog1, hog2)
15029
09c63d4bcf53 ACF: Add some checks before calling StoppedGear
Wuzzy <Wuzzy2@mail.ru>
parents: 15019
diff changeset
   122
  if (not GetHealth(hog1)) or (not GetHealth(hog2)) then
09c63d4bcf53 ACF: Add some checks before calling StoppedGear
Wuzzy <Wuzzy2@mail.ru>
parents: 15019
diff changeset
   123
    return
09c63d4bcf53 ACF: Add some checks before calling StoppedGear
Wuzzy <Wuzzy2@mail.ru>
parents: 15019
diff changeset
   124
  end
09c63d4bcf53 ACF: Add some checks before calling StoppedGear
Wuzzy <Wuzzy2@mail.ru>
parents: 15019
diff changeset
   125
  local xl, xd = GetX(hog1), GetX(hog2)
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   126
  if xl > xd then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   127
    AnimTurn(hog1, "Left")
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   128
    AnimTurn(hog2, "Right")
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   129
  elseif xl < xd then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   130
    AnimTurn(hog2, "Left")
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   131
    AnimTurn(hog1, "Right")
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   132
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   133
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   134
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   135
function EmitDenseClouds(dir)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   136
  local dif
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   137
  if dir == "Left" then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   138
    dif = 10
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   139
  else
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   140
    dif = -10
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   141
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   142
  if dir == nil then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   143
    dx, dy = GetGearVelocity(dense)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   144
    if dx < 0 then 
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   145
      dif = 10
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   146
    else 
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   147
      dif = -10
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   148
    end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   149
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   150
  AnimInsertStepNext({func = AnimVisualGear, args = {dense, GetX(dense) + dif, GetY(dense) + dif, vgtSteam, 0, true}, swh = false})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   151
  AnimInsertStepNext({func = AnimVisualGear, args = {dense, GetX(dense) + dif, GetY(dense) + dif, vgtSteam, 0, true}, swh = false})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   152
  AnimInsertStepNext({func = AnimVisualGear, args = {dense, GetX(dense) + dif, GetY(dense) + dif, vgtSteam, 0, true}, swh = false})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   153
  AnimInsertStepNext({func = AnimWait, args = {dense, 800}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   154
  AnimInsertStepNext({func = AnimVisualGear, args = {dense, GetX(dense) + dif, GetY(dense) + dif, vgtSteam, 0, true}, swh = false})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   155
  AnimInsertStepNext({func = AnimVisualGear, args = {dense, GetX(dense) + dif, GetY(dense) + dif, vgtSteam, 0, true}, swh = false})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   156
  AnimInsertStepNext({func = AnimWait, args = {dense, 800}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   157
  AnimInsertStepNext({func = AnimVisualGear, args = {dense, GetX(dense) + dif, GetY(dense) + dif, vgtSteam, 0, true}, swh = false})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   158
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   159
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   160
function RestoreNatives(cgi)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   161
  for i = 1, playersNum do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   162
    RestoreHedge(players[i])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   163
    AnimOutOfNowhere(players[i], GetGearPosition(players[i]))
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   164
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   165
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   166
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   167
function AnimationSetup()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   168
  SetupCyborgStartAnim()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   169
  SetupPeopleStartAnim()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   170
  SetupEnemyStartAnim()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   171
  AddSkipFunction(startAnim, SkipStartAnim, {})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   172
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   173
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   174
function SetupCyborgStartAnim()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   175
  table.insert(startAnim, {func = AnimWait, args = {cyborg, 3000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   176
  table.insert(startAnim, {func = AnimTurn, args = {cyborg, "Left"}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   177
  table.insert(startAnim, {func = AnimWait, args = {cyborg, 800}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   178
  table.insert(startAnim, {func = AnimTurn, args = {cyborg, "Right"}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   179
  table.insert(startAnim, {func = AnimWait, args = {cyborg, 800}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   180
  table.insert(startAnim, {func = AnimTurn, args = {cyborg, "Left"}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   181
  table.insert(startAnim, {func = AnimWait, args = {cyborg, 800}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   182
  table.insert(startAnim, {func = AnimTeleportGear, args = {cyborg, unpack(cyborgPos[2])}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   183
  table.insert(startAnim, {func = AnimWait, args = {cyborg, 800}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   184
  table.insert(startAnim, {func = AnimTurn, args = {cyborg, "Right"}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   185
  table.insert(startAnim, {func = AnimWait, args = {cyborg, 800}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   186
  table.insert(startAnim, {func = AnimTurn, args = {cyborg, "Left"}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   187
  table.insert(startAnim, {func = AnimWait, args = {cyborg, 800}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   188
  table.insert(startAnim, {func = AnimTeleportGear, args = {cyborg, unpack(cyborgPos[3])}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   189
  table.insert(startAnim, {func = AnimWait, args = {cyborg, 1800}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   190
  table.insert(startAnim, {func = AnimTeleportGear, args = {cyborg, unpack(cyborgPos[4])}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   191
  table.insert(startAnim, {func = AnimWait, args = {cyborg, 800}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   192
  table.insert(startAnim, {func = AnimSay, args = {cyborg, loc("Everything looks OK..."), SAY_THINK, 2500}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   193
  table.insert(startAnim, {func = AnimSay, args = {cyborg, loc("This will be fun!"), SAY_THINK, 2500}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   194
  table.insert(startAnim, {func = AnimJump, args = {cyborg, "high"}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   195
  table.insert(startAnim, {func = AnimCustomFunction, args = {cyborg, RestoreNatives, {true}}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   196
  table.insert(startAnim, {func = AnimSay, args = {cyborg, loc("HAHA!"), SAY_SHOUT, 2000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   197
  table.insert(startAnim, {func = AnimSwitchHog, args = {players[1]}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   198
  table.insert(startAnim, {func = AnimDisappear, swh = false, args = {cyborg, unpack(cyborgPos[4])}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   199
  table.insert(startAnim, {func = HideHedge, swh = false, args = {cyborg}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   200
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   201
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   202
function SetupPeopleStartAnim()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   203
  for i = 1, playersNum do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   204
    table.insert(startAnim, {func = AnimTurn, swh = false, args = {players[i], playersAntiDir[i]}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   205
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   206
  table.insert(startAnim, {func = AnimWait, args = {players[1], 800}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   207
  for i = 1, playersNum do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   208
    table.insert(startAnim, {func = AnimTurn, swh = false, args = {players[i], playersDir[i]}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   209
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   210
  table.insert(startAnim, {func = AnimWait, args = {players[1], 800}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   211
  table.insert(startAnim, {func = AnimSay, args = {players[1], loc("What is this place?"), SAY_SHOUT, 2500}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   212
  if m5LeaksDead == 1 then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   213
    table.insert(startAnim, {func = AnimSay, args = {players[1], loc("And how am I alive?!"), SAY_SAY, 3000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   214
  end
13144
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   215
  local playerTalker
15072
4c40266fae97 ACF9: Correct the contents of the code comments
Wuzzy <Wuzzy2@mail.ru>
parents: 15029
diff changeset
   216
  -- Number of natives varies in this mission. One of them takes part in the dialog
13144
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   217
  if nativesNum >= 4 then
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   218
     playerTalker = players[4]
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   219
  else
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   220
     playerTalker = players[3]
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   221
  end
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   222
  table.insert(startAnim, {func = AnimCustomFunction, args = {players[1], CondNeedToTurn, {players[1], players[2]}}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   223
  table.insert(startAnim, {func = AnimSay, args = {players[2], loc("It must be the cyborgs again!"), SAY_SAY, 4000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   224
  table.insert(startAnim, {func = AnimSay, args = {players[3], loc("Looks like the whole world is falling apart!"), SAY_SAY, 6000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   225
  table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("Look out! We're surrounded by cannibals!"), SAY_SHOUT, 6000}})
13144
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   226
  table.insert(startAnim, {func = AnimCustomFunction, args = {playerTalker, CondNeedToTurn, {playerTalker, cannibals[1]}}})
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   227
  table.insert(startAnim, {func = AnimCustomFunction, args = {playerTalker, CondNeedToTurn, {players[1], cannibals[1]}}})
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   228
  table.insert(startAnim, {func = AnimSay, args = {playerTalker, loc("Cannibals?! You're the cannibals!"), SAY_SHOUT, 4000}})
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   229
  table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("WHAT?! You're the ones attacking us!"), SAY_SHOUT, 5000}})
13144
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   230
  table.insert(startAnim, {func = AnimSay, args = {playerTalker, loc("You have kidnapped our whole tribe!"), SAY_SHOUT, 4000}})
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   231
  table.insert(startAnim, {func = AnimSay, args = {players[1], loc("You've been assaulting us, we have been just defending ourselves!"), SAY_SHOUT, 8000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   232
  table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("I can't believe this!"), SAY_SHOUT, 3000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   233
  table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("Have we ever attacked you first?"), SAY_SHOUT, 5000}})
13144
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   234
  table.insert(startAnim, {func = AnimSay, args = {playerTalker, loc("Yes!"), SAY_SHOUT, 2000}})
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   235
  table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("When?"), SAY_SHOUT, 2000}})
13144
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   236
  table.insert(startAnim, {func = AnimSay, args = {playerTalker, loc("Uhmm...ok no."), SAY_SHOUT, 2000}})
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   237
  table.insert(startAnim, {func = AnimSay, args = {players[1], loc("But you're cannibals. It's what you do."), SAY_SHOUT, 5000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   238
  table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("Again with the 'cannibals' thing!"), SAY_SHOUT, 4000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   239
  table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("Where do you get that?!"), SAY_SHOUT, 3000}})
13144
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   240
  table.insert(startAnim, {func = AnimSay, args = {playerTalker, loc("Everyone knows this."), SAY_SHOUT, 2500}})
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   241
  table.insert(startAnim, {func = AnimSay, args = {players[1], loc("I didn't until about a month ago."), SAY_SHOUT, 4000}})
13144
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   242
  table.insert(startAnim, {func = AnimSay, args = {playerTalker, loc("Hmmm...actually...I didn't either."), SAY_SHOUT, 4000}})
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   243
  table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("About a month ago, a cyborg came and told us that you're the cannibals!"), SAY_SHOUT, 8000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   244
  table.insert(startAnim, {func = AnimSay, args = {players[1], loc("A cy-what?"), SAY_SHOUT, 2000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   245
  table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("Cyborg. It's what the aliens call themselves."), SAY_SHOUT, 5000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   246
  table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("They told us to wear these clothes. They said that this is the newest trend."), SAY_SHOUT, 8000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   247
  table.insert(startAnim, {func = AnimSay, args = {players[1], loc("They've been manipulating us all this time!"), SAY_SHOUT, 5000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   248
  table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("They must be trying to weaken us!"), SAY_SHOUT, 5000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   249
  table.insert(startAnim, {func = AnimSay, args = {players[1], loc("We have to unite and defeat those cylergs!"), SAY_SHOUT, 5000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   250
  table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("We can't let them take over our little island!"), SAY_SHOUT, 5000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   251
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   252
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   253
function RestoreCyborgs(cgi)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   254
  if cyborgsRestored == true then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   255
    return
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   256
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   257
  for i = 1, cyborgsNum do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   258
    RestoreHedge(cyborgs[i])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   259
    if cgi == true then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   260
      AnimOutOfNowhere(cyborgs[i], unpack(cyborgsPos[i]))
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   261
    end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   262
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   263
  RestoreHedge(leader)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   264
  AnimOutOfNowhere(leader, unpack(leaderPos))
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   265
  cyborgsRestored = true
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   266
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   267
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   268
function SetupEnemyStartAnim()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   269
  local gear
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   270
  table.insert(startAnim, {func = AnimCustomFunction, args = {cannibals[1], RestoreCyborgs, {true}}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   271
  if m8EnemyFled == 1 then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   272
    gear = leader
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   273
  else
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   274
    gear = cyborgs[2]
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   275
  end
13144
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   276
  local turnPlayer
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   277
  if nativesNum >= 4 then
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   278
    turnPlayer = players[4]
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   279
  else
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   280
    turnPlayer = players[3]
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   281
  end
9a0b1288315e ACF9: Fix cannibal talking to himself in cut scene if playing with 3 natives instead of 4
Wuzzy <Wuzzy2@mail.ru>
parents: 13139
diff changeset
   282
  table.insert(startAnim, {func = AnimCustomFunction, args = {players[1], CondNeedToTurn, {turnPlayer, gear}}})
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   283
  table.insert(startAnim, {func = AnimCustomFunction, args = {players[1], CondNeedToTurn, {players[1], gear}}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   284
  table.insert(startAnim, {func = AnimSay, args = {gear, loc("You have finally figured it out!"), SAY_SHOUT, 4500}})
7527
35d154745d7a All missions: switched blood needers with meatbags in dialogues
belphegorr <szabibibi@gmail.com>
parents: 7512
diff changeset
   285
  table.insert(startAnim, {func = AnimSay, args = {gear, loc("You meatbags are pretty slow, you know!"), SAY_SHOUT, 5500}})
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   286
  table.insert(startAnim, {func = AnimSay, args = {players[1], loc("Why do you want to take over our island?"), SAY_SHOUT, 5500}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   287
  table.insert(startAnim, {func = AnimSay, args = {gear, loc("Do you have any idea how valuable grass is?"), SAY_SHOUT, 5500}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   288
  table.insert(startAnim, {func = AnimSay, args = {gear, loc("This island is the only place left on Earth with grass on it!"), SAY_SHOUT, 7000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   289
  table.insert(startAnim, {func = AnimSay, args = {gear, loc("It's worth more than wood!"), SAY_SHOUT, 4000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   290
  table.insert(startAnim, {func = AnimSay, args = {gear, loc("That makes it almost invaluable!"), SAY_SHOUT, 4500}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   291
  table.insert(startAnim, {func = AnimSay, args = {players[1], loc("We have nowhere else to live!"), SAY_SHOUT, 4500}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   292
  table.insert(startAnim, {func = AnimSay, args = {gear, loc("That's not our problem!"), SAY_SHOUT, 4500}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   293
  table.insert(startAnim, {func = AnimSay, args = {players[1], loc("We'll give you a problem then!"), SAY_SHOUT, 5000}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   294
  table.insert(startAnim, {func = AnimSwitchHog, args = {gear}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   295
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   296
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   297
function SetupFinalAnim()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   298
  finalAnim = {
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   299
    {func = AnimGearWait, args = {cyborg, 1000}},
7530
0ba32e5412ce Final checkpoint w/ campaign.
nemo
parents: 7527
diff changeset
   300
    {func = AnimSay, args = {cyborg, loc("Nicely done, meatbags!"), SAY_SAY, 3000}},
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   301
    {func = AnimSay, args = {cyborg, loc("You have won the game by proving true cooperative skills!"), SAY_SAY, 7000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   302
    {func = AnimSay, args = {cyborg, loc("You have proven yourselves worthy!"), SAY_SAY, 4000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   303
    {func = AnimSay, args = {players[1], loc("Game? Was this a game to you?!"), SAY_SAY, 4000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   304
    {func = AnimSay, args = {cyborg, loc("Well, yes. This was a cyborg television show."), SAY_SAY, 5500}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   305
    {func = AnimSay, args = {cyborg, loc("It is called 'Hogs of Steel'."), SAY_SAY, 4000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   306
    {func = AnimSay, args = {players[1], loc("Are you saying that many of us have died for your entertainment?"), SAY_SAY, 8000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   307
    {func = AnimSay, args = {players[1], loc("Our tribe, our beautiful island!"), SAY_SAY, 4000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   308
    {func = AnimSay, args = {players[1], loc("All gone...everything!"), SAY_SAY, 3000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   309
    {func = AnimSay, args = {cyborg, loc("But the ones alive are stronger in their heart!"), SAY_SAY, 6000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   310
    {func = AnimSay, args = {cyborg, loc("Just kidding, none of you have died!"), SAY_SAY, 5000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   311
    {func = AnimSay, args = {cyborg, loc("I mean, none of you ceased to live."), SAY_SAY, 5000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   312
    {func = AnimSay, args = {cyborg, loc("You'll see what I mean!"), SAY_SAY, 4000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   313
    {func = AnimSay, args = {cyborg, loc("They are all waiting back in the village, haha."), SAY_SAY, 7000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   314
    {func = AnimSay, args = {players[1], loc("You are playing with our lives here!"), SAY_SAY, 6000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   315
    {func = AnimSay, args = {players[1], loc("Do you think you're some kind of god?"), SAY_SAY, 6000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   316
    {func = AnimSay, args = {cyborg, loc("Interesting idea, haha!"), SAY_SAY, 2000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   317
    {func = AnimSwitchHog, args = {players[1]}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   318
    {func = AnimWait, args = {players[1], 1}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   319
    {func = AnimDisappear, swh = false, args = {cyborg, unpack(cyborgPos[4])}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   320
    {func = HideHedge, swh = false, args = {cyborg}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   321
    {func = AnimSay, args = {players[1], loc("What a douche!"), SAY_SAY, 2000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   322
  }
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   323
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   324
--------------------------Anim skip functions--------------------------
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   325
function SkipStartAnim()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   326
  RestoreNatives()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   327
  RestoreCyborgs()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   328
  SetGearMessage(CurrentHedgehog, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   329
  AnimSwitchHog(cyborgs[1])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   330
  AnimWait(cyborg, 1)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   331
  AddFunction({func = HideHedge, args = {cyborg}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   332
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   333
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   334
function AfterStartAnim()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   335
  ShowMission(loc("The Enemy Of My Enemy"), loc("The Union"), loc("Defeat the cyborgs!"), 1, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   336
  PutWeaponCrates()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   337
  PutHealthCrates()
12364
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   338
  EndTurn(true)
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   339
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   340
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   341
function PutHealthCrates()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   342
  for i = 1, 10 do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   343
    SpawnHealthCrate(0, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   344
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   345
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   346
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   347
function PutWeaponCrates()
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12794
diff changeset
   348
  SpawnSupplyCrate(2399, 622, amNapalm, 2)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12794
diff changeset
   349
  SpawnSupplyCrate(2199, -18, amBee, 2)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12794
diff changeset
   350
  SpawnSupplyCrate(2088, 430, amBee, 2)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12794
diff changeset
   351
  SpawnSupplyCrate(237, 20, amMortar, 4)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12794
diff changeset
   352
  SpawnSupplyCrate(312, 1107, amMolotov, 3)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12794
diff changeset
   353
  SpawnSupplyCrate(531, 1123, amWatermelon, 2)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12794
diff changeset
   354
  SpawnSupplyCrate(1253, 1444, amFlamethrower, 5)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12794
diff changeset
   355
  SpawnSupplyCrate(994, 1364, amBaseballBat, 3)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12794
diff changeset
   356
  SpawnSupplyCrate(1104, 1553, amMine, 6)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12794
diff changeset
   357
  SpawnSupplyCrate(2277, 803, amDynamite, 2)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12794
diff changeset
   358
  SpawnSupplyCrate(1106, 184, amRCPlane, 3)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12794
diff changeset
   359
  SpawnSupplyCrate(1333, 28, amSMine, 4)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12794
diff changeset
   360
  SpawnSupplyCrate(90, 279, amAirAttack, 2)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12794
diff changeset
   361
  SpawnSupplyCrate(288, 269, amBee, 2)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12794
diff changeset
   362
  SpawnSupplyCrate(818, 1633, amBaseballBat, 2)
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   363
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   364
-----------------------------Events------------------------------------
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   365
function CheckNativesDead()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   366
  return nativesLeft == 0
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   367
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   368
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   369
function CheckCannibalsDead()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   370
  return cannibalsLeft == 0
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   371
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   372
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   373
function CheckPlayersDead()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   374
  return playersLeft == 0
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   375
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   376
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   377
function CheckCyborgsDead()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   378
  return (cyborgsLeft == 0 and (leader == nil or gearDead[leader] == true))
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   379
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   380
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   381
function DoNativesDead()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   382
  nativesDeadFresh = true
12364
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   383
  EndTurn(true)
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   384
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   385
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   386
function DoCannibalsDead()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   387
  cannibalsDeadFresh = true
12364
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   388
  EndTurn(true)
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   389
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   390
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   391
function DoPlayersDead()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   392
  RemoveEventFunc(CheckNativesDead)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   393
  RemoveEventFunc(CheckCannibalsDead)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   394
  RemoveEventFunc(CheckCyborgsDead)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   395
  playersDeadFresh = true
12364
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   396
  EndTurn(true)
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   397
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   398
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   399
function DoCyborgsDead()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   400
--  RemoveEventFunc(CheckNativesDead)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   401
--  RemoveEventFunc(CheckCannibalsDead)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   402
  cyborgsDeadFresh= true
12364
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   403
  EndTurn(true)
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   404
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   405
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   406
function CheckGearsDead(gearList)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   407
  for i = 1, # gearList do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   408
    if gearDead[gearList[i]] ~= true then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   409
      return false
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   410
    end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   411
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   412
  return true
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   413
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   414
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   415
function CheckGearDead(gear)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   416
  return gearDead[gear]
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   417
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   418
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   419
function FailedMission()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   420
  RestoreHedge(cyborg)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   421
  AnimOutOfNowhere(cyborg, unpack(cyborgPos[1]))
14876
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   422
  ClearMinesAroundCyborg()
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   423
  if CheckCyborgsDead() then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   424
    AnimSay(cyborg, loc("Hmmm...it's a draw. How unfortunate!"), SAY_THINK, 6000)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   425
  elseif leader ~= nil then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   426
    CondNeedToTurn2(cyborg, leader)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   427
    AddAnim({{func = AnimSay, args = {leader, loc("Yay, we won!"), SAY_SAY, 2000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   428
             {func = AnimSay, args = {cyborg, loc("Nice work!"), SAY_SAY, 2000}}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   429
  else
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   430
    CondNeedToTurn2(cyborg, cyborgs[1])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   431
    AddAnim({{func = AnimSay, args = {cyborgs[1], loc("Yay, we won!"), SAY_SAY, 2000}},
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   432
             {func = AnimSay, args = {cyborg, loc("Nice work!"), SAY_SAY, 2000}}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   433
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   434
  AddFunction({func = LoseMission, args = {}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   435
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   436
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   437
function LoseMission()
14485
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
   438
  DismissTeam(nativesTeamName)
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
   439
  DismissTeam(cannibalsTeamName)
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
   440
  DismissTeam(cyborgTeamName)
12364
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   441
  EndTurn(true)
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   442
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   443
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   444
function WonMission()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   445
  RestoreHedge(cyborg)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   446
  CondNeedToTurn2(cyborg, players[1])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   447
  SetupFinalAnim()
14876
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   448
  ClearMinesAroundCyborg()
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   449
  AddAnim(finalAnim)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   450
  AddFunction({func = WinMission, args = {}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   451
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   452
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   453
function WinMission()
8944
ed2509832311 fix bug that locked unlocked campaign missions, see issue 452
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8043
diff changeset
   454
  if progress and progress<9 then
ed2509832311 fix bug that locked unlocked campaign missions, see issue 452
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8043
diff changeset
   455
    SaveCampaignVar("Progress", "9")
ed2509832311 fix bug that locked unlocked campaign missions, see issue 452
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8043
diff changeset
   456
  end
14485
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
   457
  DismissTeam(cyborgTeamName)
12364
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   458
  EndTurn(true)
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   459
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   460
-----------------------------Misc--------------------------------------
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   461
function HideHedge(hedge)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   462
  if hedgeHidden[hedge] ~= true then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   463
    HideHog(hedge)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   464
    hedgeHidden[hedge] = true
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   465
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   466
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   467
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   468
function RestoreHedge(hedge)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   469
  if hedgeHidden[hedge] == true then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   470
    RestoreHog(hedge)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   471
    hedgeHidden[hedge] = false
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   472
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   473
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   474
14876
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   475
function ClearMinesAroundCyborg()
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   476
  if GetHealth(cyborg) then
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   477
    local vaporized = 0
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   478
    for mine, _ in pairs(trackedMines) do
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   479
       if GetHealth(mine) and GetHealth(cyborg) and gearIsInBox(mine, GetX(cyborg) - 50, GetY(cyborg) - 50, 100, 100) == true then
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   480
          AddVisualGear(GetX(mine), GetY(mine), vgtSmoke, 0, false)
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   481
          DeleteGear(mine)
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   482
          vaporized = vaporized + 1
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   483
       end
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   484
    end
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   485
    if vaporized > 0 then
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   486
       PlaySound(sndVaporize)
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   487
    end
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   488
  end
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   489
end
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   490
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   491
function GetVariables()
8944
ed2509832311 fix bug that locked unlocked campaign missions, see issue 452
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8043
diff changeset
   492
  progress = tonumber(GetCampaignVar("Progress"))
13145
5083fb0a2992 A Classic Fairytale: Harden all missions against missing campaign variables in team file and assume default values
Wuzzy <Wuzzy2@mail.ru>
parents: 13144
diff changeset
   493
  m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum")) or leaksNum
5083fb0a2992 A Classic Fairytale: Harden all missions against missing campaign variables in team file and assume default values
Wuzzy <Wuzzy2@mail.ru>
parents: 13144
diff changeset
   494
  m2Choice = tonumber(GetCampaignVar("M2Choice")) or choiceRefused
5083fb0a2992 A Classic Fairytale: Harden all missions against missing campaign variables in team file and assume default values
Wuzzy <Wuzzy2@mail.ru>
parents: 13144
diff changeset
   495
  m5Choice = tonumber(GetCampaignVar("M5Choice")) or choiceEliminate
14661
0bba06a05d52 ACF: Dump unused campaign vars, use fallback values
Wuzzy <Wuzzy2@mail.ru>
parents: 14487
diff changeset
   496
  m5LeaksDead = tonumber(GetCampaignVar("M5LeaksDead")) or 0
13145
5083fb0a2992 A Classic Fairytale: Harden all missions against missing campaign variables in team file and assume default values
Wuzzy <Wuzzy2@mail.ru>
parents: 13144
diff changeset
   497
  m8DeployedLeader = tonumber(GetCampaignVar("M8DeployedLeader")) or 0
5083fb0a2992 A Classic Fairytale: Harden all missions against missing campaign variables in team file and assume default values
Wuzzy <Wuzzy2@mail.ru>
parents: 13144
diff changeset
   498
  m8PrincessLeader = tonumber(GetCampaignVar("M8PrincessLeader")) or 1
14661
0bba06a05d52 ACF: Dump unused campaign vars, use fallback values
Wuzzy <Wuzzy2@mail.ru>
parents: 14487
diff changeset
   499
  m8EnemyFled = tonumber(GetCampaignVar("M8EnemyFled")) or 0
13145
5083fb0a2992 A Classic Fairytale: Harden all missions against missing campaign variables in team file and assume default values
Wuzzy <Wuzzy2@mail.ru>
parents: 13144
diff changeset
   500
  m8Scene = tonumber(GetCampaignVar("M8Scene")) or princessScene
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   501
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   502
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   503
function SetupPlace()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   504
  for i = 1, playersNum do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   505
    HideHedge(players[i])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   506
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   507
  for i = 1, cyborgsNum do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   508
    HideHedge(cyborgs[i])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   509
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   510
  if leader ~= nil then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   511
    HideHedge(leader)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   512
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   513
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   514
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   515
function SetupEvents()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   516
  AddNewEvent(CheckPlayersDead, {}, DoPlayersDead, {}, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   517
  AddNewEvent(CheckNativesDead, {}, DoNativesDead, {}, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   518
  AddNewEvent(CheckCannibalsDead, {}, DoCannibalsDead, {}, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   519
  AddNewEvent(CheckCyborgsDead, {}, DoCyborgsDead, {}, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   520
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   521
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   522
function SetupAmmo()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   523
  AddAmmo(cyborgs[1], amClusterBomb, 100)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   524
  AddAmmo(cyborgs[1], amMortar, 100)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   525
  AddAmmo(cyborgs[1], amDynamite, 2)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   526
  AddAmmo(cyborgs[1], amAirAttack, 2)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   527
  AddAmmo(cyborgs[1], amTeleport, 100)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   528
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   529
  if leader ~= nil then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   530
    AddAmmo(leader, amClusterBomb, 100)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   531
    AddAmmo(leader, amMortar, 100)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   532
    AddAmmo(leader, amDynamite, 100)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   533
    AddAmmo(leader, amAirAttack, 3)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   534
    AddAmmo(leader, amTeleport, 100)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   535
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   536
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   537
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   538
function AddHogs()
14932
ff4003a90ff8 Enable automatic voicepack language selection for all missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14898
diff changeset
   539
  cyborgTeamName = AddTeam(loc("011101001"), -1, "ring", "UFO", "Robot_qau", "cm_binary")
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   540
  cyborg = AddHog(loc("Unit 334a$7%;.*"), 0, 200, "cyborg1")
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   541
14486
f8c2b995c009 Use player team name in ACF campaign
Wuzzy <Wuzzy2@mail.ru>
parents: 14485
diff changeset
   542
  nativesTeamName = AddMissionTeam(-2)
15072
4c40266fae97 ACF9: Correct the contents of the code comments
Wuzzy <Wuzzy2@mail.ru>
parents: 15029
diff changeset
   543
  -- There are 3-5 natives in this mission
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   544
  natives[1] = AddHog(nativeNames[leaksNum], 0, 100, nativeHats[leaksNum])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   545
  if m5DeployedNum ~= leaksNum and m8DeployedLeader == 0 then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   546
    natives[2] = AddHog(nativeNames[m5DeployedNum], 0, 100, nativeHats[m5DeployedNum])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   547
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   548
  table.insert(natives, AddHog(nativeNames[ramonNum], 0, 100, nativeHats[ramonNum]))
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   549
  table.insert(natives, AddHog(nativeNames[spikyNum], 0, 100, nativeHats[spikyNum]))
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   550
  if m8PrincessLeader == 0 then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   551
    table.insert(natives, AddHog(loc("Fell From Heaven"), 0, 100, "tiara"))
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   552
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   553
  nativesNum = #natives
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   554
  nativesLeft = nativesNum
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   555
  cannibalsLeft = cannibalsNum
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   556
  for i = 1, nativesNum do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   557
    table.insert(players, natives[i])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   558
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   559
14932
ff4003a90ff8 Enable automatic voicepack language selection for all missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14898
diff changeset
   560
  cannibalsTeamName = AddTeam(loc("Cannibals"), -2, "skull", "Island", "Pirate_qau", "cm_vampire")
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   561
  for i = 1, cannibalsNum do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   562
    cannibals[i] = AddHog(cannibalNames[i], 0, 100, "Zombi")
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   563
    table.insert(players, cannibals[i])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   564
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   565
  playersNum = #players
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   566
  playersLeft = playersNum
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   567
14932
ff4003a90ff8 Enable automatic voicepack language selection for all missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14898
diff changeset
   568
  hedgecogsTeamName = AddTeam(loc("Hedge-cogs"), -9, "ring", "UFO", "Robot_qau", "cm_cyborg")
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   569
  for i = 1, cyborgsNum do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   570
    cyborgs[i] = AddHog(cyborgNames[i], 2, 80, "cyborg2")
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   571
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   572
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   573
  if m8EnemyFled == 1 then
14932
ff4003a90ff8 Enable automatic voicepack language selection for all missions
Wuzzy <Wuzzy2@mail.ru>
parents: 14898
diff changeset
   574
    leaderTeamName = AddTeam(loc("Leader"), -9, "ring", "UFO", "Robot_qau", "cm_cyborg")
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   575
    if m8Scene == denseScene then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   576
      leader = AddHog(loc("Dense Cloud"), 2, 200, nativeHats[denseNum])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   577
    elseif m8Scene == waterScene then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   578
      leader = AddHog(loc("Fiery Water"), 2, 200, nativeHats[waterNum])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   579
    elseif m8Scene == princessScene then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   580
      leader = AddHog(loc("Fell From Heaven"), 2, 200, "tiara")
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   581
    else
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   582
      leader = AddHog(loc("Nancy Screw"), 2, 200, "cyborg2")
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   583
    end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   584
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   585
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   586
  cyborgsLeft = cyborgsNum
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   587
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   588
  for i = 1, nativesNum do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   589
    AnimSetGearPosition(natives[i], unpack(nativePos[i]))
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   590
    AnimTurn(natives[i], nativeDir[i])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   591
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   592
  for i = 1, cannibalsNum do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   593
    AnimSetGearPosition(cannibals[i], unpack(cannibalPos[i]))
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   594
    AnimTurn(cannibals[i], cannibalDir[i])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   595
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   596
  for i = 1, cyborgsNum do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   597
    AnimSetGearPosition(cyborgs[i], unpack(cyborgsPos[i]))
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   598
    AnimTurn(cyborgs[i], cyborgsDir[i])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   599
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   600
  AnimSetGearPosition(cyborg, unpack(cyborgPos[1]))
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   601
  AnimTurn(cyborg, cyborgDir)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   602
  if leader ~= nil then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   603
    AnimSetGearPosition(leader, unpack(leaderPos))
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   604
    AnimTurn(leader, leaderDir[i])
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   605
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   606
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   607
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   608
-----------------------------Main Functions----------------------------
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   609
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   610
function onGameInit()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   611
	Seed = 0
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   612
	GameFlags = gfSolidLand
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   613
	TurnTime = 60000 
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   614
	CaseFreq = 0
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   615
	MinesNum = 0
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   616
	MinesTime = 3000
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   617
	Explosives = 0
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   618
  Map = "Islands"
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   619
	Theme = "EarthRise"
15019
51fbc0034c6f Disable Sudden Death for all A Classic Fairytale missions
Wuzzy <Wuzzy2@mail.ru>
parents: 15002
diff changeset
   620
  WaterRise = 0
51fbc0034c6f Disable Sudden Death for all A Classic Fairytale missions
Wuzzy <Wuzzy2@mail.ru>
parents: 15002
diff changeset
   621
  HealthDecrease = 0
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   622
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   623
  GetVariables()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   624
  AnimInit()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   625
  AddHogs()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   626
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   627
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   628
function onGameStart()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   629
  SetupAmmo()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   630
  SetupPlace()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   631
  AnimationSetup()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   632
  SetupEvents()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   633
  AddAnim(startAnim)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   634
  AddFunction({func = AfterStartAnim, args = {}})
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   635
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   636
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   637
function onGameTick()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   638
  AnimUnWait()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   639
  if ShowAnimation() == false then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   640
    return
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   641
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   642
  ExecuteAfterAnimations()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   643
  CheckEvents()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   644
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   645
14876
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   646
function onGearAdd(gear)
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   647
  local gt = GetGearType(gear)
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   648
  if gt == gtMine or gt == gtSMine or gt == gtAirMine then
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   649
    trackedMines[gear] = true
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   650
  end
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   651
end
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   652
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   653
function onGearDelete(gear)
14876
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   654
  local gt = GetGearType(gear)
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   655
  if gt == gtMine or gt == gtSMine or gt == gtAirMine then
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   656
    trackedMines[gear] = nil
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   657
  end
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   658
  gearDead[gear] = true
14876
543729d313f5 ACF5, ACF9: Clear mines around cyborg when it appears
Wuzzy <Wuzzy2@mail.ru>
parents: 14661
diff changeset
   659
  if gt == gtHedgehog then
14485
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
   660
    if GetHogTeamName(gear) == nativesTeamName then
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   661
      for i = 1, nativesLeft do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   662
        if natives[i] == gear then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   663
          table.remove(natives, i)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   664
          table.remove(players, i)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   665
          nativesLeft = nativesLeft - 1
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   666
          playersLeft = playersLeft - 1
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   667
        end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   668
      end
14485
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
   669
    elseif GetHogTeamName(gear) == cannibalsTeamName then
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   670
      for i = 1, cannibalsLeft do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   671
        if cannibals[i] == gear then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   672
          table.remove(cannibals, i)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   673
          table.remove(players, nativesLeft + i)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   674
          cannibalsLeft = cannibalsLeft - 1
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   675
          playersLeft = playersLeft - 1
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   676
        end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   677
      end
14485
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
   678
    elseif GetHogTeamName(gear) == hedgecogsTeamName then
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   679
      for i = 1, cyborgsLeft do
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   680
        if cyborgs[i] == gear then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   681
          table.remove(cyborgs, i)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   682
        end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   683
      end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   684
      cyborgsLeft = cyborgsLeft - 1
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   685
    end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   686
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   687
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   688
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   689
function onAmmoStoreInit()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   690
  SetAmmo(amSkip, 9, 0, 0, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   691
  SetAmmo(amSwitch, 9, 0, 0, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   692
  SetAmmo(amDEagle, 9, 0, 0, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   693
  SetAmmo(amSniperRifle, 9, 0, 0, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   694
  SetAmmo(amBazooka, 8, 0, 0, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   695
  SetAmmo(amGrenade, 7, 0, 0, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   696
  SetAmmo(amFirePunch, 9, 0, 0, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   697
  SetAmmo(amShotgun, 9, 0, 0, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   698
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   699
  SetAmmo(amParachute, 9, 0, 0, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   700
  SetAmmo(amRope, 9, 0, 0, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   701
  SetAmmo(amPickHammer, 9, 0, 0, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   702
  SetAmmo(amBlowTorch, 9, 0, 0, 0)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   703
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   704
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   705
function onNewTurn()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   706
  if AnimInProgress() then
13750
110d6c1e817f Lua: Rename globals: NoPointX→NO_CURSOR, cMaxTurnTime→MAX_TURN_TIME, cMaxHogHealth→MAX_HOG_HEALTH
Wuzzy <Wuzzy2@mail.ru>
parents: 13740
diff changeset
   707
    SetTurnTimeLeft(MAX_TURN_TIME)
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   708
    return
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   709
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   710
  if playersDeadFresh then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   711
    playersDeadFresh = false
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   712
    FailedMission()
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   713
  elseif cyborgsDeadFresh then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   714
    cyborgsDeadFresh = false
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   715
    WonMission()
14485
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
   716
  elseif nativesDeadFresh and GetHogTeamName(CurrentHedgehog) == cannibalsTeamName then
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
   717
    AnimSay(CurrentHedgehog, string.format(loc("Your deaths will be avenged, %s!"), nativesTeamName), SAY_SHOUT, 0)
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   718
    nativesDeadFresh = false
14485
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
   719
  elseif cannibalsDeadFresh and GetHogTeamName(CurrentHedgehog) == nativesTeamName then
f37910a73c19 Refactor ACF missions, store team names in variables
Wuzzy <Wuzzy2@mail.ru>
parents: 14401
diff changeset
   720
    AnimSay(CurrentHedgehog, string.format(loc("Your deaths will be avenged, %s!"), cannibalsTeamName), SAY_SHOUT, 0)
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   721
    cannibalsDeadFresh = false
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   722
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   723
end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   724
15002
3ed1cbd31754 Backed out changeset 4596357d002d (onPreciseLocal causes desyncs)
Wuzzy <Wuzzy2@mail.ru>
parents: 14932
diff changeset
   725
function onPrecise()
7460
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   726
  if GameTime > 3000 and AnimInProgress() then
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   727
    SetAnimSkip(true)
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   728
  end
d32d573aeb64 Forgot to add mission 9 -.-'
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   729
end