www.tombraiderforums.com

Go Back   www.tombraiderforums.com > Tomb Raider Modding > Tomb Raider Level Editor > Tomb Raider Level Editor Tutorials

Closed Thread
 
Thread Tools
Old 03-01-16, 10:44   #1
AkyV
Moderator
 
Join Date: Dec 2011
Location: Hungary
Posts: 2,376
Default TRNG - Limited backpack

The setup is very complicated, recommended only for patient builders who are TRNG experts!




Thank to Titak, Krystian and DJ Full for testing the demo!


You can also see a summary at the end of the tutorial.


Attention!
This setup is a variable killer, needing the whole (!) numeric variable palette. So, if you use this setup, then you can’t use any other setup that needs numeric variables.


1. What this setup does

Maybe you think the fact that Lara can carry any number of things in her backpack is nonsense. Then possibly you’re right because it seems a bit odd that she can carry her backpack even when it is full of much stuff, doesn’t it?
How much does her backpack weigh when it is full of ammunition, keys, medipacks etc.? About 100 kilograms? Or more? Or less?
I don’t know but the point is I don’t think she manages to carry a backpack, hopping easily from ledges to ledges, when that weighs more than about 20 kilograms.

This setup will print the actual weight of the backpack on the screen. If the backpack becomes too heavy when she picks up an item, then she is not able to move, due to the much weight.
To make Lara be able to move again, you need to drop an item – a weapon, a bunch of flares or anything else, including even a key item – that makes the backpack easier, hitting a particular key of the keyboard, choosing a particular amount of a particular item, in the pop-up menu.
Or, if you want to prevent Lara from being “frozen” like that, then you can hit that key even any time during the game, or you can ease the backpack even in the common way (eg. shoot with the Uzis to get rid of some amount and weight of Uzi ammunition).

Important!
The item dropped out (except if you drop torch/flare just out of the hand) will disappear forever (saying, it will “break” or “become useless” or something else, “when hits the floor after Lara dropped it out”).
So, eg. when you say “drop the Uzis” then the Uzis will NOT appear on the floor in front of Lara, as if Lara’d dropped them there. They will just vanish, you cannot pick them up later from that position!

Notes:

1. The setup could make the game really interesting. For example, Lara can pick up the lasersight only if she drops out a heavy key item because with the lasersight the pack would be too heavy, but you need the lasersight everyway in the next room. So she needs to pick up another copy of the key anywhere else, but before reaching the key hole. – But naturally you can choose to drop a bigger amount of the easy ammo, medipack etc. instead of dropping that heavy key.

2. I recommend making a diary or a TXT file or anything else in which you explain for the player in details how it works.

Things you cannot do in the usual way if you use this setup:

- You can still have any puzzle item in the inventory, any time, but you cannot have more than one copy of any particular item at the same moment.

- You are not allowed to stockpile the unimportant items, like poisoned arrows or flash grenades etc. The maximal amount of them you can have at the same time is only a few. If you pick up an item like that, exceeding that limit, then the above-limit amount in the item you just picked up will vanish.

- Lara cannot pickup another pistol if the pistol is just already in the inventory.

- You can’t save/load the game or use the menus if Lara is just “frozen”, i.e. when the backpack is just too heavy. (We could fix this bug if we had a free Current Value variable in the setup. But we didn’t, we use that variable for another purpose.)
If a situation like that is just uncomfortable for you, then you can hit a specific key to load the latest saved game. Or to load you back to the title, to load there the saved game you want. (It is naturally not necessary any time during the game, only if Lara is frozen, but you can do it even any time during the game.)

-Hit Key L (“L” for load) to load the latest saved game:

GlobalTrigger= 1, IGNORE, GT_SAVED_SAVEGAME, IGNORE, IGNORE, 1, IGNORE; if you save the game in the usual way
TriggerGroup= 1, $2000, 97, $1 ; F97: save the game in Backup1 file
GlobalTrigger= 2, IGNORE, GT_KEYBOARD_CODE, 38, IGNORE, 2, IGNORE; if you hit Key L
TriggerGroup= 2, $2000, 98, $1 ; F98: load the game in Backup1 file

It loads you back to the title, if you haven’t saved a game yet.

- Hit Key T (“T” for title) to load you back to the title:

GlobalTrigger= 1100, IGNORE, GT_KEYBOARD_CODE, 20, IGNORE, 1100, IGNORE ; if you hit Key T
TriggerGroup= 1100, $2000, 82, $X ; F82: load level X

Level X is the title if X=Y+2. Y is the amount of your levels.
X must be typed in hexadecimal format.
So, eg. if you have 13 levels, then X is 15, so you need to type F for X.

Use your Windows calculator to turn the decimal values into hexadecimal.

Last edited by AkyV; 03-01-16 at 16:48.
AkyV is offline  
Old 03-01-16, 10:48   #2
AkyV
Moderator
 
Join Date: Dec 2011
Location: Hungary
Posts: 2,376
Default

2. What burdens Lara

Not only the things in the backpack burdens Lara, but even any other things in her hand, holsters, back, that are not in the backpack, like weapons (even with lasersight attached), flares lit or a torch. However, we will calculate all of them in the backpack weight.
Because of that, maybe you should explain on a diary page what “backpack weight” exactly means.

The items that burdens Lara, calculated in the weight:

a, weapons:
PISTOLS_ITEM
UZI_ITEM
SHOTGUN_ITEM
CROSSBOW_ITEM
GRENADE_GUN_ITEM
SIXSHOOTER_ITEM

b, ammunition:
PISTOLS_AMMO_ITEM*
UZI_AMMO_ITEM
SHOTGUN_AMMO1_ITEM, SHOTGUN_AMMO2_ITEM
CROSSBOW_AMMO1_ITEM, CROSSBOW_AMMO2_ITEM, CROSSBOW_AMMO3_ITEM
GRENADE_GUN_AMMO1_ITEM, GRENADE_GUN_AMMO2_ITEM, GRENADE_GUN_AMMO3_ITEM
SIXSHOOTER_AMMO_ITEM

c, medipacks or flares:
BIGMEDI_ITEM, SMALLMEDI_ITEM
FLARE_ITEM

d, other tools of Lara:
LASERSIGHT_ITEM
BINOCULARS_ITEM
COMPASS_ITEM
CROWBAR_ITEM
BURNING_TORCH_ITEM
CLOCKWORK_BEETLE, CLOCKWORK_BEETLE_COMBO1, CLOCKWORK_BEETLE_COMBO2
WATERSKIN1_EMPTY, WATERSKIN1_1, WATERSKIN1_2, WATERSKIN1_3, WATERSKIN2_EMPTY, WATERSKIN2_1, WATERSKIN2_2, WATERSKIN2_3, WATERSKIN2_4, WATERSKIN2_5
other items if they are the tools of Lara (see eg. quest item 1, if that is the detector)

e, keys or puzzles:
KEY_ITEM1, KEY_ITEM2, KEY_ITEM3, KEY_ITEM4, KEY_ITEM5, KEY_ITEM6, KEY_ITEM7, KEY_ITEM8, KEY_ITEM9, KEY_ITEM10, KEY_ITEM11, KEY_ITEM12*
KEY_ITEM1_COMBO1, KEY_ITEM1_COMBO2, KEY_ITEM2_COMBO1, KEY_ITEM2_COMBO2, KEY_ITEM3_COMBO1, KEY_ITEM3_COMBO2, KEY_ITEM4_COMBO1, KEY_ITEM4_COMBO2, KEY_ITEM5_COMBO1, KEY_ITEM5_COMBO2, KEY_ITEM6_COMBO1, KEY_ITEM6_COMBO2, KEY_ITEM7_COMBO1, KEY_ITEM7_COMBO2, KEY_ITEM8_COMBO1, KEY_ITEM8_COMBO2
PUZZLE_ITEM1, PUZZLE_ITEM2, PUZZLE_ITEM3, PUZZLE_ITEM4, PUZZLE_ITEM5, PUZZLE_ITEM6, PUZZLE_ITEM7, PUZZLE_ITEM8, PUZZLE_ITEM9, PUZZLE_ITEM10, PUZZLE_ITEM11, PUZZLE_ITEM12
PUZZLE_ITEM1_COMBO1, PUZZLE_ITEM1_COMBO2, PUZZLE_ITEM2_COMBO1, PUZZLE_ITEM2_COMBO2, PUZZLE_ITEM3_COMBO1, PUZZLE_ITEM3_COMBO2, PUZZLE_ITEM4_COMBO1, PUZZLE_ITEM4_COMBO2, PUZZLE_ITEM5_COMBO1, PUZZLE_ITEM5_COMBO2, PUZZLE_ITEM6_COMBO1, PUZZLE_ITEM6_COMBO2, PUZZLE_ITEM7_COMBO1, PUZZLE_ITEM7_COMBO2, PUZZLE_ITEM8_COMBO1, PUZZLE_ITEM8_COMBO2

f, other items picked up:
PICKUP_ITEM1, PICKUP_ITEM2, PICKUP_ITEM3, PICKUP_ITEM4
PICKUP_ITEM1_COMBO1, PICKUP_ITEM1_COMBO2, PICKUP_ITEM2_COMBO1, PICKUP_ITEM2_COMBO2, PICKUP_ITEM3_COMBO1, PICKUP_ITEM3_COMBO2, PICKUP_ITEM4_COMBO1, PICKUP_ITEM4_COMBO2
EXAMINE1, EXAMINE2, EXAMINE3
QUEST_ITEM1, QUEST_ITEM2, QUEST_ITEM3, QUEST_ITEM4, QUEST_ITEM5, QUEST_ITEM6

*: Naturally this setup doesn’t work with unlimited things. That is why we’ll calculate a limited amount of pistols ammo or key item 12. (We’ll explain later in the setup how.)

Don’t forget to add an item to your setup of the level if the item is present in the WAD of that level.
And you should remove the item from your setup of the level if the item is not present in the WAD of that level.

(You can find an example in the demo project how to add an item. Removing an item is naturally something similar, but doing the inverse things.)

The weight values in the tutorial are only random values, after all. I mean, I don’t know how many kilograms are what a woman like Lara could carry easily. Or, for example, I don’t know how much a pair of the Uzi machine guns weighs, and I didn’t want to google it. My only purpose with those particular weight values is to be able to create a nice description for the tutorial. So feel free to change the values for realer ones.
AkyV is offline  
Old 03-01-16, 10:54   #3
AkyV
Moderator
 
Join Date: Dec 2011
Location: Hungary
Posts: 2,376
Default

3. How it works

First of all, there is a text on the screen, constantly, showing the actual weight of the backpack. For example, the text shows this now: Backpack: 18315 g. (“G” for gram.) The text is yellow now.



I mean, the “Backpack:… g” text is usually white (saying: “everything is OK”), but becomes yellow if the weight is between 15 001 g and 19 000 g (“the backpack is loaded pretty much”), and becomes red above 19 000 g (“warning, the backpack is almost full, is just full or overloaded”).

Hitting F1, the game will remove this text off the screen, if that just bothers you, or, hitting F2, the game will restore the text on the screen.

Let’s suppose Lara picks up a (loaded with 6 bullets) shotgun now, which is 5.06 kg, so the text will change: Backpack: 23375 g.
Lara is not allowed to carry her backpack if that weighs more than 20 kilograms. If she exceeds that limit then the game won’t let her move – I mean, the game will disable the key commands to move her, so the player can’t move her.

Since the backpack is more than 20 kg now, the game will “freeze” Lara, disabling the keys.

Now a warning message will pop up on the screen, saying: the player should clear an item out of the backpack, to make that easier. The message looks like this in this tutorial:

The backpack is too heavy so Lara can’t move.
Please drop out some items of the backpack to make that easier.

Select a key to choose a group of items from which you will drop items:

A-weapons
B-ammunition
C-medipacks or flares
D-other tools of Lara
E-keys or puzzles
F-other items picked up



As you see, the message has started a menu system. You can choose now from one of the menus which item will be the dropped item.

Let’s study the menu system!

For example, if you select A when seeing the warning message, then the warning message will be removed, and this new message will appear (supposing only pistols, shotgun and Uzi are the only weapons present in this WAD):

Select a key to choose a weapon you will drop:

G-the pair of pistols (2 kg)*
H-the shotgun (5 kg)
I-the pair of Uzis (3 kg)

X-Exit

*: All the pistol ammo will also be removed!

If you hit X, then the message will be removed, closing the menu system. If Lara is still frozen (because the pack is still too heavy), then the warning message will pop up again, starting the menu system again, to drop anything you choose. (X is useful, if you changed your mind and want to drop something else but a weapon.)

Notes:

a, The dropped weapons are unloaded, so 5 kg and 3 kg mean the clear weapon weight.
b. It’s not recommended for us to use the same keys for a menu and for its sub-menu. That’s why we use G and H after we used A, B, C, D, E or F.
c, As you see, when you drop the pistols, you will drop all the pistols ammo everyway. Technically we can’t prevent it.



Or, if you select B when seeing the warning message, then the warning message will be removed, and this new message will appear, to let you drop 30 pistol/Uzi bullets or 6 normal shotgun bullets or 2 shotgun wideshot bullets:

Select a key to choose an ammunition type from which you will drop:

G-pistols ammunition (30 bullets=0.15 kg) - actual weight is 640 grams
H-normal shotgun ammunition (6 bullets=0.06 kg) - actual weight is 220 grams
I-wideshot shotgun ammunition (2 bullets=0.02 kg) - actual weight is 20 grams
J-Uzi ammunition (30 bullets=0.3 kg) - actual weight is 760 grams

X-Exit

As you see, eg. you can’t drop any number of Uzi ammunition, you can drop only 30, if you want to drop them.
If you don’t have 30 at least, you can’t drop any of them.
If you want to drop eg. 90 Uzi bullets, then you need to drop 30, and then 30 again, and 30 once more.

So you are not allowed to type the amount you want to drop, if the item is not single but numerable. You will always drop a preset amount.

The setup would be too complicated, maybe impossible, if I try to achieve that typing feature. However, you can adjust that preset amount as you like, the amount doesn’t need to be the amount in the clip/box.



Let’s suppose the player chooses the dual Uzis to drop out. The game will remove it (unloaded) from the inventory at once, easing the backpack weight. The menu system will close.
The unloaded dual Uzis are 3 kg, so the text will change: Backpack: 20375 g.

But the backpack is still heavier than 20 kg so Lara remains frozen and the warning message will pop up again, the menus will start again, the player needs to choose another item to drop out, to make the backpack easier more.



Let’s say he/she will choose the “Tower Key” from the menus, which is 1.1 kg. But he/she hasn’t picked up that key so far, so there’s nothing to drop, nothing will happen.
So he/she will choose something else: “10 flares” this time (because the preset amount to drop is 10 now), which is 0.5 kg. But he/she has only 4 flares at that moment, so there’s not enough flares to drop, nothing will happen.
So he/she will choose something else: “one big medipack” this time (because the preset amount to drop is 1 now), which is 0.5 kg as well. He/she has four big medipacks now, so one big medipack will be removed from the inventory and the menu system will close.

Now the text will change: Backpack: 19875 g.

At last, the backpack is not too heavy, the warning message won’t pop up again, but Lara will be able to move again – i.e. the game will enable the disabled keys again.



Important!
Don’t let the player drop an item if the game will ruin without that item. For example, don’t put “Tower Key” in the menus, if you can’t pick it up later, so there will be problems if you can’t use “Tower Key” in the receptacle, because you don’t have it.
If “Tower Key” is not in the menus, then Lara can’t drop it out.

Or, what if you want an exact shot later so the player mustn’t drop the lasersight and/or the crossbow, because there isn’t another lasersight/crossbow placed in the level.

Notes:

1. I didn’t create any animation to drop anything. The dropped things will just disappear, and that’s all. Feel free to enhance the setup and create thing-dropping animation(s).

2. There are further two cases when the backpack weight will change:

a, You will be able to drop any item out of the backpack of your own will, to ease the backpack, any time you like (i.e. you don’t need to wait till the backpack will fill up). – You will start the menu system of the “dropping procedure” intentionally this time, hitting F4. (We won’t use F3, which is the button for the screenshots.) But, naturally, this time you can interrupt the procedure any time you want, making Lara move further freely.

If you hit F4, then not the warning message will pop up, but a message that “only” similar to the warning message - because this similar message doesn’t have the “The backpack is too heavy so Lara can’t move” line, but has the “Exit” option:

Please drop out some items of the backpack to make that easier.

Select a key to choose a group of items from which you will drop items:

A-weapons
B-ammunition
C-medipacks or flares
D-other tools of Lara
E-keys or puzzles
F-other items picked up

X-Exit

“Exit” is logical now if you’ve changed your mind and don’t want to drop anything.



b, If Lara shoots bullets, uses medipacks, fills waterskins etc. that will naturally influence the weight of the backpack as well.

3. Maybe you should do a pre-calculation (as a player) in the game.
I mean, for example, what if Lara is frozen (because of disabling the key commands), but you are under attack, so you don’t have time to care about the backpack. That’s why you’d better to ease the backpack (hitting F4), if you see that is almost full, and if you are in a site that seems pretty much a battle site – with ammo clips scattered on the ground - in the near future. (Or, naturally, it’s pretty embarrassing if Lara freezes in water when her air is decreasing continuously.)

Or: what if you don’t want to drop items to make them disappear? Instead of that, you won’t pick up the item that will overload the backpack, but starts shooting at an enemy. Now you have fewer bullets in the backpack, having some free space there, so you can go back to that item to pick that up, without overloading the backpack with the too early pick-up.

Or: as I said above, we will remove preset amounts. Seeing the weight data in the menu messages, you will be able to calculate it easily. For example: “the backpack is just full, 20 kilograms. There’s a pair of Uzi clips here, on the ground. It is 0.3 kilograms because it has 30 bullets. 6 shotgun normal bullets are 0.06 kilograms. If I hit F4 to open the menu system, and make Lara drop 30 shotgun bullets (also 0.3 kilograms), dropping 6 bullets first, which will be repeated four times, then she will be able to pick up that Uzi clip pair”.

To make things easier, the boxes/clips themselves for ammo/flares etc. are calculated in this tutorial as “weightless” things. And the totally empty backpack is calculated with 0 kilogram, not calculating the backpack weight itself either.

4. Maybe you need a diary page in which you’ll list the weight values.
Why? Because, for example, if you don’t want the player to drop key/puzzle items, then key/puzzle items will never show up in the messages, so the player won’t know their weights. But what if there is a key item on the floor, and you need to know the weight of the item, because the backpack is almost full and you suspect the backpack will be overloaded if you pick that item up.
AkyV is offline  
Old 03-01-16, 10:58   #4
AkyV
Moderator
 
Join Date: Dec 2011
Location: Hungary
Posts: 2,376
Default

4. The setup

See a whole example for the setup in Chapter 4.6.


You need to type the whole script for each level of your game! (But naturally you can customize it in each level for the present items of that level.)

We will calculate the actual weight of the whole backpack again and again:

- first of all, we have the default weight of the backpack when the game starts,
- then, item weights will be added if Lara picks an item up,
- and, item weights will be subtracted, if Lara drops or uses (eg. shoots bullets, puts a key in the receptacle etc.) that item.

4.1. How to choose weight values and variable values for the setup

To understand this, let’s see, for example, the default weight of the backpack. Now, for example, we almost use the same default set what TR4 uses – except, with limited (480 bullets) pistols ammo, Uzis and 120 Uzi bullets, which means:

a pair of pistols______1_______2 kg_______________________________variable values: 2000
pistols ammo_______480_____2.4 kg (one clip pair: 30 bullets=0.15 kg)_____variable value: 2400
a pair of Uzis_______1________3 kg_______________________________variable value: 3000
Uzi ammo__________120_____1.2 kg (one clip pair: 30 bullets=0.3 kg)______variable value: 1200
small medipacks______3_______0.6 kg (one medipack is 0.2 kg)__________variable value: 600
big medipacks_______1________0.5 kg_____________________________variable value: 500
flares_______________3_______0.15 kg (one flare box: 12 flares=0.6 kg)___variable value: 150
binoculars___________1_______1.5 kg_____________________________variable value: 1500
compass____________1_______0.2 kg_____________________________variable value: 200

So the default aggregated weight is 11.55 kg, and the default aggregated variable value is 11550.
So each 1 kg of anything=Value 1000 in the variable. This 1:1000 is a clear ratio that means the easiest thing in the backpack is 0.001 kg=1 g. If you want to use this value in a nice way, then one amount of each item must be 0.001 kg or the multiple of that: 0.001, 0.002, 0.003 etc. So eg. we can’t use 0.2 kg for 30 Uzi bullets, because, in that case 1 bullet would be 0.2/30=0.0066 kg. (I don’t think the heaviest thing in the backpack should be calculated with more weight than 10-15 kg.)

But there are other reasons, too, to be careful when you define the weight for an item. Because the variables can’t take digits after the decimal point. (I.e. for example Value 25.4 will be 25 in the variable.) – Let’s see two problems of this bug we must to prevent:

1. The easiest thing shouldn’t be less than the smallest variable value (which is 1). Let’s say, you say Item X has Variable 1 value, then you say the easiest thing is Item Y, whose weight is 70 percent of Item X. In that case Item Y must be 0.7 in the variable. But, because of the decimal point bug, Item Y will be 0 now.

2. There must be a useable connection between the weight value and the variable value. For example, if you say you have only 2 revolver bullets which are Value 3 in the variable, then the value must be 1.5, if she shoots one of the bullets. But, because of the decimal point bug, the value will be 1 now.
So one amount of any item must be a whole number in the variable: 1, 2, 3 etc.

The variable we’ll use for that purpose is Current Value (CV) variable. All the weight will be aggregated in that variable, so we’ll use that variable even to “carry” the actual backpack value to the next level when the level ends.

4.2. Calculating the backpack weight due to the amount of the items

4.2.1. Solution if you can have only one copy of the item

These items are:

- all the weapons (pistol pair, Uzi pair, shotgun, crossbow, grenade gun, revolver)
- other tools of Lara (lasersight, binoculars, compass, crowbar, torch, mechanical scarab or parts, waterskin)
- key, puzzle* or parts
- pickup or parts, examine, quest

*: I know you can usually have more than one copy of a particular puzzle item in the inventory. But this setup can’t handle it.
So, Lara is never allowed to pick more than one copy of a particular puzzle item up, if you use the limited backpack!
Yet, if you want her to pick more than one copy up in a level, then make sure that she uses the item in the receptacle (to move it out of the inventory) before picking up another copy.

Each item** has two GlobalTriggers and four TriggerGroups:

GlobalTrigger= 3, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 3, 4, IGNORE
TriggerGroup= 3, $8000, X, $2 ; C2: if present item in the inventory
TriggerGroup= 4, $2000, 231, $YFF, > ; F231: add Y to CV
$2000, 109, $401 ; enable GlobalTrigger#4
GlobalTrigger= 4, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 5, 6, IGNORE
TriggerGroup= 5, $8000, X, $1 ; C1: if missing item in the inventory
TriggerGroup= 6, $2000, 233, $YFF ; F233: subtract Y from CV

**: Parts needs their own setup. So eg. not only a puzzle item but combo1 and combo2 needs their own two GlobalTriggers and four TriggerGroups. (Naturally if you combine two combos, then, after that, the combos will be missing from the inventory.)
And this is true even for the waterskin. I mean, empty waterskin, waterskin with 1 liter, waterskin with 2 liters etc. needs their own two GlobalTriggers and four TriggerGroups.

X values are:

175 – puzzle item 1
176 – puzzle item 2
177 – puzzle item 3
178 – puzzle item 4
179 – puzzle item 5
180 – puzzle item 6
181 – puzzle item 7
182 – puzzle item 8
183 – puzzle item 9
184 – puzzle item 10
185 – puzzle item 11
186 – puzzle item 12
187 – puzzle item 1 combo 1
188 – puzzle item 1 combo 2
189 – puzzle item 2 combo 1
190 – puzzle item 2 combo 2
191 – puzzle item 3 combo 1
192 – puzzle item 3 combo 2
193 – puzzle item 4 combo 1
194 – puzzle item 4 combo 2
195 – puzzle item 5 combo 1
196 – puzzle item 5 combo 2
197 – puzzle item 6 combo 1
198 – puzzle item 6 combo 2
199 – puzzle item 7 combo 1
200 – puzzle item 7 combo 2
201 – puzzle item 8 combo 1
202 – puzzle item 8 combo 2
203 – key item 1
204 – key item 2
205 – key item 3
206 – key item 4
207 – key item 5
208 – key item 6
209 – key item 7
210 – key item 8
211 – key item 9
212 – key item 10
213 – key item 11
214 – key item 12
215 – key item 1 combo 1
216 – key item 1 combo 2
217 – key item 2 combo 1
218 – key item 2 combo 2
219 – key item 3 combo 1
220 – key item 3 combo 2
221 – key item 4 combo 1
222 – key item 4 combo 2
223 – key item 5 combo 1
224 – key item 5 combo 2
225 – key item 6 combo 1
226 – key item 6 combo 2
227 – key item 7 combo 1
228 – key item 7 combo 2
229 – key item 8 combo 1
230 – key item 8 combo 2
231 – pickup item 1
232 – pickup item 2
233 – pickup item 3
234 – pickup item 4
235 – pickup item 1 combo 1
236 – pickup item 1 combo 2
237 – pickup item 2 combo 1
238 – pickup item 2 combo 2
239 – pickup item 3 combo 1
240 – pickup item 3 combo 2
241 – pickup item 4 combo 1
242 – pickup item 4 combo 2
243 – Examine 1
244 – Examine 2
245 – Examine 3
246 – crowbar
248 – mechanical scarab
249 – mechanical scarab combo1
250 – mechanical scarab combo2
252 – quest item 1
253 – quest item 2
254 – quest item 3
255 – quest item 4
256 – quest item 5
257 – quest item 6
296 – small waterskin (empty)
297 – small waterskin (1 liter)
298 – small waterskin (2 liters)
299 – small waterskin (3 liters)
300 – large waterskin (empty)
301 – large waterskin (1 liter)
302 – large waterskin (2 liters)
303 – large waterskin (3 liters)
304 – large waterskin (4 liters)
305 – large waterskin (5 liters)
349 - pistols
351 – Uzis
353 – shotgun
356 – crossbow
361 – grenade gun
366 – revolver
371 - binoculars

