Being prototype:
core.register_blueprint "being"
{
-- fieldname = { required, type, [default] }
name = { true, core.TSTRING },
name_plural = { false, core.TSTRING },
id = { false, core.TSTRING }, -- doesn't need to be in the prototype table; id is passed to the declaration function
sound_id = { false, core.TIDIN("beings") },
ascii = { true, core.TSTRING },
color = { true, core.TNUMBER },
sprite = { true, core.TNUMBER },
coscolor = { false, core.TTABLE },
glow = { false, core.TTABLE },
overlay = { false, core.TTABLE },
hp = { false, core.TNUMBER , 10 },
armor = { false, core.TNUMBER , 0 },
attackchance= { false, core.TNUMBER , 75 },
todam = { false, core.TNUMBER , 0 },
tohit = { false, core.TNUMBER , 0 },
tohitmelee = { false, core.TNUMBER , 0 },
speed = { false, core.TNUMBER , 100 },
vision = { false, core.TNUMBER , 0 },
min_lev = { true, core.TNUMBER },
max_lev = { false, core.TNUMBER , 10000 },
corpse = { false, core.TANY, 0 },
danger = { true, core.TNUMBER },
weight = { true, core.TNUMBER },
xp = { false, core.TNUMBER },
bulk = { false, core.TNUMBER , 100 },
flags = { false, core.TFLAGS, {} },
ai_type = { true, core.TSTRING },
is_group = false, -- hard-coded prototype value; can't be specified
res_bullet = { false, core.TNUMBER, 0 },
res_melee = { false, core.TNUMBER, 0 },
res_shrapnel= { false, core.TNUMBER, 0 },
res_acid = { false, core.TNUMBER, 0 },
res_fire = { false, core.TNUMBER, 0 },
res_plasma = { false, core.TNUMBER, 0 },
desc = { true, core.TSTRING },
kill_desc = { false, core.TSTRING },
kill_desc_melee = { false, core.TSTRING },
weapon = { false, core.TANY },
OnCreate = { false, core.TFUNC },
OnAction = { false, core.TFUNC },
OnAttacked = { false, core.TFUNC },
OnDie = { false, core.TFUNC },
OnDieCheck = { false, core.TFUNC },
OnPickupItem = { false, core.TFUNC },
}