share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/family.lua
author Wuzzy <Wuzzy2@mail.ru>
Fri, 09 Mar 2018 19:05:59 +0100
changeset 13145 5083fb0a2992
parent 13138 52d7672363c1
child 13169 6869d27a2f3f
permissions -rw-r--r--
A Classic Fairytale: Harden all missions against missing campaign variables in team file and assume default values This assumes the worst case in which the team file is missing all campaign variables except Progress. This has been successfully tested with all 10 missions and still generates a logical storyline. By default, the game assumes: - The cyborg's offer in mission 2 was refused - The traitor in mission 5 was killed As a consequence, missions 8 and 10 use the princessScene cut scene.
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)
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
   234
  vCirc = AddVisualGear(0,0,vgtCircle,0,true)
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)
e65aa3c3d4e6 Refactor scripts to use SpawnSupplyCrate (where it makes sense)
Wuzzy <Wuzzy2@mail.ru>
parents: 12901
diff changeset
   251
  SpawnSupplyCrate(2778, 1372, amPickHammer, 3)
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)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   298
  TurnTimeLeft = 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"))
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   439
    DismissTeam(loc("011101001"))
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()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   522
	AddTeam(loc("Natives"), 29439, "Bone", "Island", "HillBilly", "cm_birdy")
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   523
  for i = 7, 9 do
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   524
    natives[i-6] = AddHog(nativeNames[i], 0, 100, nativeHats[i])
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   525
    gearDead[natives[i-6]] = false
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   526
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   527
12049
030464f34d47 Tweak flags used in all missions to fit more to the theme
Wuzzy <almikes@aol.com>
parents: 11038
diff changeset
   528
  AddTeam(loc("011101001"), 14483456, "ring", "UFO", "Robot", "cm_binary")
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   529
  cyborg = AddHog(loc("Unit 334a$7%;.*"), 0, 200, "cyborg1")
7472
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   530
  princess = AddHog(loc("Fell From Heaven"), 0, 333, "tiara")
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   531
  gearDead[cyborg] = false
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   532
  gearDead[princess] = false
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   533
12049
030464f34d47 Tweak flags used in all missions to fit more to the theme
Wuzzy <almikes@aol.com>
parents: 11038
diff changeset
   534
  AddTeam(loc("Biomechanic Team"), 14483456, "ring", "UFO", "Robot", "cm_cyborg")
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   535
  for i = 1, cyborgsNum do
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   536
    cyborgs[i] = AddHog(cyborgNames[i], cyborgsDif[i], cyborgsHealth[i], "cyborg2")
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   537
    gearDead[cyborgs[i]] = false
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   538
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   539
  cyborgsLeft = cyborgsNum
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   540
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   541
  for i = 1, 3 do
7448
d0521a3a4358 Solved "floating repositionings" in every mission
belphegorr <szabibibi@gmail.com>
parents: 7436
diff changeset
   542
    AnimSetGearPosition(natives[i], unpack(nativePos[i]))
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   543
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   544
7448
d0521a3a4358 Solved "floating repositionings" in every mission
belphegorr <szabibibi@gmail.com>
parents: 7436
diff changeset
   545
  AnimSetGearPosition(cyborg, unpack(cyborgPos))
d0521a3a4358 Solved "floating repositionings" in every mission
belphegorr <szabibibi@gmail.com>
parents: 7436
diff changeset
   546
  AnimSetGearPosition(princess, unpack(princessPos))
7472
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   547
  AnimTurn(princess, "Left")
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   548
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   549
  for i = 1, cyborgsNum do
7448
d0521a3a4358 Solved "floating repositionings" in every mission
belphegorr <szabibibi@gmail.com>
parents: 7436
diff changeset
   550
    AnimSetGearPosition(cyborgs[i], unpack(cyborgsPos[i]))
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   551
    AnimTurn(cyborgs[i], cyborgsDir[i])
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   552
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   553
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   554
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   555
function CondNeedToTurn(hog1, hog2)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   556
  xl, xd = GetX(hog1), GetX(hog2)
7675
58620e9e5ed5 Fixed grammar/vocabulary and improved balance
belphegorr <szabibibi@gmail.com>
parents: 7520
diff changeset
   557
  if xl == nil or xd == nil then
58620e9e5ed5 Fixed grammar/vocabulary and improved balance
belphegorr <szabibibi@gmail.com>
parents: 7520
diff changeset
   558
    return