Y values are:
The weight of one copy of the item.
For example, if the weight of one copy of the item is 0.4 kg then that is 400 variable value. - So Y is 400 now.
400 is decimal, but Y must be typed in hexadecimal format. So if Y=400, then you need to type 190 for Y.

An example:
Let’s suppose puzzle item 1 is 0.09 kg.
1 kg of anything=Value 1000 in the variable, so 0.09 kg is Value 90 in the variable.
That is why Y is 90 for puzzle item 1, which is 5A in hexadecimal format.

GlobalTrigger= 5, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 7, 8, IGNORE
TriggerGroup= 7, $8000, 175, $2 ; C2: if present puzzle item 1 (175) in the inventory
TriggerGroup= 8, $2000, 231, $5AFF, > ; F231: add Y to CV
$2000, 109, $601 ; F109: enable GlobalTrigger#6
GlobalTrigger= 6, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 9, 10, IGNORE
TriggerGroup= 9, $8000, 175, $1 ; C1: if missing puzzle item 1 (175) in the inventory
TriggerGroup= 10, $2000, 233, $5AFF ; F233: subtract Y from CV

However, if the variable value is too big, then one F231/F233 won’t be enough, because the highest value in F231/F233 is 127. – So, for example, the setup will look like this in the case of the Uzi pair, when the variable value must be 3000:

GlobalTrigger= 7, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 11, 12, IGNORE
TriggerGroup= 11, $8000, 351, $2 ; C2: if present Uzi in the inventory
TriggerGroup= 12, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3000)
$2000, 109, $801 ; enable GlobalTrigger#8
GlobalTrigger= 8, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 13, 14, IGNORE
TriggerGroup= 13, $8000, 351, $1 ; C1: if missing Uzi in the inventory
TriggerGroup= 14, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2900)
$2000, 233, $64FF ; F233: subtract 100 from CV (=3000)

Exceptions:

- Compass:

The compass is in the inventory even when you start the game, and you can’t remove it ever.
That is why you don’t use GlobalTriggers or TriggerGroups for the compass, but place two copies of this trigger under Lara object of the first level, that will add the compass weight (which is 0.2 kg, i.e. variable value 200 in our example) to the backpack weight:

; Set Trigger Type - FLIPEFFECT 231
; Exporting: TRIGGER(25855:0) for FLIPEFFECT(231)
; <#> : Variables. Numeric. Add to <&>Variable the (E)value
; <&> : Current Value
; (E) : Value 100
; Values to add in script command: $2000, 231, $64FF

One of the trigger must have One Shot pressed.
Don’t use that trigger for further levels, because it is a global variable, which means it won’t forget its value during level jumps, so you don’t need to add the compass weight again.

- Binoculars:

The binoculars is usually a standard item of the inventory, so you should define its weight in the way as I said at the compass.
But if you want to drop it/pickup another binoculars during the game, then use the usual formula I presented at GlobalTrigger#3.

- Lasersight:

The general inventory conditions will say the lasersight picked up is out of the inventory if it is just attached to a weapon. That is why we’ll study the presence of the lasersight in a bit tricky way:

GlobalTrigger= 9, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 15, 16, IGNORE
TriggerGroup= 15, $2000, 244, $1E02, >; F244: copy the actual status of revolver into Global Byte Alfa3 (GBA3) variable
$2000, 244, $1C03, >; F244: copy the actual status of crossbow into Global Byte Alfa4 (GBA4) variable
$2000, 233, $603, > ; F233: subtract 6 from GBA4 (because C43 is useless above Value 31, but our biggest value is 37)
$8000, 2, $D2B, > ;C43: if GBA3=13: if lasersight is attached to the revolver
$8000+TGROUP_OR, 3, $72B, > ;C43: if GBA4=7: if lasersight is attached to the crossbow, with normal ammo
$8000+TGROUP_OR, 3, $F2B, > ; C43: if GBA4=15: if lasersight is attached to the crossbow, with poisoned ammo
$8000+TGROUP_OR, 3, $1F2B, > ;C43: if GBA4=31: if lasersight is attached to the crossbow, with explosive ammo
$8000+TGROUP_OR, 370, $2 ; C2: a (standalone) lasersight is in the inventory
TriggerGroup= 16, $2000, 231, $YFF, > ; F231: add Y to CV
$2000, 109, $A01 ; enable GlobalTrigger#10
GlobalTrigger= 10, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 17, 19, IGNORE
TriggerGroup= 17, $2000, 244, $1E02, >; F244: copy the actual status of revolver into Global Byte Alfa3 (GBA3) variable
$2000, 244, $1C03, >; F244: copy the actual status of crossbow into Global Byte Alfa4 (GBA4) variable
$2000, 233, $603, > ; F233: subtract 6 from GBA4
$8000+TGROUP_NOT, 18, $F ; C15: if it is not TriggerGroup#18
TriggerGroup= 18, $8000, 2, $D2B, > ; C43: if GBA3=13: if lasersight is attached to the revolver
$8000+TGROUP_OR, 3, $72B, > ; C43: if GBA4=7: if lasersight is attached to the crossbow, with normal ammo
$8000+TGROUP_OR, 3, $F2B, > ; C43: if GBA4=15: if lasersight is attached to the crossbow, with poisoned ammo
$8000+TGROUP_OR, 3, $1F2B, > ; C43: if GBA4=31: if lasersight is attached to the crossbow, with explosive ammo
$8000+TGROUP_OR, 370, $2 ; C2: a (standalone) lasersight is in the inventory
TriggerGroup= 19, $2000, 233, $YFF ; F233: subtract Y from CV

See the explanation of Value Y above.

- Torch:

The torch is not there in the inventory ever. That is why we’ll study the presence of the torch with other TriggerGroups:

GlobalTrigger= 11, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 20, 21, IGNORE
TriggerGroup= 20, $8000, 16, $23 ; C35: if Lara holds any torch
TriggerGroup= 21, $2000, 231, $YFF, > ; F231: add Y to CV
$2000, 109, $C01 ; enable GlobalTrigger#12
GlobalTrigger= 12, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 22, 23, IGNORE
TriggerGroup= 22, $8000+TGROUP_NOT, 16, $23 ; C35: if Lara doesn’t hold any torch
TriggerGroup= 23, $2000, 233, $YFF ; F233: subtract Y from CV

See the explanation of Value Y above.

- Things in the hand for short animations:

