share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/family.lua
author Wuzzy <Wuzzy2@mail.ru>
Mon, 03 Sep 2018 12:46:57 +0200
changeset 13750 110d6c1e817f
parent 13740 2bb7141496a9
child 14401 6c21bd8547dd
permissions -rw-r--r--
Lua: Rename globals: NoPointX→NO_CURSOR, cMaxTurnTime→MAX_TURN_TIME, cMaxHogHealth→MAX_HOG_HEALTH These globals did not exist in 0.9.24, so this change is safe.
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: 12776
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: 12776
diff changeset
     2
A Classic Fairytale: Family Reunion
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
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: 12776
diff changeset
     4
= GOALS =
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
     5
Kill all visible cyborgs (not the princess).
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
     6
Then move hero to princess and Ramon and Spike Cheese to the surface.
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
     7
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
     8
= 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: 12776
diff changeset
     9
== Linear events ==
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    10
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    11
- Cut scene: Intro
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    12
- First goal: Kill all visible cyborgs (princess is not a cyborg)
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    13
- First 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: 12776
diff changeset
    14
- Cut scene: Cyborg reveals second 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: 12776
diff changeset
    15
- A ton of 5s mines spawn on the surface
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    16
- Second goal: Hero must reach princess; Ramon and Spiky Cheese must reach the surface
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    17
- Second 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: 12776
diff changeset
    18
> 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: 12776
diff changeset
    19
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    20
== Non-linear events ==
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    21
| Princess dead:
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    22
    > Game over
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    23
| Ramon, Spiky Cheese or hero dead:
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    24
    > Game over
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    25
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    26
]]
bca911f8e804 Add comments for all A Classic Fairytale missions to summarize the story in a flow chart-like fashion
Wuzzy <Wuzzy2@mail.ru>
parents: 12776
diff changeset
    27
8043
da083f8d95e6 We need custom script loading function in lua now
unc0rr
parents: 7675
diff changeset
    28
HedgewarsScriptLoad("/Scripts/Locale.lua")
da083f8d95e6 We need custom script loading function in lua now
unc0rr
parents: 7675
diff changeset
    29
HedgewarsScriptLoad("/Scripts/Animate.lua")
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    30
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    31
-----------------------------Map--------------------------------------
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    32
local map = 
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    33
{
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    34
	"\255\242\4\218\132\0\53\4\253\0\0\53\4\253\132\0\102\5\92\0\0\102\5\92\132\0\106\5\205\0\0\106\5\205\132\1\1\6\37\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    35
	"\1\1\6\37\132\1\124\6\160\0\1\113\6\160\132\2\157\6\111\0\2\164\6\107\132\2\252\6\178\0\2\252\6\178\132\3\224\4\179\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    36
	"\3\224\4\179\132\3\38\2\209\0\3\38\2\209\132\4\109\3\179\0\4\109\3\179\132\5\124\3\172\0\5\128\3\172\132\6\69\4\239\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    37
	"\6\69\4\239\132\7\175\4\32\0\7\172\4\46\132\8\116\5\18\0\3\38\2\213\132\3\41\1\244\0\3\41\1\244\132\3\94\2\245\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    38
	"\8\127\5\8\132\8\127\0\14\0\8\127\0\14\132\8\194\5\29\0\8\194\5\29\132\9\36\5\82\0\9\29\5\75\132\9\180\5\103\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    39
	"\9\194\5\92\132\10\51\6\5\0\10\51\6\5\132\10\216\5\152\0\10\227\5\145\132\11\189\5\212\0\11\189\5\212\132\12\91\5\131\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    40
	"\12\91\5\131\132\12\253\5\191\0\12\253\5\191\132\13\149\5\106\0\13\149\5\106\132\16\11\5\106\0\14\19\5\110\132\14\16\4\236\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    41
	"\14\16\4\236\132\15\66\4\236\0\15\66\4\236\132\15\66\5\110\0\14\79\4\194\132\15\6\4\194\0\14\255\4\176\132\14\255\4\49\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    42
	"\14\255\4\49\132\14\76\4\53\0\14\76\4\53\132\14\76\4\201\0\14\125\4\74\128\14\128\4\187\0\14\188\4\77\128\14\185\4\179\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    43
	"\14\111\4\39\129\14\76\3\252\0\14\72\3\249\129\14\72\3\147\0\14\72\3\147\129\14\97\3\235\0\14\97\3\235\129\14\146\4\28\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    44
	"\14\202\4\28\129\14\248\3\238\0\14\248\3\238\129\15\17\3\133\0\15\17\3\133\129\15\27\3\235\0\15\27\3\235\129\14\230\4\49\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    45
	"\1\124\6\220\130\1\244\7\13\0\1\244\7\13\130\2\104\6\206\0\2\100\6\206\130\2\30\6\178\0\2\12\6\181\130\1\135\6\213\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    46
	"\3\172\7\136\130\15\41\7\136\0\15\41\7\136\130\15\41\7\62\0\15\41\7\62\130\3\175\7\52\0\3\175\7\52\130\3\126\6\206\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    47
	"\3\126\6\206\130\3\122\7\133\0\3\122\7\133\130\3\186\7\136\0\8\123\7\94\136\9\173\7\101\0\8\88\7\66\130\8\88\7\119\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    48
	"\9\212\7\69\130\9\212\7\126\0\8\155\0\14\133\8\151\5\11\0\8\190\2\160\131\8\194\5\1\0\14\83\3\235\131\14\114\4\21\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    49
	"\15\10\3\196\131\15\10\3\235\0\15\10\3\235\131\14\220\4\32\0\14\65\5\47\137\15\20\5\36\0\15\41\5\82\132\15\41\5\82\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    50
	"\3\94\3\17\138\4\137\5\124\0\3\221\3\119\138\5\57\4\250\0\4\102\4\67\160\5\26\4\74\0\4\113\5\36\161\5\142\4\222\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    51
	"\4\42\5\216\169\9\89\6\26\0\6\100\5\22\145\8\134\5\64\0\6\255\4\197\140\7\161\4\120\0\7\214\4\204\146\7\214\4\204\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    52
	"\10\55\6\97\147\11\13\5\247\0\11\59\6\26\146\11\224\6\30\0\12\95\6\16\153\14\55\6\90\0\13\173\5\226\153\15\196\5\212\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    53
	"\15\172\7\91\152\15\165\5\230\0\15\235\7\221\142\255\238\7\207\0\14\248\6\188\152\3\217\6\178\0\3\112\6\83\143\3\31\7\101\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    54
	"\3\73\7\143\140\3\73\7\143\0\15\62\7\13\140\15\62\7\13\0\15\101\7\157\140\15\101\7\157\0\2\181\6\220\141\1\205\7\108\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    55
	"\2\86\6\160\137\2\150\6\128\0\2\26\6\153\134\1\96\6\195\0\1\82\6\241\136\1\226\7\59\0\2\157\7\98\155\2\157\7\98\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    56
	"\1\64\7\80\149\255\249\7\27\0\1\4\6\174\148\0\25\6\86\0\0\211\6\58\139\0\7\5\219\0\0\35\5\159\142\0\4\5\47\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    57
	"\8\123\0\14\199\8\187\0\11\0\16\14\5\99\199\16\14\7\245\0\255\235\4\218\199\255\238\8\25\0\8\67\2\72\202\8\208\2\72\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    58
	"\8\141\1\251\202\8\141\0\74\0\8\201\2\143\195\8\204\4\49\0\8\84\2\185\205\8\204\2\188\0\8\99\2\230\205\8\187\2\230\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    59
	"\8\165\3\41\131\8\144\3\3\0\8\144\3\3\131\8\60\2\248\0\8\60\2\248\131\7\252\3\59\0\7\252\3\59\131\8\137\3\31\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    60
	"\8\56\3\20\131\8\102\3\20\0\8\60\3\13\194\8\60\3\13\0\8\60\3\3\128\8\60\3\31\0\7\238\3\66\128\7\214\3\84\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    61
	"\7\217\3\87\128\7\217\3\98\0\7\217\3\87\128\7\200\3\91\0\6\209\4\70\208\8\18\4\95\0\0\11\4\225\131\0\0\8\21\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    62
	"\15\224\5\99\131\15\245\7\252\0\15\242\5\191\192\15\196\6\33\0\15\196\6\33\192\15\245\6\209\0\15\245\6\209\192\15\193\7\115\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    63
	"\15\193\7\115\192\15\235\8\18\0\15\249\5\223\196\15\217\6\40\0\15\217\6\40\196\16\4\6\188\0\15\245\6\16\196\16\21\7\77\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    64
	"\16\0\6\245\196\15\214\7\112\0\15\207\7\129\196\16\0\8\4\0\15\245\7\80\196\16\4\7\207\0\15\221\5\85\196\16\11\5\184\0",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    65
}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    66
--------------------------------------------Constants------------------------------------
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    67
choiceAccepted = 1
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    68
choiceRefused = 2
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    69
choiceAttacked = 3
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    70
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    71
choiceEliminate = 1
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    72
choiceSpare = 2
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    73
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    74
leaksNum = 1
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    75
denseNum = 2
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    76
waterNum = 3
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    77
buffaloNum = 4
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    78
chiefNum = 5
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    79
girlNum = 6
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    80
wiseNum = 7
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    81
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    82
nativeNames = {loc("Leaks A Lot"), loc("Dense Cloud"), loc("Fiery Water"), 
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    83
               loc("Raging Buffalo"), loc("Righteous Beard"), loc("Fell From Grace"),
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    84
               loc("Wise Oak"), loc("Ramon"), loc("Spiky Cheese")
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    85
              }
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    86
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    87
nativeUnNames = {loc("Zork"), loc("Steve"), loc("Jack"),
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    88
                 loc("Lee"), loc("Elmo"), loc("Rachel"),
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    89
                 loc("Muriel")}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    90
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    91
nativeHats = {"Rambo", "RobinHood", "pirate_jack", "zoo_Bunny", "IndianChief",
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    92
              "tiara", "AkuAku", "rasta", "hair_yellow"}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    93
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    94
nativePos = {{110, 1310}, {984, 1907}, {1040, 1907}}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    95
nativePos2 = {196, 1499}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    96
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    97
cyborgNames = {loc("Unit 0x0007"), loc("Hogminator"), loc("Carol"), 
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    98
               loc("Blender"), loc("Elderbot"), loc("Fiery Water")}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
    99
