Modding:being blueprint (0.9.9.7)

From DoomRL Wiki

Revision as of 23:26, 21 April 2013 by Yaflhdztioxo (Talk | contribs)

Jump to: navigation, search

The being blueprint is used to define new beings.

Blueprint

Being blueprints are registered with the register_being procedure. Registered blueprints are stored in a global Lua table called beings.

Being Blueprint
id string The unique identifier used by the engine for this being. Passed as the first argument when registering a blueprint.
name string This is the being's name.
name_plural string This is the being's pluralized name. This defaults to the being's the name with an "s" appended.
sound_id being If included the being will search for sounds bound to this id instead of its own.
ascii string This is the being's picture in console mode. It should be a single character string.
color Color This is the being's color in console mode.
sprite Sprite This is the being's sprite in graphical mode.
coscolor ColorSet This is a graphical mode filter that can be used to add color to specific sprites.
glow ColorSet This is a graphical mode filter that can be used to give a sprite a colored glow.
overlay ColorSet This is a graphical mode filter that can be used to subtract color from any sprite.
hp integer This is the being's hpmax and starting hp. The default is 10.
armor integer This is the being's armor bonus. The default is 0.
attackchance integer This is the being's attackchance. The default is 75.
todam integer This is the being's todam bonus. The bonus applies only to melee attacks. The default is 0.
tohit integer This is the being's tohit bonus. The default is 0.
tohitmelee integer This is the being's tohitmelee bonus. The default is 0.
speed integer This is the being's speed. The maximum allowed speed is 255. The default is 100.
vision integer This is the being's vision bonus. The default is 0, meaning the same vision as the player.
min_lev integer This is a monster generation parameter.
max_lev integer This is a monster generation parameter. The default is 10000.
corpse cell The determines the corpse left by the being. Instead of passing in a cell directly you can pass a boolean true which will make the engine automatically create and assign an appropriate being corpse. You can also pass in false or leave this field blank to specify no corpse.
danger integer This is a monster generation parameter.
weight integer This is a monster generation parameter.
xp integer This is the being's expvalue. By default, it is 3xD2+20, where D is the being's danger value (above).
bulk integer This parameter is unused. The default is 100.
flags Being Flag This parameter is an array of being flags which will be used by all beings of this type by default.
ai_type AI This determines the being's AI.


res_bullet integer This is the being's resistance to bullet damage. The default is 0.
res_melee integer This is the being's resistance to melee damage. The default is 0.
res_shrapnel integer This is the being's resistance to shrapnel damage. The default is 0.
res_acid integer This is the being's resistance to acid damage. The default is 0.
res_fire integer This is the being's resistance to fire damage. The default is 0.
res_plasma integer This is the being's resistance to plasma damage. The default is 0.


desc string This is the description of the being displayed in the 'more information' view.
kill_desc string If included this being will have a special kill description in the mortem.
kill_desc_melee string If included this being will have a special melee kill description in the mortem.


weapon Item Blueprint You can inline an item blueprint here and it will be registered for you. Items defined this way are always natural ranged weapons that never drop and have no ammo. It will even be equippedly automatically for you.


OnCreate function
OnAction function
OnAttacked function
OnDie function
OnDieCheck function
OnPickupItem function


Engine Hooks

Specifying one or more of these hooks in the prototype will allow for greater customization.

Being Hooks
void OnCreate(Being self)
void OnAction(Being self)
void OnDie(Being self, boolean overkill)

OnCreate(Being self)
This is called when the being is created.

OnAction(Being self)
This is called at the beginning of each of the being's turns. (Note that turns are only differentiated if time elapses in between.)

OnDie(Being self, boolean overkill)
This is called when the being dies. overkill is true if the being was gibbed.
Personal tools