Like winding up the mechanical scarab (with Animation#444), placing key/puzzle into the receptacle or pouring things from waterskin/jerrycan/sandbag.
These situations don’t burden Lara in our setup, because no other thing will happen that affects the weight. I mean, for example, just when Lara’s winding up the scarab, then she is not picking up an item to increase the backpack weight. So if we don’t calculate the scarab weight during Animation#444, then we surely won’t exceed that 20 kg limit under that short procedure.
So I won’t make the setup more complicated than it is. It would be really elegant with those short animation burdens, though.

- The weapon seeing in the hand, in holsters or on the back:

It remains in the inventory, so there is no need to study these situations.

4.2.2. Solution if you can have more copies of the item

These items are:

- ammunition (pistol bullets, Uzi bullets, shotgun normal bullets, shotgun wideshot bullets, crossbow normal arrows, crossbow poisoned arrows, crossbow explosive arrows, normal grenades, super grenades, flash grenades, revolver bullets)
- big or small medipacks, flares

Each item needs a GlobalTrigger and a TriggerGroup.
Each item has its own variable. As I said above, we need all the numeric variables for this setup. I used GBA3 and GBA4 previously, that is why I cannot use them and even Global Short Alfa2 (GSA2) now. (Because GSA2 uses the same memory position what GBA3 or GBA4 uses.) But I can use Global Short Alfa1 of Global Alfa series and any variable of the Global Beta, Global Delta, Local Alfa, Local Beta, Local Delta series.
We need 14 short variables for the 14 items, but we have no 14 free short variables in those 6 series, only 11. That is why we’ll use only 8 short variables and, instead of the further 3 short variables, we’ll use 6 byte variables. (This time it is not important if that is global or local.)

- 8 short variables for the important items:

Global Short Alfa1: pistol bullets (never unlimited!)
Global Short Beta1: Uzi bullets
Global Short Beta2: shotgun normal bullets
Global Short Delta1: crossbow explosive arrows
Global Short Delta2: revolver bullets
Local Short Alfa1: big medipacks
Local Short Alfa2: small medipacks
Local Short Beta1: flares

- 6 byte variables for the not so important items:

Local Byte Beta3: shotgun wideshot bullets
Local Byte Beta4: crossbow normal arrows
Local Byte Delta1: crossbow poisoned arrows
Local Byte Delta2: normal grenades
Local Byte Delta3: super grenades
Local Byte Delta4: flash grenades

“Important items” mean the maximum capacity of short variables is 32767. So the biggest value of an item in any moment of the game is 32767. It is 32 kg in our setup (because each 1 kg of anything=Value 1000 in the variable, and 32767/1000=32.767). The maximum weight of the backpack is less, 20 kg, so we never need to study if the item has reached that 32.7 kg limit or not. (‘Cause it is sure the item weight will never reach 32 kg.)

The setup for each important item will generally look this way:

GlobalTrigger= 13, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 24, IGNORE
TriggerGroup= 24, $2000, 286, $Z, > ; F286: subtract the previous weight (i.e. the actual value of Z variable) of the item from CV
$2000, 244, $XZ, > ; F244: copy the actual amount of X item into Z variable
$2000, 251, $YZ, > ; F251: multiply Z variable value by Y value (Y must be typed in hexadecimal format)
$2000, 285, $Z ; F285: add Z variable value to CV

X values are:

3A: small medipack
3B: large medipack
3C: flares
3D: pistol bullets
3E: Uzi bullets
3F: revolver bullets
40: shotgun normal bullets
47: crossbow explosive arrows

See the explanation of Value Y above.

Z values are:

10: Global Short Alfa1
12: Global Short Beta1
13: Global Short Beta2
14: Global Short Delta1
15: Global Short Delta2
50: Local Short Alfa1
51: Local Short Alfa2
52: Local Short Beta1

Don’t forget an Equipment command to make the pistols ammo limited. You also need a Customize= CUST_AMMO command to define the default pistol bullets in the clip pairs and in the pistols you pick up.
It means you also need to place pistol ammo clip pairs in the editor, so the player will pick them up in the game.

An example:
I say above that 30 Uzi bullets are 0.3 kg. So 1 Uzi bullet is 0.3/30=0.01 kg.
1 kg of anything=Value 1000 in the variable, so 0.01 kg is Value 10 in the variable.
That is why Y is 10 for Uzi bullets, which is A in hexadecimal format.

GlobalTrigger= 14, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 25, IGNORE
TriggerGroup= 25, $2000, 286, $12, > ; F286: subtract the previous weight (i.e. the actual value of 12 [Global Short Beta1] variable) of the item from CV
$2000, 244, $3E12, > ; F244: copy the actual amount of 3E (Uzi bullets) item into 12 (Global Short Beta1) variable
$2000, 251, $A12, > ; F251: multiply 12 (Global Short Beta1) variable value by 10 value (10 must be typed in hexadecimal format)
$2000, 285, $12; F285: add 12 (Global Short Beta1) variable value to CV

If the variable value is too big, then one F251 won’t be enough, because the highest value in F251 is 127. – So, for example, the setup will look like this in the case when Y=300:

GlobalTrigger= 15, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 26, IGNORE
TriggerGroup= 26, $2000, 286, $Z, > ; F286: subtract the previous weight (i.e. the actual value of Z variable) of the item from CV
$2000, 244, $XZ, > ; F244: copy the actual amount of X item into Z variable
$2000, 251, $3Z, > ; F251: multiply Z variable value by 3 value
$2000, 251, $64Z, > ; F251: multiply Z variable value by 100 value
$2000, 285, $Z ; F285: add Z variable value to CV

Because 3×100=300.

Exceptions:

- Shotgun normal ammo:

The amount is the sixfold of the real amount.
I say above that 6 shotgun bullets are 0.06 kg. So 1 shotgun bullet is 0.06/6=0.01 kg.
1 kg of anything=Value 1000 in the variable, so 0.01 kg is Value 10 in the variable.
That is why Y is 10 for shotgun bullets, which is A in hexadecimal format.
But the solution will be the sixfold of the proper amount, so you need one more trigger to divide it by 6.

GlobalTrigger= 16, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 27, IGNORE
TriggerGroup= 27, $2000, 286, $13, > ; F286: subtract the previous weight (i.e. the actual value of 13 [Global Short Beta2] variable) of the item from CV
$2000, 244, $4013, > ; F244: copy the actual amount of 40 (shotgun normal bullets) item into 13 (Global Short Beta2) variable
$2000, 251, $A13, > ; F251: multiply 13 (Global Short Beta2) variable value by 10 value
$2000, 253, $613, > ; F253: divide 13 (Global Short Beta2) variable value by 6 value
$2000, 285, $13; F285: add 13 (Global Short Beta2) variable value to CV

Note:
Due to that sixfold thing, the theoretical maximal weight for these bullets is not 32.767 kg but 32.767/6=5461.16 g. It is less than 20 kg, so it is reachable.
If 1 bullet is 10 g, then that 5461.16 g is enough for 546 bullets. It is huge, but I bet you will never reach it in the inventory, so we won’t check it. Theoretically you should check it, though. (It is about 90 normal shotgun ammo box placed in the whole game, calculating 6 bullets in each box, if you suppose that the player will pick up each box, but not shooting even a bullet with the shotgun. It sounds illogical, doesn’t it?)

- Flares:

Sometimes you need to calculate the weight of a flare, even that is out of the inventory:

- Lara extracts/lights a flare, holding it in the hand: it is +1 flare,
- she drops/throws a flare, either that is still working or not: it is -1 flare,
- she picks up a working flare on the ground: it is +1 flare.

I say above that 12 flares are 0.6 kg. So 1 flare is 0.6/12=0.05 kg.
1 kg of anything=Value 1000 in the variable, so 0.05 kg is Value 50 in the variable.
That is why Y is 50 for flares, which is 32 in hexadecimal format.

GlobalTrigger= 17, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 28, IGNORE
TriggerGroup= 28, $2000, 286, $52, > ; F286: subtract the previous weight (i.e. the actual value of 52 [Local Short Beta1] variable) of the item from CV
$2000, 244, $3C52, > ; F244: copy the actual amount of 3C (flares) item into 52 (Local Short Beta1) variable
$2000, 251, $3252, > ; F251: multiply 52 (Local Short Beta1) variable value by 50 value (50 must be typed in hexadecimal format)
$2000, 285, $52; F285: add 52 (Local Short Beta1) variable value to CV
GlobalTrigger= 18, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 29, 30, IGNORE
TriggerGroup= 29, $8000, 7, $23 ; C35: if Lara holds a flare
TriggerGroup= 30, $2000, 231, $32FF, > ; F231: add Y (50) to CV (50 must be typed in hexadecimal format)
$2000, 109, $1301 ; F109: enable GlobalTrigger#19
GlobalTrigger= 19, FGT_DISABLED+ FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 31, 32, IGNORE
TriggerGroup= 31, $8000+TGROUP_NOT, 7, $23 ; C35: if Lara doesn’t hold a flare
TriggerGroup= 32, $2000, 233, $32FF, >; F233: subtract Y (50) from CV (50 must be typed in hexadecimal format)
$2000, 109, $1300 ; F109: disable GlobalTrigger#19

“Not so important items” mean the maximum capacity of byte variables is 255. So the biggest value of an item in any moment of the game is 255. It is 0.255 kg in our setup (because each 1 kg of anything=Value 1000 in the variable, and 255/1000=0.255). The maximum weight of the backpack is more, 20 kg, so we need to study if the item has reached that 0.255 kg limit or not. (In fact, that limit must be a bit less, I will explain it why, see just below.)

That is why if that maximum (0.255 kg) limit of the item is exceeded when Lara picks up an item up, then the item amount will be decreased to the limit automatically.

The setup for each important item will generally look this way:

GlobalTrigger= 20, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 33, IGNORE
TriggerGroup= 33, $2000, 286, $Z, > ; F286: subtract the previous weight (i.e. the actual value of Z variable) of the item from CV
$2000, 244, $XZ, > ; F244: copy the actual amount of X item into Z variable
$2000, 251, $YZ, > ; F251: multiply Z variable value by Y value (Y must be typed in hexadecimal format)
$8000, V, $U26, > ; C38: if Z variable value is >= than the number at PARAM_BIG_NUMBER index U (U must be typed in hexadecimal format, V is the decimal version of Z)
$2000, 263, $UZ, > ; F263: set the number at PARAM_BIG_NUMBER index U (U must be typed in hexadecimal format) in Z variable
$2000, 233, $1Z , > ;F233: subtract 1 from variable Z
$2000, 253, $YZ, > ; F253: divide Z variable value by Y value (Y must be typed in hexadecimal format)
$2000, 245, $XZ, > ; F245: copy Z variable value into the actual amount of X item
$2000, 285, $Z ; F285: add Z variable value to CV
$2000+TGROUP_ELSE, 285, $Z ; F285: add Z variable value to CV
Parameters= PARAM_BIG_NUMBERS, W

X values are:

41: shotgun wideshot bullets
42: normal grenades
43: super grenades
44: flash grenades
45: crossbow normal arrows
46: crossbow poisoned arrows

See the explanation of Value Y above.

Z values are:

46: Local Byte Beta3 (decimal V version: 70)
47: Local Byte Beta4 (decimal V version: 71)
48: Local Byte Delta1 (decimal V version: 72)
49: Local Byte Delta2 (decimal V version: 73)
4A: Local Byte Delta3 (decimal V version: 74)
4B: Local Byte Delta4 (decimal V version: 75)

The setup will adjust the maximum possible amount of the item – if the maximum amount is exceeded when Lara picks up the item. (If it is not then the amount picked up will be added to the inventory, as usual.)
Let’s suppose 1 normal grenade is 0.02 kg, which is Value 20 in the variable, so 10 grenades is 1 kg, which is Value 200. 220 is 11 grenades, 240 is 12 grenades, 260 is 13 grenades. 260 is bigger than that 255 limit. So the biggest grenade amount should be 12 – but that is not true.
So, one default pack is 10 grenades, so if Lara picks one pack up when she has 3 grenades in the inventory, then she will have 13 grenades, which is wrong, because 13 (260) is above 255. That is why Lara should pick up a grenade pack only if she has 0, 1 or 2 grenades in the inventory. It is lame. That is why I used a CUST_AMMO constant to change the ammo amount in a pack (and also in the weapon she has just picked up) from the default 10 to 2. That is why the biggest grenade amount is 10. So eg. if she has 10 grenades in the inventory and she picks up a pack with 2 grenades, then she would have 12 grenades, which would be good, because 12 (240) is below 255.
So this is what will happen, using packs with 2 grenades:
The game will study if the grenades are >= 201 (because 10 grenades are 200). So if Lara picks up a pack with 2 grenades now, then the value will be 240. 240 is less than 255, so the byte variable is able to use it. But the game couldn’t keep it, because another pack picked up now is not allowed, increasing the value from 240 to 280 (from 12 to 14 grenades), because 280 is more than 255.
So the game will adjust Value 200 (i.e. 10 grenades) now.

So the rule is:
Find the biggest possible value under that 255 limit. Subtract the amount of one pack.
The value you got will be the real limit for that item. Add one to that, so we can use a “value > than limit” condition with a “value >= than limit+1” trigger. This “limit+1” is the value I called W above. (The maximum of W is 255.)

So the example for normal grenades:

Customize= CUST_AMMO, GRENADE_GUN_AMMO1_ITEM, IGNORE, IGNORE, 2, 2, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE
GlobalTrigger= 21, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 34, IGNORE
TriggerGroup= 34, $2000, 286, $49, > ; F286: subtract the previous weight (i.e. the actual value of Z variable) of the item from CV
$2000, 244, $4249, > ; F244: copy the actual amount of X item into Z variable
$2000, 251, $1449, > ; F251: multiply Z variable value by Y value (Y must be typed in hexadecimal format)
$8000, 73, $026, > ; C38: if Z variable value is >= than the number at PARAM_BIG_NUMBER index U (U must be typed in hexadecimal format, V is the decimal version of Z)
$2000, 263, $049, > ; F263: set the number at PARAM_BIG_NUMBER index U (U must be typed in hexadecimal format) in Z variable
$2000, 233, $149 , > ;F233: subtract 1 from variable Z
$2000, 253, $1449, > ; F253: divide Z variable value by Y value (Y must be typed in hexadecimal format)
$2000, 245, $4249, > ; F245: copy Z variable value into the actual amount of X item
$2000, 285, $49 ; F285: add Z variable value to CV
$2000+TGROUP_ELSE, 285, $49 ; F285: add Z variable value to CV
Parameters= PARAM_BIG_NUMBERS, 201

But the formula looks this way in the case of the shotgun wideshot ammo:

Customize= CUST_AMMO, SHOTGUN_AMMO2_ITEM, IGNORE, IGNORE, 2, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE
GlobalTrigger= 22, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 35, IGNORE
TriggerGroup= 35, $2000, 286, $Z, > ; F286: subtract the previous weight (i.e. the actual value of Z variable) of the item from CV
$2000, 244, $XZ, > ; F244: copy the actual amount of X item into Z variable
$2000, 251, $YZ, > ; F251: multiply Z variable value by Y value (Y must be typed in hexadecimal format)
$2000, 253, $6Z, > ;F253: divide Z variable value by 6 value
$8000, V, $U26, > ; C38: if Z variable value is >= than the number at PARAM_BIG_NUMBER index U (U must be typed in hexadecimal format, V is the decimal version of Z)
$2000, 263, $UZ, > ; F263: set the number at PARAM_BIG_NUMBER index U (U must be typed in hexadecimal format) in Z variable
$2000, 233, $1Z , > ;F233: subtract 1 from variable Z
$2000, 253, $YZ, > ; F253: divide Z variable value by Y value (Y must be typed in hexadecimal format)
$2000, 251, $6Z, > ;F251: multiply Z variable value by 6 value
$2000, 245, $XZ, > ; F245: copy Z variable value into the actual amount of X item
$2000, 285, $Z, > ; F285: add Z variable value to CV
$2000+TGROUP_ELSE, 285, $Z ; F285: add Z variable value to CV
Parameters= PARAM_BIG_NUMBERS, W

Because, in the case of shotgun ammo, that sixfold thing matters. So, eg. if Y=10 then the multiplier is 10×6= 60.
Find the biggest possible value under that 255 limit. Subtract the amount of one pack – I said above. 60×4=240, 60×5= 300, so the biggest possible value is 240 now, for 4 bullets. It is less than one default pack, which is 6 bullets, so you need to decrease the pack amount with Customize= CUST_AMMO. I suggest from 6 to 2. (1 would be ridiculous.) So I will subtract 2 bullets as the amount in a pack. Which remains is 60×2= 120.
The value you got will be the real limit for that item. Add one to that, so we can use a “value > than limit” condition with a “value >= than limit+1” trigger. This “limit+1” is the value I called W above – I said above. So the maximum shotgun wideshot bullet amount you can have at the same time, is only 2 bullets (120), the amount of one pack, and W SHOULD BE 121 now.
But it is not 121, because you also need to divide that 120 by 6. That is why the limit is 20, and W is 21.
Yes, I know, 2 bullets are very few, so if you want more, then you you need Y below 10, so less weight for one bullet than 0.01 kg.
AkyV is offline  
Old 03-01-16, 11:02   #5
AkyV
Moderator
 
Join Date: Dec 2011
Location: Hungary
Posts: 2,376
Default

4.3. The backpack weight printed on the screen

In the example above (Chapter 4.1.) we start the game with 11.55 kilograms, which is 11550 in Current Value.
We want to print it on the screen, in this format:

Backpack: 11550 g

Choose an Extra NG string for that. For example, String#31. Print this into that string:

Backpack: #0800 g

Because the ID of CV (the variable where the weight is stored) is #0800.

F203 triggers (in GlobalTriggers) will print the “Backpack:….kg” text on the screen, using “Text. Set” flipeffects as formatting commands:

- One of the F203 triggers will print the text in white on the screen, if the CV value is <15 001 g. If the CV value is >=15 001 then the white text will be removed by an F204 trigger.
- The next F203 trigger will print the text in yellow on the screen, if the CV value is >=15 001 g and <19 001 g. If the CV value is <15 001 or >=19 001 then the yellow text will be removed by an F204 trigger.
- The third F203 trigger will print the text in red on the screen, if the CV value is >=19 001 g. If the CV value is <19 001 then the red text will be removed by an F204 trigger.

And one more thing: as I said above, F1/F2 buttons are able to put/remove the text on/off the screen if that disturbs you.

So this is what goes to the Script:

Parameters= PARAM_BIG_NUMBERS, 15001, 19001
;-------------------------printing the white text-------------------------------------
GlobalTrigger= 23, IGNORE, GT_CONDITION_GROUP, IGNORE, 36, 37, IGNORE
TriggerGroup= 36, $8000, 255, $27 ; C39: if CV < than the number at PARAM_BIG_NUMBER index 0
TriggerGroup= 37, $2000, 204, $1F, > ; F204: remove Extra String#31 (which matters if the text on the screen is just yellow or red)
$2000, 66, $602, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $1F ; F360: print Extra String#31
;-------------------------printing the yellow text-------------------------------------
GlobalTrigger= 24, IGNORE, GT_CONDITION_GROUP, IGNORE, 38, 39, IGNORE
TriggerGroup= 38, $8000, 255, $26, > ; C38: if CV >= than the number at PARAM_BIG_NUMBER index 0
$8000, 255, $127 ; C39: if CV < than the number at PARAM_BIG_NUMBER index 1
TriggerGroup= 39, $2000, 204, $1F, > ; F204: remove Extra String#31 (which matters if the text on the screen is just white or red)
$2000, 66, $608, > ; F66: define text position on the screen and its yellow color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $1F ; F360: print Extra String#31
;-------------------------printing the red text-------------------------------------
GlobalTrigger= 25, IGNORE, GT_CONDITION_GROUP, IGNORE, 40, 41, IGNORE
TriggerGroup= 40, $8000, 255, $126; C38: if CV >= than the number at PARAM_BIG_NUMBER index 1
TriggerGroup= 41, $2000, 204, $1F, > ; F204: remove Extra String#31 (which matters if the text on the screen is just white or yellow)
$2000, 66, $603, > ; F66: define text position on the screen and its red color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $1F ; F360: print Extra String#31
;-------------------------F1/F2 to remove/restore the text------------
GlobalTrigger= 26, IGNORE, GT_KEYBOARD_CODE, 59, IGNORE, 42, IGNORE ; Code 59 is F1
TriggerGroup= 42, $2000, 204, $1F, > ; F204: remove Extra String#31
$2000, 109, $1700, > ; F109: disable GlobalTrigger#23
$2000, 109, $1800, > ; F109: disable GlobalTrigger#24
$2000, 109, $1900 ; F109: disable GlobalTrigger#25
GlobalTrigger= 27, IGNORE, GT_KEYBOARD_CODE, 60, IGNORE, 43, IGNORE; Code 60 is F2
TriggerGroup= 43, $2000, 109, $1701, > ; F109: enable GlobalTrigger#23
$2000, 109, $1801, > ; F109: enable GlobalTrigger#24
$2000, 109, $1901 ; F109: enable GlobalTrigger#25

Type other values instead of 15001 or 19001 if you’d like another limit instead of 15 or 19 kilograms!

4.4. Too heavy backpack

4.4.1. Main conditions

So, if the backpack is too heavy (more than 20 000 g) then the game will disable the key commands to move Lara:
So we need a GlobalTrigger: if the backpack weight (CV) is >=20 001 g then disable the keys and (using an F203) pop up the warning message:

GlobalTrigger= 28, FGT_SINGLE_SHOT, GT_CONDITION_GROUP, IGNORE, 44, 45, IGNORE
TriggerGroup= 44, $8000, 255, $26 ; C38: if CV >= than the number at PARAM_BIG_NUMBER index 0
TriggerGroup= 45, $2000, 51, $1, > ; F51: disable Key UP
$2000, 51, $2, > ; F51: disable Key DOWN
$2000, 51, $3, > ; F51: disable Key LEFT
$2000, 51, $4, > ; F51: disable Key RIGHT
$2000, 51, $5, > ; F51: disable Key DUCK
$2000, 51, $8, > ; F51: disable Key JUMP
$2000, 51, $9, > ; F51: disable Key ACTION
$2000, 51, $A, > ; F51: disable Key DRAW WEAPON
$2000, 51, $B, > ; F51: disable Key USE FLARE
$2000, 51, $C, > ; F51: disable Key LOOK
$2000, 51, $D, > ; F51: disable Key ROLL
$2000, 51, $E, > ; F51: disable Key INVENTORY
$2000, 51, $11, > ; F51: disable Key PAUSE
$2000, 51, $12, > ; F51: disable Key SAVE GAME
$2000, 51, $13, > ; F51: disable Key LOAD GAME
$2000, 51, $14, > ; F51: disable Key SELECT WEAPON
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $23, > ; F360: print Extra String#35, which contains the warning message
$2000, 109, $1E01, > ; F109: enable GlobalTrigger#30 (see just below) to use the warning message as a menu
$2000, 109, $2E00, > ; F109: disable GlobalTrigger#46 (so you can’t open the menu to drop anyting of your own will – see Chapter 4.5.1.)
$2000, 204, $2A ; F204: remove Extra String#42, which contains the menu to drop anyting of your own will (if it is just on the screen)
Parameters= PARAM_BIG_NUMBERS, 20001

As I said above, this is what the warning message is:

The backpack is too heavy so Lara can’t move.
Please drop out some items of the backpack to make that easier.

Select a key to choose a group of items from which you will drop items:

A-weapons
B-ammunition
C-medipacks or flares
D-other tools of Lara
E-keys or puzzles
F-other items picked up

I couldn’t disable all the keys with $2000, 51, $0, because, in that case, Key A, B, C etc. will also be disabled, but I need those keys for the setup – or see eg. F1, F2 above which we also need. (I didn’t need to disable dash, walk, step left/right keys because they will be automatically useless, if the cursor keys are disabled.)

I also disabled the keys for the menus. It is important, because we can’t use the menus, if cursor keys are disabled. It causes some problems. Some of them will be solved below (“how can I pour water out of the waterskin to ease the backpack if I can’t enter the inventory”, for example), some of them won’t (i.e. you can’t save/load game or open Pause menu if Lara is just frozen now).
See in Chapter 1 what we use for that save/load game issue.

If the game detects CV is under 20001 again, then Lara will be able to move again:

GlobalTrigger=29, IGNORE, GT_CONDITION_GROUP, IGNORE, 46, 47, IGNORE
TriggerGroup= 46, $8000, 255, $27 ; C39: if CV< than the number at PARAM_BIG_NUMBER index 0
TriggerGroup= 47, $2000, 52, $0, > ; F52: enables all the keys again
$2000, 204, $23, > ; F204: remove Extra String#35, which contains the warning message*
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu*
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu*
$2000, 204, $26,> ; F204: remove Extra String#38, which contains the medipack+flare menu*
$2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the “other tools”*
$2000, 204, $28, > ; F204: remove Extra String#40, which contains the menu for keys/puzzles*
$2000, 204, $29, > ; F204: remove Extra String#41, which contains the menu for the other items*
$2000, 109, $2E01 ; F109: enable GlobalTrigger#46 (so you can hit F4 again to ease the backpack – see Chapter 4.5.1.)

*: these triggers are useful if Lara has dropped a flare while the backpack is heavy – see Chapter 4.4.5.

Type another value instead of that 20001 if you’d like another limit instead of 20 kilograms!

4.4.2. Using the warning message as a menu

Enabling GlobalTrigger#28 (see just above) means now these things will happen if you hit Key A, B, C, D, E or F:

GlobalTrigger= 30, FGT_DISABLED, GT_ALWAYS, IGNORE, IGNORE, 48, IGNORE
;-------------------------hit Key A to choose a weapon to drop-------------------------------------
TriggerGroup= 48, $8000, 30, $10C, > ; C12: if you hit Key A
$2000, 204, $23, > ; F204: remove Extra String#35, which contains the warning message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $24, > ; F360: print Extra String#36, which contains the menu for weapons
$2000, 109, $1E00, > ; F109: disable GlobalTrigger#30 (so this menu won’t show up at the next step)
$2000, 109, $1F01, > ; F109: enable GlobalTrigger#31 that will control the procedure for the menu about weapons
;-------------------------hit Key B to choose an ammunition type to drop-------------------------------------
$8000+TGROUP_ELSE, 48, $10C, > ; C12: if you hit Key B
$2000, 204, $23, > ; F204: remove Extra String#35, which contains the warning message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $25, > ; F360: print Extra String#37, which contains the menu for ammunition
$2000, 109, $1E00, > ; F109: disable GlobalTrigger#30 (so this menu won’t show up at the next step)
$2000, 109, $2001, > ; F109: enable GlobalTrigger#32 that will control the procedure for the menu about ammunition
;-------------------------hit Key C to choose a medipack type or flares to drop-------------------------------------
$8000+TGROUP_ELSE, 46, $10C, > ; C12: if you hit Key C
$2000, 204, $23, > ; F204: remove Extra String#35, which contains the warning message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $26, > ; F360: print Extra String#38, which contains the menu for medipacks and flares
$2000, 109, $1E00, > ; F109: disable GlobalTrigger#30 (so this menu won’t show up at the next step)
$2000, 109, $2101, > ; F109: enable GlobalTrigger#33 that will control the procedure for the menu about medipacks and flares
;-------------------------hit Key D to choose another tool of Lara to drop-------------------------------------
$8000+TGROUP_ELSE, 32, $10C, > ; C12: if you hit Key D
$2000, 204, $23, > ; F204: remove Extra String#35, which contains the warning message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $27, > ; F360: print Extra String#39, which contains the menu for other tools of Lara
$2000, 109, $1E00, > ; F109: disable GlobalTrigger#30 (so this menu won’t show up at the next step)
$2000, 109, $2201, > ; F109: enable GlobalTrigger#34 that will control the procedure for the menu about other tools of Lara
;-------------------------hit Key E to choose a key or puzzle item to drop-------------------------------------
$8000+TGROUP_ELSE, 18, $10C, > ; C12: if you hit Key E
$2000, 204, $23, > ; F204: remove Extra String#35, which contains the warning message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $28, > ; F360: print Extra String#40, which contains the menu for keys and puzzles
$2000, 109, $1E00, > ; F109: disable GlobalTrigger#30 (so this menu won’t show up at the next step)
$2000, 109, $2301, > ; F109: enable GlobalTrigger#35 that will control the procedure for the menu about keys and puzzles
;-------------------------hit Key F to choose any other pickable item to drop-------------------------------------
$8000+TGROUP_ELSE, 33, $10C, > ; C12: if you hit Key F
$2000, 204, $23, > ; F204: remove Extra String#35, which contains the warning message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $29, > ; F360: print Extra String#41, which contains the menu for other items picked up
$2000, 109, $1E00, > ; F109: disable GlobalTrigger#30 (so this menu won’t show up at the next step)
$2000, 109, $2401 ; F109: enable GlobalTrigger#36 that will control the procedure for the menu about other items picked up

So, if the key is A then the warning message will be deleted, and the game types ExtraNG String#36 (menu about the weapons) on the screen, and enables GlobalTrigger#31 that will control the procedure for the menu about the weapons.
Similar things will happen about the menu of ammunition/medipacks+flares/other tools of Lara/keys and puzzles/other items picked up, if the key is B/C/D/E/F.

Don’t forget to remove the remark (;---------------) lines before you build the Script!

4.4.3. Removing weapons

So the weapon menu will pop up if you hit Key A.

For example, use the weapon menu I mentioned above – when we have only pistols, shotgun and Uzis in the level:

Select a key to choose a weapon you will drop:

G-the pair of pistols (2 kg)*
H-the shotgun (5 kg)
I-the pair of Uzis (3 kg)

X-Exit

*: All the pistol ammo will also be removed!

GlobalTrigger= 31, FGT_DISABLED, GT_ALWAYS, IGNORE, IGNORE, 49, IGNORE
;-------------------------hit Key G to choose the pistols to drop-------------------------------------
TriggerGroup= 49, $8000, 34, $10C, > ; C12: if the player hits Key G
$8000, 349, $2, > ; C2: if pistols are in the inventory
$2000, 118, $32, > F118: activate TriggerGroup#50 (that control the procedure for the pistols)
;-------------------------hit Key H to choose the shotgun to drop-------------------------------------
$8000 +TGROUP_ELSE, 35, $10C, > ; C12: if the player hits Key H
$8000, 353, $2, > ; C2: if shotgun is in the inventory
$2000, 118, $33, > F118: activate TriggerGroup#51 (that control the procedure for the shotgun)
;-------------------------hit Key I to choose the Uzis to drop-------------------------------------
$8000+TGROUP_ELSE, 23, $10C, > ; C12: if the player hits Key I
$8000, 351, $2, > ; C2: if Uzis are in the inventory
$2000, 118, $34, > F118: activate TriggerGroup#52 (that control the procedure for the Uzis)
;-------------------------hit Key X to close the menu-------------------------------------
$8000+TGROUP_ELSE, 45, $10C, > ; C12: if the player hits Key X
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the menu for the weapons
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;--------------------------------------------------------------------
Organizer= 1, IGNORE, IGNORE, 0, 1000, 3, 1001
TriggerGroup= 1000, $2000, 109, $2E01, > ; F109: enable GlobalTrigger#46 (so you can hit F4 again to ease the backpack)
$2000, 109, $1D01; F109: enable GlobalTrigger#29 (so the keys will be enabled)
TriggerGroup= 1001, $2000, 109, $1C01 ; F109: enable GlobalTrigger#28 (so the game will check again if CV>= than 20001)

If the player hits G and if the pistol is in the inventory, then the game will activate TriggerGroup#50 – which controls the procedure for the pistol.
If the player hits H and if the shotgun is in the inventory, then the game will activate TriggerGroup#51 – which controls the procedure for the shotgun.
If the player hits I then and if the Uzis are in the inventory, then the game will activate TriggerGroup#52 – which controls the procedure for the Uzi.

If the player hits X then the game will remove the menu about the weapons off the screen, disables GlobalTrigger#31 (because G, H, I and X buttons can have other functions with other menus, so we want to disable their actual functions), and enables GlobalTrigger#28. (So, that One Shot GlobalTrigger is enabled again, i.e. if Lara is still frozen – because the backpack is still too heavy - then the warning message will pop up again. Or if she’s not, then enabling GlobalTrigger#28 “only” makes GlobalTrigger#28 useful again, to pop up the warning message later, if the backpack will be too heavy again.)

Don’t forget to remove the remark (;---------------) lines before you build the Script!

-------------------------

Important!
Organizer#1 is used for every part of the setup when we need re-enable GlobalTrigger#28. If we don’t use that time slip then GlobalTrigger#28 will perhaps be re-enabled too soon, and the whole setup will fail!

The part of the Organizer for TriggerGroup#1000 is only a general task, that is why it is put here, and it doesn’t need a time slip. See Chapter 4.5.1. to understand TriggerGroup#1000.

-------------------------

As I said above, in this setup we’ll use all the numeric variables. Including the variables that are usually used for special purposes:
- Global Long Timer (GLT) and Local Long Timer (LLT) for timers (see “Variable. Timer” flipeffect triggers),
- Last Input Number (LIN) to contain the last number you typed in the keypad.

But those special variables are useable even for the purposes of common variables:

- You can use LLT even as a common local long, short, byte variable.
- You can use GLT or LIN even as a common local long, short, byte variable.

And we need those special variables in our setup for common purposes, due to the low amount of Local Alfa/Beta/Delta and Global Alfa/Beta/Delta variables.
That is why, if you use this setup, you cannot use even LLT, GLT or LIN for timers/keypad!

Let’s see the Uzi procedure first:

TriggerGroup= 52, $2000, 47, $5E, > ; F47: remove Uzi
$2000, 244, $773, > ; F244: add the info about the actual weapon into Local Long Timer (LLT) variable (Note: as I said above, LLT is used for a common reason this time.)
$8000+TGROUP_NOT, 115, $32B, > ; C43: if LLT is not 3, so if the actual weapon is not Uzi (so the weapon just in Lara’s hand or the weapon that will be extracted if the player hits SPACE now is not Uzi)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1,> ; F127: enable Organizer#1
$8000, 51, $32B, > ; C43: if Global Long Timer (GLT) variable is 3, so if the weapon in the holsters is Uzi (Note: as I said above, GLT is used for a common reason this time.)
$2000, 100, $C10, > F100: swap mesh “object in holsters” of LARA_HOLSTERS slot (to make it empty)
$8000+TGROUP_ELSE, 3, $23, > ; C35: if she holds Uzis
$2000, 83, $0, > ; F83: remove weapon from hand
$2000, 127, $2, > F127: start Organizer#2
$8000+TGROUP_ELSE, 115, $32B, > ; C43: if LLT=3, so if the actual weapon is Uzi, in the holsters, not in the hand,
$2000, 100, $C10, > ; F100: swap mesh “object in holsters” of LARA_HOLSTERS slot (to make it empty)
$2000, 232, $73, > ; F232: set 0 in LLT
$2000, 245, $773, > F245: copy LLT (0) for the actual weapon (so “no weapon” is the actual one)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
GlobalTrigger= 37, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 53, 54, IGNORE
TriggerGroup= 53, $8000, 1, $23, > ;C35: if she holds pistols
$8000+TGROUP_OR, 2, $23, > ; C35: if she holds revolver
$8000+TGROUP_OR, 3, $23 ; C35: if she holds Uzis
TriggerGroup= 54, $2000, 244, $733; F244: add the info about the actual weapon into GLT
Organizer= 2, IGNORE, IGNORE, 2, 55
TriggerGroup= 55, $2000, 100, $C10, > ; F100: swap mesh “object in holsters” of LARA_HOLSTERS slot (to make it empty)
$2000, 232, $73, > ; F232: set 0 in LLT
$2000, 245, $773, > F245: copy LLT (0) for the actual weapon (so “no weapon” is the actual one)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1

The part in Italian sytle is common for pistols, Uzis, revolver.

Notes:

- I used FGT_SINGLE_SHOT_RESUMED of GlobalTriggere#37 only for technical reasons now. I mean it’s unnecessary to put the value into GLT again and again, if Lara is just holding the same weapon continuously. I.e. FGT_SINGLE_SHOT_RESUMED is a great tool now to decrease the burden in the game memory.

- We need Organizer#2 to remove the Uzis from the holsters naturally AFTER the holstering movement. I think 2 seconds is enough for that movement. So, after 2 seconds, Organizer#2 activates TriggerGroup#55.

The setup is the same for the revolver, or the pistols, except:

- you need to choose different command ID instead of TriggerGroup#52,
- see the blue triggers above:

a, F47 to remove Uzi is “remove revolver” or “remove pistols”
b, C43 checks (either with LLT or GLT) 1 for pistols and 2 for the revolver
c, C35 with TGROUP_ELSE flag is for revolver/pistols

Two special things:

1. If you remove the pistols, then all the pistol ammo will also be removed automatically from the inventory.
So, you need to force 0 for pistols ammo with an F246 now. That is why you need to type a $2000, 246, $3D just right after each trigger which is green.

Note:
Don’t forget to use this $2000, 246, $3D even if you remove pistols under other circumstances in your level having the backpack setup, so NOT even in the backpack setup.

Lara cannot pickup another pistol if the pistol is just already in the inventory, or else the setup will fail.

2. If it is the revolver, then you need one more trigger, to study if the lasersight is just attached to the weapon or not (because the lasersight will be dropped everyway with the revolver, if it is attached, and if you don’t prevent it):
This trigger must be the first trigger in the TriggerGroup, typed before F47, and it is an F118, to execute TriggerGroup#59 ($2000, 118, $3B).

TriggerGroup= 59, $2000, 244, $1E73, > F244: copy the actual status of revolver into LLT
$8000, 115, $D2B, > ;C43: if LLT=13 (so if lasersight is attached to the revolver)
$2000, 48, $6F ; F48: add lasersight to the inventory

And now let’s see the shotgun procedure:

It is very similar to the one of the Uzis:

TriggerGroup= 51, $2000, 47, $60, > ; F47: remove shotgun
$2000, 244, $773, > ; F244: add the info about the actual weapon into Local Long Timer (LLT) variable
$8000+TGROUP_NOT, 115, $42B, > ; C43: if LLT is not 4, so if the actual weapon is not the shotgun (so the weapon just in Lara’s hand or the weapon that will be extracted if the player hits SPACE now is not the shotgun)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1,> ; F127: enable Organizer#1
$8000, 53, $42B, > ; C43: if Global Long Timer (LIN) variable is 4, so if the weapon in the holsters is the shotgun (Note: as I said above, LIN is used for a common reason this time.)
$2000, 100, $F, > F100: swap mesh “object on Lara’s back” of LARA slot (to make it empty)
$8000+TGROUP_ELSE, 4, $23, > ; C35: if she holds the shotgun
$2000, 83, $0, > ; F83: remove weapon from hand
$2000, 127, $3, > F127: start Organizer#3
$8000+TGROUP_ELSE, 115, $42B, > ;C43: if LLT=4, so if the actual weapon is the shotgun, on the back, not in the hand
$2000, 100, $F, > F100: swap mesh “object on Lara’s back” of LARA slot (to make it empty)
$2000, 232, $73, > ; F232: set 0 in LLT
$2000, 245, $773, > F245: copy LLT (0) for the actual weapon (so “no weapon” is the actual one)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
GlobalTrigger= 38, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 56, 57, IGNORE
TriggerGroup= 56, $8000, 4, $23, > ;C35: if she holds the shotgun
$8000+TGROUP_OR, 5, $23, > ; C35: if she holds the grenade gun
$8000+TGROUP_OR, 6, $23 ; C35: if she holds the crossbow
TriggerGroup= 57,$2000, 244, $735; F244: add the info about the actual weapon into LIN
Organizer= 3, IGNORE, IGNORE, 2, 58
TriggerGroup= 58,$2000, 100, $F, > F100: swap mesh “object on Lara’s back” of LARA slot (to make it empty)
$2000, 232, $73, > ; F232: set 0 in LLT
$2000, 245, $773, > F245: copy LLT (0) for the actual weapon (so “no weapon” is the actual one)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1

The part in Italian sytle is common for shotgun, grenade gun, crossbow.

The setup is the same for the grenade gun, or the crossbow, except:

- you need to choose different command ID instead of TriggerGroup#51,
- see the blue triggers above:

a, F47 to remove shotgun is “remove grenade gun” or “remove crossbow”
b, C43 checks (either with LLT or GLT) 5 for grenade gun and 6 for the crossbow
c, C35 with TGROUP_ELSE flag is for grenade gun/crossbow

Plus, if it is the crossbow, then you need one more trigger, to study if the lasersight is just attached to the weapon or not (because the lasersight will be dropped everyway with the crossbow, if it is attached, and if you don’t prevent it):
This trigger must be the first trigger in the TriggerGroup, typed before F47, and it is an F118, to execute TriggerGroup#60 ($2000, 118, $3C).

TriggerGroup= 60, $2000, 244, $1C73, > F244: copy the actual status of crossbow into LLT
$2000, 233, $673, > ; F233: subtract 6 from LLT (because the biggest value of the condition trigger is 31, but the biggest status value is 37)
$8000, 115, $72B, > ; C43: if LLT=7 (so if lasersight is attached to the crossbow, with normal ammo)
$8000+TGROUP_OR, 115, $F2B, > ;C43: if LLT=15 (so if lasersight is attached to the crossbow, with poisoned ammo)
$8000+TGROUP_OR, 115, $1F2B, > ; C43: if LLT=31 (so if lasersight is attached to the crossbow, with explosive ammo)
$2000, 48, $6F ; F48: add lasersight to the inventory

4.4.4. Removing ammunition

So the ammunition menu will pop up if you hit Key B.

For example, use the weapon menu I mentioned above – when we have only pistols, shotgun and Uzis in the level:

Select a key to choose an ammunition type from which you will drop:

G-pistols ammunition (30 bullets=0.15 kg) - actual weight is #0010 grams
H-normal shotgun ammunition (6 bullets=0.06 kg) - actual weight is #0013 grams
I-wideshot shotgun ammunition (2 bullets=0.02 kg) - actual weight is #0046 grams
J-Uzi ammunition (30 bullets=0.3 kg) - actual weight is #0012 grams

X-Exit

#0010 is Global Short Alfa1 (GSA1) variable, #0013 is Global Short Beta2 (GSB2) variable, #0046 is Local Byte Beta3 (LBB3) variable, #0012 is Global Short Beta1 (GSB1) variable – these are the variables where we contain the actual weight of the ammunition mentioned above.

Parameters= PARAM_BIG_NUMBERS, 150, 60, 20, 300
GlobalTrigger= 32, FGT_DISABLED, GT_ALWAYS, IGNORE, IGNORE, 61, IGNORE
TriggerGroup= 61, $8000, 34, $10C, > ;C12: if the player hits Key G
$8000, 16, $26, > ; C38: if GSA1>= at PARAM_BIG_NUMBER index 0 (which is 150, because 150=30 bullets×5, because, as I said above, 1 pistol bullet is 5 in the variable)
$2000, 109, $2701, > ; F109: enable GlobalTrigger#39
$8000+TGROUP_ELSE, 35, $10C, > ;C12: if the player hits Key H
$8000, 19, $126, > ; C38: if GSB2>= at PARAM_BIG_NUMBER index 1 (which is 60, because 60=6 bullets×10, because, as I said above, 1 shotgun normal bullet is 10 in the variable)
$2000, 109, $2801, > ; F109: enable GlobalTrigger#40
$8000+TGROUP_ELSE, 23, $10C, > ;C12: if the player hits Key I
$8000, 70, $226, > ; C38: if LBB3>= at PARAM_BIG_NUMBER index 2 (which is 20, because 20=2 bullets×10, because, as I said above, 1 shotgun wideshot bullet is 10 in the variable)
$2000, 109, $2901, > ; F109: enable GlobalTrigger#41
$8000+TGROUP_ELSE, 36, $10C, > ;C12: if the player hits Key J
$8000, 18, $326, > ; C38: if GSB1>= at PARAM_BIG_NUMBER index 3 (which is 300, because 300=30 bullets×10, because, as I said above, 1 Uzi bullet is 10 in the variable)
$2000, 109, $2A01, > ; F109: enable GlobalTrigger#42
$8000+TGROUP_ELSE, 45, $10C, > ;C12: if the player hits Key X
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key G to choose 30 pistol ammo to drop-------------------------------------
GlobalTrigger= 39, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 63, IGNORE
TriggerGroup= 63, $2000, 250, $1E3D, > F250: subtract 30 from pistol ammo (so 30 bullets will be dropped)
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key H to choose 6 shotgun normal ammo to drop-------------------------------------
GlobalTrigger= 40, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 65, IGNORE
TriggerGroup= 65, $2000, 250, $2440, > F250: subtract 36 from shotgun normal ammo (so 6 bullets will be dropped, because, as I said above, it is a sixfold value, and 36=6×6)
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key I to choose 2 shotgun wideshot ammo to drop-------------------------------------
GlobalTrigger= 41, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 67, IGNORE
TriggerGroup= 67, $2000, 250, $C41, > F250: subtract 12 from shotgun wideshot ammo (so 2 bullets will be dropped, because, as I said above, it is a sixfold value, and 12=2×6)
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key J to choose 30 Uzi ammo to drop-------------------------------------
GlobalTrigger= 42, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 69, IGNORE
TriggerGroup= 69, $2000, 250, $1E3E, > F250: subtract 30 from Uzi ammo (so 30 bullets will be dropped)
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1

So, if the player hits Key G, and if there are at least 30 pistol bullets in the inventory, then the game will remove 30 pistol bullets from the inventory – or else nothing will happen.
So, if the player hits Key H/I, and if there are at least 6/2 normal/wide**** shotgun bullets in the inventory, then the game will remove 6/2 normal/wideshot shotgun bullets from the inventory – or else nothing will happen.
So, if the player hits Key J, and if there are at least 30 Uzi bullets in the inventory, then the game will remove 30 Uzi bullets from the inventory – or else nothing will happen.

If the player hits X then the game will remove the menu about the ammunition off the screen.
AkyV is offline  
Old 03-01-16, 11:04   #6
AkyV
Moderator
 
Join Date: Dec 2011
Location: Hungary
Posts: 2,376
Default

4.4.5. Removing medipacks or flares

So the medipack+flare menu will pop up if you hit Key C.

For example, use this menu:

Select a key to choose an item you will drop:

G-small medipack (1 medipack=0.2 kg) - actual weight is #0051 grams
H-big medipack (1 medipack=0.5 kg) - actual weight is #0050 grams
I-flare (10 copies=0.5 kg) - actual weight is #0052 grams

X-Exit

#0050 is Local Short Alfa1 (LSA1) variable, #0051 is Local Short Alfa2 (LSA2) variable, #0052 is Local Short Beta1 (LSB1) variable – these are the variables where we contain the actual weight of medipacks/flares mentioned above.

Note:
It is nonsense to drop out a medipack without a little advantage even if you don’t really need it. I mean, for example, if Lara’s health is 90% then I don’t think you’d like to use a medipack to “heal her” to 100%. But what if you should drop a small medipack (that should add 50% health if we use it, as we know) to ease the backpack? Then it’s worth using the medipack even if her health is 90%. I mean, 90+50=140%, so a part of the medipack dropped out will heal Lara (100-90=10), and only another part of the medipack (140-100=40) will be wasted.
However, the backpack has been easier with the full weight of the small medipack, using only a part of the medipack to heal Lara. (Naturally I will use the same method for the big medipack.)

Parameters= PARAM_BIG_NUMBERS, 200, 500
GlobalTrigger= 33, FGT_DISABLED, GT_ALWAYS, IGNORE, IGNORE, 70, IGNORE
TriggerGroup= 70, $8000, 34, $10C, > ;C12: if the player hits Key G
$8000, 81, $26,> ; C38: if LSA2>= at PARAM_BIG_NUMBER index 0 (which is 200, because 200=1 pack×200, because, as I said above, 1 small medipack is 200 in the variable)
$2000, 109, $2B01, > ; F109: enable GlobalTrigger#43
$8000+TGROUP_ELSE, 35, $10C, > ;C12: if the player hits Key H
$8000, 80, $126, > ; C38: if LSA1>= at PARAM_BIG_NUMBER index 1 (which is 500, because 500=1 pack×500, because, as I said above, 1 big medipack is 500 in the variable)
$2000, 109, $2C01, > ; F109: enable GlobalTrigger#44
$8000+TGROUP_ELSE, 23, $10C, > ;C12: if the player hits Key I
$8000, 82, $126, > ; C38: if LSB1>= at PARAM_BIG_NUMBER index 1 (which is 500, because 500=10 flares×50, because, as I said above, 1 flare is 50 in the variable)
$2000, 109, $2D01, > ; F109: enable GlobalTrigger#45
$8000+TGROUP_ELSE, 45, $10C, > ;C12: if the player hits Key X
$2000, 204, $26,> ; F204: remove Extra String#38, which contains the medipack+flare menu
$2000, 109, $2100, > ; F109: disable GlobalTrigger#33 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key G to choose a small medipack to drop-------------------------------------
GlobalTrigger= 43, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 72, IGNORE
TriggerGroup= 72, $2000, 250, $13A, > ; F250: subtract 1 small medipack (so 1 medipack will be dropped)
$2000, 204, $26,> ; F204: remove Extra String#38, which contains the medipack+flare menu
$2000, 109, $2100, > ; F109: disable GlobalTrigger#33 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1,> ; F127: enable Organizer#1
$8000, 1000, $21D, > ; C29: if Lara’s not totally healthy
$2000, 90, $16, > ; F90: gives Lara 50% of health (the “unnecessary part” – above Lara’s 100% health – will be wasted)
$2000, 70, $1F74 ; F70: the well-known “Lara sighs when uses a medipack” sound (ID116) will play as well.
;-------------------------hit Key H to choose a big medipack to drop-------------------------------------
GlobalTrigger= 44, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 74, IGNORE
TriggerGroup= 74, $2000, 250, $13B, > ; F250: subtract 1 big medipack (so 1 medipack will be dropped)
$2000, 204, $26,> ; F204: remove Extra String#38, which contains the medipack+flare menu
$2000, 109, $2100, > ; F109: disable GlobalTrigger#33 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1,> ; F127: enable Organizer#1
$8000, 1000, $21D, > ; C29: if Lara’s not totally healthy
$2000, 90, $1B, > ; F90: gives Lara 100% of health (the “unnecessary part” – above Lara’s 100% health – will be wasted)
$2000, 70, $1F74 ; F70: the well-known “Lara sighs when uses a medipack” sound (ID116) will play as well.
;-------------------------hit Key I to choose 10 flares to drop-------------------------------------
GlobalTrigger= 45, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 76, IGNORE
TriggerGroup= 76, $2000, 250, $A3C, > ; F250: subtract 10 flares (so 10 flares will be dropped)
$2000, 204, $26,> ; F204: remove Extra String#38, which contains the medipack+flare menu
$2000, 109, $2100, > ; F109: disable GlobalTrigger#33 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1

So, if the player hits Key G, and if there are at least 1 small medipack in the inventory, then the game will remove 1 small medipack from the inventory – or else nothing will happen.
So, if the player hits Key H, and if there are at least 1 big medipack in the inventory, then the game will remove 1 big medipack from the inventory – or else nothing will happen.
So, if the player hits Key I, and if there are at least 10 flares in the inventory, then the game will 10 flares from the inventory – or else nothing will happen.

If the player hits X then the game will remove the menu about the medipacks+flares off the screen.

A special case:
Just think about it: as I said above, one flare is 0.05 kg. Let’s suppose Lara has a flare in the hand when picks up something, overloading the backpack into 20.040 kg. She freezes, so she can’t throw the flare, but just after that, the flare will blow out, so Lara will throw it. (It is an automatic movement, so she will do that even if the movements are disabled.) Now 0.05 kg will be subtracted, so the backpack will be 19.990 kg, so – thanks to GlobalTrigger#19, see Chapter 4.4.1. - Lara is able to move again – and the unnecessary menus will be removed off the screen.

4.4.6. Removing other tools of Lara

So the other tools menu will pop up if you hit Key D.

For example, use this menu:

Select a key to choose an item you will drop:

G-crowbar (1.5 kg)
H-lasersight (0.5 kg)
I-mechanical scarab combined (0.45 kg)
J-winding key of mechanical scarab (0.1 kg)
K-body of mechanical scarab (0.35 kg)
M-small waterskin empty (0.4 kg)
N-small waterskin 1 liter (1.4 kg) – only pouring 1 liter of water (1 kg)
O-small waterskin 2 liters (2.4 kg) – only pouring 2 liters of water (2 kg)
Q-small waterskin 3 liters (3.4 kg) – only pouring 3 liters of water (3 kg)
R-torch (1.2 kg)
S-bag of sand (3 kg)

X-Exit

Notes:

- Key P is not mentioned – that is the key for Pause menu. (See Chapter 1: Key L and T are also reserved, for loading.)
- If G, H, I, ... Y, Z etc. keys are not enough, because your menu is long, then you can use other keys as well. For example F7, F8 etc. (F5 and F6 are reserved for save/load commands.) However, if the list is too long, then perhaps it doesn’t fit the screen, you need to change the text size and/or position.
- To make the tutorial easier, I don’t put the empty and the (partially) water-filled big waterskin in the list, only the small waterskin.
- As you see, if the waterskin is not empty, then we won’t drop it, only pour all the water out of it.
- Usually the binoculars is a standard item in the inventory, so we won’t drop it now. But feel free to put that in the list, if you want.
- Nitrous oxide feeder (and parts), jeep ignition key, jerrycan and bag of sands are special tools of Lara, i.e. key/puzzle items with special receptacles, that is why we should place it here, instead of placing them in “keys+puzzles” or “other items” menus. That is why I placed one of them (bag of sand) here now, as an example. You should place all of them here, naturally, if you use them.
- Detector is in a quest item slot, however, it is also a special tool of Lara, so it must be also here.

GlobalTrigger= 34, FGT_DISABLED, GT_ALWAYS, IGNORE, IGNORE, 77, IGNORE
;-------------------------hit Key X to close the menu-------------------------------------
TriggerGroup= 77, $8000, 45, $10C, > ; C12: if the player hits Key X
$2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the “other tools”
$2000, 109, $2200, > ; F109: disable GlobalTrigger#34 (so you can redefine Key G, H, I... Q, R and X for other purposes)
$2000, 127, $1, > ; F127: enable Organizer#1
;-------------------------hit Key G to choose the crowbar to drop-------------------------------------
$8000+TGROUP_ELSE, 34, $10C, > ; C12: if the player hits Key G
$2000, 118, $4E, > ; F118: activate TriggerGroup#78 (that control the procedure for the crowbar)
;-------------------------hit Key H to choose the lasersight to drop-------------------------------------
$8000 +TGROUP_ELSE, 35, $10C, > ; C12: if the player hits Key H
$2000, 118, $4F, > ; F118: activate TriggerGroup#79 (that control the procedure for the lasersight)
;-------------------------hit Key I to choose the mechanical scarab combined to drop-------------------------------------
$8000+TGROUP_ELSE, 23, $10C, > ; C12: if the player hits Key I
$2000, 118, $50, > ; F118: activate TriggerGroup#80 (that control the procedure for the mechanical scarab combined)
;-------------------------hit Key J to choose the mechanical scarab winding key to drop-------------------------------------
$8000+TGROUP_ELSE, 36, $10C, > ; C12: if the player hits Key J
$2000, 118, $51, > ; F118: activate TriggerGroup#81 (that control the procedure for the mechanical scarab winding key)
;-------------------------hit Key K to choose the mechanical scarab body to drop-------------------------------------
$8000+TGROUP_ELSE, 37, $10C, > ; C12: if the player hits Key K
$2000, 118, $52, > ; F118: activate TriggerGroup#82 (that control the procedure for the mechanical scarab body)
;-------------------------hit Key M to choose the empty small waterskin to drop-------------------------------------
$8000+TGROUP_ELSE, 50, $10C, > ; C12: if the player hits Key M
$2000, 118, $53, > ; F118: activate TriggerGroup#83 (that control the procedure for the empty small waterskin)
;-------------------------hit Key N to choose the small waterskin filled with 1 liter of water to drop-------------------------------------
$8000+TGROUP_ELSE, 49, $10C, > ; C12: if the player hits Key N
$2000, 118, $54, > ; F118: activate TriggerGroup#84 (that control the procedure for the small waterskin with 1 liter)
;-------------------------hit Key O to choose the small waterskin filled with 2 liters of water to drop-------------------------------------
$8000+TGROUP_ELSE, 24, $10C, > ; C12: if the player hits Key O
$2000, 118, $55, > ; F118: activate TriggerGroup#85 (that control the procedure for the small waterskin with 2 liters)
;-------------------------hit Key Q to choose the small waterskin filled with 3 liters of water to drop-------------------------------------
$8000+TGROUP_ELSE, 16, $10C, > ; C12: if the player hits Key Q
$2000, 118, $56, > ; F118: activate TriggerGroup#86 (that control the procedure for the small waterskin with 3 liters)
;-------------------------hit Key R to choose the torch to drop-------------------------------------
$8000+TGROUP_ELSE, 19, $10C, > ; C12: if the player hits Key R
$2000, 118, $57, > ; F118: activate TriggerGroup#87 (that control the procedure for the torch)
;-------------------------hit Key S to choose the bag of sand (pickup item 1) to drop-------------------------------------
$8000+TGROUP_ELSE, 31, $10C, > ; C12: if the player hits Key S
$2000, 118, $58 ; F118: activate TriggerGroup#88 (that control the procedure for the bag of sand)

If the player hits G, then the game will activate TriggerGroup#78 – which controls the procedure for the crowbar.
Similar things will happen about the other “other tools”, if the key is H/I/J etc.

If the player hits X then the game will remove the menu about the “other tools” off the screen.

Don’t forget to remove the remark (;---------------) lines before you build the Script!

TriggerGroup#78-#88 usually look like the same way, you only need to change the subject of C2 and F47 triggers to choose the proper item:

TriggerGroup= 78, $8000, 246, $2, > ; C2: if present crowbar in the inventory
$2000, 47, $47, > ; F47: remove crowbar
$2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the "other tools"
$2000, 109, $2200, > ; F109: disable GlobalTrigger#34 (so you can redefine Key G, H, I... Q, R and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1

Exceptions:

- Lasersight:

See more about GBA3 and GBA4 in GlobalTrigger#9, in Chapter 4.2.1.:

TriggerGroup= 79, $8000, 2, $D2B, >; C43: if GBA3=13 ("if lasersight attached to the revolver")
$2000, 246, $91E, >; F246: set 9 in the lasersight status of revolver ("lasersight is not attached")
$2000, 118, $59, >; F118: perform TriggerGroup#89
$8000+TGROUP_ELSE, 3, $72B, >; C43: if GBA4=7 (7+6=13: "if normal ammo loaded, with lasersight attached to the crossbow")
$2000, 246, $91C, >; F246: set 9 in the lasersight/ammo status of crossbow ("normal ammo loaded, without lasersight attached")
$2000, 118, $59, >; F118: perform TriggerGroup#89
$8000+TGROUP_ELSE, 3, $F2B, >; C43: if GBA4=15 (15+6=21: "if poisoned ammo loaded, with lasersight attached to the crossbow")
$2000, 246, $111C, >; F246: set 17 in the lasersight/ammo status of crossbow ("poisoned ammo loaded, without lasersight attached")
$2000, 118, $59, >; F118: perform TriggerGroup#89
$8000+TGROUP_ELSE, 3, $1F2B, >;C43: if GBA4=31 (31+6=37: "if explosive ammo loaded, with lasersight attached to the crossbow")
$2000, 246, $211C, >; F246: set 33 in the lasersight/ammo status of crossbow ("explosive ammo loaded, without lasersight attached")
$2000, 118, $59, >; F118: perform TriggerGroup#89
$8000+TGROUP_ELSE, 370, $2, > ; C2: if the lasersight is in the inventory
$2000, 47, $6F, > ; F47: remove lasersight
$2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the "other tools"
$2000, 109, $2200, > ; F109: disable GlobalTrigger#34 (so you can redefine Key G, H, I... Q, R and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
TriggerGroup= 89, $2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the "other tools"
$2000, 109, $2200, > ; F109: disable GlobalTrigger#34 (so you can redefine Key G, H, I... Q, R and X for other purposes)
$2000, 127, $1,> ; F127: enable Organizer#1
$8000, 2, $23, >; C35: if Lara is holding revolver
$2000, 100, $60A, >; F100: swap right hand mesh for SIXSHOOTER_ANIM slot (to remove lasersight from the hand mesh)
$8000+TGROUP_ELSE, 6, $23, >; C35: if Lara is holding crossbow
$2000, 100, $40A ; F100: swap right hand mesh for CROSSBOW_ANIM slot (to remove lasersight from the hand mesh)

- Waterskin with waters:

TriggerGroup= 86, $8000, 299, $2, > ; C2: if present small waterskin with 3 liters in the inventory
$2000, 47, $47, > ; F47: remove small waterskin with 3 liters
$2000, 48, $52, > ; F48: add empty small waterskin
$2000, 80, $92, > ; F80: forcing the pouring (402) animation of Lara
$2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the “other tools”
$2000, 109, $2200, > ; F109: disable GlobalTrigger#34 (so you can redefine Key G, H, I... Q, R and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1

Naturally use the same method for TriggerGroup #84 and 85.

Note:
There will be a hand mesh confusion (missing torch) if you pour the water now, with the torch in the hand. I decided I skipped that little bug that you can solve with dropping/re-picking up the torch.

- Torch:

TriggerGroup= 87, $8000, 16, $23, > ; C35: if Lara holds any torch
$2000, 83, $0, > ; F83: to make Lara throw the torch
$2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the "other tools"
$2000, 109, $2200, > ; F109: disable GlobalTrigger#34 (so you can redefine Key G, H, I... Q, R and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1

4.4.7. Removing keys or puzzles

So the keys+puzzles menu will pop up if you hit Key E.

For example, use this menu:

Select a key to choose an item you will drop:

G-Portal Guardian (2.372 kg)
H-Ornate Handle (Part of Portal Guardian) (0.671 kg)
I- Hathor Effigy (Part of Portal Guardian) (1.701 kg)
J-Golden Star (1.393 kg)
K-Horseman’s Gem (0.985 kg)
M-Token (0.027 kg)
N-Gate Key (0.106 kg)

X-Exit

GlobalTrigger= 35, FGT_DISABLED, GT_ALWAYS, IGNORE, IGNORE, 90, IGNORE
;-------------------------hit Key X to close the menu-------------------------------------
TriggerGroup= 90, $8000, 45, $10C, > ; C12: if the player hits Key X
$2000, 204, $28, > ; F204: remove Extra String#40, which contains the menu for keys/puzzles
$2000, 109, $2300, > ; F109: disable GlobalTrigger#35 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1, > ; F127: enable Organizer#1
;-------------------------hit Key G to choose Portal Guardian (puzzle item 5) to drop-------------------------------------
$8000+TGROUP_ELSE, 34, $10C, > ; C12: if the player hits Key G
$2000, 118, $5B, > ; F118: activate TriggerGroup#91 (that control the procedure for puzzle item 5)
;-------------------------hit Key H to choose Ornate Handle (puzzle item 5 combo 1) to drop -------------------------------------
$8000 +TGROUP_ELSE, 35, $10C, > ; C12: if the player hits Key H
$2000, 118, $5C, > ; F118: activate TriggerGroup#92 (that control the procedure for puzzle item5 combo 1)
;-------------------------hit Key I to choose Hathor Effigy (puzzle item 5 combo 2) to drop-------------------------------------
$8000+TGROUP_ELSE, 23, $10C, > ; C12: if the player hits Key I
$2000, 118, $5D, > ; F118: activate TriggerGroup#93 (that control the procedure for puzzle item 5 combo 2)
;-------------------------hit Key J to choose Golden Star (puzzle item 6) to drop-------------------------------------
$8000+TGROUP_ELSE, 36, $10C, > ; C12: if the player hits Key J
$2000, 118, $5E, > ; F118: activate TriggerGroup#94 (that control the procedure for puzzle item 6)
;-------------------------hit Key K to choose Horseman’s Gem (puzzle item 7) to drop-------------------------------------
$8000+TGROUP_ELSE, 37, $10C, > ; C12: if the player hits Key K
$2000, 118, $5F, > ; F118: activate TriggerGroup#95 (that control the procedure for puzzle item 7)
;-------------------------hit Key M to choose Token (key 1) to drop-------------------------------------
$8000+TGROUP_ELSE, 50, $10C, > ; C12: if the player hits Key M
$2000, 118, $60, > ; F118: activate TriggerGroup#96 (that control the procedure for key 1)
;-------------------------hit Key N to choose Gate Key (key 10) to drop-------------------------------------
$8000+TGROUP_ELSE, 49, $10C, > ; C12: if the player hits Key N
$2000, 118, $61 ; F118: activate TriggerGroup#97 (that control the procedure for key 10)

If the player hits G, then the game will activate TriggerGroup#91 – which controls the procedure for the Portal Guardian (puzzle item 5).
Similar things will happen about the other keys/puzzles, if the key is H/I/J etc.

If the player hits X then the game will remove the menu about the keys/puzzles off the screen.

Don’t forget to remove the remark (;---------------) lines before you build the Script!

TriggerGroup#91-#97 have the same usual look I mentioned above with TriggerGroup#78-#88, you only need to change the subject of C2 and F47 triggers to choose the proper item:

TriggerGroup= 91, $8000, 179, $2, > ; C2: if present puzzle item 5 in the inventory
$2000, 47, $4, > ; F47: remove puzzle item 5
$2000, 204, $28, > ; F204: remove Extra String#40, which contains the menu for keys/puzzles
$2000, 109, $2300, > ; F109: disable GlobalTrigger#35 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1

Note:
See CombineItem Script command. If a combined pickable item is made in this customized way then some of the combined item can’t be separated, some of them can. However, I don’t recommend creating a separatable item, because the separation can be buggy in their cases (even if you don’t want to drop them out).

4.4.8. Removing other items

So the “other items” menu will pop up if you hit Key F.

For example, use this menu:

Select a key to choose an item you will drop:

G-The Rules of Senet (0.574 kg)
H-Broken Glasses (0.187 kg)
I- Amulet of Horus (2.409 kg)

X-Exit

GlobalTrigger= 36, FGT_DISABLED, GT_ALWAYS, IGNORE, IGNORE, 98, IGNORE
;-------------------------hit Key X to close the menu-------------------------------------
TriggerGroup= 98, $8000, 45, $10C, > ; C12: if the player hits Key X
$2000, 204, $29, > ; F204: remove Extra String#41, which contains the menu for the other items
$2000, 109, $2400, > ; F109: disable GlobalTrigger#36 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1, > ; F127: enable Organizer#1
;-------------------------hit Key G to choose The Rules of Senet (examine 2) to drop-------------------------------------
$8000+TGROUP_ELSE, 34, $10C, > ; C12: if the player hits Key G
$2000, 118, $63, > ; F118: activate TriggerGroup#99 (that control the procedure for examine 2)
;-------------------------hit Key H to choose Broken Glasses (pickup item 2) to drop-------------------------------------
$8000 +TGROUP_ELSE, 35, $10C, > ; C12: if the player hits Key H
$2000, 118, $64, > ; F118: activate TriggerGroup#100 (that control the procedure for pickup item 2)
;-------------------------hit Key I to choose Hathor Effigy (quest item 1) to drop-------------------------------------
$8000+TGROUP_ELSE, 23, $10C, > ; C12: if the player hits Key I
$2000, 118, $65 ; F118: activate TriggerGroup#101 (that control the procedure for quest item 1)

If the player hits G, then the game will activate TriggerGroup#99 – which controls the procedure for The Rules of Senet (examine 2).
Similar things will happen about the other “other items”, if the key is H or I.

If the player hits X then the game will remove the menu about the other items off the screen.

Don’t forget to remove the remark (;---------------) lines before you build the Script!

TriggerGroup#99-#101 have the same usual look I mentioned above with TriggerGroup#78-#88 and #91-97, you only need to change the subject of C2 and F47 triggers to choose the proper item:

TriggerGroup= 99, $8000, 244, $2, > ; C2: if present examine 2 in the inventory
$2000, 47, $45, > ; F47: remove examine 2
$2000, 204, $29, > ; F204: remove Extra String#41, which contains the menu for the other items
$2000, 109, $2400, > ; F109: disable GlobalTrigger#36 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1

4.5. Decreasing the weight of the backpack when that is not too heavy

4.5.1 Hit F4 to drop anything out without the backpack being too heavy

So, if you want you can hit F4 to make a message (similar to the warning message) pop up any time, if you want to drop an item out of the backpack, but before that is too heavy to prevent Lara from moving.
That “similar message” – i.e. warning message without “The backpack is too heavy so Lara can’t move” line, but with the “Exit” option, see Chapter 3 - is typed in ExtraNG String#42 this time. The message is controlled by this GlobalTrigger:

GlobalTrigger= 46, FGT_SINGLE_SHOT, GT_KEYBOARD_CODE, 62, IGNORE, 102, IGNORE ; 62 is the keyboard code of F4
TriggerGroup= 102, $2000, 51, $1, > ; F51: disable Key UP
$2000, 51, $2, > ; F51: disable Key DOWN
$2000, 51, $3, > ; F51: disable Key LEFT
$2000, 51, $4, > ; F51: disable Key RIGHT
$2000, 51, $5, > ; F51: disable Key DUCK
$2000, 51, $8, > ; F51: disable Key JUMP
$2000, 51, $9, > ; F51: disable Key ACTION
$2000, 51, $A, > ; F51: disable Key DRAW WEAPON
$2000, 51, $B, > ; F51: disable Key USE FLARE
$2000, 51, $C, > ; F51: disable Key LOOK
$2000, 51, $D, > ; F51: disable Key ROLL
$2000, 51, $E, > ; F51: disable Key INVENTORY
$2000, 51, $11, > ; F51: disable Key PAUSE
$2000, 51, $12, > ; F51: disable Key SAVE GAME
$2000, 51, $13, > ; F51: disable Key LOAD GAME
$2000, 51, $14, > ; F51: disable Key SELECT WEAPON
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $2A, > ; F360: print Extra String#42, which contains this “similar” message
$2000, 109, $2F01,> ; F109: enable GlobalTrigger#47 (see just below) to use the “similar” message as a menu
$2000, 109, $1D00; F109: disable GlobalTrigger#29 (so the keys won’t be enabled, because the backpack is not too heavy now)

Yes, we also freeze Lara now (the backpack is not heavy, though, so she should be able to move) – because if we don’t then the setup may fail if you hit the wrong key in the wrong moment!
Naturally this “fake” frozen status will be removed at once if the menus for dropping items will disappear from the screen.

As I said above, this is what the “similar” message is:

Please drop out some items of the backpack to make that easier.

Select a key to choose a group of items from which you will drop items:

A-weapons
B-ammunition
C-medipacks or flares
D-other tools of Lara
E-keys or puzzles
F-other items picked up

X-Exit

GlobalTrigger#47 will almost do the same as GlobalTrigger#30 (see Chapter 4.4.2) do. I mean, GlobalTrigger#30 will control the menu for the warning message, but GlobalTrigger#47 will control the menu for this “similar” message:

GlobalTrigger= 47, FGT_DISABLED, GT_ALWAYS, IGNORE, IGNORE, 103, IGNORE
;-------------------------hit Key A to choose a weapon to drop-------------------------------------
TriggerGroup= 103, $8000, 30, $10C, > ; C12: if you hit Key A
$2000, 204, $2A, > ; F204: remove Extra String#42, which contains the “similar” message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $24, > ; F360: print Extra String#36, which contains the menu for weapons
$2000, 109, $2F00, > ; F109: disable GlobalTrigger#47 (so this menu won’t show up at the next step)
$2000, 109, $1F01, > ; F109: enable GlobalTrigger#31 that will control the procedure for the menu about weapons
;-------------------------hit Key B to choose an ammunition type to drop-------------------------------------
$8000+TGROUP_ELSE, 48, $10C, > ; C12: if you hit Key B
$2000, 204, $2A, > ; F204: remove Extra String#42, which contains the “similar” message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $25, > ; F360: print Extra String#37, which contains the menu for ammunition
$2000, 109, $2F00, > ; F109: disable GlobalTrigger#47 (so this menu won’t show up at the next step)
$2000, 109, $2001, > ; F109: enable GlobalTrigger#32 that will control the procedure for the menu about ammunition
;-------------------------hit Key C to choose a medipack type or flares to drop-------------------------------------
$8000+TGROUP_ELSE, 46, $10C, > ; C12: if you hit Key C
$2000, 204, $2A, > ; F204: remove Extra String#42, which contains the “similar” message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $26, > ; F360: print Extra String#38, which contains the menu for medipacks and flares
$2000, 109, $2F00, > ; F109: disable GlobalTrigger#47 (so this menu won’t show up at the next step)
$2000, 109, $2101, > ; F109: enable GlobalTrigger#33 that will control the procedure for the menu about medipacks and flares
;-------------------------hit Key D to choose another tool of Lara to drop-------------------------------------
$8000+TGROUP_ELSE, 32, $10C, > ; C12: if you hit Key D
$2000, 204, $2A, > ; F204: remove Extra String#42, which contains the “similar” message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $27, > ; F360: print Extra String#39, which contains the menu for other tools of Lara
$2000, 109, $2F00, > ; F109: disable GlobalTrigger#47 (so this menu won’t show up at the next step)
$2000, 109, $2201, > ; F109: enable GlobalTrigger#34 that will control the procedure for the menu about other tools of Lara
;-------------------------hit Key E to choose a key or puzzle item to drop-------------------------------------
$8000+TGROUP_ELSE, 18, $10C, > ; C12: if you hit Key E
$2000, 204, $2A, > ; F204: remove Extra String#42, which contains the “similar” message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $28, > ; F360: print Extra String#40, which contains the menu for keys and puzzles
$2000, 109, $2F00, > ; F109: disable GlobalTrigger#47 (so this menu won’t show up at the next step)
$2000, 109, $2301, > ; F109: enable GlobalTrigger#35 that will control the procedure for the menu about keys and puzzles
;-------------------------hit Key F to choose any other pickable item to drop-------------------------------------
$8000+TGROUP_ELSE, 33, $10C, > ; C12: if you hit Key F
$2000, 204, $2A, > ; F204: remove Extra String#42, which contains the “similar” message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $29, > ; F360: print Extra String#41, which contains the menu for other items picked up
$2000, 109, $2F00, > ; F109: disable GlobalTrigger#47 (so this menu won’t show up at the next step)
$2000, 109, $2401, > ; F109: enable GlobalTrigger#36 that will control the procedure for the menu about other items picked up
;-------------------------hit Key X to close the menu-------------------------------------
$8000+TGROUP_ELSE, 45, $10C, > ; C12: if you hit Key X
$2000, 204, $2A, > ; F204: remove Extra String#42, which contains the “similar” message
$2000, 109, $2F00, > ; F109: disable GlobalTrigger#47 (so this menu won’t show up at the next step)
$2000, 109, $2E01, > ; F109: enable GlobalTrigger#46 (so you can hit F4 again to ease the backpack)
$2000, 127, $1 ; F127: enable Organizer#1

So, if the key is A then the message will be deleted, and the game types ExtraNG String#36 (menu about the weapons) on the screen, and enables GlobalTrigger#31 that will control the procedure for the menu about the weapons.
Similar things will happen about the menu of ammunition/medipacks+flares/other tools of Lara/keys and puzzles/other items picked up, if the key is B/C/D/E/F.

Hit X if you have made up your mind and don’t want to drop an item.

Don’t forget to remove the remark (;---------------) lines before you build the Script!

4.5.2. General actions

The backpack naturally must be easier even in thes cases:

- if Lara shoots ammo, so there will be less ammo in the inventory,
- if Lara uses a medipack, so one medipack will be removed from the inventory,
- if Lara places a key/puzzle item into the receptacle, so that item will be removed from the inventory,
- if Lara drops/throws the flare/torch in her hand (not in the inventory),
- if Lara pours water out of the waterskins, petrol out of jerrycan or sand out of bag of sand, to remove water, jerrycan or bag from the inventory,
- if any Inventory Flipeffect trigger removes an item from the inventory.

The GlobalTriggers mentioned in Chapter 4.2. will control those procedures.

An example:

You have 4 pistol bullets. 30 bullets is 0.15 kg, so 1 bullet is 0.15/30 kg=0.005 kg (Variable Value 5). So 4 bullets is 0.02 kg=Variable Value 20.
Lara starts shooting. Two bullets with the dual pistols at each shot. So after one shot she will have 2 bullets=0.01 kg=Variable Value 10.
Then she will run out of pistol bullets= Variable Value 0.

Notes:

- The nitro remains in the inventory after you used it in the motorbike. That is illogical, the nitro has been used. Furthermore, it has no further task. So we should remove it when she’s performing the “using the nitro” animation, which is Animation#28 in the VEHICLE_EXTRA (or MOTORBIKE_LARA) slot:

GlobalTrigger= 48, IGNORE, GT_CONDITION_GROUP, IGNORE, 104, 105, IGNORE
TriggerGroup= 104, $8000, X, $1E ; C30: if Lara is performing animation with X absolute ID
TriggerGroup= 105, $2000, 47, $0 ; F47: remove Nitrous Oxide Feeder (puzzle item 1)

You can identify the absolute ID of Animation#28 of the VEHICLE_EXTRA (or MOTORBIKE_LARA) slot with the Animation Watcher tool of NG Center.
But, to prevent the bad ID, you should do it only if your WAD has been finished.

You can use the same method with key item 12, which, as you know, is an “infinite” key in the inventory. But, as I said, we can’t have infinite things in this setup.

- If Lara is driving the jeep, then the jeep key is in the ignition switch. So, you see it in the inventory, though, that does just not burden Lara. So we can solve that problem now (removing the key from the inventory temporarily, if Lara is driving the jeep), using two new GlobalTriggers:

GlobalTrigger= 49, FGT_SINGLE_SHOT_RESUMED, GT_LARA_HOLDS_ITEM, HOLD_JEEP, IGNORE, 106, IGNORE
TriggerGroup= 106, $2000, 47, $0, > ; F47: remove the jeep key (puzzle item 1)
$2000, 109, $3201 ; F109: enable GlobalTrigger#50
GlobalTrigger= 50, FGT_DISABLED+FGT_NOT_TRUE, GT_LARA_HOLDS_ITEM, HOLD_JEEP, IGNORE, 107, IGNORE
TriggerGroup= 107, $2000, 48, $0, > ; F48: put the jeep key (puzzle item 1) back into the inventory
$2000, 109, $3200 ; F109: disable GlobalTrigger#50

Moreover, without those GlobalTriggers, the player would be able to drop the key when Lara is driving the jeep. It would be odd, naturally. (It does not mean she cannot drive the jeep or cannot get out of it if the player drops it during the drive, though.)
AkyV is offline  
Old 03-01-16, 11:07   #7
AkyV
Moderator
 
Join Date: Dec 2011
Location: Hungary
Posts: 2,376
Default

4.6. A whole example for the setup

Don’t forget: though, I used several Parameters= PARAM_BIG_NUMBERS entries in the tutorial so far to explain the parts of the setup, you can have only one command like that in each level, so if a trigger (C39 etc.) refers to a Parameters= PARAM_BIG_NUMBERS index, then you can have only one number at the index.
So eg. if a trigger refers to X number at index 0, and, another one, to Y number at index 0 in this tutorial, then that is not possible in your setup, Y number must be at another index.

The same example you can find in the demo project:

Parameters= PARAM_BIG_NUMBERS, 20001, 21, 201, 205, 15001, >; from index 0 to index 4
19001, 150, 60, 20, 300, >; from index 5 to index 9
90, 40, 34, 170, 200, >; from index 10 to index 14
500; index 15
Organizer= 1, IGNORE, IGNORE, 0, 1000, 3, 1001
TriggerGroup= 1000, $2000, 109, $2E01, > ; F109: enable GlobalTrigger#46 (so you can hit F4 again to ease the backpack)
$2000, 109, $1D01; F109: enable GlobalTrigger#29 (so the keys will be enabled)
TriggerGroup= 1001, $2000, 109, $1C01 ; F109: enable GlobalTrigger#28 (so the game will check again if CV>= than 20001)
;
;
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;------to save/load in backup files------------------------------
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;
;
;------load the latest savegame---------------------------------
GlobalTrigger= 1, IGNORE, GT_SAVED_SAVEGAME, IGNORE, IGNORE, 1, IGNORE; if you save the game in the usual way
TriggerGroup= 1, $2000, 97, $1 ; F97: save the game in Backup1 file
GlobalTrigger= 2, IGNORE, GT_KEYBOARD_CODE, 38, IGNORE, 2, IGNORE; if you hit Key L
TriggerGroup= 2, $2000, 98, $1 ; F98: load the game in Backup1 file
;------load back to the title---------------------------------
GlobalTrigger= 1100, IGNORE, GT_KEYBOARD_CODE, 20, IGNORE, 1100, IGNORE ; if you hit Key T
TriggerGroup= 1100, $2000, 82, $3 ; F82: load title
;
;
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;------modify the default backpack----------------------------
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;
;
Equipment= UZI_ITEM, 1
Equipment= UZI_AMMO_ITEM, 120
Equipment= PISTOLS_ITEM, 1
Equipment= PISTOLS_AMMO_ITEM, 100
Customize= CUST_AMMO, PISTOLS_AMMO_ITEM, IGNORE, IGNORE, 30, 30, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE
;
;
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;------add/remove the item weight to/from the backpack-
;note: compass weight defined by triggers
;under Lara object
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;
;
;------pistol pairs weight (2 kg)---------------------------------
GlobalTrigger= 51, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 106, 107, IGNORE
TriggerGroup= 106, $8000, 349, $2 ; C2: if present pistols in the inventory
TriggerGroup= 107, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2000)
$2000, 109, $3401 ; enable GlobalTrigger#52
GlobalTrigger= 52, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 108, 109, IGNORE
TriggerGroup= 108, $8000, 349, $1 ; C1: if missing pistols in the inventory
TriggerGroup= 109, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1900)
$2000, 233, $64FF ; F233: subtract 100 from CV (=2000)
;------shotgun weight (5 kg)--------------------------------------
GlobalTrigger= 53, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 110, 111, IGNORE
TriggerGroup= 110, $8000, 353, $2 ; C2: if present shotgun in the inventory
TriggerGroup= 111, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=4000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=4100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=4200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=4300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=4400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=4500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=4600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=4700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=4800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=4900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=5000)
$2000, 109, $3601 ; enable GlobalTrigger#54
GlobalTrigger= 54, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 112, 113, IGNORE
TriggerGroup= 112, $8000, 353, $1 ; C1: if missing shotgun in the inventory
TriggerGroup= 113, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=4000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=4100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=4200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=4300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=4400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=4500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=4600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=4700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=4800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=4900)
$2000, 233, $64FF ; F233: subtract 100 from CV (=5000)
;------Uzi pairs weight (3 kg)--------------------------------------
GlobalTrigger= 7, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 11, 12, IGNORE
TriggerGroup= 11, $8000, 351, $2 ; C2: if present Uzi in the inventory
TriggerGroup= 12, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3000)
$2000, 109, $801 ; enable GlobalTrigger#8
GlobalTrigger= 8, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 13, 14, IGNORE
TriggerGroup= 13, $8000, 351, $1 ; C1: if missing Uzi in the inventory
TriggerGroup= 14, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2900)
$2000, 233, $64FF ; F233: subtract 100 from CV (=3000)
;------revolver weight (1.5 kg)-----------------------------------------
GlobalTrigger= 55, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 114, 115, IGNORE
TriggerGroup= 114, $8000, 366, $2 ; C2: if present revolver in the inventory
TriggerGroup= 115, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1500)
$2000, 109, $3801 ; enable GlobalTrigger#56
GlobalTrigger= 56, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 116, 117, IGNORE
TriggerGroup= 116, $8000, 366, $1 ; C1: if missing revolver in the inventory
TriggerGroup= 117, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1400)
$2000, 233, $64FF ; F233: subtract 100 from CV (=1500)
;------grenade gun weight (3.5 kg)----------------------------------
GlobalTrigger= 57, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 118, 119, IGNORE
TriggerGroup= 118, $8000, 361, $2 ; C2: if present grenade gun in the inventory
TriggerGroup= 119, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3500)
$2000, 109, $3A01 ; enable GlobalTrigger#58
GlobalTrigger= 58, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 120, 121, IGNORE
TriggerGroup= 120, $8000, 361, $1 ; C1: if missing grenade gun in the inventory
TriggerGroup= 121, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3400)
$2000, 233, $64FF ; F233: subtract 100 from CV (=3500)
;------crossbow weight (4 kg)-----------------------------------------
GlobalTrigger= 59, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 122, 123, IGNORE
TriggerGroup= 122, $8000, 356, $2 ; C2: if present crossbow in the inventory
TriggerGroup= 123, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=4000)
$2000, 109, $3C01 ; enable GlobalTrigger#60
GlobalTrigger= 60, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 124, 125, IGNORE
TriggerGroup= 124, $8000, 356, $1 ; C1: if missing crossbow in the inventory
TriggerGroup= 125, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3900)
$2000, 233, $64FF ; F233: subtract 100 from CV (=4000)
;------pistols ammo weight (1 bullet=0.005 kg)---------------------------
GlobalTrigger= 13, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 24, IGNORE
TriggerGroup= 24, $2000, 286, $10, > ; F286: subtract the previous weight (i.e. the actual value of GSA1 variable) of the item from CV
$2000, 244, $3D10, > ; F244: copy the actual amount of pistol ammo item into GSA1 variable
$2000, 251, $510, > ; F251: multiply GSA1 variable value by 5 value
$2000, 285, $10 ; F285: add GSA1 variable value to CV
;------shotgun normal ammo weight (1 bullet=0.01 kg)----------------
GlobalTrigger= 16, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 27, IGNORE
TriggerGroup= 27, $2000, 286, $13, > ; F286: subtract the previous weight (i.e. the actual value of GSB2 variable) of the item from CV
$2000, 244, $4013, > ; F244: copy the actual amount of shotgun normal ammo item into GSB2 variable
$2000, 251, $A13, > ; F251: multiply GSB2 variable value by 10 value
$2000, 253, $613, > ; F253: divide GSB2 variable value by 6 value
$2000, 285, $13; F285: add GSB2 variable value to CV
;------shotgun wideshot ammo weight (1 bullet=0.01 kg)---------------
Customize= CUST_AMMO, SHOTGUN_AMMO2_ITEM, IGNORE, IGNORE, 2, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE
GlobalTrigger= 22, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 35, IGNORE
TriggerGroup= 35, $2000, 286, $46, > ; F286: subtract the previous weight (i.e. the actual value of LBB3 variable) of the item from CV
$2000, 244, $4146, > ; F244: copy the actual amount of shotgun wideshot ammo item into LBB3 variable
$2000, 251, $A46, > ; F251: multiply LBB3 variable value by 10 value
$2000, 253, $646, > ;F253: divide LBB3 variable value by 6 value
$8000, 70, $126, > ; C38: if LBB3 variable value is >= than the number at PARAM_BIG_NUMBER index 1
$2000, 263, $146, > ; F263: set the number at PARAM_BIG_NUMBER index 1 in LBB3 variable
$2000, 233, $146 , > ;F233: subtract 1 from variable LBB3
$2000, 253, $A46, > ; F253: divide LBB3 variable value by 10 value
$2000, 251, $646, > ;F251: multiply LBB3 variable value by 6 value
$2000, 245, $4146, > ; F245: copy LBB3 variable value into the actual amount of shotgun wideshot ammo item
$2000, 285, $46, > ; F285: add LBB3 variable value to CV
$2000+TGROUP_ELSE, 285, $46 ; F285: add LBB3 variable value to CV
;------Uzi ammo weight (1 bullet=0.01 kg)---------------------------
GlobalTrigger= 14, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 25, IGNORE
TriggerGroup= 25, $2000, 286, $12, > ; F286: subtract the previous weight (i.e. the actual value of GSB1 variable) of the item from CV
$2000, 244, $3E12, > ; F244: copy the actual amount of Uzi ammo item into GSB1 variable
$2000, 251, $A12, > ; F251: multiply GSB1 variable value by 10 value)
$2000, 285, $12; F285: add GSB1 variable value to CV
;------revolver ammo weight (1 bullet=0.015 kg)---------------------------
GlobalTrigger= 61, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 126, IGNORE
TriggerGroup= 126, $2000, 286, $15, > ; F286: subtract the previous weight (i.e. the actual value of GSD2 variable) of the item from CV
$2000, 244, $3F15, > ; F244: copy the actual amount of revolver ammo item into GSD2 variable
$2000, 251, $F15, > ; F251: multiply GSD2 variable value by 15 value
$2000, 285, $15; F285: add GSD2 variable value to CV
;------grenade gun normal ammo weight (1 grenade=0.02 kg)---------------------------
Customize= CUST_AMMO, GRENADE_GUN_AMMO1_ITEM, IGNORE, IGNORE, 2, 2, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE
GlobalTrigger= 21, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 34, IGNORE
TriggerGroup= 34, $2000, 286, $49, > ; F286: subtract the previous weight (i.e. the actual value of LBD2 variable) of the item from CV
$2000, 244, $4249, > ; F244: copy the actual amount of grenade gun normal ammo item into LBD2 variable
$2000, 251, $1449, > ; F251: multiply LBD2 variable value by 20 value
$8000, 73, $226, > ; C38: if LBD2 variable value is >= than the number at PARAM_BIG_NUMBER index 2
$2000, 263, $249, > ; F263: set the number at PARAM_BIG_NUMBER index 2 in LBD2 variable
$2000, 233, $149 , > ;F233: subtract 1 from variable LBD2
$2000, 253, $1449, > ; F253: divide LBD2 variable value by 20 value
$2000, 245, $4249, > ; F245: copy LBD2 variable value into the actual amount of grenade gun normal ammo item
$2000, 285, $49, > ; F285: add LBD2 variable value to CV
$2000+TGROUP_ELSE, 285, $49 ; F285: add LBD2 variable value to CV
;------grenade gun super ammo weight (1 grenade=0.02 kg)---------------------------
Customize= CUST_AMMO, GRENADE_GUN_AMMO2_ITEM, IGNORE, IGNORE, 2, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE
GlobalTrigger= 62, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 127, IGNORE
TriggerGroup= 127, $2000, 286, $4A, > ; F286: subtract the previous weight (i.e. the actual value of LBD3 variable) of the item from CV
$2000, 244, $434A, > ; F244: copy the actual amount of grenade gun super ammo item into LBD3 variable
$2000, 251, $144A, > ; F251: multiply LBD3 variable value by 20 value
$8000, 74, $226, > ; C38: if LBD3 variable value is >= than the number at PARAM_BIG_NUMBER index 2
$2000, 263, $24A, > ; F263: set the number at PARAM_BIG_NUMBER index 2 in LBD3 variable
$2000, 233, $14A , > ;F233: subtract 1 from variable LBD3
$2000, 253, $144A, > ; F253: divide LBD3 variable value by 20 value
$2000, 245, $434A, > ; F245: copy LBD3 variable value into the actual amount of grenade gun super ammo item
$2000, 285, $4A, > ; F285: add LBD3 variable value to CV
$2000+TGROUP_ELSE, 285, $4A ; F285: add LBD3 variable value to CV
;------grenade gun flash ammo weight (1 grenade=0.02 kg)---------------------------
Customize= CUST_AMMO, GRENADE_GUN_AMMO3_ITEM, IGNORE, IGNORE, 2, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE
GlobalTrigger= 63, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 128, IGNORE
TriggerGroup= 128, $2000, 286, $4B, > ; F286: subtract the previous weight (i.e. the actual value of LBD4 variable) of the item from CV
$2000, 244, $444B, > ; F244: copy the actual amount of grenade gun flash ammo item into LBD4 variable
$2000, 251, $144B, > ; F251: multiply LBD4 variable value by 20 value
$8000, 75, $226, > ; C38: if LBD4 variable value is >= than the number at PARAM_BIG_NUMBER index 2
$2000, 263, $24B, > ; F263: set the number at PARAM_BIG_NUMBER index 2 in LBD4 variable
$2000, 233, $14B , > ;F233: subtract 1 from variable LBD4
$2000, 253, $144B, > ; F253: divide LBD4 variable value by 20 value
$2000, 245, $444B, > ; F245: copy LBD4 variable value into the actual amount of grenade gun flash ammo item
$2000, 285, $4B, > ; F285: add LBD4 variable value to CV
$2000+TGROUP_ELSE, 285, $4B ; F285: add LBD4 variable value to CV
;------crossbow normal ammo weight (1 arrow=0.17 kg)------------------------------
Customize= CUST_AMMO, CROSSBOW_AMMO1_ITEM, IGNORE, IGNORE, 2, 2, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE
GlobalTrigger= 64, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 129, IGNORE
TriggerGroup= 129, $2000, 286, $47, > ; F286: subtract the previous weight (i.e. the actual value of LBB4 variable) of the item from CV
$2000, 244, $4547, > ; F244: copy the actual amount of crossbow normal ammo item into LBB4 variable
$2000, 251, $1147, > ; F251: multiply LBB4 variable value by 17 value
$8000, 71, $326, > ; C38: if LBB4 variable value is >= than the number at PARAM_BIG_NUMBER index 3
$2000, 263, $347, > ; F263: set the number at PARAM_BIG_NUMBER index 3 in LBB4 variable
$2000, 233, $147 , > ;F233: subtract 1 from variable LBB4
$2000, 253, $1147, > ; F253: divide LBB4 variable value by 17 value
$2000, 245, $4547, > ; F245: copy LBB4 variable value into the actual amount of crossbow normal ammo item
$2000, 285, $47, > ; F285: add LBB4 variable value to CV
$2000+TGROUP_ELSE, 285, $47 ; F285: add LBB4 variable value to CV
;------crossbow poisoned ammo weight (1 arrow=0.17 kg)------------------------------
Customize= CUST_AMMO, CROSSBOW_AMMO2_ITEM, IGNORE, IGNORE, 2, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE
GlobalTrigger= 65, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 130, IGNORE
TriggerGroup= 130, $2000, 286, $48, > ; F286: subtract the previous weight (i.e. the actual value of LBD1 variable) of the item from CV
$2000, 244, $4648, > ; F244: copy the actual amount of crossbow poisoned ammo item into LBD1 variable
$2000, 251, $1148, > ; F251: multiply LBD1 variable value by 17 value
$8000, 72, $326, > ; C38: if LBD1 variable value is >= than the number at PARAM_BIG_NUMBER index 3
$2000, 263, $348, > ; F263: set the number at PARAM_BIG_NUMBER index 3 in LBD1 variable
$2000, 233, $148 , > ;F233: subtract 1 from variable LBD1
$2000, 253, $1148, > ; F253: divide LBD1 variable value by 17 value
$2000, 245, $4648, > ; F245: copy LBD1 variable value into the actual amount of crossbow poisoned ammo item
$2000, 285, $48, > ; F285: add LBD1 variable value to CV
$2000+TGROUP_ELSE, 285, $48 ; F285: add LBD1 variable value to CV
;------crossbow explosive ammo weight (1 arrow=0.017 kg)---------------------------
GlobalTrigger= 66, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 131, IGNORE
TriggerGroup= 131, $2000, 286, $14, > ; F286: subtract the previous weight (i.e. the actual value of GSD1 variable) of the item from CV
$2000, 244, $4714, > ; F244: copy the actual amount of crossbow explosive ammo item into GSD1 variable
$2000, 251, $1114, > ; F251: multiply GSD1 variable value by 17 value
$2000, 285, $14; F285: add GSD1 variable value to CV
;------small medipack weight (1 medipack=0.2 kg)---------------------------
GlobalTrigger= 15, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 26, IGNORE
TriggerGroup= 26, $2000, 286, $51, > ; F286: subtract the previous weight (i.e. the actual value of LSA2 variable) of the item from CV
$2000, 244, $3A51, > ; F244: copy the actual amount of small medipack into LSA2 variable
$2000, 251, $251, > ; F251: multiply LSA2 variable value by 2 value
$2000, 251, $6451, > ; F251: multiply LSA2 variable value by 100 value
$2000, 285, $51; F285: add LSA2 variable value to CV
;------large medipack weight (1 medipack=0.5 kg)---------------------------
GlobalTrigger= 67, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 132, IGNORE
TriggerGroup= 132, $2000, 286, $50, > ; F286: subtract the previous weight (i.e. the actual value of LSA1 variable) of the item from CV
$2000, 244, $3B50, > ; F244: copy the actual amount of large medipack into LSA1 variable
$2000, 251, $550, > ; F251: multiply LSA1 variable value by 5 value
$2000, 251, $6450, > ; F251: multiply LSA1 variable value by 100 value
$2000, 285, $50; F285: add LSA1 variable value to CV
;------flare weight (1 flare=0.05 kg)---------------------------
GlobalTrigger= 17, IGNORE, GT_ALWAYS, IGNORE, IGNORE, 28, IGNORE
TriggerGroup= 28, $2000, 286, $52, > ; F286: subtract the previous weight (i.e. the actual value of LSB1 variable) of the item from CV
$2000, 244, $3C52, > ; F244: copy the actual amount of flares into LSB1 variable
$2000, 251, $3252, > ; F251: multiply LSB1 variable value by 50 value
$2000, 285, $52; F285: add LSB1 variable value to CV
GlobalTrigger= 18, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 29, 30, IGNORE
TriggerGroup= 29, $8000, 7, $23 ; C35: if Lara holds a flare
TriggerGroup= 30, $2000, 231, $32FF, > ; F231: add 50 to CV
$2000, 109, $1301 ; F109: enable GlobalTrigger#19
GlobalTrigger= 19, FGT_DISABLED+ FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 31, 32, IGNORE
TriggerGroup= 31, $8000+TGROUP_NOT, 7, $23 ; C35: if Lara doesn’t hold a flare
TriggerGroup= 32, $2000, 233, $32FF, >; F233: subtract 50 from CV
$2000, 109, $1300 ; F109: disable GlobalTrigger#19
;------crowbar weight (1.5 kg)-----------------------------------------
GlobalTrigger= 68, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 133, 134, IGNORE
TriggerGroup= 133, $8000, 246, $2 ; C2: if present crowbar in the inventory
TriggerGroup= 134, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1500)
$2000, 109, $4501 ; enable GlobalTrigger#69
GlobalTrigger= 69, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 135, 136, IGNORE
TriggerGroup= 135, $8000, 246, $1 ; C1: if missing crowbar in the inventory
TriggerGroup= 136, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1400)
$2000, 233, $64FF ; F233: subtract 100 from CV (=1500)
;------lasersight weight (0.5 kg)-----------------------------------------
GlobalTrigger= 9, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 15, 16, IGNORE
TriggerGroup= 15, $2000, 244, $1E02, >; F244: copy the actual status of revolver into Global Byte Alfa3 (GBA3) variable
$2000, 244, $1C03, >; F244: copy the actual status of crossbow into Global Byte Alfa4 (GBA4) variable
$2000, 233, $603, > ; F233: subtract 6 from GBA4 (because C43 is useless above Value 31, but our biggest value is 37)
$8000, 2, $D2B, > ;C43: if GBA3=13: if lasersight is attached to the revolver
$8000+TGROUP_OR, 3, $72B, > ;C43: if GBA4=7: if lasersight is attached to the crossbow, with normal ammo
$8000+TGROUP_OR, 3, $F2B, > ; C43: if GBA4=15: if lasersight is attached to the crossbow, with poisoned ammo
$8000+TGROUP_OR, 3, $1F2B, > ;C43: if GBA4=31: if lasersight is attached to the crossbow, with explosive ammo
$8000+TGROUP_OR, 370, $2 ; C2: a (standalone) lasersight is in the inventory
TriggerGroup= 16, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 109, $A01 ; enable GlobalTrigger#10
GlobalTrigger= 10, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 17, 19, IGNORE
TriggerGroup= 17, $2000, 244, $1E02, >; F244: copy the actual status of revolver into Global Byte Alfa3 (GBA3) variable
$2000, 244, $1C03, >; F244: copy the actual status of crossbow into Global Byte Alfa4 (GBA4) variable
$2000, 233, $603, > ; F233: subtract 6 from GBA4
$8000+TGROUP_NOT, 18, $F ; C15: if it is not TriggerGroup#18
TriggerGroup= 18, $8000, 2, $D2B, > ; C43: if GBA3=13: if lasersight is attached to the revolver
$8000+TGROUP_OR, 3, $72B, > ; C43: if GBA4=7: if lasersight is attached to the crossbow, with normal ammo
$8000+TGROUP_OR, 3, $F2B, > ; C43: if GBA4=15: if lasersight is attached to the crossbow, with poisoned ammo
$8000+TGROUP_OR, 3, $1F2B, > ; C43: if GBA4=31: if lasersight is attached to the crossbow, with explosive ammo
$8000+TGROUP_OR, 370, $2 ; C2: a (standalone) lasersight is in the inventory
TriggerGroup= 19, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
;------small waterskin empty weight (0.4 kg)--------------------------------
GlobalTrigger= 70, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 137, 138, IGNORE
TriggerGroup= 137, $8000, 296, $2 ; C2: if present small waterskin empty in the inventory
TriggerGroup= 138, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 109, $4701 ; enable GlobalTrigger#71
GlobalTrigger= 71, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 139, 140, IGNORE
TriggerGroup= 139, $8000, 296, $1 ; C1: if missing small waterskin empty in the inventory
TriggerGroup= 140, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF ; F233: subtract 100 from CV (=400)
;------small waterskin 3 liters weight (3.4 kg)--------------------------------
GlobalTrigger= 72, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 141, 142, IGNORE
TriggerGroup= 141, $8000, 299, $2 ; C2: if present small waterskin 3 liters in the inventory
TriggerGroup= 142, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3400)
$2000, 109, $4901 ; enable GlobalTrigger#73
GlobalTrigger= 73, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 143, 144, IGNORE
TriggerGroup= 143, $8000, 299, $1 ; C1: if missing small waterskin 3 liters in the inventory
TriggerGroup= 144, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=3300)
$2000, 233, $64FF ; F233: subtract 100 from CV (=3400)
;------torch weight (1.2 kg)--------------------------------
GlobalTrigger= 11, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 20, 21, IGNORE
TriggerGroup= 20, $8000, 16, $23 ; C35: if Lara holds any torch
TriggerGroup= 21, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1200)
$2000, 109, $C01 ; enable GlobalTrigger#12
GlobalTrigger= 12, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 22, 23, IGNORE
TriggerGroup= 22, $8000+TGROUP_NOT, 16, $23 ; C35: if Lara doesn’t hold any torch
TriggerGroup= 23, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1200)
;------bag of sand (pickup item 1) weight (3 kg)--------------------------------
GlobalTrigger= 74, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 145, 146, IGNORE
TriggerGroup= 145, $8000, 231, $2 ; C2: if present pickup item 1 in the inventory
TriggerGroup= 146, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=3000)
$2000, 109, $4B01 ; enable GlobalTrigger#75
GlobalTrigger= 75, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 147, 148, IGNORE
TriggerGroup= 147, $8000, 231, $1 ; C1: if missing pickup item 1 in the inventory
TriggerGroup= 148, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2900)
$2000, 233, $64FF ; F233: subtract 100 from CV (=3000)
;------binoculars weight (1.5 kg)--------------------------------
GlobalTrigger= 86, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 169, 170, IGNORE
TriggerGroup= 169, $8000, 371, $2 ; C2: if present binoculars in the inventory
TriggerGroup= 170, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1500)
$2000, 109, $5701 ; enable GlobalTrigger#87
GlobalTrigger= 87, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 171, 172, IGNORE
TriggerGroup= 171, $8000, 371, $1 ; C1: if missing binoculars in the inventory
TriggerGroup= 172, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1400)
$2000, 233, $64FF ; F233: subtract 100 from CV (=1500)
;------Portal Guardian (puzzle item 5) weight (2.372 kg)-------------------------
GlobalTrigger= 76, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 149, 150, IGNORE
TriggerGroup= 149, $8000, 179, $2 ; C2: if present puzzle item 5 in the inventory
TriggerGroup= 150, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2300)
$2000, 231, $48FF, > ; F231: add 72 to CV (=2372)
$2000, 109, $4D01 ; enable GlobalTrigger#77
GlobalTrigger= 77, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 151, 152, IGNORE
TriggerGroup= 151, $8000, 179, $1 ; C1: if missing puzzle item 5 in the inventory
TriggerGroup= 152, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2300)
$2000, 233, $48FF; F233: subtract 72 from CV (=2372)
;------Ornate Handle (puzzle item 5 combo 1) weight (0.671 kg)-------------------------
GlobalTrigger= 78, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 153, 154, IGNORE
TriggerGroup= 153, $8000, 195, $2 ; C2: if present puzzle item 5 combo 1 in the inventory
TriggerGroup= 154, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $47FF, > ; F231: add 71 to CV (=671)
$2000, 109, $4F01 ; enable GlobalTrigger#79
GlobalTrigger= 79, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 155, 156, IGNORE
TriggerGroup= 155, $8000, 195, $1 ; C1: if missing puzzle item 5 combo 1 in the inventory
TriggerGroup= 156, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $47FF ; F233: subtract 71 from CV (=671)
;------Hathor Effigy (puzzle item 5 combo 2) weight (1.701 kg)-------------------------
GlobalTrigger= 80, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 157, 158, IGNORE
TriggerGroup= 157, $8000, 196, $2 ; C2: if present puzzle item 5 combo 2 in the inventory
TriggerGroup= 158, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1700)
$2000, 231, $1FF, > ; F231: add 1 to CV (=1701)
$2000, 109, $5101 ; enable GlobalTrigger#81
GlobalTrigger= 81, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 159, 160, IGNORE
TriggerGroup= 159, $8000, 196, $1 ; C1: if missing puzzle item 5 combo 2 in the inventory
TriggerGroup= 160, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1700)
$2000, 233, $1FF ; F233: subtract 1 from CV (=1701)
;------Golden Star (puzzle item 6) weight (1.393 kg)-------------------------
GlobalTrigger= 82, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 161, 162, IGNORE
TriggerGroup= 161, $8000, 180, $2 ; C2: if present puzzle item 6 in the inventory
TriggerGroup= 162, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1300)
$2000, 231, $5DFF, > ; F231: add 93 to CV (=1393)
$2000, 109, $5301 ; enable GlobalTrigger#83
GlobalTrigger= 83, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 163, 164, IGNORE
TriggerGroup= 163, $8000, 180, $1 ; C1: if missing puzzle item 6 in the inventory
TriggerGroup= 164, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1300)
$2000, 233, $5DFF ; F233: subtract 93 from CV (=1393)
;------Horseman’s Gem (puzzle item 7) weight (0.985 kg)-------------------------
GlobalTrigger= 84, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 165, 166, IGNORE
TriggerGroup= 165, $8000, 181, $2 ; C2: if present puzzle item 7 in the inventory
TriggerGroup= 166, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $55FF, > ; F231: add 85 to CV (=985)
$2000, 109, $5501 ; enable GlobalTrigger#85
GlobalTrigger= 85, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 167, 168, IGNORE
TriggerGroup= 167, $8000, 181, $1 ; C1: if missing puzzle item 7 in the inventory
TriggerGroup= 168, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $55FF ; F233: subtract 85 from CV (=985)
;------Token (key item 1) weight (0.027 kg)-------------------------
GlobalTrigger= 88, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 173, 174, IGNORE
TriggerGroup= 173, $8000, 203, $2 ; C2: if present key item 1 in the inventory
TriggerGroup= 174, $2000, 231, $1BFF, > ; F231: add 27 to CV
$2000, 109, $5901 ; enable GlobalTrigger#89
GlobalTrigger= 89, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 175, 176, IGNORE
TriggerGroup= 175, $8000, 203, $1 ; C1: if missing key item 1 in the inventory
TriggerGroup= 176, $2000, 233, $1BFF ; F233: subtract 27 from CV
;------Gate Key (key item 10) weight (0.106 kg)-------------------
GlobalTrigger= 90, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 177, 178, IGNORE
TriggerGroup= 177, $8000, 212, $2 ; C2: if present key item 10 in the inventory
TriggerGroup= 178, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $6FF, > ; F231: add 6 to CV
$2000, 109, $5B01 ; enable GlobalTrigger#91
GlobalTrigger= 91, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 179, 180, IGNORE
TriggerGroup= 179, $8000, 212, $1 ; C1: if missing key item 10 in the inventory
TriggerGroup= 180, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $6FF ; F233: subtract 6 from CV
;------The Rules of Senet (examine 2) weight (0.574 kg)-------------------
GlobalTrigger= 92, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 181, 182, IGNORE
TriggerGroup= 181, $8000, 244, $2 ; C2: if present examine 2 in the inventory
TriggerGroup= 182, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $4AFF, > ; F231: add 74 to CV (=574)
$2000, 109, $5D01 ; enable GlobalTrigger#93
GlobalTrigger= 93, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 183, 184, IGNORE
TriggerGroup= 183, $8000, 244, $1 ; C1: if missing examine 2 in the inventory
TriggerGroup= 184, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $4AFF ; F233: subtract 74 from CV (=574)
;------Broken Glasses (pickup item 2) weight (0.187 kg)-------------------
GlobalTrigger= 94, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 185, 186, IGNORE
TriggerGroup= 185, $8000, 232, $2 ; C2: if present pickup item 2 in the inventory
TriggerGroup= 186, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $57FF, > ; F231: add 87 to CV
$2000, 109, $5F01 ; enable GlobalTrigger#95
GlobalTrigger= 95, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 187, 188, IGNORE
TriggerGroup= 187, $8000, 232, $1 ; C1: if missing pickup item 2 in the inventory
TriggerGroup= 188, $2000, 233, $64FF, > ; F233: subtract 87 from CV
$2000, 233, $57FF ; F233: subtract 87 from CV
;------Amulet of Horus (quest item 1) weight (2.409 kg)-------------------
GlobalTrigger= 96, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 189, 190, IGNORE
TriggerGroup= 189, $8000, 252, $2 ; C2: if present quest item 1 in the inventory
TriggerGroup= 190, $2000, 231, $64FF, > ; F231: add 100 to CV
$2000, 231, $64FF, > ; F231: add 100 to CV (=200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1400)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1500)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1600)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1700)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1800)
$2000, 231, $64FF, > ; F231: add 100 to CV (=1900)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2000)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2100)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2200)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2300)
$2000, 231, $64FF, > ; F231: add 100 to CV (=2400)
$2000, 231, $9FF, > ; F231: add 9 to CV (=2409)
$2000, 109, $6101 ; enable GlobalTrigger#97
GlobalTrigger= 97, FGT_DISABLED+FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 191, 192, IGNORE
TriggerGroup= 191, $8000, 252, $1 ; C1: if missing quest item 1 in the inventory
TriggerGroup= 192, $2000, 233, $64FF, > ; F233: subtract 100 from CV
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1400)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1500)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1600)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1700)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1800)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=1900)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2000)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2100)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2200)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2300)
$2000, 233, $64FF, > ; F233: subtract 100 from CV (=2400)
$2000, 233, $9FF ; F233: subtract 9 from CV (=2409)
AkyV is offline  
Old 03-01-16, 11:11   #8
AkyV
Moderator
 