cyborgsDif = {2, 2, 2, 2, 2, 1}
7484
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   100
cyborgsHealth = {45, 45, 45, 40, 40, 20}
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   101
cyborgPos = {945, 1216}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   102
cyborgsNum = 6
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   103
cyborgsPos = {{2243, 1043}, {3588, 1227}, {2781, 1388},
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   104
              {3749, 1040}, {2475, 1338}, {3853, 881}}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   105
cyborgsDir = {"Left", "Left", "Left", "Left", "Left", "Right"}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   106
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   107
princessPos = {3737, 1181}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   108
crateConsts = {}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   109
reactions = {}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   110
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   111
nativeMidPos = {1991, 841}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   112
cyborgMidPos = {2109, 726}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   113
nativeMidPos2 = {2250, 1071}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   114
-----------------------------Variables---------------------------------
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   115
natives = {}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   116
native = nil
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   117
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   118
cyborgs = {}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   119
cyborg = nil
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   120
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   121
gearDead = {}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   122
hedgeHidden = {}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   123
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   124
startAnim = {}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   125
midAnim = {}
12613
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   126
princessFreedAnim = {}
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   127
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   128
freshDead = nil
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   129
crates = {}
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   130
cratesNum = 0
12364
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   131
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   132
princessFreed = false
13135
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   133
closeToPrincess = false
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   134
friendsEscaped = false
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   135
-----------------------------Animations--------------------------------
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   136
function EmitDenseClouds(dir)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   137
  local dif
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   138
  if dir == "Left" then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   139
    dif = 10
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   140
  else
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   141
    dif = -10
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   142
  end
7520
dd0b68bbe456 Mission 7: increased distance between Leaks and the princess, fixed EmitDenseClouds typo
belphegorr <szabibibi@gmail.com>
parents: 7512
diff changeset
   143
  AnimInsertStepNext({func = AnimVisualGear, args = {natives[1], GetX(natives[1]) + dif, GetY(natives[1]) + dif, vgtSteam, 0, true}, swh = false})
dd0b68bbe456 Mission 7: increased distance between Leaks and the princess, fixed EmitDenseClouds typo
belphegorr <szabibibi@gmail.com>
parents: 7512
diff changeset
   144
  AnimInsertStepNext({func = AnimVisualGear, args = {natives[1], GetX(natives[1]) + dif, GetY(natives[1]) + dif, vgtSteam, 0, true}, swh = false})