58620e9e5ed5 Fixed grammar/vocabulary and improved balance
belphegorr <szabibibi@gmail.com>
parents: 7520
diff changeset
   559
  end
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   560
  if xl > xd then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   561
    AnimInsertStepNext({func = AnimTurn, args = {hog1, "Left"}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   562
    AnimInsertStepNext({func = AnimTurn, args = {hog2, "Right"}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   563
  elseif xl < xd then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   564
    AnimInsertStepNext({func = AnimTurn, args = {hog2, "Left"}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   565
    AnimInsertStepNext({func = AnimTurn, args = {hog1, "Right"}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   566
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   567
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   568
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   569
-----------------------------Main Functions----------------------------
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   570
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   571
function onGameInit()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   572
	Seed = 0
7436
4802191f6a09 Removed gfOneClanMode from Mission 7
belphegorr <szabibibi@gmail.com>
parents: 7434
diff changeset
   573
	GameFlags = gfSolidLand + gfDisableLandObjects + gfDisableGirders
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   574
	TurnTime = 60000 
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   575
	CaseFreq = 0
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   576
	MinesNum = 0
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   577
	MinesTime = 3000
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   578
	Explosives = 0
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   579
	Delay = 10 
10423
b9d6463cf2ca fix mapgen of other scripts too
sheepluva
parents: 10290
diff changeset
   580
  MapGen = mgDrawn
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   581
	Theme = "Hell"
7472
cd747aefcba1 Fixed a few bugs in mission 7
belphegorr <szabibibi@gmail.com>
parents: 7448
diff changeset
   582
  SuddenDeathTurns = 35
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   583
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   584
	for i = 1, #map do
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   585
		ParseCommand('draw ' .. map[i])
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   586
	end
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
  AddHogs()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   589
  AnimInit()
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
function onGameStart()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   593
  GetVariables()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   594
  SetupAmmo()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   595
  SetupPlace()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   596
  AnimationSetup()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   597
  AddAnim(startAnim)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   598
  AddFunction({func = AfterStartAnim, args = {}})
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   599
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   600
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   601
function onGameTick()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   602
  AnimUnWait()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   603
  if ShowAnimation() == false then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   604
    return
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   605
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   606
  ExecuteAfterAnimations()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   607
  CheckEvents()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   608
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   609
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   610
function onGearDelete(gear)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   611
  gearDead[gear] = true
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   612
  if GetGearType(gear) == gtHedgehog then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   613
    if GetHogTeamName(gear) == loc("Biomechanic Team") then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   614
      cyborgsLeft = cyborgsLeft - 1
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   615
    end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   616
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   617
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   618
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   619
function onAmmoStoreInit()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   620
  SetAmmo(amSkip, 9, 0, 0, 0)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   621
  SetAmmo(amSwitch, 9, 0, 0, 0)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   622
	SetAmmo(amBazooka, 0, 0, 0, 8)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   623
	SetAmmo(amClusterBomb,0, 0, 0, 8)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   624
	SetAmmo(amBee, 0, 0, 0, 3)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   625
	SetAmmo(amGrenade, 0, 0, 0, 8)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   626
	SetAmmo(amWatermelon, 0, 0, 0, 2)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   627
	SetAmmo(amSniperRifle, 0, 0, 0, 3)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   628
	SetAmmo(amPickHammer, 0, 0, 0, 1)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   629
	SetAmmo(amGirder, 0, 0, 0, 3)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   630
	SetAmmo(amPortalGun, 0, 0, 0, 1)
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   631
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   632
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   633
function onNewTurn()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   634
  if AnimInProgress() then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   635
    TurnTimeLeft = -1
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   636
    return
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   637
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   638
  if GetHogTeamName(CurrentHedgehog) == loc("011101001") then
7484
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   639
    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
   640
      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
   641
        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
   642
          HideHedge(natives[i])
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   643
        end
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   644
      end
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   645
    end
12364
5857936921ec Get rid of some incorrect timeout messages in ACF, by using EndTurn(true)
Wuzzy <almikes@aol.com>
parents: 12263
diff changeset
   646
    EndTurn(true)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   647
  else
7484
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   648
    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
   649
      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
   650
        RestoreHedge(natives[i])
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   651
      end
f3a7c4e75815 Mission 7: changed enemy health, ammos, fixed crashes, princess no longer hidden
belphegorr <szabibibi@gmail.com>
parents: 7472
diff changeset
   652
    end
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   653
  end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   654
end
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   655
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   656
function onPrecise()
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   657
  if GameTime > 2500 and AnimInProgress() then
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   658
    SetAnimSkip(true)
7436
4802191f6a09 Removed gfOneClanMode from Mission 7
belphegorr <szabibibi@gmail.com>
parents: 7434
diff changeset
   659
    return
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   660
  end
7496
06d8423ddd53 Removed debug code.
belphegorr <szabibibi@gmail.com>
parents: 7493
diff changeset
   661
--  HideHedge(princess)
06d8423ddd53 Removed debug code.
belphegorr <szabibibi@gmail.com>
parents: 7493
diff changeset
   662
--  for i = 1, 5 do
06d8423ddd53 Removed debug code.
belphegorr <szabibibi@gmail.com>
parents: 7493
diff changeset
   663
--    DeleteGear(cyborgs[i])
06d8423ddd53 Removed debug code.
belphegorr <szabibibi@gmail.com>
parents: 7493
diff changeset
   664
--  end
06d8423ddd53 Removed debug code.
belphegorr <szabibibi@gmail.com>
parents: 7493
diff changeset
   665
--  AddAmmo(natives[1], amTeleport, 100)
7434
3daea8c9a770 Added Mission 7: Family Reunion
belphegorr <szabibibi@gmail.com>
parents:
diff changeset
   666
end