Join Date: Dec 2011
Location: Hungary
Posts: 2,376
Default

;
;
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;------print the backpack weight on the screen------------
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;
;
;-------------------------printing the white text-------------------------------------
GlobalTrigger= 23, IGNORE, GT_CONDITION_GROUP, IGNORE, 36, 37, IGNORE
TriggerGroup= 36, $8000, 255, $427 ; C39: if CV < than the number at PARAM_BIG_NUMBER index 4
TriggerGroup= 37, $2000, 204, $1F, > ; F204: remove Extra String#31 (which matters if the text on the screen is just yellow or red)
$2000, 66, $602, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $1F ; F360: print Extra String#31
;-------------------------printing the yellow text-------------------------------------
GlobalTrigger= 24, IGNORE, GT_CONDITION_GROUP, IGNORE, 38, 39, IGNORE
TriggerGroup= 38, $8000, 255, $426, > ; C38: if CV >= than the number at PARAM_BIG_NUMBER index 4
$8000, 255, $527 ; C39: if CV < than the number at PARAM_BIG_NUMBER index 5
TriggerGroup= 39, $2000, 204, $1F, > ; F204: remove Extra String#31 (which matters if the text on the screen is just white or red)
$2000, 66, $608, > ; F66: define text position on the screen and its yellow color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $1F ; F360: print Extra String#31
;-------------------------printing the red text-------------------------------------
GlobalTrigger= 25, IGNORE, GT_CONDITION_GROUP, IGNORE, 40, 41, IGNORE
TriggerGroup= 40, $8000, 255, $526; C38: if CV >= than the number at PARAM_BIG_NUMBER index 5
TriggerGroup= 41, $2000, 204, $1F, > ; F204: remove Extra String#31 (which matters if the text on the screen is just white or yellow)
$2000, 66, $603, > ; F66: define text position on the screen and its red color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $1F ; F360: print Extra String#31
;-------------------------F1/F2 to remove/restore the text------------
GlobalTrigger= 26, IGNORE, GT_KEYBOARD_CODE, 59, IGNORE, 42, IGNORE ; Code 59 is F1
TriggerGroup= 42, $2000, 204, $1F, > ; F204: remove Extra String#31
$2000, 109, $1700, > ; F109: disable GlobalTrigger#23
$2000, 109, $1800, > ; F109: disable GlobalTrigger#24
$2000, 109, $1900 ; F109: disable GlobalTrigger#25
GlobalTrigger= 27, IGNORE, GT_KEYBOARD_CODE, 60, IGNORE, 43, IGNORE; Code 60 is F2
TriggerGroup= 43, $2000, 109, $1701, > ; F109: enable GlobalTrigger#23
$2000, 109, $1801, > ; F109: enable GlobalTrigger#24
$2000, 109, $1901 ; F109: enable GlobalTrigger#25
;
;
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;------the main menu----------------------------------------------
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;
;
;------the main condition: “the backpack is too heavy”---
GlobalTrigger= 28, FGT_SINGLE_SHOT, GT_CONDITION_GROUP, IGNORE, 44, 45, IGNORE
TriggerGroup= 44, $8000, 255, $26 ; C38: if CV >= than the number at PARAM_BIG_NUMBER index 0
TriggerGroup= 45, $2000, 51, $1, > ; F51: disable Key UP
$2000, 51, $2, > ; F51: disable Key DOWN
$2000, 51, $3, > ; F51: disable Key LEFT
$2000, 51, $4, > ; F51: disable Key RIGHT
$2000, 51, $5, > ; F51: disable Key DUCK
$2000, 51, $8, > ; F51: disable Key JUMP
$2000, 51, $9, > ; F51: disable Key ACTION
$2000, 51, $A, > ; F51: disable Key DRAW WEAPON
$2000, 51, $B, > ; F51: disable Key USE FLARE
$2000, 51, $C, > ; F51: disable Key LOOK
$2000, 51, $D, > ; F51: disable Key ROLL
$2000, 51, $E, > ; F51: disable Key INVENTORY
$2000, 51, $11, > ; F51: disable Key PAUSE
$2000, 51, $12, > ; F51: disable Key SAVE GAME
$2000, 51, $13, > ; F51: disable Key LOAD GAME
$2000, 51, $14, > ; F51: disable Key SELECT WEAPON
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $23, > ; F360: print Extra String#35, which contains the warning message
$2000, 109, $1E01, > ; F109: enable GlobalTrigger#30 (see just below) to use the warning message as a menu
$2000, 109, $2E00, > ; F109: disable GlobalTrigger#46 (so you can’t open the menu to drop anyting of your own will)
$2000, 204, $2A ; F204: remove Extra String#42, which contains the menu to drop anyting of your own will (if it is just on the screen)
;------the main condition: “the backpack is easy again”---
GlobalTrigger=29, IGNORE, GT_CONDITION_GROUP, IGNORE, 46, 47, IGNORE
TriggerGroup= 46, $8000, 255, $27 ; C39: if CV< than the number at PARAM_BIG_NUMBER index 0
TriggerGroup= 47, $2000, 52, $0, > ; F52: enables all the keys again
$2000, 204, $23, > ; F204: remove Extra String#35, which contains the warning message
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 204, $26,> ; F204: remove Extra String#38, which contains the medipack+flare menu
$2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the “other tools”
$2000, 204, $28, > ; F204: remove Extra String#40, which contains the menu for keys/puzzles
$2000, 204, $29, > ; F204: remove Extra String#41, which contains the menu for the other items
$2000, 109, $2E01 ; F109: enable GlobalTrigger#46 (so you can hit F4 again to ease the backpack)
;------using the warning message as a menu-----------------
GlobalTrigger= 30, FGT_DISABLED, GT_ALWAYS, IGNORE, IGNORE, 48, IGNORE
TriggerGroup= 48, $8000, 30, $10C, > ; C12: if you hit Key A
$2000, 204, $23, > ; F204: remove Extra String#35, which contains the warning message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $24, > ; F360: print Extra String#36, which contains the menu for weapons
$2000, 109, $1E00, > ; F109: disable GlobalTrigger#30 (so this menu won’t show up at the next step)
$2000, 109, $1F01, > ; F109: enable GlobalTrigger#31 that will control the procedure for the menu about weapons
$8000+TGROUP_ELSE, 48, $10C, > ; C12: if you hit Key B
$2000, 204, $23, > ; F204: remove Extra String#35, which contains the warning message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $25, > ; F360: print Extra String#37, which contains the menu for ammunition
$2000, 109, $1E00, > ; F109: disable GlobalTrigger#30 (so this menu won’t show up at the next step)
$2000, 109, $2001, > ; F109: enable GlobalTrigger#32 that will control the procedure for the menu about ammunition
$8000+TGROUP_ELSE, 46, $10C, > ; C12: if you hit Key C
$2000, 204, $23, > ; F204: remove Extra String#35, which contains the warning message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $26, > ; F360: print Extra String#38, which contains the menu for medipacks and flares
$2000, 109, $1E00, > ; F109: disable GlobalTrigger#30 (so this menu won’t show up at the next step)
$2000, 109, $2101, > ; F109: enable GlobalTrigger#33 that will control the procedure for the menu about medipacks and flares
$8000+TGROUP_ELSE, 32, $10C, > ; C12: if you hit Key D
$2000, 204, $23, > ; F204: remove Extra String#35, which contains the warning message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $27, > ; F360: print Extra String#39, which contains the menu for other tools of Lara
$2000, 109, $1E00, > ; F109: disable GlobalTrigger#30 (so this menu won’t show up at the next step)
$2000, 109, $2201, > ; F109: enable GlobalTrigger#34 that will control the procedure for the menu about other tools of Lara
$8000+TGROUP_ELSE, 18, $10C, > ; C12: if you hit Key E
$2000, 204, $23, > ; F204: remove Extra String#35, which contains the warning message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $28, > ; F360: print Extra String#40, which contains the menu for keys and puzzles
$2000, 109, $1E00, > ; F109: disable GlobalTrigger#30 (so this menu won’t show up at the next step)
$2000, 109, $2301, > ; F109: enable GlobalTrigger#35 that will control the procedure for the menu about keys and puzzles
$8000+TGROUP_ELSE, 33, $10C, > ; C12: if you hit Key F
$2000, 204, $23, > ; F204: remove Extra String#35, which contains the warning message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $29, > ; F360: print Extra String#41, which contains the menu for other items picked up
$2000, 109, $1E00, > ; F109: disable GlobalTrigger#30 (so this menu won’t show up at the next step)
$2000, 109, $2401 ; F109: enable GlobalTrigger#36 that will control the procedure for the menu about other items picked up
;
;
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;------removing weapons-----------------------------------------
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;
;
;------using weapon menu---------------------------------------
GlobalTrigger= 31, FGT_DISABLED, GT_ALWAYS, IGNORE, IGNORE, 49, IGNORE
TriggerGroup= 49, $8000, 34, $10C, > ; C12: if the player hits Key G
$8000, 349, $2, > ; C2: if pistols are in the inventory
$2000, 118, $32, > F118: activate TriggerGroup#50 (that control the procedure for the pistols)
$8000 +TGROUP_ELSE, 35, $10C, > ; C12: if the player hits Key H
$8000, 353, $2, > ; C2: if shotgun is in the inventory
$2000, 118, $33, > F118: activate TriggerGroup#51 (that control the procedure for the shotgun)
$8000+TGROUP_ELSE, 23, $10C, > ; C12: if the player hits Key I
$8000, 351, $2, > ; C2: if Uzis are in the inventory
$2000, 118, $34, > F118: activate TriggerGroup#52 (that control the procedure for the Uzis)
$8000+TGROUP_ELSE, 36, $10C, > ; C12: if the player hits Key J
$8000, 366, $2, > ; C2: if revolver is in the inventory
$2000, 118, $C1, > F118: activate TriggerGroup#193 (that control the procedure for the revolver)
$8000+TGROUP_ELSE, 37, $10C, > ; C12: if the player hits Key K
$8000, 361, $2, > ; C2: if greande gun is in the inventory
$2000, 118, $C2, > F118: activate TriggerGroup#194 (that control the procedure for the grenade gun)
$8000+TGROUP_ELSE, 50, $10C, > ; C12: if the player hits Key M
$8000, 356, $2, > ; C2: if crossbow is in the inventory
$2000, 118, $C3, > F118: activate TriggerGroup#195 (that control the procedure for the crossbow)
$8000+TGROUP_ELSE, 45, $10C, > ; C12: if the player hits Key X
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the menu for the weapons
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I... M and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;------drop pistols---------------------------------------
TriggerGroup= 50, $2000, 47, $5C, > ; F47: remove pistols
$2000, 244, $773, > ; F244: add the info about the actual weapon into Local Long Timer (LLT) variable
$8000+TGROUP_NOT, 115, $12B, > ; C43: if LLT is not 1, so if the actual weapon is not pistols (so the weapon just in Lara’s hand or the weapon that will be extracted if the player hits SPACE now is not pistols)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I... M and X for other purposes)
$2000, 127, $1,> ; F127: enable Organizer#1
$2000, 246, $3D, > ; F246: pistols ammo is 0
$8000, 51, $12B, > ; C43: if Global Long Timer (GLT) variable is 1, so if the weapon in the holsters is pistols
$2000, 100, $C10, > F100: swap mesh “object in holsters” of LARA_HOLSTERS slot (to make it empty)
$8000+TGROUP_ELSE, 1, $23, > ; C35: if she holds pistols
$2000, 83, $0, > ; F83: remove weapon from hand
$2000, 246, $3D, > ; F246: pistols ammo is 0
$2000, 127, $2, > F127: start Organizer#2
$8000+TGROUP_ELSE, 115, $12B, > ; C43: if LLT=1, so if the actual weapon is pistols, in the holsters, not in the hand,
$2000, 100, $C10, > ; F100: swap mesh “object in holsters” of LARA_HOLSTERS slot (to make it empty)
$2000, 246, $3D, > ; F246: pistols ammo is 0
$2000, 232, $73, > ; F232: set 0 in LLT
$2000, 245, $773, > F245: copy LLT (0) for the actual weapon (so “no weapon” is the actual one)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I... M and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;------drop shotgun---------------------------------------
TriggerGroup= 51, $2000, 47, $60, > ; F47: remove shotgun
$2000, 244, $773, > ; F244: add the info about the actual weapon into Local Long Timer (LLT) variable
$8000+TGROUP_NOT, 115, $42B, > ; C43: if LLT is not 4, so if the actual weapon is not the shotgun (so the weapon just in Lara’s hand or the weapon that will be extracted if the player hits SPACE now is not the shotgun)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I... M and X for other purposes)
$2000, 127, $1,> ; F127: enable Organizer#1
$8000, 53, $42B, > ; C43: if Global Long Timer (LIN) variable is 4, so if the weapon in the holsters is the shotgun
$2000, 100, $F, > F100: swap mesh “object on Lara’s back” of LARA slot (to make it empty)
$8000+TGROUP_ELSE, 4, $23, > ; C35: if she holds the shotgun
$2000, 83, $0, > ; F83: remove weapon from hand
$2000, 127, $3, > F127: start Organizer#3
$8000+TGROUP_ELSE, 115, $42B, > ;C43: if LLT=4, so if the actual weapon is the shotgun, on the back, not in the hand
$2000, 100, $F, > F100: swap mesh “object on Lara’s back” of LARA slot (to make it empty)
$2000, 232, $73, > ; F232: set 0 in LLT
$2000, 245, $773, > F245: copy LLT (0) for the actual weapon (so “no weapon” is the actual one)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I... M and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;------drop Uzis---------------------------------------
TriggerGroup= 52, $2000, 47, $5E, > ; F47: remove Uzi
$2000, 244, $773, > ; F244: add the info about the actual weapon into Local Long Timer (LLT) variable
$8000+TGROUP_NOT, 115, $32B, > ; C43: if LLT is not 3, so if the actual weapon is not Uzi (so the weapon just in Lara’s hand or the weapon that will be extracted if the player hits SPACE now is not Uzi)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I... M and X for other purposes)
$2000, 127, $1,> ; F127: enable Organizer#1
$8000, 51, $32B, > ; C43: if Global Long Timer (GLT) variable is 3, so if the weapon in the holsters is Uzi
$2000, 100, $C10, > F100: swap mesh “object in holsters” of LARA_HOLSTERS slot (to make it empty)
$8000+TGROUP_ELSE, 3, $23, > ; C35: if she holds Uzis
$2000, 83, $0, > ; F83: remove weapon from hand
$2000, 127, $2, > F127: start Organizer#2
$8000+TGROUP_ELSE, 115, $32B, > ; C43: if LLT=3, so if the actual weapon is Uzi, in the holsters, not in the hand,
$2000, 100, $C10, > ; F100: swap mesh “object in holsters” of LARA_HOLSTERS slot (to make it empty)
$2000, 232, $73, > ; F232: set 0 in LLT
$2000, 245, $773, > F245: copy LLT (0) for the actual weapon (so “no weapon” is the actual one)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I... M and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;------drop revolver---------------------------------------
TriggerGroup= 193, $2000, 118, $3B, > ; F118: execute TriggerGroup#59
$2000, 47, $6B, > ; F47: remove revolver
$2000, 244, $773, > ; F244: add the info about the actual weapon into Local Long Timer (LLT) variable
$8000+TGROUP_NOT, 115, $22B, > ; C43: if LLT is not 2, so if the actual weapon is not revolver (so the weapon just in Lara’s hand or the weapon that will be extracted if the player hits SPACE now is not revolver)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I... M and X for other purposes)
$2000, 127, $1,> ; F127: enable Organizer#1
$8000, 51, $22B, > ; C43: if Global Long Timer (GLT) variable is 2, so if the weapon in the holsters is revolver
$2000, 100, $C10, > F100: swap mesh “object in holsters” of LARA_HOLSTERS slot (to make it empty)
$8000+TGROUP_ELSE, 2, $23, > ; C35: if she holds revolver
$2000, 83, $0, > ; F83: remove weapon from hand
$2000, 127, $2, > F127: start Organizer#2
$8000+TGROUP_ELSE, 115, $22B, > ; C43: if LLT=2, so if the actual weapon is revolver, in the holsters, not in the hand,
$2000, 100, $C10, > ; F100: swap mesh “object in holsters” of LARA_HOLSTERS slot (to make it empty)
$2000, 232, $73, > ; F232: set 0 in LLT
$2000, 245, $773, > F245: copy LLT (0) for the actual weapon (so “no weapon” is the actual one)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I... M and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
TriggerGroup= 59, $2000, 244, $1E73, > F244: copy the actual status of revolver into LLT
$8000, 115, $D2B, > ;C43: if LLT=13 (so if lasersight is attached to the revolver)
$2000, 48, $6F ; F48: add lasersight to the inventory
;------drop grenade gun---------------------------------------
TriggerGroup= 194, $2000, 47, $67, > ; F47: remove grenade gun
$2000, 244, $773, > ; F244: add the info about the actual weapon into Local Long Timer (LLT) variable
$8000+TGROUP_NOT, 115, $52B, > ; C43: if LLT is not 5, so if the actual weapon is not the grenade gun (so the weapon just in Lara’s hand or the weapon that will be extracted if the player hits SPACE now is not the grenade gun)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I... M and X for other purposes)
$2000, 127, $1,> ; F127: enable Organizer#1
$8000, 53, $52B, > ; C43: if Global Long Timer (LIN) variable is 5, so if the weapon in the holsters is the grenade gun
$2000, 100, $F, > F100: swap mesh “object on Lara’s back” of LARA slot (to make it empty)
$8000+TGROUP_ELSE, 5, $23, > ; C35: if she holds the grenade gun
$2000, 83, $0, > ; F83: remove weapon from hand
$2000, 127, $3, > F127: start Organizer#3
$8000+TGROUP_ELSE, 115, $52B, > ;C43: if LLT=5, so if the actual weapon is the grenade gun, on the back, not in the hand
$2000, 100, $F, > F100: swap mesh “object on Lara’s back” of LARA slot (to make it empty)
$2000, 232, $73, > ; F232: set 0 in LLT
$2000, 245, $773, > F245: copy LLT (0) for the actual weapon (so “no weapon” is the actual one)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I... M and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;------drop crossbow---------------------------------------
TriggerGroup= 195, $2000, 118, $3C, > ; F118: execute TriggerGroup#60
$2000, 47, $63, > ; F47: remove crossbow
$2000, 244, $773, > ; F244: add the info about the actual weapon into Local Long Timer (LLT) variable
$8000+TGROUP_NOT, 115, $62B, > ; C43: if LLT is not 6, so if the actual weapon is not the crossbow (so the weapon just in Lara’s hand or the weapon that will be extracted if the player hits SPACE now is not the crossbow)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I... M and X for other purposes)
$2000, 127, $1,> ; F127: enable Organizer#1
$8000, 53, $62B, > ; C43: if Global Long Timer (LIN) variable is 6, so if the weapon in the holsters is the crossbow
$2000, 100, $F, > F100: swap mesh “object on Lara’s back” of LARA slot (to make it empty)
$8000+TGROUP_ELSE, 6, $23, > ; C35: if she holds the crossbow
$2000, 83, $0, > ; F83: remove weapon from hand
$2000, 127, $3, > F127: start Organizer#3
$8000+TGROUP_ELSE, 115, $62B, > ;C43: if LLT=6, so if the actual weapon is the crossbow, on the back, not in the hand
$2000, 100, $F, > F100: swap mesh “object on Lara’s back” of LARA slot (to make it empty)
$2000, 232, $73, > ; F232: set 0 in LLT
$2000, 245, $773, > F245: copy LLT (0) for the actual weapon (so “no weapon” is the actual one)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I... M and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
TriggerGroup= 60, $2000, 244, $1C73, > F244: copy the actual status of crossbow into LLT
$2000, 233, $673, > ; F233: subtract 6 from LLT (because the biggest value of the condition trigger is 31, but the biggest status value is 37)
$8000, 115, $72B, > ; C43: if LLT=7 (so if lasersight is attached to the crossbow, with normal ammo)
$8000+TGROUP_OR, 115, $F2B, > ;C43: if LLT=15 (so if lasersight is attached to the crossbow, with poisoned ammo)
$8000+TGROUP_OR, 115, $1F2B, > ; C43: if LLT=31 (so if lasersight is attached to the crossbow, with explosive ammo)
$2000, 48, $6F ; F48: add lasersight to the inventory
;------common for pistols, Uzis, revolver---------------------------------------
GlobalTrigger= 37, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 53, 54, IGNORE
TriggerGroup= 53, $8000, 1, $23, > ;C35: if she holds pistols
$8000+TGROUP_OR, 2, $23, > ; C35: if she holds revolver
$8000+TGROUP_OR, 3, $23 ; C35: if she holds Uzis
TriggerGroup= 54, $2000, 244, $733; F244: add the info about the actual weapon into GLT
Organizer= 2, IGNORE, IGNORE, 2, 55
TriggerGroup= 55, $2000, 100, $C10, > ; F100: swap mesh “object in holsters” of LARA_HOLSTERS slot (to make it empty)
$2000, 232, $73, > ; F232: set 0 in LLT
$2000, 245, $773, > F245: copy LLT (0) for the actual weapon (so “no weapon” is the actual one)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I... M and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;------common for shotgun, grenade gun, crossbow---------------------------------------
GlobalTrigger= 38, FGT_SINGLE_SHOT_RESUMED, GT_CONDITION_GROUP, IGNORE, 56, 57, IGNORE
TriggerGroup= 56, $8000, 4, $23, > ;C35: if she holds the shotgun
$8000+TGROUP_OR, 5, $23, > ; C35: if she holds the grenade gun
$8000+TGROUP_OR, 6, $23 ; C35: if she holds the crossbow
TriggerGroup= 57,$2000, 244, $735; F244: add the info about the actual weapon into LIN
Organizer= 3, IGNORE, IGNORE, 2, 58
TriggerGroup= 58,$2000, 100, $F, > F100: swap mesh “object on Lara’s back” of LARA slot (to make it empty)
$2000, 232, $73, > ; F232: set 0 in LLT
$2000, 245, $773, > F245: copy LLT (0) for the actual weapon (so “no weapon” is the actual one)
$2000, 204, $24, > ; F204: remove Extra String#36, which contains the weapon menu
$2000, 109, $1F00, > ; F109: disable GlobalTrigger#31 (so you can redefine Key G, H, I... M and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
AkyV is offline  
Old 03-01-16, 11:12   #9
AkyV
Moderator
 