dd0b68bbe456 Mission 7: increased distance between Leaks and the princess, fixed EmitDenseClouds typo
belphegorr <szabibibi@gmail.com>
parents: 7512
diff changeset
   145
  AnimInsertStepNext({func = AnimVisualGear, args = {natives[1], GetX(natives[1]) + dif, GetY(natives[1]) + dif, vgtSteam, 0, true}, swh = false})
dd0b68bbe456 Mission 7: increased distance between Leaks and the princess, fixed EmitDenseClouds typo
belphegorr <szabibibi@gmail.com>
parents: 7512
diff changeset
   146
  AnimInsertStepNext({func = AnimWait, args = {natives[1], 800}})
dd0b68bbe456 Mission 7: increased distance between Leaks and the princess, fixed EmitDenseClouds typo
belphegorr <szabibibi@gmail.com>
parents: 7512
diff changeset
   147
  AnimInsertStepNext({func = AnimVisualGear, args = {natives[1], GetX(natives[1]) + dif, GetY(natives[1]) + dif, vgtSteam, 0, true}, swh = false})
dd0b68bbe456 Mission 7: increased distance between Leaks and the princess, fixed EmitDenseClouds typo
belphegorr <szabibibi@gmail.com>
parents: 7512
diff changeset
   148
  AnimInsertStepNext({func = AnimVisualGear, args = {natives[1], GetX(natives[1]) + dif, GetY(natives[1]) + dif, vgtSteam, 0, true}, swh = false})
dd0b68bbe456 Mission 7: increased distance between Leaks and the princess, fixed EmitDenseClouds typo
belphegorr <szabibibi@gmail.com>
parents: 7512
diff changeset
   149
  AnimInsertStepNext({func = AnimWait, args = {natives[1], 800}})
