author | Wuzzy <almikes@aol.com> |
Thu, 24 Nov 2016 15:09:26 +0100 | |
changeset 12065 | 7df7c58ea965 |
parent 11301 | fa18940f290d |
child 12067 | 18677a537d58 |
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}, |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
344 |
{"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
|
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.17 |
|
507 |
if Map == "CHANGE_ME" then |
|
508 |
AddCaption(loc("For improved features/stability, play 0.9.18+")) |
|
509 |
AddWall(10,10,margin,2025) |
|
510 |
AddWall(4085-margin,10,margin,2025) |
|
511 |
end |
|
512 |
||
513 |
--0.9.18+ |
|
514 |
for i = 1, #MapList do |
|
515 |
if Map == MapList[i][1] then |
|
516 |
mapID = i |
|
517 |
end |
|
518 |
end |
|
519 |
||
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
|
520 |
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
|
521 |
left = {LeftX+10,TopY+10,margin,WaterLine} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
522 |
right = {RightX-10-margin,TopY+10,margin,WaterLine} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
523 |
roof = {LeftX+10,TopY+10,RightX-LeftX-20,margin} |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
524 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
525 |
local border = MapHasBorder() |
7095 | 526 |
|
527 |
if mapID ~= nil 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
|
528 |
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
|
529 |
if MapList[mapID][3] == 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
|
530 |
NewWallSet({roof, desc=loc("Roof")}, "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
|
531 |
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
|
532 |
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
|
533 |
if MapList[mapID][4] == 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
|
534 |
NewWallSet({left, right, desc=loc("Left and right")}, "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
|
535 |
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
|
536 |
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
|
537 |
if MapList[mapID][3] == true and MapList[mapID][4] == 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
|
538 |
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
|
539 |
end |
7095 | 540 |
end |
541 |
||
542 |
-- 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
|
543 |
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
|
544 |
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
|
545 |
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
|
546 |
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
|
547 |
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
|
548 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
549 |
-- 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
|
550 |
-- 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
|
551 |
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
|
552 |
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
|
553 |
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
|
554 |
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
|
555 |
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
|
556 |
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
|
557 |
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
|
558 |
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
|
559 |
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
|
560 |
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
|
561 |
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
|
562 |
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
|
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 |
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
|
565 |
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
|
566 |
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
|
567 |
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
|
568 |
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
|
569 |
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
|
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 |
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
|
572 |
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
|
573 |
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
|
574 |
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
|
575 |
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
|
576 |
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
|
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 |
local 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
|
579 |
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
|
580 |
if walls.add == "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
|
581 |
table.insert(newwallset, 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
|
582 |
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
|
583 |
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
|
584 |
elseif walls.add == "default" 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
|
585 |
if MapList[mapID][3] == 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
|
586 |
table.insert(newwallset, 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
|
587 |
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
|
588 |
if MapList[mapID][4] == 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
|
589 |
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
|
590 |
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
|
591 |
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
|
592 |
elseif walls.add == "roof" 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
|
593 |
table.insert(newwallset, 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
|
594 |
elseif walls.add == "leftright" 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
|
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 |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
598 |
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
|
599 |
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
|
600 |
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
|
601 |
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
|
602 |
if border and ((walls.add ~= "none" and walls.add ~= nil) or 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
|
603 |
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
|
604 |
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
|
605 |
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
|
606 |
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
|
607 |
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
|
608 |
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
|
609 |
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
|
610 |
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
|
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 |
|
7df7c58ea965
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 |
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
|
614 |
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
|
615 |
NewWallSet({roof, desc=loc("Roof")}, "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
|
616 |
NewWallSet({left, right, desc=loc("Left and right")}, "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
|
617 |
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
|
618 |
wallSetID = 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
|
619 |
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
|
620 |
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
|
621 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
622 |
-- 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
|
623 |
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
|
624 |
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
|
625 |
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
|
626 |
-- 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
|
627 |
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
|
628 |
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
|
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 |
-- 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
|
631 |
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
|
632 |
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
|
633 |
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
|
634 |
|
7df7c58ea965
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 |
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
|
636 |
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
|
637 |
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
|
638 |
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
|
639 |
|
7df7c58ea965
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 |
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
|
641 |
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
|
642 |
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
|
643 |
if p > 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
|
644 |
local walls = wallSets[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
|
645 |
for i=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
|
646 |
AddWall(walls[i][1], walls[i][2], walls[i][3], walls[i][4]) |
7df7c58ea965
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 |
7095 | 648 |
end |
649 |
||
650 |
-- if map is unrecognized, add two walls on the side borders |
|
651 |
-- also, if version of hw is not 0.9.17 or lower |
|
652 |
elseif Map ~= "CHANGE_ME" 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
|
653 |
if p == 1 or p == 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
|
654 |
AddWall(LeftX+10,TopY+10,RightX-LeftX-20,margin) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
655 |
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
|
656 |
if p == 2 or p == 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
|
657 |
AddWall(LeftX+10,TopY+10,margin,WaterLine) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
658 |
AddWall(RightX-10-margin,TopY+10,margin,WaterLine) |
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
659 |
end |
7095 | 660 |
end |
661 |
||
662 |
end |
|
663 |
||
664 |
function AddWall(zXMin,zYMin, zWidth, zHeight) |
|
665 |
||
666 |
table.insert(wX, zXMin) |
|
667 |
table.insert(wY, zYMin) |
|
668 |
table.insert(wWidth, zWidth) |
|
669 |
table.insert(wHeight, zHeight) |
|
670 |
table.insert(wTouched, false) |
|
671 |
||
672 |
end |
|
673 |
||
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
|
674 |
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
|
675 |
|
7df7c58ea965
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 |
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
|
677 |
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
|
678 |
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
|
679 |
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
|
680 |
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
|
681 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
682 |
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
|
683 |
|
7df7c58ea965
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 |
-- Draw a single point for the crate radar |
7095 | 685 |
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
|
686 |
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
|
687 |
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
|
688 |
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
|
689 |
|
7df7c58ea965
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 |
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
|
691 |
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
|
692 |
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
|
693 |
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
|
694 |
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
|
695 |
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
|
696 |
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
|
697 |
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
|
698 |
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
|
699 |
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
|
700 |
SetVisualGearValues(getGearValue(gear,"CIRC"), getGearValue(gear,"RX"), getGearValue(gear,"RY"), 100, 255, 1, 10, 0, radius, 3, baseColor-alpha) |
7095 | 701 |
end |
702 |
||
703 |
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
|
704 |
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
|
705 |
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
|
706 |
end |
7095 | 707 |
|
708 |
-- work out the distance to the target |
|
709 |
g1X, g1Y = GetGearPosition(CurrentHedgehog) |
|
710 |
g2X, g2Y = GetX(gear), GetY(gear) |
|
711 |
q = g1X - g2X |
|
712 |
w = g1Y - g2Y |
|
713 |
r = math.sqrt( (q*q) + (w*w) ) --alternate |
|
714 |
||
715 |
RCX = getGearValue(gear,"RX") |
|
716 |
RCY = getGearValue(gear,"RY") |
|
717 |
||
718 |
rCircDistance = r -- distance to circle |
|
719 |
||
720 |
opp = w |
|
721 |
if opp < 0 then |
|
722 |
opp = opp*-1 |
|
723 |
end |
|
724 |
||
725 |
-- work out the angle (theta) to the target |
|
726 |
t = math.deg ( math.asin(opp / r) ) |
|
727 |
||
728 |
-- based on the radius of the radar, calculate what x/y displacement should be |
|
729 |
NR = 150 -- radius at which to draw circs |
|
730 |
NX = math.cos( math.rad(t) ) * NR |
|
731 |
NY = math.sin( math.rad(t) ) * NR |
|
732 |
||
733 |
if rCircDistance < NR then |
|
734 |
RCX = g2X |
|
735 |
elseif q > 0 then |
|
736 |
RCX = g1X - NX |
|
737 |
else |
|
738 |
RCX = g1X + NX |
|
739 |
end |
|
740 |
||
741 |
if rCircDistance < NR then |
|
742 |
RCY = g2Y |
|
743 |
elseif w > 0 then |
|
744 |
RCY = g1Y - NY |
|
745 |
else |
|
746 |
RCY = g1Y + NY |
|
747 |
end |
|
748 |
||
749 |
setGearValue(gear, "RX", RCX) |
|
750 |
setGearValue(gear, "RY", RCY) |
|
751 |
||
752 |
end |
|
753 |
||
754 |
||
755 |
function HandleCircles() |
|
756 |
||
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
|
757 |
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
|
758 |
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
|
759 |
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
|
760 |
-- 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
|
761 |
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
|
762 |
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
|
763 |
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
|
764 |
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
|
765 |
|
7df7c58ea965
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 |
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
|
767 |
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
|
768 |
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
|
769 |
end |
7095 | 770 |
end |
771 |
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
|
772 |
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
|
773 |
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
|
774 |
end |
7095 | 775 |
|
776 |
runOnGears(DrawBlip) |
|
777 |
||
778 |
m2Count = m2Count + 1 |
|
779 |
if m2Count == 25 then |
|
780 |
m2Count = 0 |
|
781 |
||
782 |
if (CurrentHedgehog ~= nil) and (rAlpha ~= 255) then |
|
783 |
runOnGears(TrackRadarBlip) |
|
784 |
end |
|
785 |
||
786 |
end |
|
787 |
||
788 |
end |
|
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 |
-- 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
|
791 |
function AreCratesUnlocked() |
7095 | 792 |
|
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
|
793 |
local crateSpawn = true |
7095 | 794 |
|
795 |
if requireSurfer == true then |
|
796 |
if hasSurfed == false then |
|
797 |
crateSpawn = false |
|
798 |
end |
|
799 |
end |
|
800 |
||
801 |
if #wTouched > 0 then |
|
802 |
if allWallsHit == false then |
|
803 |
crateSpawn = false |
|
804 |
end |
|
805 |
end |
|
806 |
||
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
|
807 |
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
|
808 |
|
7df7c58ea965
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 |
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
|
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 |
-- 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
|
812 |
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
|
813 |
|
7df7c58ea965
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 |
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
|
815 |
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
|
816 |
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
|
817 |
-- 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
|
818 |
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
|
819 |
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
|
820 |
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
|
821 |
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
|
822 |
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
|
823 |
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
|
824 |
-- 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
|
825 |
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
|
826 |
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
|
827 |
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
|
828 |
|
7df7c58ea965
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 |
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
|
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 |
-- 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
|
832 |
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
|
833 |
|
7df7c58ea965
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 |
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
|
835 |
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
|
836 |
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
|
837 |
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
|
838 |
|
7df7c58ea965
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 |
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
|
840 |
|
7df7c58ea965
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 |
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
|
842 |
|
7df7c58ea965
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 |
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
|
844 |
|
7df7c58ea965
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 |
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
|
846 |
UnfreezeCrates() |
7095 | 847 |
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
|
848 |
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
|
849 |
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
|
850 |
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
|
851 |
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
|
852 |
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
|
853 |
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
|
854 |
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
|
855 |
end |
7095 | 856 |
rPingTimer = 0 |
857 |
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
|
858 |
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
|
859 |
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
|
860 |
end |
7095 | 861 |
end |
862 |
end |
|
863 |
||
864 |
end |
|
865 |
||
10670
638af9cb922b
make use of onGearWaterSkip
mikade <redgrinner@gmail.com>
parents:
10036
diff
changeset
|
866 |
function onGearWaterSkip(gear) |
638af9cb922b
make use of onGearWaterSkip
mikade <redgrinner@gmail.com>
parents:
10036
diff
changeset
|
867 |
if gear == CurrentHedgehog then |
638af9cb922b
make use of onGearWaterSkip
mikade <redgrinner@gmail.com>
parents:
10036
diff
changeset
|
868 |
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
|
869 |
AddCaption(loc("Surfer!"), 0xFFFFFFFF, capgrpMessage2) |
7095 | 870 |
end |
871 |
end |
|
872 |
||
873 |
||
874 |
function WallHit(id, zXMin,zYMin, zWidth, zHeight) |
|
875 |
||
876 |
if wTouched[id] == false then |
|
877 |
tempE = AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtBigExplosion, 0, false) |
|
878 |
PlaySound(sndExplosion) |
|
879 |
wallsLeft = wallsLeft - 1 |
|
880 |
||
881 |
if wallsLeft == 0 then |
|
882 |
AddCaption(loc("All walls touched!")) |
|
883 |
allWallsHit = true |
|
884 |
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
|
885 |
AddCaption(loc("Go surf!"), 0xFFFFFFFF, capgrpMessage2) |
7095 | 886 |
end |
887 |
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
|
888 |
AddCaption(string.format(loc("Walls left: %d"), wallsLeft)) |
7095 | 889 |
end |
890 |
||
891 |
end |
|
892 |
||
893 |
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
|
894 |
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
|
895 |
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
|
896 |
end |
7095 | 897 |
|
898 |
end |
|
899 |
||
900 |
function CheckForWallCollision() |
|
901 |
||
902 |
for i = 1, #wTouched do |
|
903 |
if gearIsInBox(CurrentHedgehog, wX[i],wY[i],wWidth[i],wHeight[i]) then |
|
904 |
WallHit(i, wX[i],wY[i],wWidth[i],wHeight[i]) |
|
905 |
end |
|
906 |
end |
|
907 |
||
908 |
end |
|
909 |
||
910 |
function BorderSpark(zXMin,zYMin, zWidth, zHeight, bCol) |
|
911 |
||
912 |
eX = zXMin + GetRandom(zWidth+10) |
|
913 |
eY = zYMin + GetRandom(zHeight+10) |
|
914 |
||
915 |
tempE = AddVisualGear(eX, eY, vgtDust, 0, false) |
|
916 |
if tempE ~= 0 then |
|
917 |
g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(tempE) |
|
918 |
SetVisualGearValues(tempE, eX, eY, g3, g4, g5, g6, g7, 1, g9, bCol ) |
|
919 |
end |
|
920 |
||
921 |
end |
|
922 |
||
923 |
||
924 |
function HandleBorderEffects() |
|
925 |
||
926 |
effectTimer = effectTimer + 1 |
|
927 |
if effectTimer > 15 then --25 |
|
928 |
||
929 |
effectTimer = 1 |
|
930 |
||
931 |
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
|
932 |
if wTouched[i] == false then |
7095 | 933 |
bCol = GetClanColor(GetHogClan(CurrentHedgehog)) |
934 |
BorderSpark(wX[i],wY[i],wWidth[i],wHeight[i], bCol) |
|
935 |
end |
|
936 |
end |
|
937 |
||
938 |
end |
|
939 |
||
940 |
end |
|
941 |
||
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
|
942 |
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
|
943 |
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
|
944 |
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
|
945 |
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
|
946 |
|
7095 | 947 |
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
|
948 |
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
|
949 |
PlaySound(sndPlaced) |
7095 | 950 |
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
|
951 |
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
|
952 |
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
|
953 |
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
|
954 |
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
|
955 |
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
|
956 |
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
|
957 |
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
|
958 |
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
|
959 |
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
|
960 |
) |
7df7c58ea965
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 |
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
|
962 |
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
|
963 |
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
|
964 |
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
|
965 |
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
|
966 |
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
|
967 |
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
|
968 |
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
|
969 |
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
|
970 |
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
|
971 |
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
|
972 |
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
|
973 |
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
|
974 |
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
|
975 |
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
|
976 |
(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
|
977 |
(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
|
978 |
(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
|
979 |
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
|
980 |
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
|
981 |
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
|
982 |
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
|
983 |
end |
7095 | 984 |
end |
985 |
end |
|
986 |
||
987 |
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
|
988 |
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
|
989 |
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
|
990 |
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
|
991 |
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
|
992 |
menu[menuIndex].doNext() |
7095 | 993 |
end |
994 |
||
995 |
UpdateMenu() |
|
996 |
configureWeapons() |
|
997 |
HandleStartingStage() |
|
998 |
||
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
|
999 |
PlaySound(sndSwitchHog) |
7095 | 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 |
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
|
1002 |
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
|
1003 |
PlaceWarn() |
7095 | 1004 |
end |
1005 |
||
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
|
1006 |
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
|
1007 |
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
|
1008 |
(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
|
1009 |
(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
|
1010 |
(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
|
1011 |
|
7df7c58ea965
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 |
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
|
1013 |
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
|
1014 |
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
|
1015 |
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
|
1016 |
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
|
1017 |
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
|
1018 |
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
|
1019 |
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
|
1020 |
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
|
1021 |
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
|
1022 |
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
|
1023 |
end |
7095 | 1024 |
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
|
1025 |
end |
7095 | 1026 |
|
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 |
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
|
1028 |
-- 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
|
1029 |
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
|
1030 |
-- 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
|
1031 |
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
|
1032 |
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
|
1033 |
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
|
1034 |
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
|
1035 |
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
|
1036 |
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
|
1037 |
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
|
1038 |
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
|
1039 |
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
|
1040 |
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
|
1041 |
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
|
1042 |
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
|
1043 |
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
|
1044 |
-- 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
|
1045 |
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
|
1046 |
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
|
1047 |
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
|
1048 |
|
7df7c58ea965
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 |
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
|
1050 |
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
|
1051 |
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
|
1052 |
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
|
1053 |
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
|
1054 |
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
|
1055 |
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
|
1056 |
|
7df7c58ea965
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 |
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
|
1058 |
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
|
1059 |
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
|
1060 |
|
7df7c58ea965
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 |
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
|
1062 |
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
|
1063 |
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
|
1064 |
|
7df7c58ea965
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 |
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
|
1066 |
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
|
1067 |
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
|
1068 |
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
|
1069 |
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
|
1070 |
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
|
1071 |
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
|
1072 |
|
7df7c58ea965
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 |
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
|
1074 |
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
|
1075 |
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
|
1076 |
|
7df7c58ea965
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 |
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
|
1078 |
end |
7095 | 1079 |
end |
1080 |
||
1081 |
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
|
1082 |
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
|
1083 |
PlaySound(sndSteps) |
7095 | 1084 |
menuIndex = menuIndex +1 |
1085 |
if menuIndex > #menu then |
|
1086 |
menuIndex = 1 |
|
1087 |
end |
|
1088 |
HandleStartingStage() |
|
1089 |
end |
|
1090 |
end |
|
1091 |
||
1092 |
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
|
1093 |
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
|
1094 |
PlaySound(sndSteps) |
7095 | 1095 |
menuIndex = menuIndex -1 |
1096 |
if menuIndex == 0 then |
|
1097 |
menuIndex = #menu |
|
1098 |
end |
|
1099 |
HandleStartingStage() |
|
1100 |
end |
|
1101 |
end |
|
1102 |
||
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
|
1103 |
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
|
1104 |
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
|
1105 |
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
|
1106 |
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
|
1107 |
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
|
1108 |
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
|
1109 |
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
|
1110 |
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
|
1111 |
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
|
1112 |
|
7df7c58ea965
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 |
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
|
1114 |
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
|
1115 |
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
|
1116 |
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
|
1117 |
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
|
1118 |
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
|
1119 |
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
|
1120 |
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
|
1121 |
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
|
1122 |
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
|
1123 |
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
|
1124 |
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
|
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 |
|
7df7c58ea965
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 |
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
|
1128 |
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
|
1129 |
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
|
1130 |
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
|
1131 |
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
|
1132 |
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
|
1133 |
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
|
1134 |
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
|
1135 |
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
|
1136 |
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
|
1137 |
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
|
1138 |
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
|
1139 |
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
|
1140 |
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
|
1141 |
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
|
1142 |
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
|
1143 |
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
|
1144 |
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
|
1145 |
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
|
1146 |
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
|
1147 |
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
|
1148 |
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
|
1149 |
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
|
1150 |
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
|
1151 |
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
|
1152 |
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
|
1153 |
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
|
1154 |
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
|
1155 |
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
|
1156 |
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
|
1157 |
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
|
1158 |
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
|
1159 |
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
|
1160 |
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
|
1161 |
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
|
1162 |
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
|
1163 |
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
|
1164 |
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
|
1165 |
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
|
1166 |
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
|
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 |
|
7df7c58ea965
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 |
-- 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
|
1172 |
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
|
1173 |
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
|
1174 |
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
|
1175 |
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
|
1176 |
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
|
1177 |
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
|
1178 |
-- 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
|
1179 |
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
|
1180 |
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
|
1181 |
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
|
1182 |
|
7095 | 1183 |
function onGameInit() |
1184 |
||
1185 |
HealthCaseProb = 0 |
|
1186 |
CaseFreq = 0 |
|
1187 |
||
1188 |
end |
|
1189 |
||
1190 |
function configureWeapons() |
|
1191 |
||
1192 |
-- reset wep array |
|
1193 |
for i = 1, #weapons do |
|
1194 |
weapons[i] = nil |
|
1195 |
end |
|
1196 |
||
1197 |
-- add rope weps |
|
1198 |
for i, w in pairs(ropeWeps) do |
|
1199 |
table.insert(weapons, w) |
|
1200 |
end |
|
1201 |
||
1202 |
-- add ground weps |
|
1203 |
for i, w in pairs(groundWeps) do |
|
1204 |
table.insert(weapons, w) |
|
1205 |
end |
|
1206 |
||
1207 |
-- remove ground weps if attacking from rope is mandatory |
|
1208 |
if AFR == true then |
|
1209 |
for i = 1, #weapons do |
|
1210 |
for w = 1, #groundWeps do |
|
1211 |
if groundWeps[w] == weapons[i] then |
|
1212 |
table.remove(weapons, i) |
|
1213 |
end |
|
1214 |
end |
|
1215 |
end |
|
1216 |
end |
|
1217 |
||
1218 |
-- remove crazy weps is crazy weps aren't allowed |
|
1219 |
if allowCrazyWeps == false then |
|
1220 |
for i = 1, #weapons do |
|
1221 |
for w = 1, #crazyWeps do |
|
1222 |
if crazyWeps[w] == weapons[i] then |
|
1223 |
table.remove(weapons, i) |
|
1224 |
end |
|
1225 |
end |
|
1226 |
end |
|
1227 |
end |
|
1228 |
||
1229 |
end |
|
1230 |
||
1231 |
function onGameStart() |
|
1232 |
||
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
|
1233 |
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
|
1234 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1235 |
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
|
1236 |
LoadConfig(wallSetID) |
7095 | 1237 |
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
|
1238 |
|
7df7c58ea965
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 |
-- 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
|
1240 |
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
|
1241 |
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
|
1242 |
end |
7095 | 1243 |
|
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
|
1244 |
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
|
1245 |
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
|
1246 |
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
|
1247 |
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
|
1248 |
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
|
1249 |
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
|
1250 |
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
|
1251 |
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
|
1252 |
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
|
1253 |
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
|
1254 |
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
|
1255 |
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
|
1256 |
end |
7095 | 1257 |
end |
1258 |
||
1259 |
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
|
1260 |
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
|
1261 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1262 |
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
|
1263 |
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
|
1264 |
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
|
1265 |
|
7df7c58ea965
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 |
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
|
1267 |
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
|
1268 |
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
|
1269 |
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
|
1270 |
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
|
1271 |
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
|
1272 |
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
|
1273 |
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
|
1274 |
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
|
1275 |
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
|
1276 |
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
|
1277 |
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
|
1278 |
end |
7095 | 1279 |
|
1280 |
wallsLeft = #wTouched |
|
1281 |
||
1282 |
for i = 1, #wTouched do |
|
1283 |
wTouched[i] = false |
|
1284 |
end |
|
1285 |
||
1286 |
hasSurfed = false |
|
1287 |
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
|
1288 |
crateCollected = false |
7095 | 1289 |
|
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
|
1290 |
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
|
1291 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1292 |
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
|
1293 |
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
|
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 |
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
|
1296 |
|
7df7c58ea965
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 |
-- 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
|
1298 |
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
|
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 |
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
|
1301 |
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
|
1302 |
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
|
1303 |
|
7df7c58ea965
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 |
-- 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
|
1305 |
-- 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
|
1306 |
CheckAttackRuleViolation(previousTeam) |
7095 | 1307 |
|
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
|
1308 |
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
|
1309 |
|
7df7c58ea965
WxW: Selectable walls, support more maps, more liberal game schemes, new rules, script parameter, better menu
Wuzzy <almikes@aol.com>
parents:
11301
diff
changeset
|
1310 |
-- 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
|
1311 |
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
|
1312 |
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
|
1313 |
|
7df7c58ea965
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 |
-- 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
|
1315 |
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
|
1316 |
-- 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
|
1317 |
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
|
1318 |
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
|
1319 |
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
|
1320 |
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
|
1321 |
|
7df7c58ea965
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 |
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
|
1323 |
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
|
1324 |
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
|
1325 |
|
7df7c58ea965
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 |
if roundN == 1 then |
7095 | 1327 |
TurnTimeLeft = -1 |
7183 | 1328 |
SetInputMask(0) |
7095 | 1329 |
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
|
1330 |
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
|
1331 |
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
|
1332 |
HandleStartingStage() |
7095 | 1333 |
end |
1334 |
||
1335 |
end |
|
1336 |
||
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
|
1337 |
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
|
1338 |
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
|
1339 |
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
|
1340 |
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
|
1341 |
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
|
1342 |
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
|
1343 |
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
|
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 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
|
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 |
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
|
1348 |
|
7095 | 1349 |
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
|
1350 |
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
|
1351 |
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
|
1352 |
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
|
1353 |
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
|
1354 |
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
|
1355 |
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
|
1356 |
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
|
1357 |
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
|
1358 |
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
|
1359 |
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
|
1360 |
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
|
1361 |
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
|
1362 |
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
|
1363 |
|
7df7c58ea965
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 |
-- 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
|
1365 |
menu = {} |
7095 | 1366 |
|
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
|
1367 |
-- 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
|
1368 |
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
|
1369 |
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
|
1370 |
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
|
1371 |
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
|
1372 |
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
|
1373 |
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
|
1374 |
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
|
1375 |
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
|
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 = 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
|
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 |
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
|
1380 |
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
|
1381 |
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
|
1382 |
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
|
1383 |
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
|
1384 |
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
|
1385 |
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
|
1386 |
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
|
1387 |
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
|
1388 |
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
|
1389 |
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
|
1390 |
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
|
1391 |
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
|
1392 |
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
|
1393 |
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
|
1394 |
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
|
1395 |
}) |
7df7c58ea965
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 |
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
|
1397 |
|
7df7c58ea965
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 |
-- 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
|
1399 |
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
|
1400 |
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
|
1401 |
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
|
1402 |
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
|
1403 |
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
|
1404 |
}) |
7df7c58ea965
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 |
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
|
1406 |
|
7df7c58ea965
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 |
-- 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
|
1408 |
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
|
1409 |
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
|
1410 |
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
|
1411 |
}) |
7df7c58ea965
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 |
|
7df7c58ea965
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 |
-- 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
|
1414 |
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
|
1415 |
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
|
1416 |
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
|
1417 |
}) |
7095 | 1418 |
|
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
|
1419 |
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
|
1420 |
-- 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
|
1421 |
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
|
1422 |
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
|
1423 |
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
|
1424 |
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
|
1425 |
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
|
1426 |
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
|
1427 |
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
|
1428 |
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
|
1429 |
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
|
1430 |
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
|
1431 |
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
|
1432 |
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
|
1433 |
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
|
1434 |
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
|
1435 |
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
|
1436 |
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
|
1437 |
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
|
1438 |
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
|
1439 |
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
|
1440 |
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
|
1441 |
}) |
7df7c58ea965
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 |
|
7df7c58ea965
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 |
-- 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
|
1445 |
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
|
1446 |
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
|
1447 |
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
|
1448 |
}) |
7df7c58ea965
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 |
|
7df7c58ea965
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 |
-- 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
|
1451 |
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
|
1452 |
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
|
1453 |
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
|
1454 |
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
|
1455 |
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
|
1456 |
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
|
1457 |
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
|
1458 |
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
|
1459 |
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
|
1460 |
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
|
1461 |
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
|
1462 |
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
|
1463 |
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
|
1464 |
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
|
1465 |
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
|
1466 |
}) |
7df7c58ea965
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 |
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
|
1471 |
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
|
1472 |
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
|
1473 |
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
|
1474 |
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
|
1475 |
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
|
1476 |
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
|
1477 |
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
|
1478 |
|
7df7c58ea965
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 |
-- 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
|
1480 |
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
|
1481 |
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
|
1482 |
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
|
1483 |
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
|
1484 |
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
|
1485 |
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
|
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 |
|
7df7c58ea965
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 |
-- 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
|
1489 |
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
|
1490 |
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
|
1491 |
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
|
1492 |
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
|
1493 |
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
|
1494 |
|
7df7c58ea965
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 |
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
|
1496 |
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
|
1497 |
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
|
1498 |
|
7df7c58ea965
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 |
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
|
1500 |
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
|
1501 |
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
|
1502 |
|
7df7c58ea965
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 |
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
|
1504 |
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
|
1505 |
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
|
1506 |
|
7df7c58ea965
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 |
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
|
1508 |
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
|
1509 |
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
|
1510 |
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
|
1511 |
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
|
1512 |
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
|
1513 |
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
|
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 |
|
7df7c58ea965
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 |
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
|
1517 |
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
|
1518 |
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
|
1519 |
|
7df7c58ea965
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 |
ShowMission(loc("Wall to wall"), loc("A Shoppa minigame"), text, 1, showTime) |
7095 | 1521 |
end |
1522 |
||
1523 |
function HandleStartingStage() |
|
1524 |
||
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
|
1525 |
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
|
1526 |
menu[menuIndex].line = "--> " .. menu[menuIndex].line |
7095 | 1527 |
|
1528 |
missionComment = "" |
|
1529 |
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
|
1530 |
missionComment = missionComment .. menu[i].line |
7095 | 1531 |
end |
1532 |
||
1533 |
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
|
1534 |
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
|
1535 |
loc("Configuration phase"), |
7095 | 1536 |
preMenuCfg.. |
1537 |
missionComment .. |
|
1538 |
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
|
1539 |
"", 2, 300000 |
7095 | 1540 |
) |
1541 |
||
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 |
menu[menuIndex].line = temp |
7095 | 1543 |
|
1544 |
end |
|
1545 |
||
1546 |
function onGameTick() |
|
1547 |
||
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
|
1548 |
if CurrentHedgehog ~= nil and roundN >= 0 then |
7095 | 1549 |
|
1550 |
gTimer = gTimer + 1 |
|
1551 |
if gTimer == 25 then |
|
1552 |
gTimer = 1 |
|
1553 |
||
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
|
1554 |
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
|
1555 |
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
|
1556 |
CheckCrateConditions() |
7095 | 1557 |
|
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
|
1558 |
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
|
1559 |
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
|
1560 |
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
|
1561 |
|
7df7c58ea965
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 |
-- 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
|
1563 |
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
|
1564 |
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
|
1565 |
shootException = (GetCurAmmoType() == amRope) or |
7095 | 1566 |
(GetCurAmmoType() == amSkip) or |
1567 |
(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
|
1568 |
-- 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
|
1569 |
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
|
1570 |
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
|
1571 |
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
|
1572 |
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
|
1573 |
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
|
1574 |
-- 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
|
1575 |
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
|
1576 |
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
|
1577 |
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
|
1578 |
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
|
1579 |
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
|
1580 |
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
|
1581 |
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
|
1582 |
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
|
1583 |
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
|
1584 |
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
|
1585 |
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
|
1586 |
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
|
1587 |
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
|
1588 |
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
|
1589 |
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
|
1590 |
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
|
1591 |
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
|
1592 |
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
|
1593 |
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
|
1594 |
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
|
1595 |
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
|
1596 |
end |
7095 | 1597 |
end |
1598 |
end |
|
1599 |
||
1600 |
end |
|
1601 |
||
1602 |
HandleBorderEffects() |
|
1603 |
HandleCircles() |
|
1604 |
||
1605 |
end |
|
1606 |
||
1607 |
end |
|
1608 |
||
1609 |
function onGearAdd(gear) |
|
1610 |
||
1611 |
if GetGearType(gear) == gtRope then |
|
1612 |
ropeG = gear |
|
1613 |
elseif GetGearType(gear) == gtCase then |
|
1614 |
||
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
|
1615 |
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
|
1616 |
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
|
1617 |
|
7095 | 1618 |
trackGear(gear) |
1619 |
||
1620 |
table.insert(rCirc, AddVisualGear(0,0,vgtCircle,0,true) ) |
|
1621 |
setGearValue(gear,"CIRC",rCirc[#rCirc]) |
|
1622 |
setGearValue(gear,"RX",0) |
|
1623 |
setGearValue(gear,"RY",0) |
|
1624 |
SetVisualGearValues(rCirc[#rCirc], 0, 0, 100, 255, 1, 10, 0, 40, 3, 0xff00ffff) |
|
1625 |
||
1626 |
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
|
1627 |
crateSpawned = true |
7095 | 1628 |
|
1629 |
rPingTimer = 0 |
|
1630 |
rAlpha = 0 |
|
1631 |
||
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
|
1632 |
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
|
1633 |
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
|
1634 |
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
|
1635 |
-- 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
|
1636 |
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
|
1637 |
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
|
1638 |
|
7df7c58ea965
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 |
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
|
1640 |
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
|
1641 |
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
|
1642 |
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
|
1643 |
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
|
1644 |
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
|
1645 |
teamNames[GetHogTeamName(gear)] = true |
7095 | 1646 |
end |
1647 |
||
1648 |
end |
|
1649 |
||
1650 |
function onGearDelete(gear) |
|
1651 |
||
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
|
1652 |
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
|
1653 |
if gt == gtRope then |
7095 | 1654 |
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
|
1655 |
elseif gt == gtCase then |
7095 | 1656 |
|
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
|
1657 |
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
|
1658 |
crateGearsInGame = crateGearsInGame - 1 |
7095 | 1659 |
|
1660 |
for i = 1, #rCirc do |
|
1661 |
if rCirc[i] == getGearValue(gear,"CIRC") then |
|
1662 |
DeleteVisualGear(rCirc[i]) |
|
1663 |
table.remove(rCirc, i) |
|
1664 |
end |
|
1665 |
end |
|
1666 |
||
1667 |
trackDeletion(gear) |
|
1668 |
||
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
|
1669 |
-- 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
|
1670 |
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
|
1671 |
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
|
1672 |
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
|
1673 |
|
7df7c58ea965
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 |
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
|
1675 |
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
|
1676 |
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
|
1677 |
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
|
1678 |
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
|
1679 |
|
7df7c58ea965
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 |
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
|
1681 |
|
7df7c58ea965
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 |
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
|
1683 |
|
7df7c58ea965
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 |
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
|
1685 |
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
|
1686 |
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
|
1687 |
|
7df7c58ea965
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 |
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
|
1689 |
|
7df7c58ea965
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 |
-- 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
|
1691 |
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
|
1692 |
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
|
1693 |
|
7df7c58ea965
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 |
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
|
1695 |
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
|
1696 |
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
|
1697 |
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
|
1698 |
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
|
1699 |
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
|
1700 |
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
|
1701 |
|
7df7c58ea965
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 |
-- 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
|
1703 |
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
|
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 |
-- 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
|
1706 |
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
|
1707 |
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
|
1708 |
-- 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
|
1709 |
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
|
1710 |
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
|
1711 |
-- 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
|
1712 |
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
|
1713 |
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
|
1714 |
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
|
1715 |
-- 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
|
1716 |
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
|
1717 |
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
|
1718 |
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
|
1719 |
-- 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
|
1720 |
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
|
1721 |
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
|
1722 |
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
|
1723 |
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
|
1724 |
-- 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
|
1725 |
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
|
1726 |
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
|
1727 |
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
|
1728 |
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
|
1729 |
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
|
1730 |
|
7df7c58ea965
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 |
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
|
1732 |
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
|
1733 |
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
|
1734 |
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
|
1735 |
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
|
1736 |
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
|
1737 |
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
|
1738 |
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
|
1739 |
|
7df7c58ea965
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 |
-- 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
|
1741 |
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
|
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 |
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
|
1744 |
|
7df7c58ea965
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 |
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
|
1746 |
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
|
1747 |
-- 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
|
1748 |
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
|
1749 |
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
|
1750 |
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
|
1751 |
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
|
1752 |
-- 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
|
1753 |
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
|
1754 |
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
|
1755 |
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
|
1756 |
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
|
1757 |
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
|
1758 |
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
|
1759 |
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
|
1760 |
-- 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
|
1761 |
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
|
1762 |
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
|
1763 |
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
|
1764 |
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
|
1765 |
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
|
1766 |
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
|
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 |
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
|
1769 |
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
|
1770 |
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
|
1771 |
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
|
1772 |
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
|
1773 |
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
|
1774 |
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
|
1775 |
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
|
1776 |
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
|
1777 |
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
|
1778 |
-- 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
|
1779 |
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
|
1780 |
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
|
1781 |
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
|
1782 |
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
|
1783 |
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
|
1784 |
-- 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
|
1785 |
-- 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
|
1786 |
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
|
1787 |
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
|
1788 |
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
|
1789 |
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
|
1790 |
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
|
1791 |
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
|
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 |
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
|
1794 |
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
|
1795 |
setTeamValue(teamToCheck, "skipPenalty", true) |
7095 | 1796 |
end |
1797 |
||
1798 |
end |
|
1799 |
||
1800 |
function onAmmoStoreInit() |
|
1801 |
||
1802 |
for i, w in pairs(ropeWeps) do |
|
1803 |
SetAmmo(w, 0, 0, 0, 1) |
|
1804 |
end |
|
1805 |
||
1806 |
for i, w in pairs(groundWeps) do |
|
1807 |
SetAmmo(w, 0, 0, 0, 1) |
|
1808 |
end |
|
1809 |
||
1810 |
for i, w in pairs(crazyWeps) do |
|
1811 |
SetAmmo(w, 0, 0, 0, 1) |
|
1812 |
end |
|
1813 |
||
1814 |
SetAmmo(amRope, 9, 0, 0, 0) |
|
1815 |
SetAmmo(amSkip, 9, 0, 0, 0) |
|
1816 |
||
1817 |
end |