Join Date: Dec 2011
Location: Hungary
Posts: 2,376
Default

;
;
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;------removing ammunition--------------------------------------
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;
;
;------using ammunition menu---------------------------------------
GlobalTrigger= 32, FGT_DISABLED, GT_ALWAYS, IGNORE, IGNORE, 61, IGNORE
TriggerGroup= 61, $8000, 34, $10C, > ;C12: if the player hits Key G
$8000, 16, $626, > ; C38: if GSA1>= at PARAM_BIG_NUMBER index 6 (which is 150, because 150=30 bullets×5, because 1 pistol bullet is 5 in the variable)
$2000, 109, $2701, > ; F109: enable GlobalTrigger#39
$8000+TGROUP_ELSE, 35, $10C, > ;C12: if the player hits Key H
$8000, 19, $726, > ; C38: if GSB2>= at PARAM_BIG_NUMBER index 7 (which is 60, because 60=6 bullets×10, because 1 shotgun normal bullet is 10 in the variable)
$2000, 109, $2801, > ; F109: enable GlobalTrigger#40
$8000+TGROUP_ELSE, 23, $10C, > ;C12: if the player hits Key I
$8000, 70, $826, > ; C38: if LBB3>= at PARAM_BIG_NUMBER index 8 (which is 20, because 20=2 bullets×10, because 1 shotgun wideshot bullet is 10 in the variable)
$2000, 109, $2901, > ; F109: enable GlobalTrigger#41
$8000+TGROUP_ELSE, 36, $10C, > ;C12: if the player hits Key J
$8000, 18, $926, > ; C38: if GSB1>= at PARAM_BIG_NUMBER index 9 (which is 300, because 300=30 bullets×10, because 1 Uzi bullet is 10 in the variable)
$2000, 109, $2A01, > ; F109: enable GlobalTrigger#42
$8000+TGROUP_ELSE, 37, $10C, > ;C12: if the player hits Key K
$8000, 21, $A26, > ; C38: if GSD2>= at PARAM_BIG_NUMBER index 10 (which is 90, because 90=6 bullets×15, because 1 revolver bullet is 15 in the variable)
$2000, 109, $6201, > ; F109: enable GlobalTrigger#98
$8000+TGROUP_ELSE, 50, $10C, > ;C12: if the player hits Key M
$8000, 73, $B26, > ; C38: if LBD2>= at PARAM_BIG_NUMBER index 11 (which is 40, because 40=2 grenades×20, because 1 normal grenade is 20 in the variable)
$2000, 109, $6301, > ; F109: enable GlobalTrigger#99
$8000+TGROUP_ELSE, 49, $10C, > ;C12: if the player hits Key N
$8000, 74, $B26, > ; C38: if LBD3>= at PARAM_BIG_NUMBER index 11 (which is 40, because 40=2 grenades×20, because 1 super grenade is 20 in the variable)
$2000, 109, $6401, > ; F109: enable GlobalTrigger#100
$8000+TGROUP_ELSE, 24, $10C, > ;C12: if the player hits Key O
$8000, 75, $B26, > ; C38: if LBD4>= at PARAM_BIG_NUMBER index 11 (which is 40, because 40=2 grenades×20, because 1 flash grenade is 20 in the variable)
$2000, 109, $6501, > ; F109: enable GlobalTrigger#101
$8000+TGROUP_ELSE, 16, $10C, > ;C12: if the player hits Key Q
$8000, 71, $C26, > ; C38: if LBB4>= at PARAM_BIG_NUMBER index 12 (which is 34, because 34=2 arrows×17, because 1 normal arrow is 17 in the variable)
$2000, 109, $6601, > ; F109: enable GlobalTrigger#102
$8000+TGROUP_ELSE, 19, $10C, > ;C12: if the player hits Key R
$8000, 72, $C26, > ; C38: if LBD1>= at PARAM_BIG_NUMBER index 12 (which is 34, because 34=2 arrows×17, because 1 poisoned arrow is 17 in the variable)
$2000, 109, $6701, > ; F109: enable GlobalTrigger#103
$8000+TGROUP_ELSE, 31, $10C, > ;C12: if the player hits Key S
$8000, 20, $D26, > ; C38: if GSD1>= at PARAM_BIG_NUMBER index 13 (which is 170, because 170=10 arrows×17, because 1 explosive arrow is 17 in the variable)
$2000, 109, $6801, > ; F109: enable GlobalTrigger#104
$8000+TGROUP_ELSE, 45, $10C, > ;C12: if the player hits Key X
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J... R and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key G to choose 30 pistol ammo to drop-------------------------------------
GlobalTrigger= 39, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 63, IGNORE
TriggerGroup= 63, $2000, 250, $1E3D, > F250: subtract 30 from pistol ammo (so 30 bullets will be dropped)
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J... R and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key H to choose 6 shotgun normal ammo to drop-------------------------------------
GlobalTrigger= 40, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 65, IGNORE
TriggerGroup= 65, $2000, 250, $2440, > F250: subtract 36 from shotgun normal ammo (so 6 bullets will be dropped, because, as I said above, it is a sixfold value, and 36=6×6)
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J... R and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key I to choose 2 shotgun wideshot ammo to drop-------------------------------------
GlobalTrigger= 41, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 67, IGNORE
TriggerGroup= 67, $2000, 250, $C41, > F250: subtract 12 from shotgun wideshot ammo (so 2 bullets will be dropped, because, as I said above, it is a sixfold value, and 12=2×6)
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J... R and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key J to choose 30 Uzi ammo to drop-------------------------------------
GlobalTrigger= 42, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 69, IGNORE
TriggerGroup= 69, $2000, 250, $1E3E, > F250: subtract 30 from Uzi ammo (so 30 bullets will be dropped)
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J... R and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key K to choose 6 revolver ammo to drop-------------------------------------
GlobalTrigger= 98, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 197, IGNORE
TriggerGroup= 197, $2000, 250, $63F, > F250: subtract 6 from revolver ammo (so 6 bullets will be dropped)
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J... R and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key M to choose 2 grenade gun normal ammo to drop-------------------------------------
GlobalTrigger= 99, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 199, IGNORE
TriggerGroup= 199, $2000, 250, $242, > F250: subtract 2 from grenade normal ammo (so 2 grenades will be dropped)
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J... R and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key N to choose 2 grenade gun super ammo to drop-------------------------------------
GlobalTrigger= 100, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 201, IGNORE
TriggerGroup= 201, $2000, 250, $243, > F250: subtract 2 from grenade super ammo (so 2 grenades will be dropped)
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J... R and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key O to choose 2 grenade gun flash ammo to drop-------------------------------------
GlobalTrigger= 101, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 203, IGNORE
TriggerGroup= 203, $2000, 250, $244, > F250: subtract 2 from grenade flash ammo (so 2 grenades will be dropped)
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J... R and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key Q to choose 2 crossbow normal ammo to drop-------------------------------------
GlobalTrigger= 102, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 205, IGNORE
TriggerGroup= 205, $2000, 250, $245, > F250: subtract 2 from crossbow normal ammo (so 2 arrows will be dropped)
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J... R and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key R to choose 2 crossbow poisoned ammo to drop-------------------------------------
GlobalTrigger= 103, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 207, IGNORE
TriggerGroup= 207, $2000, 250, $246, > F250: subtract 2 from crossbow poisoned ammo (so 2 arrows will be dropped)
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J... R and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key S to choose 10 crossbow explosive ammo to drop-------------------------------------
GlobalTrigger= 104, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 209, IGNORE
TriggerGroup= 209, $2000, 250, $A47, > F250: subtract 10 from crossbow explosive ammo (so 10 arrows will be dropped)
$2000, 204, $25,> ; F204: remove Extra String#37, which contains the ammunition menu
$2000, 109, $2000, > ; F109: disable GlobalTrigger#32 (so you can redefine Key G, H, I, J... R and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;
;
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;------removing medipack/flares--------------------------------
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;
;
;------using medipacks+flares menu---------------------------------------
GlobalTrigger= 33, FGT_DISABLED, GT_ALWAYS, IGNORE, IGNORE, 70, IGNORE
TriggerGroup= 70, $8000, 34, $10C, > ;C12: if the player hits Key G
$8000, 81, $E26, > ; C38: if LSA2>= at PARAM_BIG_NUMBER index 14 (which is 200, because 200=1 pack×200, because 1 small medipack is 200 in the variable)
$2000, 109, $2B01, > ; F109: enable GlobalTrigger#43
$8000+TGROUP_ELSE, 35, $10C, > ;C12: if the player hits Key H
$8000, 80, $F26, > ; C38: if LSA1>= at PARAM_BIG_NUMBER index 15 (which is 500, because 500=1 pack×500, because 1 big medipack is 500 in the variable)
$2000, 109, $2C01, > ; F109: enable GlobalTrigger#44
$8000+TGROUP_ELSE, 23, $10C, > ;C12: if the player hits Key I
$8000, 82, $F26, > ; C38: if LSB1>= at PARAM_BIG_NUMBER index 15 (which is 500, because 500=10 flares×50, because 1 flare is 50 in the variable)
$2000, 109, $2D01, > ; F109: enable GlobalTrigger#45
$8000+TGROUP_ELSE, 45, $10C, > ;C12: if the player hits Key X
$2000, 204, $26,> ; F204: remove Extra String#38, which contains the medipack+flare menu
$2000, 109, $2100, > ; F109: disable GlobalTrigger#33 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key G to choose a small medipack to drop-------------------------------------
GlobalTrigger= 43, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 72, IGNORE
TriggerGroup= 72, $2000, 250, $13A, > ; F250: subtract 1 small medipack (so 1 medipack will be dropped)
$2000, 204, $26,> ; F204: remove Extra String#38, which contains the medipack+flare menu
$2000, 109, $2100, > ; F109: disable GlobalTrigger#33 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1,> ; F127: enable Organizer#1
$8000, 1000, $21D, > ; C29: if Lara’s not totally healthy
$2000, 90, $16, > ; F90: gives Lara 50% of health (the “unnecessary part” – above Lara’s 100% health – will be wasted)
$2000, 70, $1F74 ; F70: the well-known “Lara sighs when uses a medipack” sound (ID116) will play as well.
;-------------------------hit Key H to choose a big medipack to drop-------------------------------------
GlobalTrigger= 44, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 74, IGNORE
TriggerGroup= 74, $2000, 250, $13B, > ; F250: subtract 1 big medipack (so 1 medipack will be dropped)
$2000, 204, $26,> ; F204: remove Extra String#38, which contains the medipack+flare menu
$2000, 109, $2100, > ; F109: disable GlobalTrigger#33 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1,> ; F127: enable Organizer#1
$8000, 1000, $21D, > ; C29: if Lara’s not totally healthy
$2000, 90, $1B, > ; F90: gives Lara 100% of health (the “unnecessary part” – above Lara’s 100% health – will be wasted)
$2000, 70, $1F74 ; F70: the well-known “Lara sighs when uses a medipack” sound (ID116) will play as well.
;-------------------------hit Key I to choose 10 flares to drop-------------------------------------
GlobalTrigger= 45, FGT_DISABLED+FGT_SINGLE_SHOT, GT_ALWAYS, IGNORE, IGNORE, 76, IGNORE
TriggerGroup= 76, $2000, 250, $A3C, > ; F250: subtract 10 flares (so 10 flares will be dropped)
$2000, 204, $26,> ; F204: remove Extra String#38, which contains the medipack+flare menu
$2000, 109, $2100, > ; F109: disable GlobalTrigger#33 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;
;
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;------removing other tools of Lara-----------------------------
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;
;
;------using other tools menu---------------------------------------
GlobalTrigger= 34, FGT_DISABLED, GT_ALWAYS, IGNORE, IGNORE, 77, IGNORE
TriggerGroup= 77, $8000, 45, $10C, > ; C12: if the player hits Key X
$2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the “other tools”
$2000, 109, $2200, > ; F109: disable GlobalTrigger#34 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1, > ; F127: enable Organizer#1
$8000+TGROUP_ELSE, 34, $10C, > ; C12: if the player hits Key G
$2000, 118, $4E, > ; F118: activate TriggerGroup#78 (that control the procedure for the crowbar)
$8000 +TGROUP_ELSE, 35, $10C, > ; C12: if the player hits Key H
$2000, 118, $4F, > ; F118: activate TriggerGroup#79 (that control the procedure for the lasersight)
$8000+TGROUP_ELSE, 23, $10C, > ; C12: if the player hits Key I
$2000, 118, $50, > ; F118: activate TriggerGroup#80 (that control the procedure for the empty small waterskin)
$8000+TGROUP_ELSE, 36, $10C, > ; C12: if the player hits Key J
$2000, 118, $51, > ; F118: activate TriggerGroup#81 (that control the procedure for the small waterskin with 3 liters)
$8000+TGROUP_ELSE, 37, $10C, > ; C12: if the player hits Key K
$2000, 118, $52, > ; F118: activate TriggerGroup#82 (that control the procedure for the torch)
$8000+TGROUP_ELSE, 50, $10C, > ; C12: if the player hits Key M
$2000, 118, $53, > ; F118: activate TriggerGroup#83 (that control the procedure for the bag of sand)
$8000+TGROUP_ELSE, 49, $10C, > ; C12: if the player hits Key N
$2000, 118, $54 ; F118: activate TriggerGroup#84 (that control the procedure for the binoculars)
;-------------------------hit Key G to choose the crowbar to drop-------------------------------------
TriggerGroup= 78, $8000, 246, $2, > ; C2: if present crowbar in the inventory
$2000, 47, $47, > ; F47: remove crowbar
$2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the "other tools"
$2000, 109, $2200, > ; F109: disable GlobalTrigger#34 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key H to choose the lasersight to drop-------------------------------------
TriggerGroup= 79, $8000, 2, $D2B, >; C43: if GBA3=13 ("if lasersight attached to the revolver")
$2000, 246, $91E, >; F246: set 9 in the lasersight status of revolver ("lasersight is not attached")
$2000, 118, $59, >; F118: perform TriggerGroup#89
$8000+TGROUP_ELSE, 3, $72B, >; C43: if GBA4=7 (7+6=13: "if normal ammo loaded, with lasersight attached to the crossbow")
$2000, 246, $91C, >; F246: set 9 in the lasersight/ammo status of crossbow ("normal ammo loaded, without lasersight attached")
$2000, 118, $59, >; F118: perform TriggerGroup#89
$8000+TGROUP_ELSE, 3, $F2B, >; C43: if GBA4=15 (15+6=21: "if poisoned ammo loaded, with lasersight attached to the crossbow")
$2000, 246, $111C, >; F246: set 17 in the lasersight/ammo status of crossbow ("poisoned ammo loaded, without lasersight attached")
$2000, 118, $59, >; F118: perform TriggerGroup#89
$8000+TGROUP_ELSE, 3, $1F2B, >;C43: if GBA4=31 (31+6=37: "if explosive ammo loaded, with lasersight attached to the crossbow")
$2000, 246, $211C, >; F246: set 33 in the lasersight/ammo status of crossbow ("explosive ammo loaded, without lasersight attached")
$2000, 118, $59, >; F118: perform TriggerGroup#89
$8000+TGROUP_ELSE, 370, $2, > ; C2: if the lasersight is in the inventory
$2000, 47, $6F, > ; F47: remove lasersight
$2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the "other tools"
$2000, 109, $2200, > ; F109: disable GlobalTrigger#34 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
TriggerGroup= 89, $2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the "other tools"
$2000, 109, $2200, > ; F109: disable GlobalTrigger#34 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1,> ; F127: enable Organizer#1
$8000, 2, $23, >; C35: if Lara is holding revolver
$2000, 100, $60A, >; F100: swap right hand mesh for SIXSHOOTER_ANIM slot (to remove lasersight from the hand mesh)
$8000+TGROUP_ELSE, 6, $23, >; C35: if Lara is holding crossbow
$2000, 100, $40A ; F100: swap right hand mesh for CROSSBOW_ANIM slot (to remove lasersight from the hand mesh)
;-------------------------hit Key I to choose the empty small waterskin to drop-------------------------------------
TriggerGroup= 80, $8000, 296, $2, > ; C2: if present small waterskin empty in the inventory
$2000, 47, $52, > ; F47: remove small waterskin empty
$2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the "other tools"
$2000, 109, $2200, > ; F109: disable GlobalTrigger#34 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key J to pour the water out of the waterskin with 3 liters------------------------------
TriggerGroup= 81, $8000, 299, $2, > ; C2: if present small waterskin with 3 liters in the inventory
$2000, 47, $47, > ; F47: remove small waterskin with 3 liters
$2000, 48, $52, > ; F48: add empty small waterskin
$2000, 80, $92, > ; F80: forcing the pouring (402) animation of Lara
$2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the “other tools”
$2000, 109, $2200, > ; F109: disable GlobalTrigger#34 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key K to choose the torch to drop-------------------------------------
TriggerGroup= 82, $8000, 16, $23, > ; C35: if Lara holds any torch
$2000, 83, $0, > ; F83: to make Lara throw the torch
$2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the "other tools"
$2000, 109, $2200, > ; F109: disable GlobalTrigger#34 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key M to choose the bag of sand to drop-------------------------------------
TriggerGroup= 83, $8000, 231, $2, > ; C2: if present bag of sand (pickup item 1) in the inventory
$2000, 47, $38, > ; F47: remove bag of sand (pickup item 1)
$2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the "other tools"
$2000, 109, $2200, > ; F109: disable GlobalTrigger#34 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key N to choose the binoculars to drop-------------------------------------
TriggerGroup= 84, $8000, 371, $2, > ; C2: if present binoculars in the inventory
$2000, 47, $70, > ; F47: remove binoculars
$2000, 204, $27, > ; F204: remove Extra String#39, which contains the menu for the "other tools"
$2000, 109, $2200, > ; F109: disable GlobalTrigger#34 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;
;
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;------removing keys or puzzles--------------------------------
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;
;
;------using keys+puzzles menu---------------------------------------
GlobalTrigger= 35, FGT_DISABLED, GT_ALWAYS, IGNORE, IGNORE, 90, IGNORE
TriggerGroup= 90, $8000, 45, $10C, > ; C12: if the player hits Key X
$2000, 204, $28, > ; F204: remove Extra String#40, which contains the menu for keys/puzzles
$2000, 109, $2300, > ; F109: disable GlobalTrigger#35 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1, > ; F127: enable Organizer#1
$8000+TGROUP_ELSE, 34, $10C, > ; C12: if the player hits Key G
$2000, 118, $5B, > ; F118: activate TriggerGroup#91 (that control the procedure for puzzle item 5)
$8000 +TGROUP_ELSE, 35, $10C, > ; C12: if the player hits Key H
$2000, 118, $5C, > ; F118: activate TriggerGroup#92 (that control the procedure for puzzle item5 combo 1)
$8000+TGROUP_ELSE, 23, $10C, > ; C12: if the player hits Key I
$2000, 118, $5D, > ; F118: activate TriggerGroup#93 (that control the procedure for puzzle item 5 combo 2)
$8000+TGROUP_ELSE, 36, $10C, > ; C12: if the player hits Key J
$2000, 118, $5E, > ; F118: activate TriggerGroup#94 (that control the procedure for puzzle item 6)
$8000+TGROUP_ELSE, 37, $10C, > ; C12: if the player hits Key K
$2000, 118, $5F, > ; F118: activate TriggerGroup#95 (that control the procedure for puzzle item 7)
$8000+TGROUP_ELSE, 50, $10C, > ; C12: if the player hits Key M
$2000, 118, $60, > ; F118: activate TriggerGroup#96 (that control the procedure for key 1)
$8000+TGROUP_ELSE, 49, $10C, > ; C12: if the player hits Key N
$2000, 118, $61 ; F118: activate TriggerGroup#97 (that control the procedure for key 10)
;-------------------------hit Key G to choose Portal Guardian (puzzle item 5) to drop-------------------------------------
TriggerGroup= 91, $8000, 179, $2, > ; C2: if present puzzle item 5 in the inventory
$2000, 47, $4, > ; F47: remove puzzle item 5
$2000, 204, $28, > ; F204: remove Extra String#40, which contains the menu for keys/puzzles
$2000, 109, $2300, > ; F109: disable GlobalTrigger#35 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key H to choose Ornate Handle (puzzle item 5 combo 1) to drop-------------------------------------
TriggerGroup= 92, $8000, 195, $2, > ; C2: if present puzzle item 5 combo 1 in the inventory
$2000, 47, $14, > ; F47: remove puzzle item 5 combo 1
$2000, 204, $28, > ; F204: remove Extra String#40, which contains the menu for keys/puzzles
$2000, 109, $2300, > ; F109: disable GlobalTrigger#35 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key I to choose Hathor Effigy (puzzle item 5 combo 2) to drop-------------------------------------
TriggerGroup= 93, $8000, 196, $2, > ; C2: if present puzzle item 5 combo 2 in the inventory
$2000, 47, $15, > ; F47: remove puzzle item 5 combo 2
$2000, 204, $28, > ; F204: remove Extra String#40, which contains the menu for keys/puzzles
$2000, 109, $2300, > ; F109: disable GlobalTrigger#35 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key J to choose Golden Star (puzzle item 6) to drop-------------------------------------
TriggerGroup= 94, $8000, 180, $2, > ; C2: if present puzzle item 6 in the inventory
$2000, 47, $5, > ; F47: remove puzzle item 6
$2000, 204, $28, > ; F204: remove Extra String#40, which contains the menu for keys/puzzles
$2000, 109, $2300, > ; F109: disable GlobalTrigger#35 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key K to choose Horseman’s Gem (puzzle item 7) to drop-------------------------------------
TriggerGroup= 95, $8000, 181, $2, > ; C2: if present puzzle item 7 in the inventory
$2000, 47, $6, > ; F47: remove puzzle item 7
$2000, 204, $28, > ; F204: remove Extra String#40, which contains the menu for keys/puzzles
$2000, 109, $2300, > ; F109: disable GlobalTrigger#35 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key M to choose Token (key item 1) to drop-------------------------------------
TriggerGroup= 96, $8000, 203, $2, > ; C2: if present key item 1 in the inventory
$2000, 47, $1C, > ; F47: remove key item 1
$2000, 204, $28, > ; F204: remove Extra String#40, which contains the menu for keys/puzzles
$2000, 109, $2300, > ; F109: disable GlobalTrigger#35 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key N to choose Gate Key (key item 10) to drop-------------------------------------
TriggerGroup= 97, $8000, 212, $2, > ; C2: if present key item 10 in the inventory
$2000, 47, $25, > ; F47: remove key item 10
$2000, 204, $28, > ; F204: remove Extra String#40, which contains the menu for keys/puzzles
$2000, 109, $2300, > ; F109: disable GlobalTrigger#35 (so you can redefine Key G, H, I... M, N and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;
;
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;------removing other items--------------------------------------
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;
;
;------using other items menu-----------------------------------
GlobalTrigger= 36, FGT_DISABLED, GT_ALWAYS, IGNORE, IGNORE, 98, IGNORE
TriggerGroup= 98, $8000, 45, $10C, > ; C12: if the player hits Key X
$2000, 204, $29, > ; F204: remove Extra String#41, which contains the menu for the other items
$2000, 109, $2400, > ; F109: disable GlobalTrigger#36 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1, > ; F127: enable Organizer#1
$8000+TGROUP_ELSE, 34, $10C, > ; C12: if the player hits Key G
$2000, 118, $63, > ; F118: activate TriggerGroup#99 (that control the procedure for examine 2)
$8000 +TGROUP_ELSE, 35, $10C, > ; C12: if the player hits Key H
$2000, 118, $64, > ; F118: activate TriggerGroup#100 (that control the procedure for pickup item 2)
$8000+TGROUP_ELSE, 23, $10C, > ; C12: if the player hits Key I
$2000, 118, $65 ; F118: activate TriggerGroup#101 (that control the procedure for quest item 1)
;-------------------------hit Key G to choose The Rules of Senet (examine 2) to drop-------------------------------------
TriggerGroup= 99, $8000, 244, $2, > ; C2: if present examine 2 in the inventory
$2000, 47, $45, > ; F47: remove examine 2
$2000, 204, $29, > ; F204: remove Extra String#41, which contains the menu for the other items
$2000, 109, $2400, > ; F109: disable GlobalTrigger#36 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key H to choose Broken Glasses (pickup item 2) to drop-------------------------------------
TriggerGroup= 100, $8000, 232, $2, > ; C2: if present pickup item 2 in the inventory
$2000, 47, $39, > ; F47: remove pickup item 2
$2000, 204, $29, > ; F204: remove Extra String#41, which contains the menu for the other items
$2000, 109, $2400, > ; F109: disable GlobalTrigger#36 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;-------------------------hit Key I to choose Amulet of Horus (quest item 1) to drop-------------------------------------
TriggerGroup= 101, $8000, 252, $2, > ; C2: if present quest item 1 in the inventory
$2000, 47, $4C, > ; F47: remove quest item 1
$2000, 204, $29, > ; F204: remove Extra String#41, which contains the menu for the other items
$2000, 109, $2400, > ; F109: disable GlobalTrigger#36 (so you can redefine Key G, H, I and X for other purposes)
$2000, 127, $1 ; F127: enable Organizer#1
;
;
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;------drop things when the backpack is not to heavy----
;------------------------------------------------------------------------
;------------------------------------------------------------------------
;
;
;------pop up the menu-------------------------------------------
GlobalTrigger= 46, FGT_SINGLE_SHOT, GT_KEYBOARD_CODE, 62, IGNORE, 102, IGNORE ; 62 is the keyboard code of F4
TriggerGroup= 102, $2000, 51, $1, > ; F51: disable Key UP
$2000, 51, $2, > ; F51: disable Key DOWN
$2000, 51, $3, > ; F51: disable Key LEFT
$2000, 51, $4, > ; F51: disable Key RIGHT
$2000, 51, $5, > ; F51: disable Key DUCK
$2000, 51, $8, > ; F51: disable Key JUMP
$2000, 51, $9, > ; F51: disable Key ACTION
$2000, 51, $A, > ; F51: disable Key DRAW WEAPON
$2000, 51, $B, > ; F51: disable Key USE FLARE
$2000, 51, $C, > ; F51: disable Key LOOK
$2000, 51, $D, > ; F51: disable Key ROLL
$2000, 51, $E, > ; F51: disable Key INVENTORY
$2000, 51, $11, > ; F51: disable Key PAUSE
$2000, 51, $12, > ; F51: disable Key SAVE GAME
$2000, 51, $13, > ; F51: disable Key LOAD GAME
$2000, 51, $14, > ; F51: disable Key SELECT WEAPON
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $2A, > ; F360: print Extra String#42, which contains this “similar” message
$2000, 109, $2F01,> ; F109: enable GlobalTrigger#47 (see just below) to use the “similar” message as a menu
$2000, 109, $1D00; F109: disable GlobalTrigger#29 (so the keys won’t be enabled, because the backpack is not too heavy now)
;------using the menu-----------------
GlobalTrigger= 47, FGT_DISABLED, GT_ALWAYS, IGNORE, IGNORE, 103, IGNORE
TriggerGroup= 103, $8000, 30, $10C, > ; C12: if you hit Key A
$2000, 204, $2A, > ; F204: remove Extra String#42, which contains the “similar” message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $24, > ; F360: print Extra String#36, which contains the menu for weapons
$2000, 109, $2F00, > ; F109: disable GlobalTrigger#47 (so this menu won’t show up at the next step)
$2000, 109, $1F01, > ; F109: enable GlobalTrigger#31 that will control the procedure for the menu about weapons
$8000+TGROUP_ELSE, 48, $10C, > ; C12: if you hit Key B
$2000, 204, $2A, > ; F204: remove Extra String#42, which contains the “similar” message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $25, > ; F360: print Extra String#37, which contains the menu for ammunition
$2000, 109, $2F00, > ; F109: disable GlobalTrigger#47 (so this menu won’t show up at the next step)
$2000, 109, $2001, > ; F109: enable GlobalTrigger#32 that will control the procedure for the menu about ammunition
$8000+TGROUP_ELSE, 46, $10C, > ; C12: if you hit Key C
$2000, 204, $2A, > ; F204: remove Extra String#42, which contains the “similar” message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $26, > ; F360: print Extra String#38, which contains the menu for medipacks and flares
$2000, 109, $2F00, > ; F109: disable GlobalTrigger#47 (so this menu won’t show up at the next step)
$2000, 109, $2101, > ; F109: enable GlobalTrigger#33 that will control the procedure for the menu about medipacks and flares
$8000+TGROUP_ELSE, 32, $10C, > ; C12: if you hit Key D
$2000, 204, $2A, > ; F204: remove Extra String#42, which contains the “similar” message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $27, > ; F360: print Extra String#39, which contains the menu for other tools of Lara
$2000, 109, $2F00, > ; F109: disable GlobalTrigger#47 (so this menu won’t show up at the next step)
$2000, 109, $2201, > ; F109: enable GlobalTrigger#34 that will control the procedure for the menu about other tools of Lara
$8000+TGROUP_ELSE, 18, $10C, > ; C12: if you hit Key E
$2000, 204, $2A, > ; F204: remove Extra String#42, which contains the “similar” message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $28, > ; F360: print Extra String#40, which contains the menu for keys and puzzles
$2000, 109, $2F00, > ; F109: disable GlobalTrigger#47 (so this menu won’t show up at the next step)
$2000, 109, $2301, > ; F109: enable GlobalTrigger#35 that will control the procedure for the menu about keys and puzzles
$8000+TGROUP_ELSE, 33, $10C, > ; C12: if you hit Key F
$2000, 204, $2A, > ; F204: remove Extra String#42, which contains the “similar” message
$2000, 66, $302, > ; F66: define text position on the screen and its white color
$2000, 81, $3, > ; F81: define text size
$2000, 360, $29, > ; F360: print Extra String#41, which contains the menu for other items picked up
$2000, 109, $2F00, > ; F109: disable GlobalTrigger#47 (so this menu won’t show up at the next step)
$2000, 109, $2401, > ; F109: enable GlobalTrigger#36 that will control the procedure for the menu about other items picked up
$8000+TGROUP_ELSE, 45, $10C, > ; C12: if you hit Key X
$2000, 204, $2A, > ; F204: remove Extra String#42, which contains the “similar” message
$2000, 109, $2F00, > ; F109: disable GlobalTrigger#47 (so this menu won’t show up at the next step)
$2000, 109, $2E01, > ; F109: enable GlobalTrigger#46 (so you can hit F4 again to ease the backpack)
$2000, 127, $1 ; F127: enable Organizer#1
AkyV is offline  
Old 03-01-16, 11:13   #10
AkyV
Moderator
 