dd0b68bbe456 Mission 7: increased distance between Leaks and the princess, fixed EmitDenseClouds typo
belphegorr <szabibibi@gmail.com>
parents: 7512
diff changeset
   150
  AnimInsertStepNext({func = AnimVisualGear, args = {natives[1], GetX(natives[1]) + dif, GetY(natives[1]) + dif, vgtSteam, 0, true}, swh = false})
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   151
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   152
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   153
function AnimationSetup()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   154
  table.insert(startAnim, {func = AnimWait, args = {natives[1], 4000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   155
  table.insert(startAnim, {func = AnimMove, args = {natives[1], "Right", unpack(nativePos2)}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   156
  if m5DeployedNum == leaksNum then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   157
    table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("Those aliens are destroying the island!"), SAY_THINK, 5000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   158
  elseif m5DeployedNum == denseNum then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   159
    table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("Dude, all the plants are gone!"), SAY_THINK, 3500}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   160
    table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("What am I gonna...eat, yo?"), SAY_THINK, 3500}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   161
  elseif m5DeployedNum == girlNum then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   162
    table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("Fell From Heaven is the best! Fell From Heaven is the greatest!"), SAY_THINK, 7000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   163
    table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("Yuck! I bet they'll keep worshipping her even after I save the village!"), SAY_THINK, 7500}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   164
  elseif m5DeployedNum == chiefNum then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   165
    table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("I'm getting old for this!"), SAY_THINK, 4000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   166
  elseif m5DeployedNum == waterNum then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   167
    table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("I'm getting thirsty..."), SAY_THINK, 3000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   168
  elseif m5DeployedNum == buffaloNum then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   169
    table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("I wonder why I'm so angry all the time..."), SAY_THINK, 6000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   170
    table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("It must be a childhood trauma..."), SAY_THINK, 4000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   171
    table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("Just wait till I get my hands on that trauma! ARGH!"), SAY_THINK, 6500}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   172
  elseif m5DeployedNum == wiseNum then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   173
    table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("I could just teleport myself there..."), SAY_THINK, 4500}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   174
    table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("It's a shame, I forgot how to do that!"), SAY_THINK, 4500}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   175
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   176
  table.insert(startAnim, {func = AnimCustomFunction, args = {natives[1], RestoreHedge, {cyborg}}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   177
  table.insert(startAnim, {func = AnimOutOfNowhere, args = {cyborg, unpack(cyborgPos)}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   178
  table.insert(startAnim, {func = AnimTurn, args = {cyborg, "Left"}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   179
  table.insert(startAnim, {func = AnimTurn, args = {natives[2], "Left"}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   180
  table.insert(startAnim, {func = AnimTurn, args = {natives[3], "Left"}})
12263
2c8e7e73ef58 Use format strings everywhere in A Classic Fairytale (for translators)
Wuzzy <almikes@aol.com>
parents: 12049
diff changeset
   181
  table.insert(startAnim, {func = AnimSay, args = {cyborg, string.format(loc("Hello again, %s!"), nativeUnNames[m5DeployedNum]), SAY_SAY, 2500}})
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   182
  table.insert(startAnim, {func = AnimSay, args = {cyborg, loc("I just found out that they have captured your princess!"), SAY_SAY, 7000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   183
  if m5DeployedNum == girlNum then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   184
    table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("Of course I have to save her. What did I expect?!"), SAY_SAY, 7000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   185
  elseif m5DeployedNum == denseNum then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   186
    table.insert(startAnim, {func = AnimCustomFunction, args = {natives[1], EmitDenseClouds, {"Right"}}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   187
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   188
  table.insert(startAnim, {func = AnimSay, args = {cyborg, loc("She's behind that tall thingy."), SAY_SAY, 5000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   189
  table.insert(startAnim, {func = FollowGear, swh = false, args = {princess}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   190
  table.insert(startAnim, {func = AnimWait, swh = false, args = {princess, 1000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   191
  table.insert(startAnim, {func = FollowGear, swh = false, args = {cyborg}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   192
  table.insert(startAnim, {func = AnimSay, args = {cyborg, loc("I'm here to help you rescue her."), SAY_SAY, 5000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   193
  table.insert(startAnim, {func = AnimSay, args = {natives[2], loc("Yo, dude, we're here, too!"), SAY_SHOUT, 4000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   194
  table.insert(startAnim, {func = AnimSay, args = {natives[3], loc("We were trying to save her and we got lost."), SAY_SHOUT, 6000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   195
  table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("That's typical of you!"), SAY_SAY, 3000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   196
  table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("Why are you helping us, uhm...?"), SAY_SAY, 3000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   197
  table.insert(startAnim, {func = AnimSay, args = {cyborg, loc("Call me Beep! Well, 'cause I'm such a nice...person!"), SAY_SAY, 2500}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   198
  table.insert(startAnim, {func = AnimDisappear, args = {cyborg, unpack(cyborgPos)}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   199
  table.insert(startAnim, {func = AnimSwitchHog, args = {natives[1]}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   200
  table.insert(startAnim, {func = AnimWait, args = {natives[1], 1}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   201
  AddSkipFunction(startAnim, SkipStartAnim, {})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   202
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   203
  table.insert(midAnim, {func = AnimCustomFunction, args = {natives[1], RestoreHedge, {cyborg}}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   204
  table.insert(midAnim, {func = AnimOutOfNowhere, args = {cyborg, unpack(cyborgMidPos)}}) 
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   205
  table.insert(midAnim, {func = AnimTurn, args = {cyborg, "Left"}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   206
  table.insert(midAnim, {func = AnimTeleportGear, args = {natives[1], unpack(nativeMidPos)}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   207
  table.insert(midAnim, {func = AnimSay, args = {cyborg, loc("Here, let me help you save her!"), SAY_SAY, 5000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   208
  table.insert(midAnim, {func = AnimSay, args = {natives[1], loc("Thanks!"), SAY_SAY, 2000}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   209
  table.insert(midAnim, {func = AnimTeleportGear, args = {natives[1], unpack(nativeMidPos2)}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   210
  table.insert(midAnim, {func = AnimSay, args = {natives[1], loc("Why can't he just let her go?!"), SAY_THINK, 5000}})
7484
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   211
  AddSkipFunction(midAnim, SkipMidAnim, {})
12613
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   212
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   213
  table.insert(princessFreedAnim, {func = AnimSay, args = {princess, loc("Thank you, my hero!"), SAY_SAY, 4000}})
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   214
  table.insert(princessFreedAnim, {func = Victory, args = {}})
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   215
  AddSkipFunction(princessFreedAnim, SkipPrincessFreedAnim, {})
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   216
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   217
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   218
--------------------------Anim skip functions--------------------------
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   219
function AfterMidAnim()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   220
  HideHedge(cyborg)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   221
  SetupPlace3()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   222
  SetGearMessage(natives[1], 0)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   223
  AddNewEvent(CheckPrincessFreed, {}, DoPrincessFreed, {}, 0)
13135
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   224
  AddNewEvent(CheckCloseToPrincess, {}, DoCloseToPrincess, {}, 0)
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   225
  AddNewEvent(CheckFriendsEscaped, {}, DoFriendsEscaped, {}, 0)
12364
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   226
  EndTurn(true)
13134
d204ed947785 ACF7: Fix incorrect hog name mentioned in 2nd mission text
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   227
  ShowMission(loc("Family Reunion"), loc("Salvation"),
d204ed947785 ACF7: Fix incorrect hog name mentioned in 2nd mission text
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   228
     loc("Get your teammates out of their natural prison and save the princess!") .."|"..
d204ed947785 ACF7: Fix incorrect hog name mentioned in 2nd mission text
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   229
     loc("All your hedgehogs must be above the marked height!") .."|"..
d204ed947785 ACF7: Fix incorrect hog name mentioned in 2nd mission text
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   230
     loc("Hint: Drilling holes should solve everything.").."|"..
d204ed947785 ACF7: Fix incorrect hog name mentioned in 2nd mission text
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   231
     loc("Hint: It might be a good idea to place a girder before starting to drill. Just saying.").."|"..
d204ed947785 ACF7: Fix incorrect hog name mentioned in 2nd mission text
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   232
     string.format(loc("Hint: %s needs to get really close to the princess!"), nativeNames[m5DeployedNum]).."|"..
d204ed947785 ACF7: Fix incorrect hog name mentioned in 2nd mission text
Wuzzy <Wuzzy2@mail.ru>
parents: 12933
diff changeset
   233
     loc("Mines time: 5 seconds"), 1, 7000)
13687
a8b2a5e7e9db Clean up more visual gears stuff in scripts
Wuzzy <Wuzzy2@mail.ru>
parents: 13583
diff changeset
   234
  local vCirc = AddVisualGear(0,0,vgtCircle,0,true)
7493
f261d6bf76b3 Mission 7: Added a visual gear to mark height, changed ShowMission to be more precise.
belphegorr <szabibibi@gmail.com>
parents: 7484
diff changeset
   235
  SetVisualGearValues(vCirc, 2625, 1500, 100, 255, 1, 10, 0, 120, 3, 0xff00ffff)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   236
end
12613
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   237
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   238
function SkipPrincessFreedAnim()
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   239
  Victory()
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   240
end
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   241
7484
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   242
function SkipMidAnim()
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   243
  AnimTeleportGear(natives[1], unpack(nativeMidPos2))
13135
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   244
  AnimSwitchHog(natives[1])
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   245
  AnimWait(natives[1], 1)
7484
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   246
end
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   247
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   248
function SetupPlace3()
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   249
  SpawnSupplyCrate(2086, 1887, amRope, 1)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   250
  SpawnSupplyCrate(2147, 728, amBlowTorch, 2)
13169
6869d27a2f3f ACF7: Add one pick hammer in crate
Wuzzy <Wuzzy2@mail.ru>
parents: 13145
diff changeset
   251
  SpawnSupplyCrate(2778, 1372, amPickHammer, 4)
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   252
  SpawnSupplyCrate(2579, 1886, amPickHammer, 3)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   253
  SpawnSupplyCrate(2622, 1893, amGirder, 1)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   254
  SpawnSupplyCrate(2671, 1883, amPortalGun, 3)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   255
  SpawnSupplyCrate(2831, 1384, amGirder, 3)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   256
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   257
  SetTimer(AddGear(2725, 1387, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   258
  SetTimer(AddGear(2760, 1351, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   259
	SetTimer(AddGear(2805, 1287, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   260
	SetTimer(AddGear(2831, 1376, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   261
	SetTimer(AddGear(2684, 1409, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   262
	SetTimer(AddGear(2637, 1428, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   263
	SetTimer(AddGear(2278, 1280, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   264
	SetTimer(AddGear(2311, 1160, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   265
	SetTimer(AddGear(2339, 1162, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   266
	SetTimer(AddGear(2362, 1184, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   267
	SetTimer(AddGear(2407, 1117, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   268
	SetTimer(AddGear(2437, 1143, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   269
	SetTimer(AddGear(2472, 1309, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   270
	SetTimer(AddGear(2495, 1331, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   271
	SetTimer(AddGear(2536, 1340, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   272
	SetTimer(AddGear(2569, 1360, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   273
	SetTimer(AddGear(2619, 1379, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   274
	SetTimer(AddGear(2596, 1246, gtMine, 0, 0, 0, 0), 5000)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   275
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   276
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   277
function SkipStartAnim()
12776
7260e9b37b62 ACF7: Set correct hog position after skipping start anim
Wuzzy <Wuzzy2@mail.ru>
parents: 12613
diff changeset
   278
  AnimSetGearPosition(natives[1], unpack(nativePos2))
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   279
  AnimSwitchHog(natives[1])
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   280
  AnimWait(natives[1], 1)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   281
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   282
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   283
function AfterStartAnim()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   284
  HideHedge(cyborg)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   285
  SetupPlace2()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   286
  SetGearMessage(natives[1], 0)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   287
  AddNewEvent(CheckGearDead, {natives[1]}, EndMission, {}, 0)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   288
  AddNewEvent(CheckGearDead, {natives[2]}, EndMission, {}, 0)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   289
  AddNewEvent(CheckGearDead, {natives[3]}, EndMission, {}, 0)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   290
  AddNewEvent(CheckGearDead, {princess}, EndMission, {}, 0)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   291
  AddNewEvent(CheckCyborgsDead, {}, DoCyborgsDead, {}, 0)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   292
  for i = 1, cyborgsNum do
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   293
    AddNewEvent(CheckGearDead, {cyborgs[i]}, DoCyborgDead, {i}, 0)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   294
  end
7472
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   295
  AddNewEvent(CheckOutOfCluster, {}, DoOutOfCluster, {}, 1)
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   296
  AddNewEvent(CheckOutOfGrenade, {}, DoOutOfGrenade, {}, 1)
7484
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   297
--  AddNewEvent(CheckNeedToHide, {}, DoNeedToHide, {}, 1)
13740
2bb7141496a9 Use SetTurnTimeLeft and SetReadyTimeLeft in all scripts
Wuzzy <Wuzzy2@mail.ru>
parents: 13687
diff changeset
   298
  SetTurnTimeLeft(TurnTime)
7472
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   299
  ShowMission(loc("Family Reunion"), loc("Hostage Situation"), loc("Save the princess! All your hogs must survive!|Hint: Kill the cyborgs first! Use the ammo very carefully!|Hint: You might want to spare a girder for cover!"), 1, 7000)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   300
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   301
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   302
function SetupPlace2()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   303
	PlaceGirder(709, 564, 7)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   304
	PlaceGirder(591, 677, 7)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   305
	PlaceGirder(473, 794, 7)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   306
	PlaceGirder(433, 933, 5)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   307
	PlaceGirder(553, 1052, 5)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   308
	PlaceGirder(674, 1170, 5)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   309
	PlaceGirder(710, 1310, 7)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   310
	PlaceGirder(648, 1427, 5)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   311
  PlaceGirder(2110, 980, 0)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   312
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   313
	SpawnSupplyCrate(814, 407, amBazooka, 4)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   314
	clusterCrate = SpawnSupplyCrate(862, 494, amClusterBomb, 4)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   315
	SpawnSupplyCrate(855, 486, amBee, 3)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   316
	grenadeCrate1 = SpawnSupplyCrate(849, 459, amGrenade, 4)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   317
	SpawnSupplyCrate(2077, 847, amWatermelon, 3)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   318
	grenadeCrate2 = SpawnSupplyCrate(2122, 847, amGrenade, 3)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   319
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   320
	SpawnSupplyCrate(747, 1577, amPickHammer, 1)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   321
	SpawnSupplyCrate(496, 1757, amGirder, 2)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   322
	SpawnSupplyCrate(1809, 1880, amGirder, 1)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   323
	SpawnSupplyCrate(530, 1747, amPortalGun, 1)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   324
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   325
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   326
-----------------------------Events------------------------------------
13135
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   327
function CheckCloseToPrincess()
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   328
  if GetX(natives[1]) == nil or GetX(princess) == nil then
7675
58620e9e5ed5 Fixed grammar/vocabulary and improved balance
belphegorr <szabibibi@gmail.com>
parents: 7520
diff changeset
   329
    return false
58620e9e5ed5 Fixed grammar/vocabulary and improved balance
belphegorr <szabibibi@gmail.com>
parents: 7520
diff changeset
   330
  end
13135
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   331
  return math.abs(GetX(natives[1]) - GetX(princess)) <= 20 and math.abs(GetY(natives[1]) - GetY(princess)) <= 17 and StoppedGear(natives[1])
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   332
end
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   333
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   334
function CheckFriendsEscaped()
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   335
  if GetX(natives[2]) == nil or GetX(natives[3]) == nil then
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   336
    return false
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   337
  end
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   338
  return GetY(natives[2]) < 1500 and GetY(natives[3]) < 1500 and StoppedGear(natives[2]) and StoppedGear(natives[3])
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   339
end
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   340
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   341
function CheckPrincessFreed()
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   342
  return CheckCloseToPrincess() and CheckFriendsEscaped()
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   343
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   344
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   345
function DoPrincessFreed()
12613
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   346
  AddAnim(princessFreedAnim)
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   347
end
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   348
13135
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   349
function DoFriendsEscaped()
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   350
  if friendsEscaped then
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   351
    return
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   352
  end
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   353
  if not CheckCloseToPrincess() then
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   354
    if GetX(natives[2]) == nil and GetX(natives[1]) == nil then
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   355
      return
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   356
    end
13138
52d7672363c1 ACF7: Fix incorrect hog name used in speech bubble
Wuzzy <Wuzzy2@mail.ru>
parents: 13135
diff changeset
   357
    HogSay(natives[2], string.format(loc("Finally! We're out of this hellhole. Now go save the princess, %s!"), nativeNames[m5DeployedNum]), SAY_SAY)
13135
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   358
  end
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   359
  friendsEscaped = true
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   360
end
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   361
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   362
function DoCloseToPrincess()
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   363
  if closeToPrincess then
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   364
    return
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   365
  end
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   366
  if not CheckFriendsEscaped() then
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   367
    if GetX(natives[2]) == nil then
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   368
      return
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   369
    end
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   370
    HogSay(natives[2], loc("Hey, don't forget us! We still need to climb up!"), SAY_SHOUT)
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   371
    FollowGear(natives[2])
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   372
  end
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   373
  closeToPrincess = true
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   374
end
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   375
12613
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   376
function Victory()
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   377
  if not princessFreed then
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   378
    if progress and progress<7 then
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   379
      SaveCampaignVar("Progress", "7")
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   380
    end
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   381
    princessFreed = true
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   382
    DismissTeam(loc("011101001"))
34685d3326a7 ACF7: Don't make princess disappear instantly after victory
Wuzzy <almikes@aol.com>
parents: 12569
diff changeset
   383
    EndTurn(true)
8944
ed2509832311 fix bug that locked unlocked campaign missions, see issue 452
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8043
diff changeset
   384
  end
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   385
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   386
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   387
function CheckCyborgsDead()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   388
  return cyborgsLeft == 0
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   389
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   390
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   391
function DoCyborgsDead()
7448
d0521a3a4358 Solved "floating repositionings" in every mission
belphegorr <szabibibi@gmail.com>
parents: 7436
diff changeset
   392
  SetGearMessage(CurrentHedgehog, 0)
7484
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   393
  RestoreHedge(princess)
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   394
--  RemoveEventFunc(CheckNeedToHide)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   395
  AddAnim(midAnim)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   396
  AddFunction({func = AfterMidAnim, args = {}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   397
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   398
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   399
function DoCyborgDead(index)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   400
  if cyborgsLeft == 0 then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   401
    return
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   402
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   403
  if index == 1 then
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   404
    SpawnSupplyCrate(1700, 407, amBazooka, 3)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   405
  elseif index == 2 then
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   406
    SpawnSupplyCrate(1862, 494, amClusterBomb, 3)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   407
  elseif index == 3 then
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   408
    SpawnSupplyCrate(1855, 486, amBee, 1)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   409
  elseif index == 4 then
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   410
    SpawnSupplyCrate(1849, 459, amGrenade, 3)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   411
  elseif index == 5 then
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   412
    SpawnSupplyCrate(2122, 847, amGrenade, 3)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   413
  elseif index == 6 then
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   414
    SpawnSupplyCrate(2077, 847, amWatermelon, 1)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   415
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   416
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   417
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   418
function CheckGearsDead(gearList)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   419
  for i = 1, # gearList do
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   420
    if gearDead[gearList[i]] ~= true then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   421
      return false
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   422
    end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   423
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   424
  return true
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   425
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   426
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   427
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   428
function CheckGearDead(gear)
7436
4802191f6a09 Removed gfOneClanMode from Mission 7
belphegorr <szabibibi@gmail.com>
parents: 7434
diff changeset
   429
  return gearDead[gear]
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   430
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   431
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   432
function EndMission()
12364
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   433
  if not princessFreed then
13135
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   434
    RemoveEventFunc(CheckFriendsEscaped)
824a75401a61 ACF7: Make hogs talk when you complete a part of the second mission goal (reach princess / free friends)
Wuzzy <Wuzzy2@mail.ru>
parents: 13134
diff changeset
   435
    RemoveEventFunc(CheckCloseToPrincess)
12364
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   436
    RemoveEventFunc(CheckPrincessFreed)
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   437
    AddCaption(loc("So the princess was never heard of again ..."))
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   438
    DismissTeam(loc("Natives"))
13473
bc5a086a91dc ACF7: Fix princess being in wrong clan
Wuzzy <Wuzzy2@mail.ru>
parents: 13169
diff changeset
   439
    DismissTeam(loc("Princess"))
12364
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   440
    EndTurn(true)
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   441
  end
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   442
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   443
7472
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   444
function CheckOutOfCluster()
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   445
  return CheckGearDead(clusterCrate) and GetAmmoCount(natives[1], amClusterBomb) == 0
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   446
end
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   447
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   448
function CheckOutOfGrenade()
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   449
  return CheckGearDead(grenadeCrate1) and CheckGearDead(grenadeCrate2) and GetAmmoCount(natives[1], amGrenade) == 0
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   450
end
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   451
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   452
function DoOutOfCluster()
7675
58620e9e5ed5 Fixed grammar/vocabulary and improved balance
belphegorr <szabibibi@gmail.com>
parents: 7520
diff changeset
   453
  if (GetX(natives[1]) == nil) then
58620e9e5ed5 Fixed grammar/vocabulary and improved balance
belphegorr <szabibibi@gmail.com>
parents: 7520
diff changeset
   454
    return
58620e9e5ed5 Fixed grammar/vocabulary and improved balance
belphegorr <szabibibi@gmail.com>
parents: 7520
diff changeset
   455
  end
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   456
  clusterCrate = SpawnSupplyCrate(GetX(natives[1]) - 50, GetY(natives[1]) - 50, amClusterBomb, 3)
7472
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   457
end
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   458
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   459
function DoOutOfGrenade()
7675
58620e9e5ed5 Fixed grammar/vocabulary and improved balance
belphegorr <szabibibi@gmail.com>
parents: 7520
diff changeset
   460
  if (GetX(natives[1]) == nil) then
58620e9e5ed5 Fixed grammar/vocabulary and improved balance
belphegorr <szabibibi@gmail.com>
parents: 7520
diff changeset
   461
    return
58620e9e5ed5 Fixed grammar/vocabulary and improved balance
belphegorr <szabibibi@gmail.com>
parents: 7520
diff changeset
   462
  end
12933
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   463
  grenadeCrate2 = SpawnSupplyCrate(GetX(natives[1]) - 50, GetY(natives[1]) - 50, amGrenade, 3)
7472
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   464
end
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   465
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   466
function CheckNeedToHide()
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   467
  if gearDead[princess] == true then
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   468
    return false
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   469
  end
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   470
  return TurnTimeLeft == 0
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   471
end
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   472
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   473
function DoNeedToHide()
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   474
  HideHedge(princess)
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   475
end
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   476
-----------------------------Misc--------------------------------------
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   477
function HideHedge(hedge)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   478
  if hedgeHidden[hedge] ~= true then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   479
    HideHog(hedge)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   480
    hedgeHidden[hedge] = true
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   481
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   482
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   483
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   484
function RestoreHedge(hedge)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   485
  if hedgeHidden[hedge] == true then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   486
    RestoreHog(hedge)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   487
    hedgeHidden[hedge] = false
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   488
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   489
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   490
3daea8c9a770 Added Mission 7: Family Reunion
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: 13138
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: 13138
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: 13138
diff changeset
   495
  m5Choice = tonumber(GetCampaignVar("M5Choice")) or choiceEliminate
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   496
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   497
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   498
function SetupPlace()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   499
  SetHogHat(natives[1], nativeHats[m5DeployedNum])
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   500
  SetHogName(natives[1], nativeNames[m5DeployedNum])
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   501
  if m2Choice ~= choiceAccepted or m5Choice ~= choiceEliminate then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   502
    DeleteGear(cyborgs[cyborgsNum])
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   503
    cyborgsNum = cyborgsNum - 1
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   504
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   505
  HideHedge(cyborg)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   506
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   507
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   508
function SetupAmmo()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   509
  AddAmmo(cyborgs[1], amBazooka, 100)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   510
  AddAmmo(cyborgs[1], amGrenade, 100)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   511
  AddAmmo(cyborgs[1], amClusterBomb, 100)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   512
  AddAmmo(cyborgs[1], amSniperRifle, 1)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   513
  AddAmmo(cyborgs[1], amDynamite, 100)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   514
  AddAmmo(cyborgs[1], amBaseballBat, 100)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   515
  AddAmmo(cyborgs[1], amMolotov, 100)
7675
58620e9e5ed5 Fixed grammar/vocabulary and improved balance
belphegorr <szabibibi@gmail.com>
parents: 7520
diff changeset
   516
  AddAmmo(cyborgs[1], amWatermelon, 1)
11038
5a9dde74127e Fix weapon name - bug #967
nemo
parents: 10423
diff changeset
   517
  AddAmmo(cyborgs[1], amAirAttack, 2)
7675
58620e9e5ed5 Fixed grammar/vocabulary and improved balance
belphegorr <szabibibi@gmail.com>
parents: 7520
diff changeset
   518
  AddAmmo(cyborgs[1], amDrillStrike, 1)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   519
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   520
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   521
function AddHogs()
13583
141cdfe0f3ca Switch almost all Lua calls of AddTeam to using default clan colors instead of hardcoded color
Wuzzy <Wuzzy2@mail.ru>
parents: 13473
diff changeset
   522
  AddTeam(loc("Princess"), -2, "Bone", "Island", "HillBilly", "cm_birdy")
13473
bc5a086a91dc ACF7: Fix princess being in wrong clan
Wuzzy <Wuzzy2@mail.ru>
parents: 13169
diff changeset
   523
  princess = AddHog(loc("Fell From Heaven"), 0, 333, "tiara")
bc5a086a91dc ACF7: Fix princess being in wrong clan
Wuzzy <Wuzzy2@mail.ru>
parents: 13169
diff changeset
   524
  SetGearAIHints(princess, aihDoesntMatter)
bc5a086a91dc ACF7: Fix princess being in wrong clan
Wuzzy <Wuzzy2@mail.ru>
parents: 13169
diff changeset
   525
  gearDead[princess] = false
bc5a086a91dc ACF7: Fix princess being in wrong clan
Wuzzy <Wuzzy2@mail.ru>
parents: 13169
diff changeset
   526
13583
141cdfe0f3ca Switch almost all Lua calls of AddTeam to using default clan colors instead of hardcoded color
Wuzzy <Wuzzy2@mail.ru>
parents: 13473
diff changeset
   527
  AddTeam(loc("Natives"), -2, "Bone", "Island", "HillBilly", "cm_birdy")
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   528
  for i = 7, 9 do
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   529
    natives[i-6] = AddHog(nativeNames[i], 0, 100, nativeHats[i])
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   530
    gearDead[natives[i-6]] = false
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   531
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   532
13583
141cdfe0f3ca Switch almost all Lua calls of AddTeam to using default clan colors instead of hardcoded color
Wuzzy <Wuzzy2@mail.ru>
parents: 13473
diff changeset
   533
  AddTeam(loc("011101001"), -1, "ring", "UFO", "Robot", "cm_binary")
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   534
  cyborg = AddHog(loc("Unit 334a$7%;.*"), 0, 200, "cyborg1")
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   535
  gearDead[cyborg] = false
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   536
13583
141cdfe0f3ca Switch almost all Lua calls of AddTeam to using default clan colors instead of hardcoded color
Wuzzy <Wuzzy2@mail.ru>
parents: 13473
diff changeset
   537
  AddTeam(loc("Biomechanic Team"), -1, "ring", "UFO", "Robot", "cm_cyborg")
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   538
  for i = 1, cyborgsNum do
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   539
    cyborgs[i] = AddHog(cyborgNames[i], cyborgsDif[i], cyborgsHealth[i], "cyborg2")
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   540
    gearDead[cyborgs[i]] = false
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   541
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   542
  cyborgsLeft = cyborgsNum
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   543
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   544
  for i = 1, 3 do
7448
d0521a3a4358 Solved "floating repositionings" in every mission
belphegorr <szabibibi@gmail.com>
parents: 7436
diff changeset
   545
    AnimSetGearPosition(natives[i], unpack(nativePos[i]))
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   546
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   547
7448
d0521a3a4358 Solved "floating repositionings" in every mission
belphegorr <szabibibi@gmail.com>
parents: 7436
diff changeset
   548
  AnimSetGearPosition(cyborg, unpack(cyborgPos))
d0521a3a4358 Solved "floating repositionings" in every mission
belphegorr <szabibibi@gmail.com>
parents: 7436
diff changeset
   549
  AnimSetGearPosition(princess, unpack(princessPos))
7472
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   550
  AnimTurn(princess, "Left")
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   551
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   552
  for i = 1, cyborgsNum do
7448
d0521a3a4358 Solved "floating repositionings" in every mission
belphegorr <szabibibi@gmail.com>
parents: 7436
diff changeset
   553
    AnimSetGearPosition(cyborgs[i], unpack(cyborgsPos[i]))
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   554
    AnimTurn(cyborgs[i], cyborgsDir[i])
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   555
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   556
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   557
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   558
function CondNeedToTurn(hog1, hog2)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   559
  xl, xd = GetX(hog1), GetX(hog2)
7675
58620e9e5ed5 Fixed grammar/vocabulary and improved balance
belphegorr <szabibibi@gmail.com>
parents: 7520
diff changeset
   560
  if xl == nil or xd == nil then
58620e9e5ed5 Fixed grammar/vocabulary and improved balance
belphegorr <szabibibi@gmail.com>
parents: 7520
diff changeset
   561
    return
58620e9e5ed5 Fixed grammar/vocabulary and improved balance
belphegorr <szabibibi@gmail.com>
parents: 7520
diff changeset
   562
  end
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   563
  if xl > xd then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   564
    AnimInsertStepNext({func = AnimTurn, args = {hog1, "Left"}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   565
    AnimInsertStepNext({func = AnimTurn, args = {hog2, "Right"}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   566
  elseif xl < xd then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   567
    AnimInsertStepNext({func = AnimTurn, args = {hog2, "Left"}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   568
    AnimInsertStepNext({func = AnimTurn, args = {hog1, "Right"}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   569
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   570
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   571
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   572
-----------------------------Main Functions----------------------------
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   573
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   574
function onGameInit()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   575
	Seed = 0
13473
bc5a086a91dc ACF7: Fix princess being in wrong clan
Wuzzy <Wuzzy2@mail.ru>
parents: 13169
diff changeset
   576
	-- Using gfTagTeam makes it far easier to skip the Princess team
bc5a086a91dc ACF7: Fix princess being in wrong clan
Wuzzy <Wuzzy2@mail.ru>
parents: 13169
diff changeset
   577
	GameFlags = gfSolidLand + gfDisableLandObjects + gfDisableGirders + gfTagTeam
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   578
	TurnTime = 60000 
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   579
	CaseFreq = 0
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   580
	MinesNum = 0
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   581
	MinesTime = 3000
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   582
	Explosives = 0
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   583
	Delay = 10 
10423
b9d6463cf2ca fix mapgen of other scripts too
sheepluva
parents: 10290
diff changeset
   584
  MapGen = mgDrawn
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   585
	Theme = "Hell"
7472
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   586
  SuddenDeathTurns = 35
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   587
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   588
	for i = 1, #map do
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   589
		ParseCommand('draw ' .. map[i])
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   590
	end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   591
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   592
  AddHogs()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   593
  AnimInit()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   594
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   595
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   596
function onGameStart()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   597
  GetVariables()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   598
  SetupAmmo()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   599
  SetupPlace()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   600
  AnimationSetup()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   601
  AddAnim(startAnim)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   602
  AddFunction({func = AfterStartAnim, args = {}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   603
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   604
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   605
function onGameTick()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   606
  AnimUnWait()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   607
  if ShowAnimation() == false then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   608
    return
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   609
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   610
  ExecuteAfterAnimations()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   611
  CheckEvents()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   612
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   613
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   614
function onGearDelete(gear)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   615
  gearDead[gear] = true
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   616
  if GetGearType(gear) == gtHedgehog then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   617
    if GetHogTeamName(gear) == loc("Biomechanic Team") then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   618
      cyborgsLeft = cyborgsLeft - 1
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   619
    end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   620
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   621
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   622
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   623
function onAmmoStoreInit()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   624
  SetAmmo(amSkip, 9, 0, 0, 0)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   625
  SetAmmo(amSwitch, 9, 0, 0, 0)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   626
	SetAmmo(amBazooka, 0, 0, 0, 8)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   627
	SetAmmo(amClusterBomb,0, 0, 0, 8)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   628
	SetAmmo(amBee, 0, 0, 0, 3)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   629
	SetAmmo(amGrenade, 0, 0, 0, 8)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   630
	SetAmmo(amWatermelon, 0, 0, 0, 2)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   631
	SetAmmo(amSniperRifle, 0, 0, 0, 3)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   632
	SetAmmo(amPickHammer, 0, 0, 0, 1)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   633
	SetAmmo(amGirder, 0, 0, 0, 3)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   634
	SetAmmo(amPortalGun, 0, 0, 0, 1)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   635
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   636
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   637
function onNewTurn()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   638
  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
   639
    SetTurnTimeLeft(MAX_TURN_TIME)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   640
    return
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   641
  end
13473
bc5a086a91dc ACF7: Fix princess being in wrong clan
Wuzzy <Wuzzy2@mail.ru>
parents: 13169
diff changeset
   642
  if CurrentHedgehog == cyborg then
7484
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   643
    if CheckCyborgsDead() ~= true then
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   644
      for i = 1, 3 do
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   645
        if gearDead[natives[i]] ~= true then
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   646
          HideHedge(natives[i])
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   647
        end
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   648
      end
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   649
    end
12364
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   650
    EndTurn(true)
13473
bc5a086a91dc ACF7: Fix princess being in wrong clan
Wuzzy <Wuzzy2@mail.ru>
parents: 13169
diff changeset
   651
  elseif CurrentHedgehog == princess then
bc5a086a91dc ACF7: Fix princess being in wrong clan
Wuzzy <Wuzzy2@mail.ru>
parents: 13169
diff changeset
   652
    -- Princess is passive
bc5a086a91dc ACF7: Fix princess being in wrong clan
Wuzzy <Wuzzy2@mail.ru>
parents: 13169
diff changeset
   653
    EndTurn(true)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   654
  else
7484
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   655
    for i = 1, 3 do
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   656
      if gearDead[natives[i]] ~= true then
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   657
        RestoreHedge(natives[i])
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   658
      end
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   659
    end
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   660
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   661
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   662
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   663
function onPrecise()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   664
  if GameTime > 2500 and AnimInProgress() then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   665
    SetAnimSkip(true)
7436
4802191f6a09 Removed gfOneClanMode from Mission 7
belphegorr <szabibibi@gmail.com>
parents: 7434
diff changeset
   666
    return
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   667
  end
7496
06d8423ddd53 Removed debug code.
belphegorr <szabibibi@gmail.com>
parents: 7493
diff changeset
   668
--  HideHedge(princess)
06d8423ddd53 Removed debug code.
belphegorr <szabibibi@gmail.com>
parents: 7493
diff changeset
   669
--  for i = 1, 5 do
06d8423ddd53 Removed debug code.
belphegorr <szabibibi@gmail.com>
parents: 7493
diff changeset
   670
--    DeleteGear(cyborgs[i])
06d8423ddd53 Removed debug code.
belphegorr <szabibibi@gmail.com>
parents: 7493
diff changeset
   671
--  end
06d8423ddd53 Removed debug code.
belphegorr <szabibibi@gmail.com>
parents: 7493
diff changeset
   672
--  AddAmmo(natives[1], amTeleport, 100)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   673
end