author | sheepluva |
Sat, 03 Dec 2016 09:09:16 +0100 | |
changeset 12098 | 966a9739812f |
parent 12071 | ecad5b4e56d9 |
child 12232 | 6bf9229c5c1f |
permissions | -rw-r--r-- |
7095 | 1 |
|
2 |
---------------------- |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
3 |
-- WALL TO WALL 0.7 |
7095 | 4 |
---------------------- |
5 |
-- a shoppa minigame |
|
6 |
-- by mikade |
|
7 |
||
8 |
-- feel free to add map specific walls to LoadConfig, or post additional |
|
9 |
-- wall suggestions on our forum at: http://www.hedgewars.org/forum |
|
10 |
||
11 |
---------------- |
|
12 |
--0.1 |
|
13 |
---------------- |
|
14 |
-- concept test |
|
15 |
||
16 |
---------------- |
|
17 |
--0.2 |
|
18 |
---------------- |
|
19 |
-- unhardcoded turntimeleft, now uses shoppa default of 45s |
|
20 |
-- changed some things behind the scenes |
|
21 |
-- fixed oooooold radar bug |
|
22 |
-- added radar / script support for multiple crates |
|
23 |
-- tweaked weapons tables |
|
24 |
-- added surfing and changed crate spawn requirements a bit |
|
25 |
||
26 |
---------------- |
|
27 |
--0.3 |
|
28 |
---------------- |
|
29 |
-- stuffed dirty clothes into cupboard |
|
30 |
-- improved user feedback |
|
31 |
-- added/improved experimental config system, input masks included :D |
|
32 |
||
33 |
---------------- |
|
34 |
--0.4 |
|
35 |
---------------- |
|
36 |
-- for version 0.9.18, now detects border in correct location |
|
37 |
-- fix 0.3 config constraint |
|
38 |
-- remove unnecessary vars |
|
39 |
-- oops, remove hardcoding of minesnum,explosives |
|
40 |
-- ... and unhardcode turntime (again)... man, 30s is hard :( |
|
41 |
-- move some initialisations around |
|
42 |
-- numerous improvements to user feedback |
|
43 |
-- walls disappear after being touched |
|
44 |
-- added backwards compatibility with 0.9.17 |
|
45 |
||
46 |
---------------- |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
47 |
--0.5 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
48 |
---------------- |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
49 |
-- Support for multiple sets of walls per map (instead of “all or nothing”) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
50 |
-- Ropes, ShoppaKing, ShoppaHell and ShoppaNeon can now be played with the classic left and right walls |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
51 |
-- New wall sets for Ropes, ShoppaNeon, ShoppaDesert, ShoppaWild, ShoppaKing and ShoppaHell, and more. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
52 |
-- Basic support for a bunch of Shoppa maps |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
53 |
-- Alternative configuration method with Script parameter |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
54 |
-- Possible to set max. number of weapons in game (script parameter only) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
55 |
-- Possible to set number of crates per turn |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
56 |
-- Menu can be disabled (with script parameter) for insant game start |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
57 |
-- WxW is now fully functional even without a map border. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
58 |
-- WxW now allows for almost all game modifiers and game settings to be changed |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
59 |
-- More sound effects |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
60 |
-- No smoke when hog is near near a WxW wall but Walls Before Crate rule is not in place |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
61 |
-- More readable mission display after configuration has been accepted |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
62 |
-- Hide “Surf Before Crate” setting if surfing is disabled for this map, or the bottom is active and water never rises |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
63 |
-- Hide walls setting if script does not provide walls for map yet |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
64 |
-- Bugfix: Other player was able to change the menu config in the short period before the first "turn" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
65 |
-- Lots of refactoring |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
66 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
67 |
---------------- |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
68 |
--0.6 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
69 |
---------------- |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
70 |
-- Bugfix: 2 crates spawned at the 1st turn if script parameter was set to “menu=false, walls=none” or similar |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
71 |
-- Bugfix: Annoying faulty error message appeared when hitting attack when on a rope with a weapon selected |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
72 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
73 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
74 |
---------------- |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
75 |
--0.7 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
76 |
---------------- |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
77 |
-- To enforce the rules more strictly, all crates will be frozen at turn start if WBC or SBC rule is in place. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
78 |
-- The crates are unfrozen if you met the crate criteria (that is, surfed and/or bounced off all walls). |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
79 |
-- Frozen crates can't be collected and appear as small white dots in the radar. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
80 |
-- Add support for the “Crate Before Attack” rule |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
81 |
-- Add support for the “All But Last” rule |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
82 |
-- Add support for the “Kill The Leader” rule |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
83 |
-- Allow toggling crate radar with “switch hog” key while roping |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
84 |
-- The game continues now with the first team after the menu has been closed (rather than the second team) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
85 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
86 |
---------------- |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
87 |
--TODO |
7095 | 88 |
---------------- |
89 |
-- achievements / try detect shoppa moves? :| |
|
90 |
-- maybe add ability for the user to place zones like in Racer? |
|
91 |
-- add more hard-coded values for specific maps |
|
92 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
93 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
94 |
--[[ |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
95 |
# CONFIGURATION |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
96 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
97 |
By default, this script is easily configured via the in-game menu. The player of the first team can choose the rules and |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
98 |
required walls (or none at all). After accepted, the game will start with the second team (!). |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
99 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
100 |
= SCRIPT PARAMETER = |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
101 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
102 |
Using the script parameter is optional, it mostly is just an alternative way for configuration and for convenience |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
103 |
reasons, so often-used configurations can be saved and loaded. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
104 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
105 |
The script parameter is specified as a comma-sperated list of “key=value” pairs (see examples below). |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
106 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
107 |
Truth values can be set true or false, and numeric values always use a whole number. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
108 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
109 |
== Basic parameters == |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
110 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
111 |
key default description |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
112 |
---------------------------------------- |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
113 |
menu true Show configuration menu at the beginning. If no menu is used, a random wall set is used (see wall filters below) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
114 |
SBC false Surf Before Crate: Player must bounce off the water (“surfing”) before crates can be collected |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
115 |
AFR false Attack From Rope: Players must attack from the rope. Weapons which can't be fired from rope are removed |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
116 |
CBA false Crate Before Attack: Player must collect at least one crate before attacking |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
117 |
attackrule off If present, enable one of the attack rules “ABL” or “KTL”: |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
118 |
ABL: All But Last: Players must not only attack the team with the lowest total health |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
119 |
KTL: Kill The Leader: If players hit some enemy hedgehog, at least one of them must be a hog from |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
120 |
the team with the highest total health. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
121 |
The ABL and KTL rules exclude each other. If a player breaks the rule (if enabled), he must |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
122 |
skip in the next round. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
123 |
SW false Super Weapons: A few crates may contain very powerful weapons (melon, hellish grenade, RC plane, ballgun) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
124 |
maxcrates 12 Number of crates which can be at maximum in the game (limited to up to 100 to avoid lag) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
125 |
cratesperturn 1 Number of crates which appear each turn |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
126 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
127 |
== Advanced parameters == |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
128 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
129 |
Wall filters: The following parameters allow you to filter out wall sets based on their type and number of walls. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
130 |
If this is used together with the menu, the filtered wall sets can't be selected. Without a menu, the wall set |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
131 |
will be randomly selected among the wall sets that meet all criteria. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
132 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
133 |
If the criteria filter out all available wall sets of the map, the game is played without the Walls Before Crate rule. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
134 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
135 |
parameter default description |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
136 |
---------------------------------------- |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
137 |
walls N/A |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
138 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
139 |
Permitted values: |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
140 |
- leftright: The left and right part of the border. Traditional W2W-style. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
141 |
- roof: Only the top part of the border |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
142 |
- leftrightroof: Combination of the two above |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
143 |
- inside: Map-specific wall set where all walls are part of the terrain |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
144 |
- mixed: Map-specific wall set where some walls are part of the terrain, and some are part of the map border |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
145 |
- none: No walls required. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
146 |
- all: Shorthand: All wall sets are allowed. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
147 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
148 |
Combination of multiple types is possible by concatenating the names with plus signs (see examples below). |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
149 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
150 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
151 |
Restrict wall numbers: With the following parameters you can restrict the pool of wall sets to only those with a certain |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
152 |
number of walls. Note that 2 walls are the most common type of wall set, as this is often available by default. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
153 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
154 |
parameter default description |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
155 |
---------------------------------------- |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
156 |
minwalls N/A Filter out wall sets with less than this |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
157 |
maxwalls N/A Filter out wall sets with more than this |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
158 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
159 |
wallsnum N/A Shorthand: Combintion of minwalls and maxwalls if they are the equal. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
160 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
161 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
162 |
== Examples == |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
163 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
164 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
165 |
SBC=true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
166 |
--> Keep the menu, enable Surf Before Crate by default (if available). |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
167 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
168 |
SBC=true, menu=false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
169 |
--> Enable Surf Before Crate (if available) and use the defaul walls set. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
170 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
171 |
AFR=true, menu=false, wallsnum=2 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
172 |
--> Attack From Rope rule active, and use a random wall set with 2 walls |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
173 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
174 |
menu=false, walls=leftright |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
175 |
--> Always use the classic left/right wall set automatically. Traditional W2W-style. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
176 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
177 |
walls=none, menu=false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
178 |
--> Like classic Shoppa |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
179 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
180 |
walls=leftright+inside+mixed, menu=false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
181 |
--> Randomly use either the left/right wall set, an Inside or Mixed wall set. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
182 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
183 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
184 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
185 |
= MORE GAME SCHEME CONFIGURATION = |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
186 |
You can almost set everything in the game scheme freely, and the script will work just fine together with it. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
187 |
Feel free to experiment a bit. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
188 |
The only exception are the crate frequencies. Setting them has no effect, crates are handled uniquiely in this game. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
189 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
190 |
At this stage, the script does not allow for custom weapon sets. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
191 |
]] |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
192 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
193 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
194 |
|
7095 | 195 |
----------------------------- |
196 |
-- GO PONIES, GO PONIES, GO! |
|
197 |
----------------------------- |
|
198 |
||
8043 | 199 |
HedgewarsScriptLoad("/Scripts/Locale.lua") |
200 |
HedgewarsScriptLoad("/Scripts/Tracker.lua") |
|
201 |
HedgewarsScriptLoad("/Scripts/Utils.lua") |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
202 |
HedgewarsScriptLoad("/Scripts/Params.lua") |
7095 | 203 |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
204 |
-- HARDCODED values |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
205 |
local ammoTypesNum = 58 -- number of weapon types (permanent TODO: Check this number for each Hedgewars version) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
206 |
local PlacementTime = 15000 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
207 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
208 |
-- menu stuff |
7095 | 209 |
local menuIndex = 1 |
210 |
local menu = {} |
|
211 |
local preMenuCfg |
|
212 |
local postMenuCfg |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
213 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
214 |
--[[ WxW preparation phase. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
215 |
0 = Game not started yet |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
216 |
1 = Configuration phase |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
217 |
2 = Hedgehog placement phase |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
218 |
100 = Game phase |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
219 |
]] |
7095 | 220 |
local roundN = 0 |
221 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
222 |
-- Used to select one of the wall sets |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
223 |
-- 0: no walls |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
224 |
-- 1 and above: ID of wall sets |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
225 |
local wallSetID = 0 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
226 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
227 |
-- Store the wall sets here |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
228 |
local wallSets = {} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
229 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
230 |
-- Wall set types and wall number limits for filtering |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
231 |
local allWallSetTypes = {"roof", "leftright", "leftrightroof", "mixed", "inside"} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
232 |
local allowedWallSetTypes = {roof=true, leftright=true, leftrightroof=true, mixed=true, inside=true} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
233 |
local minWalls, maxWalls = nil, nil |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
234 |
|
7095 | 235 |
-- config and wall variables |
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
236 |
local useMenu = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
237 |
local AFR = false -- Attack From Rope |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
238 |
local WBC = true -- Wall(s) Before Crate, will later only be set again in script parameter |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
239 |
local CBA = false -- Crate Before Attack |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
240 |
local attackRule = nil -- Either nil, "KTL" (Kill The Leader) or "ABL" (All But Last) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
241 |
local allowCrazyWeps = false -- Super weapons |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
242 |
local requireSurfer = false -- Surf Before Crate |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
243 |
local crateSpawned = false -- Has the crate (or crates) been spawned in this turn yet? |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
244 |
local cratesPerTurn = 1 -- How many crates appear per turn (respects crate limit) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
245 |
local maxCrates = 12 -- default crate limit, can be configured with params |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
246 |
local maxCratesHard = 100 -- "hard" crate limit, to avoid extreme lagging due to many crates |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
247 |
local crateGearsInGame = 0 |
7095 | 248 |
local wX = {} |
249 |
local wY = {} |
|
250 |
local wWidth = {} |
|
251 |
local wHeight = {} |
|
252 |
local wTouched = {} |
|
253 |
local wallsLeft = 0 |
|
254 |
||
255 |
local hasSurfed = false |
|
256 |
local allWallsHit = false |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
257 |
local crateCollected = false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
258 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
259 |
-- ABL and KTL stuff |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
260 |
local teamNames = {} -- List of all teams |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
261 |
local teamsAttacked = {} -- List of attacked teams (in this turn) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
262 |
local lastTeam = nil -- Team with the least health. Determined only at start of turn. If it's a tie, use nil. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
263 |
local leaderTeam = nil -- Team with the most health. Determined only at start of turn. If it's a tie, use nil. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
264 |
local runnerUpTeam = nil -- Team with the second-most health |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
265 |
local previousTeam = nil -- Remember the name of the team in the previous turn |
7095 | 266 |
|
267 |
local gTimer = 1 |
|
268 |
local effectTimer = 1 |
|
269 |
||
270 |
local ropeG = nil |
|
271 |
local allowCrate = true |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
272 |
local crates = {} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
273 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
274 |
-- Variables for place hedgehogs mode |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
275 |
local hogCount = 0 -- Used to detect the end of the hog placement phase |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
276 |
local turnsCount = 0 |
7095 | 277 |
|
278 |
-- crate radar vars |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
279 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
280 |
-- Set the initial radar mode here |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
281 |
-- 0: Radar is always active |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
282 |
-- 1: Radar is only active shortly after crate spawn |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
283 |
-- 2: Radar is disabled |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
284 |
local radarMode = 0 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
285 |
|
7095 | 286 |
local rCirc = {} |
287 |
local rAlpha = 255 |
|
288 |
local rPingTimer = 0 |
|
289 |
local m2Count = 0 |
|
290 |
||
291 |
local weapons = {} |
|
292 |
||
293 |
local crazyWeps = {amWatermelon, amHellishBomb, amBallgun, amRCPlane} |
|
294 |
||
295 |
local groundWeps = {amBee, amShotgun,amDEagle,amFirePunch, amWhip, |
|
296 |
amPickHammer, amBaseballBat, amCake,amBallgun, |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
297 |
amRCPlane, amSniperRifle, amBirdy, amBlowTorch, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
298 |
amFlamethrower, amMortar, amHammer} |
7095 | 299 |
|
300 |
local ropeWeps = {amGrenade, amClusterBomb, amBazooka, amMine, amDynamite, |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
301 |
amWatermelon, amHellishBomb, amDrill, amMolotov, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
302 |
amSMine, amGasBomb} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
303 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
304 |
local msgColorTech = 0xFFBA00FF |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
305 |
local msgColorWarn = 0xFF4000FF |
7095 | 306 |
|
307 |
-- 0.9.18+ extra custom data for preset maps |
|
308 |
local MapList = |
|
309 |
{ |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
310 |
--name, surfer, roof, LRwalls |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
311 |
{"Alien", true, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
312 |
{"Atlantis Shoppa", true, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
313 |
{"BasketballField", false, false, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
314 |
{"BattleCity_v1", true, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
315 |
{"BIGshoppa", true, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
316 |
{"BambooPlinko", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
317 |
{"BoatWxW", true, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
318 |
{"BrickShoppa", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
319 |
{"BubbleFlow", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
320 |
{"Citrouille", true, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
321 |
{"Cave", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
322 |
{"Cheese_Ropes", false, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
323 |
{"CookieShoppa", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
324 |
{"CrossRopes", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
325 |
{"FutuShoppa", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
326 |
{"Garden", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
327 |
{"Glass Shoppa", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
328 |
{"GlassShoppa2", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
329 |
{"HardIce", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
330 |
{"Industrial", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
331 |
{"Islands", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
332 |
{"IslandsFlipped", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
333 |
{"IslandsRearranged", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
334 |
{"Hedgelove", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
335 |
{"HellishRopes", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
336 |
{"Hedgeland_v1", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
337 |
{"HeyLandShoppa", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
338 |
{"NeonStyle", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
339 |
{"MaskedRopes", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
340 |
{"Octorama", false, false, true}, |
7095 | 341 |
{"red vs blue - Castle", true, false, true}, |
342 |
{"red vs blue - castle2", true, false, true}, |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
343 |
{"red vs blue - True Shoppa Sky", true, false, true}, |
12067 | 344 |
{"Ropes", false, true, true}, |
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
345 |
{"RopeLikeAKingInHellWithNeon", false, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
346 |
{"Ropes Flipped", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
347 |
{"Ropes Rearranged", false, false, true}, |
7095 | 348 |
{"RopesRevenge Flipped", true, false, true}, |
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
349 |
{"RopesThree", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
350 |
{"RopesTwo", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
351 |
{"Ruler", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
352 |
{"SandShoppa", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
353 |
{"ShapeShoppa1.0", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
354 |
{"ShapeShoppa Darkhow", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
355 |
{"SheepyShoppa_v2", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
356 |
{"shopppa", false, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
357 |
{"ShoppaCave2", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
358 |
{"ShoppaChallenge", false, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
359 |
{"ShoppaDesert", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
360 |
{"ShoppaEvoRope_v1", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
361 |
{"ShoppaFun", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
362 |
{"ShoppaFun2", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
363 |
{"ShoppaGolf", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
364 |
{"ShoppaHalloween", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
365 |
{"ShoppaHell", false, true, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
366 |
{"ShoppaHellFlipped", true, true, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
367 |
{"ShoppaHellRemake", false, true, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
368 |
{"ShoppaKing", false, true, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
369 |
{"ShoppaKingFlipped", true, false, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
370 |
{"ShoppaKingSideways", true, true, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
371 |
{"ShoppaMeme", false, true, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
372 |
{"ShoppaNeon", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
373 |
{"ShoppaNeonFlipped", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
374 |
{"ShoppaOnePiece2", false, true, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
375 |
{"ShoppaQuotes2", false, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
376 |
{"ShoppaRainbow", false, false, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
377 |
{"ShoppaRadigme", false, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
378 |
{"ShoppaSilhouette", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
379 |
{"ShoppaSpace", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
380 |
{"ShoppaSea", true, false, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
381 |
{"ShoppaShapex_v1", false, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
382 |
{"ShoppaSparkle", true, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
383 |
{"ShoppaSky", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
384 |
{"ShoppaSky2", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
385 |
{"ShoppaSsion", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
386 |
{"ShoppaStyle2", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
387 |
{"ShoppaThology", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
388 |
{"ShoppaTournament2012", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
389 |
{"ShoppaWild", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
390 |
{"Shoppawall", false, false, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
391 |
{"ShoppaWall2", false, false, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
392 |
{"ShBall", false, true, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
393 |
{"ShHell", false, true, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
394 |
{"ShNeon", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
395 |
{"ShoppaSky", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
396 |
{"SloppyShoppa", false, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
397 |
{"SloppyShoppa2", false, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
398 |
{"SkatePark", false, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
399 |
{"Snow_Ropes", false, true, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
400 |
{"Sticks", true, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
401 |
{"Symmetrical Ropes", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
402 |
{"SpartanShoppa", false, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
403 |
{"Tetris", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
404 |
{"TransRopes2", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
405 |
{"TRBShoppa", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
406 |
{"TrickyShoppa", false, true, false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
407 |
{"Wildmap", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
408 |
{"Winter Shoppa", false, false, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
409 |
{"WarShoppa", false, true, true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
410 |
{"2Cshoppa", true, false, true}, |
7095 | 411 |
} |
412 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
413 |
local Ropes_WallSet = { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
414 |
{ add="none", {299,932,20,856}, {4056,0,30,1788} }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
415 |
{ add="none", {299,109,20,779}, {4056,0,30,1788} }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
416 |
{ add="none", {299,109,20,779}, {299,932,20,856}, {4056,0,30,1788} }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
417 |
{ add="default", {2253,326,20,574}, {3280,326,33,253}, needsborder=false }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
418 |
{ add="roof", {2322,326,457,20} }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
419 |
{ add="default", {1092,934,54,262}, {2822,323,33,137}, needsborder=false }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
420 |
{ add="none", {203,1193,20,595}, {3280,326,20,253}, needsborder=false }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
421 |
} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
422 |
local Shoppawall_WallSet = { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
423 |
{ add="none", {80+290,61+878,20,1018}, {3433+290,61+878,20,1018}, default=true, needsborder=false }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
424 |
} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
425 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
426 |
-- List of map with special wall settings |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
427 |
local SpecialMapList = { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
428 |
["Ropes"] = Ropes_WallSet, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
429 |
["HellishRopes"] = Ropes_WallSet, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
430 |
["MaskedRopes"] = Ropes_WallSet, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
431 |
["TransRopes2"] = Ropes_WallSet, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
432 |
["ShoppaKing"] = { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
433 |
{ add="none", {3777,1520,50,196}, {1658,338,46,670}, needsborder=false }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
434 |
{ add="none", {125,0,30,2048}, {4066,515,30,1528}, default=true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
435 |
}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
436 |
["ShoppaHell"] = { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
437 |
{ add="none", {3491,697,30,1150}, {0,0,30,1847}, default=true}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
438 |
{ add="none", {3810,0,30,1616}, {0,0,30,1847}, }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
439 |
{ add="none", {2045,832,20,260}, {2107,832,20,260}, needsborder=false }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
440 |
{ add="default", {2035,831,30,263}, {3968,1668,31,383}, needsborder=false }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
441 |
}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
442 |
["ShoppaNeon"] = { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
443 |
{ add="default", {980,400,20,300}, {1940,400,20,300}, {3088,565,26,284}, {187,270,28,266}, needsborder=false }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
444 |
}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
445 |
["Shoppawall"] = Shoppawall_WallSet, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
446 |
["ShoppaWall2"] = Shoppawall_WallSet, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
447 |
["ShoppaDesert"] = { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
448 |
{ add="none", {2322,349,20,471}, {295,93,24,1479}, needsborder=false }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
449 |
{ add="none", {3001,1535,20,232}, {2264,349,20,495},{716,696,20,119}, needsborder=false }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
450 |
{ add="leftright", {209,656,20,367},{2810,838,20,96}, needsborder=false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
451 |
{ add="none", {2649,0,445,20}, {2322,349,947,20},{299,696,381,20}}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
452 |
}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
453 |
["ShoppaOnePiece2"] = { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
454 |
{ add="default", {42,0,20,2048}, {4048,0,20,2048}, needsborder=false, }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
455 |
{ add="default", {42,0,20,2048}, {3852,273,20,1637}, needsborder=false, default="noborder" }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
456 |
}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
457 |
["ShoppaWild"] = { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
458 |
{ add="default", {2123,1365,20,293}, {3102,1365,20,293}, {1215,1391,20,291}, needsborder=false }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
459 |
{ add="none", {144,167,1904,20}, {2350,167,753,20}, {3793,167,303,20}, needsborder=false}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
460 |
}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
461 |
["ShoppaRainbow"] = { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
462 |
{ add="none", {67+602,61+80,20,1847}, {2779+602,61+80,20,1847}, needsborder=false }, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
463 |
}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
464 |
} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
465 |
|
7095 | 466 |
function BoolToCfgTxt(p) |
467 |
if p == false then |
|
11301
fa18940f290d
- Rus localization for following game styles:
antonc27 <antonc27@mail.ru>
parents:
10670
diff
changeset
|
468 |
return loc("Disabled") |
7095 | 469 |
else |
11301
fa18940f290d
- Rus localization for following game styles:
antonc27 <antonc27@mail.ru>
parents:
10670
diff
changeset
|
470 |
return loc("Enabled") |
7095 | 471 |
end |
472 |
end |
|
473 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
474 |
function AttackRuleToCfgTxt(attackRule) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
475 |
if attackRule == nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
476 |
return loc("Disabled") |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
477 |
elseif attackRule == "ABL" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
478 |
return loc("All But Last") |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
479 |
elseif attackRule == "KTL" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
480 |
return loc("Kill The Leader") |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
481 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
482 |
return "ERROR" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
483 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
484 |
end |
7095 | 485 |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
486 |
function NewWallSet(newWallSet, wType) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
487 |
-- Filter out wall sets which are not in allowed categories or have too many or few walls |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
488 |
if allowedWallSetTypes[wType] == true then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
489 |
local inBounds = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
490 |
if minWalls ~= nil and #newWallSet < minWalls then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
491 |
inBounds = false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
492 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
493 |
if maxWalls ~= nil and #newWallSet > maxWalls then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
494 |
inBounds = false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
495 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
496 |
if inBounds then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
497 |
table.insert(wallSets, newWallSet) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
498 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
499 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
500 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
501 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
502 |
function MapsInit() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
503 |
mapID = nil |
7095 | 504 |
margin = 20 |
505 |
||
506 |
--0.9.18+ |
|
507 |
for i = 1, #MapList do |
|
508 |
if Map == MapList[i][1] then |
|
509 |
mapID = i |
|
510 |
end |
|
511 |
end |
|
512 |
||
12068
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
513 |
-- Border conditions |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
514 |
-- Just a wrapper for MapHasBorder() |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
515 |
local border = MapHasBorder() == true |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
516 |
-- Left and right walls are available |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
517 |
local leftRight = (WorldEdge == weBounce) or (WorldEdge == weNone and border) |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
518 |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
519 |
local left, right, roof |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
520 |
|
12068
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
521 |
local startY, height |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
522 |
if (not border) and (WorldEdge == weBounce) then |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
523 |
-- Higher left/right walls for bouncy world edge without roof |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
524 |
local h = math.max(1024, LAND_HEIGHT) |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
525 |
height = h * 2 |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
526 |
startY = TopY - h |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
527 |
else |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
528 |
-- Standard left/right wall height |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
529 |
height = WaterLine |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
530 |
startY = TopY + 10 |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
531 |
end |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
532 |
left = {LeftX+10, startY, margin, height} |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
533 |
right = {RightX-10-margin, startY, margin, height} |
e2be2e6cf544
WxW: Increase wall height of left/right walls with bounce edge and no border
Wuzzy <almikes@aol.com>
parents:
12067
diff
changeset
|
534 |
roof = {LeftX+10, TopY+10, RightX-LeftX-20, margin} |
7095 | 535 |
|
536 |
if mapID ~= nil then |
|
12067 | 537 |
if border and MapList[mapID][3] == true then |
538 |
NewWallSet({roof, desc=loc("Roof")}, "roof") |
|
539 |
wallSetID = #wallSets |
|
540 |
end |
|
541 |
if leftRight and MapList[mapID][4] == true then |
|
542 |
NewWallSet({left, right, desc=loc("Left and right")}, "leftright") |
|
543 |
wallSetID = #wallSets |
|
544 |
end |
|
545 |
if leftRight and border and MapList[mapID][3] == true and MapList[mapID][4] == true then |
|
546 |
NewWallSet({left, right, roof, desc=loc("Left, right and roof")}, "leftrightroof") |
|
7095 | 547 |
end |
548 |
||
549 |
-- add map specific walls |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
550 |
if SpecialMapList[Map] ~= nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
551 |
local insideID = 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
552 |
local previousInside = nil |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
553 |
local mixedID = 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
554 |
local previousMixed = nil |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
555 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
556 |
-- Helper function to build the wall set name. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
557 |
-- Basically just to ensure that names like "Inside 1" are only used when there are at least 2 "Insides" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
558 |
local function newInsideOrMixed(ws, previous_ws, id, string, stringD) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
559 |
if id == 1 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
560 |
ws.desc = string |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
561 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
562 |
ws.desc = string.format(stringD, id) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
563 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
564 |
if id == 2 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
565 |
previous_ws.desc = string.format(stringD, id-1) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
566 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
567 |
id = id + 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
568 |
previous_ws = ws |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
569 |
return id, previous_ws |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
570 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
571 |
for ws=1,#SpecialMapList[Map] do |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
572 |
local walls = SpecialMapList[Map][ws] |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
573 |
if walls.needsborder == false then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
574 |
local newwallset2 = {} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
575 |
for w=1,#walls do |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
576 |
table.insert(newwallset2, walls[w]) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
577 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
578 |
insideID, previousInside = newInsideOrMixed(newwallset2, previousInside, insideID, loc("Inside"), loc("Inside %d")) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
579 |
newwallset2.custom = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
580 |
NewWallSet(newwallset2, "inside") |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
581 |
if SpecialMapList[Map][ws].default == "noborder" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
582 |
wallSetID = #wallSets |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
583 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
584 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
585 |
local newwallset = {} |
12067 | 586 |
if border and leftRight and walls.add == "all" then |
587 |
table.insert(newwallset, roof) |
|
588 |
table.insert(newwallset, left) |
|
589 |
table.insert(newwallset, right) |
|
590 |
elseif walls.add == "default" then |
|
591 |
if border and MapList[mapID][3] == true then |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
592 |
table.insert(newwallset, roof) |
12067 | 593 |
end |
594 |
if leftRight and MapList[mapID][4] == true then |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
595 |
table.insert(newwallset, left) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
596 |
table.insert(newwallset, right) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
597 |
end |
12067 | 598 |
elseif border and walls.add == "roof" then |
599 |
table.insert(newwallset, roof) |
|
600 |
elseif leftRight and walls.add == "leftright" then |
|
601 |
table.insert(newwallset, left) |
|
602 |
table.insert(newwallset, right) |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
603 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
604 |
for w=1,#walls do |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
605 |
table.insert(newwallset, walls[w]) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
606 |
end |
12067 | 607 |
if border and leftRight and ((walls.add ~= "none" and walls.add ~= nil) or walls.needsborder ~= false) then |
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
608 |
mixedID, previousMixed = newInsideOrMixed(newwallset, previousMixed, mixedID, loc("Mixed"), loc("Mixed %d")) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
609 |
newwallset.custom = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
610 |
NewWallSet(newwallset, "mixed") |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
611 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
612 |
if SpecialMapList[Map][ws].default == true then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
613 |
wallSetID = #wallSets |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
614 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
615 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
616 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
617 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
618 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
619 |
if border then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
620 |
NewWallSet({roof, desc=loc("Roof")}, "roof") |
12067 | 621 |
wallSetID = #wallSets |
622 |
end |
|
623 |
if leftRight then |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
624 |
NewWallSet({left, right, desc=loc("Left and right")}, "leftright") |
12067 | 625 |
wallSetID = #wallSets |
626 |
end |
|
627 |
if leftRight and border then |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
628 |
NewWallSet({left, right, roof, desc=loc("Left, right and roof")}, "leftrightroof") |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
629 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
630 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
631 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
632 |
-- Choose random map when without without menu |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
633 |
if useMenu == false and #wallSets > 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
634 |
wallSetID = GetRandom(#wallSets)+1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
635 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
636 |
-- Select first wall set by default if we still haven't selected anything for some reason |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
637 |
if wallSetID == 0 and #wallSets > 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
638 |
wallSetID = 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
639 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
640 |
-- But disabled walls from script parameter have higher priority |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
641 |
if WBC == false then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
642 |
wallSetID = 0 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
643 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
644 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
645 |
if CanSurf() == false then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
646 |
requireSurfer = false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
647 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
648 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
649 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
650 |
function LoadConfig(p) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
651 |
ClearWalls() |
12071
ecad5b4e56d9
WxW: Remove old compability code which caused problems with unknown maps
Wuzzy <almikes@aol.com>
parents:
12070
diff
changeset
|
652 |
if p > 0 then |
ecad5b4e56d9
WxW: Remove old compability code which caused problems with unknown maps
Wuzzy <almikes@aol.com>
parents:
12070
diff
changeset
|
653 |
local walls = wallSets[p] |
ecad5b4e56d9
WxW: Remove old compability code which caused problems with unknown maps
Wuzzy <almikes@aol.com>
parents:
12070
diff
changeset
|
654 |
for i=1,#walls do |
ecad5b4e56d9
WxW: Remove old compability code which caused problems with unknown maps
Wuzzy <almikes@aol.com>
parents:
12070
diff
changeset
|
655 |
AddWall(walls[i][1], walls[i][2], walls[i][3], walls[i][4]) |
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
656 |
end |
7095 | 657 |
end |
658 |
||
659 |
end |
|
660 |
||
661 |
function AddWall(zXMin,zYMin, zWidth, zHeight) |
|
662 |
||
663 |
table.insert(wX, zXMin) |
|
664 |
table.insert(wY, zYMin) |
|
665 |
table.insert(wWidth, zWidth) |
|
666 |
table.insert(wHeight, zHeight) |
|
667 |
table.insert(wTouched, false) |
|
668 |
||
669 |
end |
|
670 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
671 |
function ClearWalls() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
672 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
673 |
wX = {} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
674 |
wY = {} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
675 |
wWidth = {} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
676 |
wHeight = {} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
677 |
wTouched = {} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
678 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
679 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
680 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
681 |
-- Draw a single point for the crate radar |
7095 | 682 |
function DrawBlip(gear) |
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
683 |
if GetGearType(gear) ~= gtCase then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
684 |
return |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
685 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
686 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
687 |
local baseColor, radius, alpha |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
688 |
if getGearValue(gear, "frozen") then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
689 |
radius = 25 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
690 |
baseColor = 0xFFFFFFFF |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
691 |
alpha = math.min(255, rAlpha+127) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
692 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
693 |
radius = 40 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
694 |
baseColor = GetClanColor(GetHogClan(CurrentHedgehog)) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
695 |
alpha = rAlpha |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
696 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
697 |
SetVisualGearValues(getGearValue(gear,"CIRC"), getGearValue(gear,"RX"), getGearValue(gear,"RY"), 100, 255, 1, 10, 0, radius, 3, baseColor-alpha) |
7095 | 698 |
end |
699 |
||
700 |
function TrackRadarBlip(gear) |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
701 |
if GetGearType(gear) ~= gtCase then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
702 |
return |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
703 |
end |
7095 | 704 |
|
705 |
-- work out the distance to the target |
|
706 |
g1X, g1Y = GetGearPosition(CurrentHedgehog) |
|
707 |
g2X, g2Y = GetX(gear), GetY(gear) |
|
708 |
q = g1X - g2X |
|
709 |
w = g1Y - g2Y |
|
710 |
r = math.sqrt( (q*q) + (w*w) ) --alternate |
|
711 |
||
712 |
RCX = getGearValue(gear,"RX") |
|
713 |
RCY = getGearValue(gear,"RY") |
|
714 |
||
715 |
rCircDistance = r -- distance to circle |
|
716 |
||
717 |
opp = w |
|
718 |
if opp < 0 then |
|
719 |
opp = opp*-1 |
|
720 |
end |
|
721 |
||
722 |
-- work out the angle (theta) to the target |
|
723 |
t = math.deg ( math.asin(opp / r) ) |
|
724 |
||
725 |
-- based on the radius of the radar, calculate what x/y displacement should be |
|
726 |
NR = 150 -- radius at which to draw circs |
|
727 |
NX = math.cos( math.rad(t) ) * NR |
|
728 |
NY = math.sin( math.rad(t) ) * NR |
|
729 |
||
730 |
if rCircDistance < NR then |
|
731 |
RCX = g2X |
|
732 |
elseif q > 0 then |
|
733 |
RCX = g1X - NX |
|
734 |
else |
|
735 |
RCX = g1X + NX |
|
736 |
end |
|
737 |
||
738 |
if rCircDistance < NR then |
|
739 |
RCY = g2Y |
|
740 |
elseif w > 0 then |
|
741 |
RCY = g1Y - NY |
|
742 |
else |
|
743 |
RCY = g1Y + NY |
|
744 |
end |
|
745 |
||
746 |
setGearValue(gear, "RX", RCX) |
|
747 |
setGearValue(gear, "RY", RCY) |
|
748 |
||
749 |
end |
|
750 |
||
751 |
||
752 |
function HandleCircles() |
|
753 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
754 |
if radarMode == 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
755 |
rAlpha = 0 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
756 |
elseif radarMode == 1 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
757 |
-- Only show radar for a short time after a crate spawn |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
758 |
if rAlpha ~= 255 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
759 |
rPingTimer = rPingTimer + 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
760 |
if rPingTimer == 100 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
761 |
rPingTimer = 0 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
762 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
763 |
rAlpha = rAlpha + 5 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
764 |
if rAlpha >= 255 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
765 |
rAlpha = 255 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
766 |
end |
7095 | 767 |
end |
768 |
end |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
769 |
elseif radarMode == 2 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
770 |
rAlpha = 255 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
771 |
end |
7095 | 772 |
|
773 |
runOnGears(DrawBlip) |
|
774 |
||
775 |
m2Count = m2Count + 1 |
|
776 |
if m2Count == 25 then |
|
777 |
m2Count = 0 |
|
778 |
||
779 |
if (CurrentHedgehog ~= nil) and (rAlpha ~= 255) then |
|
780 |
runOnGears(TrackRadarBlip) |
|
781 |
end |
|
782 |
||
783 |
end |
|
784 |
||
785 |
end |
|
786 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
787 |
-- Returns true if crates are allowed to be accessed right now (used for unfreezing and spawning) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
788 |
function AreCratesUnlocked() |
7095 | 789 |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
790 |
local crateSpawn = true |
7095 | 791 |
|
792 |
if requireSurfer == true then |
|
793 |
if hasSurfed == false then |
|
794 |
crateSpawn = false |
|
795 |
end |
|
796 |
end |
|
797 |
||
798 |
if #wTouched > 0 then |
|
799 |
if allWallsHit == false then |
|
800 |
crateSpawn = false |
|
801 |
end |
|
802 |
end |
|
803 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
804 |
return crateSpawn |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
805 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
806 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
807 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
808 |
-- Freeze all crates, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
809 |
function FreezeCrates() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
810 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
811 |
local cratesFrozen = 0 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
812 |
for crate, isCrate in pairs(crates) do |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
813 |
local state = GetState(crate) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
814 |
-- Freeze crate if it wasn't already frozen |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
815 |
if band(state, gstFrozen) == 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
816 |
cratesFrozen = cratesFrozen + 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
817 |
SetState(crate, bor(GetState(crate), gstFrozen)) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
818 |
setGearValue(crate, "frozen", true) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
819 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
820 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
821 |
-- Play sound if at least one new (!) crate was frozen |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
822 |
if cratesFrozen > 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
823 |
PlaySound(sndHogFreeze) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
824 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
825 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
826 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
827 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
828 |
-- Unfreeze all crates |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
829 |
function UnfreezeCrates() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
830 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
831 |
for crate, isCrate in pairs(crates) do |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
832 |
SetState(crate, band(GetState(crate), bnot(gstFrozen))) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
833 |
setGearValue(crate, "frozen", false) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
834 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
835 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
836 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
837 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
838 |
function CheckCrateConditions() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
839 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
840 |
local crateSpawn = AreCratesUnlocked() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
841 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
842 |
if crateSpawn == true and crateSpawned == false then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
843 |
UnfreezeCrates() |
7095 | 844 |
if allowCrate == true then |
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
845 |
local cratesInGame = crateGearsInGame |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
846 |
local toSpawn = cratesPerTurn |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
847 |
if cratesInGame + toSpawn > maxCrates then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
848 |
toSpawn = maxCrates - cratesInGame |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
849 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
850 |
for i=1,toSpawn do |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
851 |
SpawnAmmoCrate(0, 0, weapons[1+GetRandom(#weapons)] ) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
852 |
end |
7095 | 853 |
rPingTimer = 0 |
854 |
rAlpha = 0 |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
855 |
if toSpawn > 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
856 |
PlaySound(sndWarp) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
857 |
end |
7095 | 858 |
end |
859 |
end |
|
860 |
||
861 |
end |
|
862 |
||
10670
638af9cb922b
make use of onGearWaterSkip
mikade <redgrinner@gmail.com>
parents:
10036
diff
changeset
|
863 |
function onGearWaterSkip(gear) |
638af9cb922b
make use of onGearWaterSkip
mikade <redgrinner@gmail.com>
parents:
10036
diff
changeset
|
864 |
if gear == CurrentHedgehog then |
638af9cb922b
make use of onGearWaterSkip
mikade <redgrinner@gmail.com>
parents:
10036
diff
changeset
|
865 |
hasSurfed = true |
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
866 |
AddCaption(loc("Surfer!"), 0xFFFFFFFF, capgrpMessage2) |
7095 | 867 |
end |
868 |
end |
|
869 |
||
870 |
||
871 |
function WallHit(id, zXMin,zYMin, zWidth, zHeight) |
|
872 |
||
873 |
if wTouched[id] == false then |
|
874 |
tempE = AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtBigExplosion, 0, false) |
|
875 |
PlaySound(sndExplosion) |
|
876 |
wallsLeft = wallsLeft - 1 |
|
877 |
||
878 |
if wallsLeft == 0 then |
|
879 |
AddCaption(loc("All walls touched!")) |
|
880 |
allWallsHit = true |
|
881 |
if (requireSurfer == true) and (hasSurfed == false) then |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
882 |
AddCaption(loc("Go surf!"), 0xFFFFFFFF, capgrpMessage2) |
7095 | 883 |
end |
884 |
else |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
885 |
AddCaption(string.format(loc("Walls left: %d"), wallsLeft)) |
7095 | 886 |
end |
887 |
||
888 |
end |
|
889 |
||
890 |
wTouched[id] = true |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
891 |
if #wTouched > 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
892 |
tempE = AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtSmoke, 0, false) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
893 |
end |
7095 | 894 |
|
895 |
end |
|
896 |
||
897 |
function CheckForWallCollision() |
|
898 |
||
899 |
for i = 1, #wTouched do |
|
900 |
if gearIsInBox(CurrentHedgehog, wX[i],wY[i],wWidth[i],wHeight[i]) then |
|
901 |
WallHit(i, wX[i],wY[i],wWidth[i],wHeight[i]) |
|
902 |
end |
|
903 |
end |
|
904 |
||
905 |
end |
|
906 |
||
907 |
function BorderSpark(zXMin,zYMin, zWidth, zHeight, bCol) |
|
908 |
||
12070
03ba438dd597
Tweak WxW wall spark count according to wall size
Wuzzy <almikes@aol.com>
parents:
12069
diff
changeset
|
909 |
local size = zWidth * zHeight |
03ba438dd597
Tweak WxW wall spark count according to wall size
Wuzzy <almikes@aol.com>
parents:
12069
diff
changeset
|
910 |
-- Add multiple sparks for very large walls |
03ba438dd597
Tweak WxW wall spark count according to wall size
Wuzzy <almikes@aol.com>
parents:
12069
diff
changeset
|
911 |
sparkRuns = math.min(10, math.max(1, div(size, 10240))) |
03ba438dd597
Tweak WxW wall spark count according to wall size
Wuzzy <almikes@aol.com>
parents:
12069
diff
changeset
|
912 |
for i=1, sparkRuns do |
03ba438dd597
Tweak WxW wall spark count according to wall size
Wuzzy <almikes@aol.com>
parents:
12069
diff
changeset
|
913 |
local eX = zXMin + GetRandom(zWidth+10) |
03ba438dd597
Tweak WxW wall spark count according to wall size
Wuzzy <almikes@aol.com>
parents:
12069
diff
changeset
|
914 |
local eY = zYMin + GetRandom(zHeight+10) |
7095 | 915 |
|
12070
03ba438dd597
Tweak WxW wall spark count according to wall size
Wuzzy <almikes@aol.com>
parents:
12069
diff
changeset
|
916 |
local tempE = AddVisualGear(eX, eY, vgtDust, 0, false) |
03ba438dd597
Tweak WxW wall spark count according to wall size
Wuzzy <almikes@aol.com>
parents:
12069
diff
changeset
|
917 |
if tempE ~= 0 then |
03ba438dd597
Tweak WxW wall spark count according to wall size
Wuzzy <almikes@aol.com>
parents:
12069
diff
changeset
|
918 |
local g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(tempE) |
03ba438dd597
Tweak WxW wall spark count according to wall size
Wuzzy <almikes@aol.com>
parents:
12069
diff
changeset
|
919 |
SetVisualGearValues(tempE, eX, eY, g3, g4, g5, g6, g7, 1, g9, bCol ) |
03ba438dd597
Tweak WxW wall spark count according to wall size
Wuzzy <almikes@aol.com>
parents:
12069
diff
changeset
|
920 |
end |
7095 | 921 |
end |
922 |
||
923 |
end |
|
924 |
||
925 |
||
926 |
function HandleBorderEffects() |
|
927 |
||
928 |
effectTimer = effectTimer + 1 |
|
929 |
if effectTimer > 15 then --25 |
|
930 |
||
931 |
effectTimer = 1 |
|
932 |
||
933 |
for i = 1, #wTouched do |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
934 |
if wTouched[i] == false then |
7095 | 935 |
bCol = GetClanColor(GetHogClan(CurrentHedgehog)) |
936 |
BorderSpark(wX[i],wY[i],wWidth[i],wHeight[i], bCol) |
|
937 |
end |
|
938 |
end |
|
939 |
||
940 |
end |
|
941 |
||
942 |
end |
|
943 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
944 |
function PlaceWarn() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
945 |
PlaySound(sndDenied) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
946 |
AddCaption(loc("Please place your hedgehog first!"), msgColorWarn, capgrpMessage2) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
947 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
948 |
|
7095 | 949 |
function onLJump() |
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
950 |
if roundN == 1 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
951 |
PlaySound(sndPlaced) |
7095 | 952 |
SetInputMask(0xFFFFFFFF) |
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
953 |
AddCaption(loc("Configuration accepted."), msgColorTech, capgrpMessage) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
954 |
if GetGameFlag(gfPlaceHog) then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
955 |
TurnTimeLeft = PlacementTime |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
956 |
AddAmmo(CurrentHedgehog, amTeleport, 100) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
957 |
SetWeapon(amTeleport) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
958 |
AddCaption( |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
959 |
string.format(loc("%s, place the first hedgehog!"), GetHogTeamName(CurrentHedgehog)), |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
960 |
0xFFFFFFFF, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
961 |
capgrpMessage2 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
962 |
) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
963 |
roundN = 2 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
964 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
965 |
TurnTimeLeft = TurnTime |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
966 |
AddCaption(string.format(loc("Let's go, %s!"), GetHogTeamName(CurrentHedgehog)), 0xFFFFFFFF, capgrpMessage2) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
967 |
roundN = 100 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
968 |
wallsLeft = #wTouched |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
969 |
allowCrate = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
970 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
971 |
PlaySound(sndYesSir, CurrentHedgehog) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
972 |
FinalizeMenu() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
973 |
elseif roundN == 2 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
974 |
PlaceWarn() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
975 |
elseif roundN == 100 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
976 |
if CBA and not crateCollected then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
977 |
if (GetCurAmmoType() ~= amRope) and |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
978 |
(GetCurAmmoType() ~= amSkip) and |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
979 |
(GetCurAmmoType() ~= amNothing) and |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
980 |
(ropeG ~= nil) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
981 |
then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
982 |
AddCaption(loc("You must first collect a crate before you attack!"), msgColorWarn, capgrpMessage2) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
983 |
PlaySound(sndDenied) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
984 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
985 |
end |
7095 | 986 |
end |
987 |
end |
|
988 |
||
989 |
function onAttack() |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
990 |
if roundN == 1 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
991 |
if menu[menuIndex].activate ~= nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
992 |
menu[menuIndex].activate() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
993 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
994 |
menu[menuIndex].doNext() |
7095 | 995 |
end |
996 |
||
997 |
UpdateMenu() |
|
998 |
configureWeapons() |
|
999 |
HandleStartingStage() |
|
1000 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1001 |
PlaySound(sndSwitchHog) |
7095 | 1002 |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1003 |
elseif roundN == 2 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1004 |
if GetCurAmmoType() ~= amSkip and GetCurAmmoType() ~= amNothing then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1005 |
PlaceWarn() |
7095 | 1006 |
end |
1007 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1008 |
elseif roundN == 100 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1009 |
local weaponSelected = (GetCurAmmoType() ~= amRope) and |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1010 |
(GetCurAmmoType() ~= amSkip) and |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1011 |
(GetCurAmmoType() ~= amNothing) and |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1012 |
(ropeG == nil) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1013 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1014 |
if weaponSelected then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1015 |
if AFR and CBA and not crateCollected then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1016 |
AddCaption(loc("You must attack from a rope, after you collected a crate!"), msgColorWarn, capgrpMessage2) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1017 |
PlaySound(sndDenied) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1018 |
elseif AFR then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1019 |
AddCaption(loc("You may only attack from a rope!"), msgColorWarn, capgrpMessage2) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1020 |
PlaySound(sndDenied) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1021 |
elseif CBA and not crateCollected then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1022 |
AddCaption(loc("You must first collect a crate before you attack!"), msgColorWarn, capgrpMessage2) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1023 |
PlaySound(sndDenied) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1024 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1025 |
end |
7095 | 1026 |
end |
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1027 |
end |
7095 | 1028 |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1029 |
function onSwitch() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1030 |
-- Must be in-game, hog must be controlled by player and hog must be on rope or have rope selected |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1031 |
if roundN == 100 and CurrentHedgehog ~= nil and band(GetState(CurrentHedgehog), gstHHDriven) ~= 0 and (ropeG ~= nil or GetCurAmmoType() == amRope) then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1032 |
-- Toggle radar mode |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1033 |
radarMode = radarMode + 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1034 |
if radarMode > 2 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1035 |
radarMode = 0 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1036 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1037 |
local message |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1038 |
if radarMode == 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1039 |
message = loc("Radar: On") |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1040 |
elseif radarMode == 1 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1041 |
message = loc("Radar: Show after crate drop") |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1042 |
elseif radarMode == 2 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1043 |
message = loc("Radar: Off") |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1044 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1045 |
AddCaption(message, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmostate) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1046 |
-- Remember the radar mode for this team to restore it on the team's next turn |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1047 |
setTeamValue(GetHogTeamName(CurrentHedgehog), "radarMode", radarMode) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1048 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1049 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1050 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1051 |
function onLeft() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1052 |
if roundN == 1 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1053 |
if menu[menuIndex].doPrev ~= nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1054 |
menu[menuIndex].doPrev() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1055 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1056 |
menu[menuIndex].activate() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1057 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1058 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1059 |
UpdateMenu() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1060 |
configureWeapons() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1061 |
HandleStartingStage() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1062 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1063 |
PlaySound(sndSwitchHog) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1064 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1065 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1066 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1067 |
function onRight() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1068 |
if roundN == 1 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1069 |
if menu[menuIndex].doNext ~= nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1070 |
menu[menuIndex].doNext() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1071 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1072 |
menu[menuIndex].activate() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1073 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1074 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1075 |
UpdateMenu() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1076 |
configureWeapons() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1077 |
HandleStartingStage() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1078 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1079 |
PlaySound(sndSwitchHog) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1080 |
end |
7095 | 1081 |
end |
1082 |
||
1083 |
function onDown() |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1084 |
if roundN == 1 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1085 |
PlaySound(sndSteps) |
7095 | 1086 |
menuIndex = menuIndex +1 |
1087 |
if menuIndex > #menu then |
|
1088 |
menuIndex = 1 |
|
1089 |
end |
|
1090 |
HandleStartingStage() |
|
1091 |
end |
|
1092 |
end |
|
1093 |
||
1094 |
function onUp() |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1095 |
if roundN == 1 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1096 |
PlaySound(sndSteps) |
7095 | 1097 |
menuIndex = menuIndex -1 |
1098 |
if menuIndex == 0 then |
|
1099 |
menuIndex = #menu |
|
1100 |
end |
|
1101 |
HandleStartingStage() |
|
1102 |
end |
|
1103 |
end |
|
1104 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1105 |
function parseBool(key, default) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1106 |
if params[key]=="true" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1107 |
return true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1108 |
elseif params[key]=="false" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1109 |
return false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1110 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1111 |
return default |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1112 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1113 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1114 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1115 |
function parseInt(key, default, min, max) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1116 |
local num = tonumber(params[key]) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1117 |
if type(num) ~= "number" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1118 |
return default |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1119 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1120 |
if min ~= nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1121 |
num = math.max(min, num) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1122 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1123 |
if max ~= nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1124 |
num = math.min(max, num) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1125 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1126 |
return num |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1127 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1128 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1129 |
function onParameters() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1130 |
parseParams() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1131 |
local tmpParam |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1132 |
useMenu = parseBool("menu", useMenu) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1133 |
requireSurfer = parseBool("SBC", requireSurfer) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1134 |
AFR = parseBool("AFR", AFR) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1135 |
CBA = parseBool("CBA", CBA) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1136 |
if params["attackrule"] == "ABL" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1137 |
attackRule = "ABL" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1138 |
elseif params["attackrule"] == "KTL" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1139 |
attackRule = "KTL" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1140 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1141 |
allowCrazyWeps = parseBool("SW", allowCrazyWeps) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1142 |
maxCrates = parseInt("maxcrates", maxCrates, 1, maxCratesHard) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1143 |
cratesPerTurn = parseInt("cratesperturn", cratesPerTurn, 1, maxCrates) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1144 |
local wallsParam = params["walls"] |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1145 |
local wallsParamSelection = false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1146 |
if wallsParam ~= nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1147 |
if wallsParam == "all" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1148 |
wallsParamSelection = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1149 |
allowedWallSetTypes = {} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1150 |
for i=1,#allWallSetTypes do |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1151 |
allowedWallSetTypes[allWallSetTypes[i]] = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1152 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1153 |
elseif wallsParam == "none" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1154 |
WBC = false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1155 |
allowedWallSetTypes = {} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1156 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1157 |
wallsParamSelection = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1158 |
allowedWallSetTypes = {} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1159 |
local parsedWords = {} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1160 |
for k,v in string.gmatch(wallsParam, "(%w+)") do |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1161 |
table.insert(parsedWords, k) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1162 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1163 |
for i=1,#allWallSetTypes do |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1164 |
for j=1,#parsedWords do |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1165 |
if allWallSetTypes[i] == parsedWords[j] then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1166 |
allowedWallSetTypes[allWallSetTypes[i]] = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1167 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1168 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1169 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1170 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1171 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1172 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1173 |
-- Upper and lower bounds |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1174 |
local wallsNum = parseInt("wallsnum", nil, 0) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1175 |
if wallsNum == 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1176 |
WBC = false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1177 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1178 |
minWalls = wallsNum |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1179 |
maxWalls = wallsNum |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1180 |
-- minwalls and maxwalls take precedence over wallsnum |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1181 |
minWalls = parseInt("minwalls", minWalls, 1) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1182 |
maxWalls = parseInt("maxwalls", maxWalls, 1) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1183 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1184 |
|
7095 | 1185 |
function onGameInit() |
1186 |
||
1187 |
HealthCaseProb = 0 |
|
1188 |
CaseFreq = 0 |
|
12069
b2f2ac53cbab
WxW: Add crate radar info to rope description
Wuzzy <almikes@aol.com>
parents:
12068
diff
changeset
|
1189 |
SetAmmoDescriptionAppendix(amRope, loc("Switch: Toggle crate radar")) |
7095 | 1190 |
|
1191 |
end |
|
1192 |
||
1193 |
function configureWeapons() |
|
1194 |
||
1195 |
-- reset wep array |
|
1196 |
for i = 1, #weapons do |
|
1197 |
weapons[i] = nil |
|
1198 |
end |
|
1199 |
||
1200 |
-- add rope weps |
|
1201 |
for i, w in pairs(ropeWeps) do |
|
1202 |
table.insert(weapons, w) |
|
1203 |
end |
|
1204 |
||
1205 |
-- add ground weps |
|
1206 |
for i, w in pairs(groundWeps) do |
|
1207 |
table.insert(weapons, w) |
|
1208 |
end |
|
1209 |
||
1210 |
-- remove ground weps if attacking from rope is mandatory |
|
1211 |
if AFR == true then |
|
1212 |
for i = 1, #weapons do |
|
1213 |
for w = 1, #groundWeps do |
|
1214 |
if groundWeps[w] == weapons[i] then |
|
1215 |
table.remove(weapons, i) |
|
1216 |
end |
|
1217 |
end |
|
1218 |
end |
|
1219 |
end |
|
1220 |
||
1221 |
-- remove crazy weps is crazy weps aren't allowed |
|
1222 |
if allowCrazyWeps == false then |
|
1223 |
for i = 1, #weapons do |
|
1224 |
for w = 1, #crazyWeps do |
|
1225 |
if crazyWeps[w] == weapons[i] then |
|
1226 |
table.remove(weapons, i) |
|
1227 |
end |
|
1228 |
end |
|
1229 |
end |
|
1230 |
end |
|
1231 |
||
1232 |
end |
|
1233 |
||
1234 |
function onGameStart() |
|
1235 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1236 |
trackTeams() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1237 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1238 |
MapsInit() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1239 |
LoadConfig(wallSetID) |
7095 | 1240 |
configureWeapons() |
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1241 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1242 |
-- ABL or KTL only make sense with at least 3 teams, otherwise we disable it |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1243 |
if TeamsCount < 3 or ClansCount < 3 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1244 |
attackRule = nil |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1245 |
end |
7095 | 1246 |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1247 |
if useMenu then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1248 |
ShowMission(loc("Wall to wall"), loc("Please wait …"), "", 2, 300000) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1249 |
UpdateMenu() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1250 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1251 |
if GetGameFlag(gfPlaceHog) then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1252 |
roundN = 2 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1253 |
FinalizeMenu() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1254 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1255 |
allowCrate = false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1256 |
roundN = 100 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1257 |
FinalizeMenu() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1258 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1259 |
end |
7095 | 1260 |
end |
1261 |
||
1262 |
function onNewTurn() |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1263 |
turnsCount = turnsCount + 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1264 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1265 |
if roundN == 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1266 |
roundN = 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1267 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1268 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1269 |
if GetGameFlag(gfPlaceHog) then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1270 |
if roundN < 2 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1271 |
SetWeapon(amSkip) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1272 |
AddAmmo(CurrentHedgehog, amTeleport, 0) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1273 |
TurnTimeLeft = -1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1274 |
SetInputMask(0) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1275 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1276 |
if roundN == 2 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1277 |
if turnsCount > hogCount then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1278 |
roundN = 100 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1279 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1280 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1281 |
end |
7095 | 1282 |
|
1283 |
wallsLeft = #wTouched |
|
1284 |
||
1285 |
for i = 1, #wTouched do |
|
1286 |
wTouched[i] = false |
|
1287 |
end |
|
1288 |
||
1289 |
hasSurfed = false |
|
1290 |
allWallsHit = false |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1291 |
crateCollected = false |
7095 | 1292 |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1293 |
crateSpawned = false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1294 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1295 |
if roundN == 100 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1296 |
allowCrate = crateGearsInGame < maxCrates |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1297 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1298 |
local teamName = GetHogTeamName(CurrentHedgehog) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1299 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1300 |
-- Restore team's radar mode |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1301 |
radarMode = getTeamValue(teamName, "radarMode") |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1302 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1303 |
if not AreCratesUnlocked() then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1304 |
FreezeCrates() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1305 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1306 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1307 |
-- Check the attack rule violation of the *previous* team and apply penalties |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1308 |
-- This function will do nothiong in the first turn since previousTeam is still nil |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1309 |
CheckAttackRuleViolation(previousTeam) |
7095 | 1310 |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1311 |
previousTeam = teamName |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1312 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1313 |
-- Update attack rule information for this turn |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1314 |
UpdateLastAndLeaderTeams() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1315 |
teamsAttacked = {} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1316 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1317 |
-- Was the team violating the attackRule the last time? |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1318 |
if getTeamValue(teamName, "skipPenalty") then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1319 |
-- Then take away this turn |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1320 |
AddCaption(string.format(loc("%s must skip this turn for rule violation ."), teamName), msgColorWarn, capgrpMessage) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1321 |
TurnTimeLeft = 0 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1322 |
setTeamValue(teamName, "skipPenalty", false) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1323 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1324 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1325 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1326 |
allowCrate = false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1327 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1328 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1329 |
if roundN == 1 then |
7095 | 1330 |
TurnTimeLeft = -1 |
7183 | 1331 |
SetInputMask(0) |
7095 | 1332 |
allowCrate = false |
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1333 |
UpdateMenu() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1334 |
AddCaption(string.format(loc("%s may choose the rules."), GetHogTeamName(CurrentHedgehog)), msgColorTech, capgrpGameState) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1335 |
HandleStartingStage() |
7095 | 1336 |
end |
1337 |
||
1338 |
end |
|
1339 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1340 |
function CanSurf() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1341 |
if mapID ~= nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1342 |
if GetGameFlag(gfBottomBorder) and WaterRise == 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1343 |
return false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1344 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1345 |
return MapList[mapID][2] |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1346 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1347 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1348 |
return nil |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1349 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1350 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1351 |
|
7095 | 1352 |
function UpdateMenu() |
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1353 |
local teamInfo |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1354 |
if roundN == 1 and CurrentHedgehog ~= nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1355 |
teamInfo = string.format(loc("%s, you may choose the rules."), GetHogTeamName(CurrentHedgehog)) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1356 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1357 |
teamInfo = "" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1358 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1359 |
preMenuCfg = teamInfo .. "|" .. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1360 |
loc("Press [Up] and [Down] to move between menu items.|Press [Attack], [Left], or [Right] to toggle.") .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1361 |
if GetGameFlag(gfPlaceHog) then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1362 |
postMenuCfg = loc("Press [Long jump] to accept this configuration and begin placing hedgehogs.") |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1363 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1364 |
postMenuCfg = loc("Press [Long jump] to accept this configuration and start the game.") |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1365 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1366 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1367 |
-- This table contains the menu strings and functions to be called when the entry is activated. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1368 |
menu = {} |
7095 | 1369 |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1370 |
-- Walls required (hidden if the current settings don't allow for any walls) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1371 |
if #wallSets > 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1372 |
local line |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1373 |
if #wTouched > 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1374 |
if wallSets[wallSetID].custom then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1375 |
line = string.format(loc("Wall set: %s (%d walls)"), wallSets[wallSetID].desc, #wTouched) .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1376 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1377 |
line = string.format(loc("Wall set: %s"), wallSets[wallSetID].desc) .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1378 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1379 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1380 |
line = loc("Wall set: No walls") .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1381 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1382 |
table.insert(menu, { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1383 |
line = line, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1384 |
doNext = function() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1385 |
wallSetID = wallSetID + 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1386 |
if wallSetID > #wallSets then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1387 |
wallSetID = 0 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1388 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1389 |
LoadConfig(wallSetID) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1390 |
end, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1391 |
doPrev = function() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1392 |
wallSetID = wallSetID - 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1393 |
if wallSetID < 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1394 |
wallSetID = #wallSets |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1395 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1396 |
LoadConfig(wallSetID) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1397 |
end, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1398 |
}) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1399 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1400 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1401 |
-- Surf Before Crate (hidden if map disabled it) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1402 |
if CanSurf() == true or CanSurf() == nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1403 |
local toggleSurf = function() requireSurfer = not(requireSurfer) end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1404 |
table.insert(menu, { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1405 |
line = string.format(loc("Surf Before Crate: %s"), BoolToCfgTxt(requireSurfer)) .. "|", |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1406 |
activate = function() requireSurfer = not requireSurfer end, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1407 |
}) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1408 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1409 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1410 |
-- Attack From Rope |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1411 |
table.insert(menu, { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1412 |
line = string.format(loc("Attack From Rope: %s"), BoolToCfgTxt(AFR)) .. "|", |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1413 |
activate = function() AFR = not AFR end, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1414 |
}) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1415 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1416 |
-- Crate Before Attack |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1417 |
table.insert(menu, { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1418 |
line = string.format(loc("Crate Before Attack: %s"), BoolToCfgTxt(CBA)) .. "|", |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1419 |
activate = function() CBA = not CBA end, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1420 |
}) |
7095 | 1421 |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1422 |
if TeamsCount >= 3 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1423 |
-- Attack rule (Disabled / All But Last / Kill The Leader) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1424 |
table.insert(menu, { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1425 |
line = string.format(loc("Attack rule: %s"), AttackRuleToCfgTxt(attackRule)) .. "|", |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1426 |
doNext = function() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1427 |
if attackRule == nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1428 |
attackRule = "ABL" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1429 |
elseif attackRule == "ABL" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1430 |
attackRule = "KTL" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1431 |
elseif attackRule == "KTL" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1432 |
attackRule = nil |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1433 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1434 |
end, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1435 |
doPrev = function() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1436 |
if attackRule == nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1437 |
attackRule = "KTL" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1438 |
elseif attackRule == "ABL" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1439 |
attackRule = nil |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1440 |
elseif attackRule == "KTL" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1441 |
attackRule = "ABL" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1442 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1443 |
end, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1444 |
}) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1445 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1446 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1447 |
-- Super weapons |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1448 |
table.insert(menu, { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1449 |
line = string.format(loc("Super weapons: %s"), BoolToCfgTxt(allowCrazyWeps)) .. "|", |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1450 |
activate = function() allowCrazyWeps = not allowCrazyWeps end, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1451 |
}) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1452 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1453 |
-- Number of crates which appear per turn |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1454 |
if maxCrates > 1 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1455 |
table.insert(menu, { |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1456 |
line = string.format(loc("Crates per turn: %d"), cratesPerTurn) .. "|", |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1457 |
doNext = function() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1458 |
cratesPerTurn = cratesPerTurn + 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1459 |
if cratesPerTurn > maxCrates then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1460 |
cratesPerTurn = 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1461 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1462 |
end, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1463 |
doPrev = function() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1464 |
cratesPerTurn = cratesPerTurn - 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1465 |
if cratesPerTurn < 1 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1466 |
cratesPerTurn = maxCrates |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1467 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1468 |
end, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1469 |
}) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1470 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1471 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1472 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1473 |
function FinalizeMenu() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1474 |
local text = "" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1475 |
local showTime = 3000 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1476 |
if #wTouched == 0 and not requireSurfer then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1477 |
text = text .. loc("Collect the crate and attack!") .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1478 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1479 |
text = text .. loc("Spawn the crate and attack!") .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1480 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1481 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1482 |
-- Expose a few selected game flags |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1483 |
if GetGameFlag(gfPlaceHog) then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1484 |
text = text .. loc("Place hedgehogs: Place your hedgehogs at the start of the game.") .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1485 |
showTime = 6000 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1486 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1487 |
if GetGameFlag(gfResetWeps) then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1488 |
text = text .. loc("Weapons reset: The weapons are reset after each turn.") .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1489 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1490 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1491 |
-- Show the WxW rules |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1492 |
if #wTouched == 1 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1493 |
text = text .. loc("Wall Before Crate: You must touch the marked wall before you can get crates.") .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1494 |
elseif #wTouched > 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1495 |
text = text .. string.format(loc("Walls Before Crate: You must touch the %d marked walls before you can get crates."), #wTouched) .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1496 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1497 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1498 |
if requireSurfer then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1499 |
text = text .. loc("Surf Before Crate: You must bounce off the water once before you can get crates.") .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1500 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1501 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1502 |
if AFR then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1503 |
text = text .. loc("Attack From Rope: You may only attack from a rope.") .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1504 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1505 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1506 |
if CBA then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1507 |
text = text .. loc("Crate Before Attack: You must collect a crate before you can attack.") .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1508 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1509 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1510 |
if attackRule == "ABL" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1511 |
text = text .. loc("All But Last: You must not solely attack the team with the least health") .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1512 |
elseif attackRule == "KTL" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1513 |
text = text .. loc("Kill The Leader: You must also hit the team with the most health.") .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1514 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1515 |
if attackRule ~= nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1516 |
text = text .. loc("Penalty: If you violate above rule, you have to skip in the next turn.") .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1517 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1518 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1519 |
if allowCrazyWeps then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1520 |
text = text .. loc("Super weapons: A few crates contain very powerful weapons.") .. "|" |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1521 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1522 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1523 |
ShowMission(loc("Wall to wall"), loc("A Shoppa minigame"), text, 1, showTime) |
7095 | 1524 |
end |
1525 |
||
1526 |
function HandleStartingStage() |
|
1527 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1528 |
temp = menu[menuIndex].line |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1529 |
menu[menuIndex].line = "--> " .. menu[menuIndex].line |
7095 | 1530 |
|
1531 |
missionComment = "" |
|
1532 |
for i = 1, #menu do |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1533 |
missionComment = missionComment .. menu[i].line |
7095 | 1534 |
end |
1535 |
||
1536 |
ShowMission ( |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1537 |
loc("Wall to wall"), |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1538 |
loc("Configuration phase"), |
7095 | 1539 |
preMenuCfg.. |
1540 |
missionComment .. |
|
1541 |
postMenuCfg .. |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1542 |
"", 2, 300000 |
7095 | 1543 |
) |
1544 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1545 |
menu[menuIndex].line = temp |
7095 | 1546 |
|
1547 |
end |
|
1548 |
||
1549 |
function onGameTick() |
|
1550 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1551 |
if CurrentHedgehog ~= nil and roundN >= 0 then |
7095 | 1552 |
|
1553 |
gTimer = gTimer + 1 |
|
1554 |
if gTimer == 25 then |
|
1555 |
gTimer = 1 |
|
1556 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1557 |
if roundN == 100 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1558 |
CheckForWallCollision() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1559 |
CheckCrateConditions() |
7095 | 1560 |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1561 |
if (GetGearType(GetFollowGear()) == gtCase) then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1562 |
FollowGear(CurrentHedgehog) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1563 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1564 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1565 |
-- AFR and CBA handling |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1566 |
local allowAttack = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1567 |
local shootException |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1568 |
shootException = (GetCurAmmoType() == amRope) or |
7095 | 1569 |
(GetCurAmmoType() == amSkip) or |
1570 |
(GetCurAmmoType() == amNothing) |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1571 |
-- If Attack From Rope is set, forbid firing unless using rope |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1572 |
if AFR then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1573 |
if ropeG == nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1574 |
allowAttack = false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1575 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1576 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1577 |
-- If Crate Before Attack is set, forbid firing if crate is not collected |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1578 |
if CBA then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1579 |
if not crateCollected then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1580 |
allowAttack = false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1581 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1582 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1583 |
if allowAttack or shootException then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1584 |
SetInputMask(bor(GetInputMask(), gmAttack)) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1585 |
if CBA then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1586 |
SetInputMask(bor(GetInputMask(), gmLJump)) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1587 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1588 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1589 |
if CBA then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1590 |
if ropeG == nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1591 |
SetInputMask(band(GetInputMask(), bnot(gmAttack))) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1592 |
SetInputMask(bor(GetInputMask(), gmLJump)) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1593 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1594 |
SetInputMask(bor(GetInputMask(), gmAttack)) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1595 |
SetInputMask(band(GetInputMask(), bnot(gmLJump))) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1596 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1597 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1598 |
SetInputMask(band(GetInputMask(), bnot(gmAttack))) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1599 |
end |
7095 | 1600 |
end |
1601 |
end |
|
1602 |
||
1603 |
end |
|
1604 |
||
1605 |
HandleBorderEffects() |
|
1606 |
HandleCircles() |
|
1607 |
||
1608 |
end |
|
1609 |
||
1610 |
end |
|
1611 |
||
1612 |
function onGearAdd(gear) |
|
1613 |
||
1614 |
if GetGearType(gear) == gtRope then |
|
1615 |
ropeG = gear |
|
1616 |
elseif GetGearType(gear) == gtCase then |
|
1617 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1618 |
crates[gear] = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1619 |
crateGearsInGame = crateGearsInGame + 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1620 |
|
7095 | 1621 |
trackGear(gear) |
1622 |
||
1623 |
table.insert(rCirc, AddVisualGear(0,0,vgtCircle,0,true) ) |
|
1624 |
setGearValue(gear,"CIRC",rCirc[#rCirc]) |
|
1625 |
setGearValue(gear,"RX",0) |
|
1626 |
setGearValue(gear,"RY",0) |
|
1627 |
SetVisualGearValues(rCirc[#rCirc], 0, 0, 100, 255, 1, 10, 0, 40, 3, 0xff00ffff) |
|
1628 |
||
1629 |
allowCrate = false |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1630 |
crateSpawned = true |
7095 | 1631 |
|
1632 |
rPingTimer = 0 |
|
1633 |
rAlpha = 0 |
|
1634 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1635 |
elseif GetGearType(gear) == gtHedgehog then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1636 |
trackGear(gear) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1637 |
local teamName = GetHogTeamName(gear) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1638 |
-- Initialize radar mode to “on” and set other team values |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1639 |
setTeamValue(teamName, "radarMode", 0) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1640 |
setTeamValue(teamName, "skipPenalty", false) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1641 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1642 |
if getTeamValue(teamName, "hogs") == nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1643 |
setTeamValue(teamName, "hogs", 1) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1644 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1645 |
increaseTeamValue(teamName, "hogs") |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1646 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1647 |
hogCount = hogCount + 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1648 |
teamNames[GetHogTeamName(gear)] = true |
7095 | 1649 |
end |
1650 |
||
1651 |
end |
|
1652 |
||
1653 |
function onGearDelete(gear) |
|
1654 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1655 |
local gt = GetGearType(gear) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1656 |
if gt == gtRope then |
7095 | 1657 |
ropeG = nil |
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1658 |
elseif gt == gtCase then |
7095 | 1659 |
|
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1660 |
crates[gear] = nil |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1661 |
crateGearsInGame = crateGearsInGame - 1 |
7095 | 1662 |
|
1663 |
for i = 1, #rCirc do |
|
1664 |
if rCirc[i] == getGearValue(gear,"CIRC") then |
|
1665 |
DeleteVisualGear(rCirc[i]) |
|
1666 |
table.remove(rCirc, i) |
|
1667 |
end |
|
1668 |
end |
|
1669 |
||
1670 |
trackDeletion(gear) |
|
1671 |
||
12065
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1672 |
-- Was crate collected? |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1673 |
if band(GetGearMessage(gear), gmDestroy) ~= 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1674 |
crateCollected = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1675 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1676 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1677 |
elseif gt == gtHedgehog then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1678 |
teamsAttacked[GetHogTeamName(gear)] = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1679 |
decreaseTeamValue(GetHogTeamName(gear), "hogs") |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1680 |
trackDeletion(gear) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1681 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1682 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1683 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1684 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1685 |
function onGearDamage(gear) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1686 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1687 |
if GetGearType(gear) == gtHedgehog then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1688 |
teamsAttacked[GetHogTeamName(gear)] = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1689 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1690 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1691 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1692 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1693 |
-- Check which team is the last and which is the leader (used for ABL and KTL) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1694 |
function UpdateLastAndLeaderTeams() |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1695 |
local teamHealths = {} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1696 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1697 |
for team, x in pairs(teamNames) do |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1698 |
UpdateTeamHealth(team) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1699 |
local totalHealth = getTeamValue(team, "totalHealth") |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1700 |
if totalHealth > 0 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1701 |
table.insert(teamHealths, {name = team, health = totalHealth } ) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1702 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1703 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1704 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1705 |
-- Sort the table by health, lowest health comes first |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1706 |
table.sort(teamHealths, function(team1, team2) return team1.health < team2.health end) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1707 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1708 |
-- ABL and KTL rules are only active at 3 teams; when there are only 2 teams left, it's “everything goes”. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1709 |
if #teamHealths >= 3 then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1710 |
if teamHealths[1].health == teamHealths[2].health then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1711 |
-- ABL rule is disabled if it's a tie for “least health” |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1712 |
lastTeam = nil |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1713 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1714 |
-- Normal assignment of ABL variable |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1715 |
lastTeam = teamHealths[1].name |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1716 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1717 |
if teamHealths[#teamHealths].health == teamHealths[#teamHealths-1].health then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1718 |
-- KTL rule is disabled if it's a tie for “most health” |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1719 |
leaderTeam = nil |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1720 |
runnerUpTeam = nil |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1721 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1722 |
-- Normal assignment of KTL variables |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1723 |
leaderTeam = teamHealths[#teamHealths].name |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1724 |
runnerUpTeam = teamHealths[#teamHealths-1].name |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1725 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1726 |
else |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1727 |
-- The KTL and ABL rules are disabled with only 2 teams left |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1728 |
lastTeam = nil |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1729 |
runnerUpTeam = nil |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1730 |
leaderTeam = nil |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1731 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1732 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1733 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1734 |
function UpdateTeamHealth(team) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1735 |
setTeamValue(team, "totalHealth", 0) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1736 |
runOnHogsInTeam(function(hog) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1737 |
if(GetGearType(hog) ~= gtHedgehog) then return end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1738 |
local h = getTeamValue(GetHogTeamName(hog), "totalHealth") |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1739 |
setTeamValue(GetHogTeamName(hog), "totalHealth", h + GetHealth(hog)) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1740 |
end, team) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1741 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1742 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1743 |
-- Check if the ABL or KTL rule (if active) has been violated by teamToCheck |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1744 |
function CheckAttackRuleViolation(teamToCheck) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1745 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1746 |
if teamToCheck == nil then return end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1747 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1748 |
local violated = false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1749 |
if attackRule == "ABL" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1750 |
-- We don't care if the last team hurts itself |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1751 |
if lastTeam ~= nil and lastTeam ~= teamToCheck then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1752 |
local lastAttacked = false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1753 |
local attackNum = 0 -- count the attacked teams but we'll ignore the attacking team |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1754 |
for team, wasAttacked in pairs(teamsAttacked) do |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1755 |
-- Ignore the attacking team |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1756 |
if team ~= teamToCheck then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1757 |
attackNum = attackNum + 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1758 |
if team == lastTeam then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1759 |
lastAttacked = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1760 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1761 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1762 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1763 |
-- Rule is violated iff only the last team is attacked (damage to attacking team is ignored) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1764 |
if attackNum == 1 and lastAttacked then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1765 |
violated = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1766 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1767 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1768 |
if violated then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1769 |
AddCaption(string.format(loc("%s violated the “All But Last” rule and will be penalized."), teamToCheck), msgColorWarn, capgrpGameState) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1770 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1771 |
elseif attackRule == "KTL" then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1772 |
local leaderAttacked = false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1773 |
if leaderTeam ~= nil then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1774 |
local attackNum = 0 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1775 |
local selfHarm = false |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1776 |
for team, wasAttacked in pairs(teamsAttacked) do |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1777 |
attackNum = attackNum + 1 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1778 |
if team == teamToCheck then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1779 |
selfHarm = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1780 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1781 |
-- The leader must attack the runner-up, everyone else must attack the leader |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1782 |
if (teamToCheck ~= leaderTeam and team == leaderTeam) or (teamToCheck == leaderTeam and team == runnerUpTeam) then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1783 |
leaderAttacked = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1784 |
break |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1785 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1786 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1787 |
-- If teams were attacked but not the leader, it is a violation, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1788 |
-- but we don't care if the team *only* harmed itself. |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1789 |
if (attackNum >= 2 and not leaderAttacked) or (attackNum == 1 and not selfHarm and not leaderAttacked) then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1790 |
violated = true |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1791 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1792 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1793 |
if violated then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1794 |
AddCaption(string.format(loc("%s violated the “Kill The Leader” rule and will be penalized."), teamToCheck), msgColorWarn, capgrpGameState) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1795 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1796 |
end |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1797 |
if violated then |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1798 |
setTeamValue(teamToCheck, "skipPenalty", true) |
7095 | 1799 |
end |
1800 |
||
1801 |
end |
|
1802 |
||
1803 |
function onAmmoStoreInit() |
|
1804 |
||
1805 |
for i, w in pairs(ropeWeps) do |
|
1806 |
SetAmmo(w, 0, 0, 0, 1) |
|
1807 |
end |
|
1808 |
||
1809 |
for i, w in pairs(groundWeps) do |
|
1810 |
SetAmmo(w, 0, 0, 0, 1) |
|
1811 |
end |
|
1812 |
||
1813 |
for i, w in pairs(crazyWeps) do |
|
1814 |
SetAmmo(w, 0, 0, 0, 1) |
|
1815 |
end |
|
1816 |
||
1817 |
SetAmmo(amRope, 9, 0, 0, 0) |
|
1818 |
SetAmmo(amSkip, 9, 0, 0, 0) |
|
1819 |
||
1820 |
end |