Join Date: Dec 2011
Location: Hungary
Posts: 2,376
Default

5. Summary

If you want to use this backpack setup, then you need:

- to accept that you can’t use any numeric variables in other setups in your game (including that you can’t use variable timer - Local/Global Long - in your game),
- to accept that the item you drop (except torch or flare dropped from the hand) will vanish forever,
- to accept that you can’t have more than one copy of a particular puzzle item at the same time in the inventory,
- to accept that you can’t stockpile unimportant ammo types (shotgun wideshot bullets, crossbow normal/poisoned arrows, any grenades), their amount are very limited; if you exceed the limit, picking up any of them, then the amount in the inventory won’t be increased,
- to accept that items at Lara, but not in the backpack (weapons on the back, flare in the hand etc.) are also included in the backpack weight (but the empty ammo boxes, clips, the backpack itself etc. are “weightless”),
- to accept that nothing to pick up is unlimited, so eg. you need limited ammunition and ammunition clip pairs to pick up for pistols,
- to accept that the setup is flexible, because it is you who need

a, to add/remove the pickable items, being present in the level, to the setup,
b, to define the preset amount of the numerable items that will be dropped,
c, to define the weight of each pickable item in the level and customize the maximal limit of the backpack (instead of that default 20 kilograms),
d, to define the value for the item weight, that will be used in the variables,
e, to customize the clip/box amount for special ammo types (limited pistol bullets, a grenade pack that cannot be stockpiled etc.),
f, to edit the menus (for the items of the setup) in which you can choose which item will be dropped,

