Damage Rooms
by
Bedazzled
Ever wanted
to watch Lara's temperature rise when she entered a lava room or watch
it fall as she swims in icy waters? These things and more are now
possible by using the script command.
Damage=
Syntax: Damage=Flags DMG_,
SecondsForDeath, SecondsForBarRestore, BarColor, BarName,
BlinkPercentage
Scope: To use in [Level} section.
The damage
command allows customisation of the damage feature in damage rooms and
of the game and the appearance and behaviour of associated damage bars.
Without the damage command cold water rooms and damage rooms will work
just as they did in the old game engine.
This command uses several
arguments; these are.
Flags DMG_ This is equal to one or more values
which determine the damage behaviour, a list of these flags can be found
in the reference panel of the NG Centre.
Several DMG_ values can be
used together by separating them with a plus '+' sign, currently you can
use the following flags.
DMG_INDIRECT_BAR
This flag will cause
the damage bar to decrease but until it has reached zero no damage will
actually occur to Lara; however once the bar is empty Lara's health
rapidly falls with inevitable results.
DMG_ONLY_PAD
This
flag restricts the damage to only occurring when Lara is touching the
floor. For this reason it will be ignored in cold water rooms. It could
be used to simulate an electrified floor, for example.
DMG_INCREASE_BAR
To be used only with the DMG_INDIRECT_BAR
flag. By default the damage bar starts full and decreases with time;
using this flag forces the damage bar to start empty and fill over time.
Used with a suitable text label this could be used to show increasing
temperature.
DMG_COLD_WATER
Use this flag to customise the cold water feature. If not used the
setting will affect all damage rooms.
DMG_POISON_LARA
Setting this flag will
poison Lara when she enters a damage room. The effect is the same as
when Lara is poisoned by a scorpion with the screen moving around.
DMG_BURNING_DEATH
To be used only for waterless damage rooms.
With this flag Lara will burn when the indirect bar, if present, is
empty, otherwise when the normal health bar is empty.
DMG_BURNING_SCREAM
Must be used only with the DMG_BURNING_DEATH
flag. Setting this flag will force Lara to scream when she burns. It
will only work if the DMG_INDIRECT_BAR flag is also set, because without
the indirect bar flag death is instantaneous and therefore Lara doesn't
have time to scream.
DMG_SLOW_DISAPPEARING
Used only with
the DMG_INDIRECT_BAR flag. By default the indirect bar will disappear
immediately when Lara leaves a damage room; with this flag set when Lara
leaves cold water or a damage room the indirect bar will slowly fill and
only disappear when it's full.
DMG_ALERT_BEEP
Used
only with the DMG_INDIRECT_BAR flag. If this flag is set when the
indirect bar has fallen to 15% or less of its full value it will start
to flash and a short beeping sound will be heard. If this flag is
omitted the bar will flash but no sound will be heard.
SecondsForDeath
The value entered in this field determines the
speed at which the indirect bar empties and therefore how quickly Lara
is killed. Officially the value entered is the time in seconds, however
in tests I have found the actual time for the bar to empty is equal to 2
* the value entered.
SecondsForBarRestore
This works like the above field but is the
time taken for the bar to refill after Lara leaves cold water or a
damage room.
BarColor
In this field type a RGB value to set the main
colour of the damage bar; the value should be entered in hexadecimal
format using a $ prefix. For Example $RRGGBB
Where: RR = Red GG =
Green BB = Blue intensity.
Possible values are:
$F9241F Pink
(Default colour for water rooms)
$F6F923 Yellow (Default colour for
damage rooms)
$FB8953 Orange
$FF0000 Red
$00FF00 Green
$0000FF Blue
BarName
This field is used to have a title for the
damage bar appear in game below the bar, for example in a Lava room the
bar could be labelled as 'Temperature' and could fill over time as Lara
becomes hotter.
The text you type into this field must also be
present in the English.txt file in either the standard strings section
or else in the [ExtraNG] strings section.
If you don't want to name
the bar enter IGNORE in this field
BlinkPercentageField
This field determines the percentage at which
the damage bar will start to flash; for example if you enter 30 the bar
will flash when it has reduced to 30% or less. If you enter IGNORE in
this field a default value of 20% will be used.
If you don't set a
Damage= command in the script the game engine will use these default
settings.
For generic damage rooms:
Damage=
DMG_INDIRECT-BAR +
DMG_SLOW_DISAPPEARING + DMG_ALERT_BEEP, 16, 6, $F6F923, IGNORE
For
cold water rooms:
Damage=
DMG_INDIRECT-BAR + DMG_SLOW_DISAPPEARING
+ DMG_ALERT_BEEP, 10, 5, $F924F1, IGNORE
This screenshot shows the
bars in action in a cold water room, the yellow bar on the left is the
indirect damage bar, if this was removed from the script the pink
temperature bar would also be removed.
These are the
script parameters used for the cold water room.
Damage=
DMG_INDIRECT_BAR+DMG_COLD_WATER+DMG_SLOW_DISAPPEARING,5,6,$F924F1,
Temperature,10
This screenshot shows the Temperature bars title
entered into the Ng Scripter.
When setting up a cold water room remember to press both the DMG and Cold buttons in the editor as shown here.