Author: Zoinkity
Date: August 4, 2007
Category: GE Action Blocks
Description:
New 2B Action Type
These three patches create a new action type that gives control over the gas released by object type 24. Only apply the correct patch for the specified region.
JAP-2Bgas.ips NGEJ Japanese release
USA-2Bgas.ips NGEE North American release
PAL-2Bgas.ips NGEP European release
Once the patch is applied, you can use the 2B action type in order to turn gas on and off. Like usual, this gas slowly damages all players and is not specific to any one room. At most, it can be in use for six minutes. The action type is simple to use.
You can also use GS codes in lieu of applying the patch. These codes have only been tested on console and may not work on all emulators. If you do attempt to use them under emulation, be certain to set thememory size to 8MB. Only use the codeset for the designated region!
NTSC Japan:
"2B action #32"
810525D4 8040
810525D6 005C
8140005C 9226
8140005E 0001
81400060 2CC2
81400062 0010
81400064 1402
81400066 0003
81400068 30C6
8140006A 0001
8140006C 3C04
8140006E 8003
81400070 AC80
81400072 0B08
81400074 3C04
81400076 8007
81400078 AC86
8140007A 1EBC
8140007C 3C06
8140007E 4561
81400080 AC86
81400082 1EB8
81400084 3C1F
81400086 7F03
81400088 37FF
8140008A 588C
8140008C 2652
8140008E 0002
81400090 03E0
81400092 0008
81400094 2631
81400096 0002
NTSC North America:
"2B action #32"
810525A4 8040
810525A6 005C
8140005C 9226
8140005E 0001
81400060 2CC2
81400062 0010
81400064 1402
81400066 0003
81400068 30C6
8140006A 0001
8140006C 3C04
8140006E 8003
81400070 AC80
81400072 0AC8
81400074 3C04
81400076 8007
81400078 AC86
8140007A 1E7C
8140007C 3C06
8140007E 4561
81400080 AC86
81400082 1E78
81400084 3C1F
81400086 7F03
81400088 37FF
8140008A 558C
8140008C 2652
8140008E 0002
81400090 03E0
81400092 0008
81400094 2631
81400096 0002
PAL Europe:
"2B action #32"
810486E4 8040
810486E6 005C
8140005C 9226
8140005E 0001
81400060 2CC2
81400062 0010
81400064 1402
81400066 0003
81400068 30C6
8140006A 0001
8140006C 3C04
8140006E 8003
81400070 AC80
81400072 C018
81400074 3C04
81400076 8006
81400078 AC86
8140007A 0DBC
8140007C 3C06
8140007E 4561
81400080 AC86
81400082 0DB8
81400084 3C1F
81400086 7F03
81400088 37FF
8140008A 55CC
8140008C 2652
8140008E 0002
81400090 03E0
81400092 0008
81400094 2631
81400096 0002
2B.xx Trigger Gas Effect
xx set to 1 activates gas. set to 0, deactivates gas
Sending values other than 1 and 0 may not have any effect.
When activated all players will eventually begin to choke and take damage after about one minute. When deactivated, the choking effect stops. This does not trigger or deactivate the hissing noise caused by gas-releasing objects (type 24) or any effects otherwise triggered through other action commands. To control those events, use the various sound effect action types.
The simplest use would be to stop gas released by a gas-releasing object. Linking the command to an object creates a sort of switch. This switch acts like a scrubber. After activating the object, gas can no longer affect the player.
02.00 label 00
03 break and iterate
5C.12.01 if tagged object 12 activated, return 01
01.00 start at label 00
02.01 label 01
C3.B400 display upper text: "Ventilator system active. You can breathe easy."
02.02 label 02
03 break and iterate
2B.00 disable gas
01.02 start at label 02
Although gas is not localized to a single room, you can get the same effect by detecting if a player is within a room and deactivating the gas outside of this area. Since there is no hissing noise, it can relate radiation poisoning or some latent biological hazard similar to the reactor in the DataDyne labs or the nerve gas in Area51. In this case, when the player is within a certain distance of an preset, it harms them.
02.00 label 00
03 break and iterate
52.0030.0028.01 if player within 48 cu. of preset 0028, return 01
2B.00 disable gas
01.00 start at label 00
02.01 label 01
2B.01 activate gas
01.00 start at label 00
Outside of the most obvious use, deactivating released gas, it should also be noted that this can be used for other effects. For instance, if a body of water extends into a deeper area from shore, the gas effect can be used to 'drown' the player in the deepest part. This requires testing if a player is within a particular room, then testing what their current elevation is or their proximity to a point in the deep. Both of these tests are shown combined here, although either one on their own would suffice.
02.00 label 00
03 break and iterate
52.0100.0015.01 if player within 256 cu. of preset 0015, return 01
2B.00 deactivate gas
01.00 start at label 00
02.01 label 01
03 break and iterate
B6.FFEE.02 if player below -18 cu., return 02
01.00 start at label 00
02.02 label 02
2B.01 activate gas
01.01 start at label 01
If the player can never go below the given elevation though, you need only test for the player's elevation. For virtually any case, proximity is a much better test and can be used stand-alone. Always use the best test for the case. For instance, the lake in Dam would be best done using proximity, but the water around Frigate would make more sense as an elevation test.
This command stil isn't recommended as a solution for using gas in multiplayer. The gas effect randomly damages one of the players loaded, regardless of their proximity to the source or current health. It also depletes health regardless if body armor is equipped. The primary application is in solo and co/unter-operative setups.
-Zoinkity
Source:
92260001 LBU A2,0001 (S2)
3C048003 LUI A0,8003
AC860ACC SW A2,0ACC (A0) //varies on region
3C048007 LUI A0,8007
AC861E7C SW A2,1E7C (A0) //varies on region
3C064561 LUI A2,4561
AC861E78 SW A2,1E78 (A0) //varies on region
26520002 ADDIU S2,S2,0002
-—- BEQ R0,R0,return to calling function //varies on region
26310002 ADDIU S1,S1,0002
|