- to accept that you can’t type the amount of a numerable item to drop, you can drop only preset amounts that you define in the setup,
- to accept that you should build the level in a clever way, so the players won’t drop the item if they still need it,
- to accept that there are no extra animations in the setup (like dropping an item or such),
- to tell the player in diary pages or TXT files etc. about the details of this complicated setup,
- GlobalTriggers, to solve the problem you can’t save/load if Lara is frozen when the backpack is too heavy,
- GlobalTriggers for each item of the setup, to add the weight to Current Value variable (CV) if the setup is in the inventory, and to subtract if if it is not (see the exceptions!), but the method for numerable and non-numarable items are different,
- ExtraNG strings for the backpack weight and for the menus in which you can choose which item will be dropped,
- GlobalTriggers to print the backpack weight on the screen, with different colors (white is if the backpack is easy, red is if it is heavy etc.),
- GlobalTriggers to remove/restore the backpack weight on the screen, if the player hits keys,
- GlobalTriggers for the main conditions: disable Lara’s movement if the backpack is too heavy, and enable them again if it is easier again,
- a GlobalTrigger to choose the sub-menu you want (eg. the sub-menu of weapons if you want to drop a weapon),
- GlobalTriggers to control what happens if you choose an item in a sub-menu,
- GlobalTriggers to let the player drop items out even if the backpack is not too heavy.


Made using TRNG 1.2.2.7+
AkyV is offline  
Closed Thread

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 17:51.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2017, vBulletin Solutions Inc.