trapdoors

This commit is contained in:
Llywelwyn 2023-09-26 21:09:47 +01:00
parent bd450e806b
commit 06d5674199
10 changed files with 160 additions and 125 deletions

View file

@ -2,7 +2,7 @@
{ {
"id": "potion_health", "id": "potion_health",
"name": { "name": "potion of health", "plural": "potions of health" }, "name": { "name": "potion of health", "plural": "potions of health" },
"renderable": { "glyph": "!", "fg": "#FF00FF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "!", "fg": "#FF00FF", "bg": "#000000", "order": 4 },
"weight": 1, "weight": 1,
"value": 50, "value": 50,
"flags": ["CONSUMABLE", "DESTRUCTIBLE"], "flags": ["CONSUMABLE", "DESTRUCTIBLE"],
@ -12,7 +12,7 @@
{ {
"id": "potion_health_weak", "id": "potion_health_weak",
"name": { "name": "potion of lesser health", "plural": "potions of lesser health" }, "name": { "name": "potion of lesser health", "plural": "potions of lesser health" },
"renderable": { "glyph": "!", "fg": "#FF00FF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "!", "fg": "#FF00FF", "bg": "#000000", "order": 4 },
"weight": 1, "weight": 1,
"value": 25, "value": 25,
"flags": ["CONSUMABLE", "DESTRUCTIBLE"], "flags": ["CONSUMABLE", "DESTRUCTIBLE"],
@ -22,7 +22,7 @@
{ {
"id": "scroll_identify", "id": "scroll_identify",
"name": { "name": "scroll of identify", "plural": "scrolls of identify" }, "name": { "name": "scroll of identify", "plural": "scrolls of identify" },
"renderable": { "glyph": "?", "fg": "#0FFFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "?", "fg": "#0FFFFF", "bg": "#000000", "order": 4 },
"weight": 0.5, "weight": 0.5,
"value": 100, "value": 100,
"flags": ["CONSUMABLE", "DESTRUCTIBLE", "IDENTIFY"], "flags": ["CONSUMABLE", "DESTRUCTIBLE", "IDENTIFY"],
@ -31,7 +31,7 @@
{ {
"id": "scroll_removecurse", "id": "scroll_removecurse",
"name": { "name": "scroll of remove curse", "plural": "scrolls of remove curse" }, "name": { "name": "scroll of remove curse", "plural": "scrolls of remove curse" },
"renderable": { "glyph": "?", "fg": "#0FFFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "?", "fg": "#0FFFFF", "bg": "#000000", "order": 4 },
"weight": 0.5, "weight": 0.5,
"value": 200, "value": 200,
"flags": ["CONSUMABLE", "DESTRUCTIBLE", "REMOVE_CURSE"], "flags": ["CONSUMABLE", "DESTRUCTIBLE", "REMOVE_CURSE"],
@ -40,7 +40,7 @@
{ {
"id": "scroll_health", "id": "scroll_health",
"name": { "name": "scroll of healing word", "plural": "scrolls of healing word" }, "name": { "name": "scroll of healing word", "plural": "scrolls of healing word" },
"renderable": { "glyph": "?", "fg": "#00FFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "?", "fg": "#00FFFF", "bg": "#000000", "order": 4 },
"weight": 0.5, "weight": 0.5,
"value": 50, "value": 50,
"flags": ["CONSUMABLE", "DESTRUCTIBLE"], "flags": ["CONSUMABLE", "DESTRUCTIBLE"],
@ -50,7 +50,7 @@
{ {
"id": "scroll_mass_health", "id": "scroll_mass_health",
"name": { "name": "scroll of mass healing word", "plural": "scrolls of mass healing word" }, "name": { "name": "scroll of mass healing word", "plural": "scrolls of mass healing word" },
"renderable": { "glyph": "?", "fg": "#00FFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "?", "fg": "#00FFFF", "bg": "#000000", "order": 4 },
"weight": 0.5, "weight": 0.5,
"value": 200, "value": 200,
"flags": ["CONSUMABLE", "DESTRUCTIBLE"], "flags": ["CONSUMABLE", "DESTRUCTIBLE"],
@ -60,7 +60,7 @@
{ {
"id": "scroll_magicmissile", "id": "scroll_magicmissile",
"name": { "name": "scroll of magic missile", "plural": "scrolls of magic missile" }, "name": { "name": "scroll of magic missile", "plural": "scrolls of magic missile" },
"renderable": { "glyph": "?", "fg": "#00FFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "?", "fg": "#00FFFF", "bg": "#000000", "order": 4 },
"weight": 0.5, "weight": 0.5,
"value": 50, "value": 50,
"flags": ["CONSUMABLE", "DESTRUCTIBLE"], "flags": ["CONSUMABLE", "DESTRUCTIBLE"],
@ -70,7 +70,7 @@
{ {
"id": "scroll_embers", "id": "scroll_embers",
"name": { "name": "scroll of embers", "plural": "scrolls of embers" }, "name": { "name": "scroll of embers", "plural": "scrolls of embers" },
"renderable": { "glyph": "?", "fg": "#00FFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "?", "fg": "#00FFFF", "bg": "#000000", "order": 4 },
"weight": 0.5, "weight": 0.5,
"value": 100, "value": 100,
"flags": ["CONSUMABLE", "DESTRUCTIBLE"], "flags": ["CONSUMABLE", "DESTRUCTIBLE"],
@ -80,7 +80,7 @@
{ {
"id": "scroll_fireball", "id": "scroll_fireball",
"name": { "name": "scroll of fireball", "plural": "scrolls of fireball" }, "name": { "name": "scroll of fireball", "plural": "scrolls of fireball" },
"renderable": { "glyph": "?", "fg": "#00FFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "?", "fg": "#00FFFF", "bg": "#000000", "order": 4 },
"weight": 0.5, "weight": 0.5,
"value": 200, "value": 200,
"flags": ["CONSUMABLE", "DESTRUCTIBLE"], "flags": ["CONSUMABLE", "DESTRUCTIBLE"],
@ -95,7 +95,7 @@
{ {
"id": "scroll_confusion", "id": "scroll_confusion",
"name": { "name": "scroll of confusion", "plural": "scrolls of confusion" }, "name": { "name": "scroll of confusion", "plural": "scrolls of confusion" },
"renderable": { "glyph": "?", "fg": "#00FFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "?", "fg": "#00FFFF", "bg": "#000000", "order": 4 },
"weight": 0.5, "weight": 0.5,
"value": 100, "value": 100,
"flags": ["CONSUMABLE", "DESTRUCTIBLE"], "flags": ["CONSUMABLE", "DESTRUCTIBLE"],
@ -105,7 +105,7 @@
{ {
"id": "scroll_mass_confusion", "id": "scroll_mass_confusion",
"name": { "name": "scroll of mass confusion", "plural": "scrolls of mass confusion" }, "name": { "name": "scroll of mass confusion", "plural": "scrolls of mass confusion" },
"renderable": { "glyph": "?", "fg": "#00FFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "?", "fg": "#00FFFF", "bg": "#000000", "order": 4 },
"weight": 0.5, "weight": 0.5,
"value": 200, "value": 200,
"flags": ["CONSUMABLE", "DESTRUCTIBLE"], "flags": ["CONSUMABLE", "DESTRUCTIBLE"],
@ -115,7 +115,7 @@
{ {
"id": "scroll_magicmap", "id": "scroll_magicmap",
"name": { "name": "scroll of magic mapping", "plural": "scrolls of magic mapping" }, "name": { "name": "scroll of magic mapping", "plural": "scrolls of magic mapping" },
"renderable": { "glyph": "?", "fg": "#00FFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "?", "fg": "#00FFFF", "bg": "#000000", "order": 4 },
"weight": 0.5, "weight": 0.5,
"value": 50, "value": 50,
"flags": ["CONSUMABLE", "DESTRUCTIBLE", "MAGICMAP"], "flags": ["CONSUMABLE", "DESTRUCTIBLE", "MAGICMAP"],
@ -125,7 +125,7 @@
{ {
"id": "equip_dagger", "id": "equip_dagger",
"name": { "name": "dagger", "plural": "daggers" }, "name": { "name": "dagger", "plural": "daggers" },
"renderable": { "glyph": ")", "fg": "#808080", "bg": "#000000", "order": 2 }, "renderable": { "glyph": ")", "fg": "#808080", "bg": "#000000", "order": 4 },
"weight": 1, "weight": 1,
"value": 2, "value": 2,
"flags": ["EQUIP_MELEE"], "flags": ["EQUIP_MELEE"],
@ -134,7 +134,7 @@
{ {
"id": "equip_shortsword", "id": "equip_shortsword",
"name": { "name": "shortsword", "plural": "shortswords" }, "name": { "name": "shortsword", "plural": "shortswords" },
"renderable": { "glyph": ")", "fg": "#C0C0C0", "bg": "#000000", "order": 2 }, "renderable": { "glyph": ")", "fg": "#C0C0C0", "bg": "#000000", "order": 4 },
"weight": 2, "weight": 2,
"value": 10, "value": 10,
"flags": ["EQUIP_MELEE"], "flags": ["EQUIP_MELEE"],
@ -143,7 +143,7 @@
{ {
"id": "equip_rapier", "id": "equip_rapier",
"name": { "name": "rapier", "plural": "rapiers" }, "name": { "name": "rapier", "plural": "rapiers" },
"renderable": { "glyph": ")", "fg": "#C0C0C0", "bg": "#000000", "order": 2 }, "renderable": { "glyph": ")", "fg": "#C0C0C0", "bg": "#000000", "order": 4 },
"weight": 2, "weight": 2,
"value": 10, "value": 10,
"flags": ["EQUIP_MELEE"], "flags": ["EQUIP_MELEE"],
@ -152,7 +152,7 @@
{ {
"id": "equip_pitchfork", "id": "equip_pitchfork",
"name": { "name": "pitchfork", "plural": "pitchforks" }, "name": { "name": "pitchfork", "plural": "pitchforks" },
"renderable": { "glyph": ")", "fg": "#C0C0C0", "bg": "#000000", "order": 2 }, "renderable": { "glyph": ")", "fg": "#C0C0C0", "bg": "#000000", "order": 4 },
"weight": 2, "weight": 2,
"value": 5, "value": 5,
"flags": ["EQUIP_MELEE"], "flags": ["EQUIP_MELEE"],
@ -161,7 +161,7 @@
{ {
"id": "equip_sickle", "id": "equip_sickle",
"name": { "name": "sickle", "plural": "sickles" }, "name": { "name": "sickle", "plural": "sickles" },
"renderable": { "glyph": ")", "fg": "#C0C0C0", "bg": "#000000", "order": 2 }, "renderable": { "glyph": ")", "fg": "#C0C0C0", "bg": "#000000", "order": 4 },
"weight": 2, "weight": 2,
"value": 5, "value": 5,
"flags": ["EQUIP_MELEE"], "flags": ["EQUIP_MELEE"],
@ -170,7 +170,7 @@
{ {
"id": "equip_handaxe", "id": "equip_handaxe",
"name": { "name": "handaxe", "plural": "handaxes" }, "name": { "name": "handaxe", "plural": "handaxes" },
"renderable": { "glyph": ")", "fg": "#C0C0C0", "bg": "#000000", "order": 2 }, "renderable": { "glyph": ")", "fg": "#C0C0C0", "bg": "#000000", "order": 4 },
"weight": 2, "weight": 2,
"value": 5, "value": 5,
"flags": ["EQUIP_MELEE"], "flags": ["EQUIP_MELEE"],
@ -179,7 +179,7 @@
{ {
"id": "equip_longsword", "id": "equip_longsword",
"name": { "name": "longsword", "plural": "longswords" }, "name": { "name": "longsword", "plural": "longswords" },
"renderable": { "glyph": ")", "fg": "#FFF8DC", "bg": "#000000", "order": 2 }, "renderable": { "glyph": ")", "fg": "#FFF8DC", "bg": "#000000", "order": 4 },
"weight": 3, "weight": 3,
"value": 15, "value": 15,
"flags": ["EQUIP_MELEE"], "flags": ["EQUIP_MELEE"],
@ -188,7 +188,7 @@
{ {
"id": "equip_smallshield", "id": "equip_smallshield",
"name": { "name": "buckler", "plural": "bucklers" }, "name": { "name": "buckler", "plural": "bucklers" },
"renderable": { "glyph": "[", "fg": "#808080", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#808080", "bg": "#000000", "order": 4 },
"weight": 2, "weight": 2,
"value": 5, "value": 5,
"flags": ["EQUIP_SHIELD"], "flags": ["EQUIP_SHIELD"],
@ -197,7 +197,7 @@
{ {
"id": "equip_mediumshield", "id": "equip_mediumshield",
"name": { "name": "medium shield", "plural": "medium shields" }, "name": { "name": "medium shield", "plural": "medium shields" },
"renderable": { "glyph": "[", "fg": "#C0C0C0", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#C0C0C0", "bg": "#000000", "order": 4 },
"weight": 6, "weight": 6,
"value": 10, "value": 10,
"flags": ["EQUIP_SHIELD"], "flags": ["EQUIP_SHIELD"],
@ -206,7 +206,7 @@
{ {
"id": "equip_largeshield", "id": "equip_largeshield",
"name": { "name": "large shield", "plural": "large shields" }, "name": { "name": "large shield", "plural": "large shields" },
"renderable": { "glyph": "[", "fg": "#FFF8DC", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#FFF8DC", "bg": "#000000", "order": 4 },
"weight": 12, "weight": 12,
"value": 35, "value": 35,
"flags": ["EQUIP_SHIELD"], "flags": ["EQUIP_SHIELD"],
@ -215,7 +215,7 @@
{ {
"id": "equip_body_weakleather", "id": "equip_body_weakleather",
"name": { "name": "leather jacket", "plural": "leather jackets" }, "name": { "name": "leather jacket", "plural": "leather jackets" },
"renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 4 },
"weight": 8, "weight": 8,
"value": 5, "value": 5,
"flags": ["EQUIP_BODY"], "flags": ["EQUIP_BODY"],
@ -224,7 +224,7 @@
{ {
"id": "equip_body_leather", "id": "equip_body_leather",
"name": { "name": "leather chestpiece", "plural": "leather chestpiece" }, "name": { "name": "leather chestpiece", "plural": "leather chestpiece" },
"renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 4 },
"weight": 10, "weight": 10,
"value": 10, "value": 10,
"flags": ["EQUIP_BODY"], "flags": ["EQUIP_BODY"],
@ -233,7 +233,7 @@
{ {
"id": "equip_body_studdedleather", "id": "equip_body_studdedleather",
"name": { "name": "studded leather chestpiece", "plural": "studded leather chestpieces" }, "name": { "name": "studded leather chestpiece", "plural": "studded leather chestpieces" },
"renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 4 },
"weight": 13, "weight": 13,
"value": 45, "value": 45,
"flags": ["EQUIP_BODY"], "flags": ["EQUIP_BODY"],
@ -242,7 +242,7 @@
{ {
"id": "equip_body_ringmail_o", "id": "equip_body_ringmail_o",
"name": { "name": "orcish ring mail", "plural": "orcish ring mail" }, "name": { "name": "orcish ring mail", "plural": "orcish ring mail" },
"renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 4 },
"weight": 45, "weight": 45,
"value": 50, "value": 50,
"flags": ["EQUIP_BODY"], "flags": ["EQUIP_BODY"],
@ -251,7 +251,7 @@
{ {
"id": "equip_body_ringmail", "id": "equip_body_ringmail",
"name": { "name": "ring mail", "plural": "ring mail" }, "name": { "name": "ring mail", "plural": "ring mail" },
"renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 4 },
"weight": 45, "weight": 45,
"value": 70, "value": 70,
"flags": ["EQUIP_BODY"], "flags": ["EQUIP_BODY"],
@ -260,7 +260,7 @@
{ {
"id": "equip_head_leather", "id": "equip_head_leather",
"name": { "name": "leather cap", "plural": "leather caps" }, "name": { "name": "leather cap", "plural": "leather caps" },
"renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 4 },
"weight": 2, "weight": 2,
"value": 10, "value": 10,
"flags": ["EQUIP_HEAD"], "flags": ["EQUIP_HEAD"],
@ -269,7 +269,7 @@
{ {
"id": "equip_head_elvish", "id": "equip_head_elvish",
"name": { "name": "elvish leather helm", "plural": "elvish leather helms" }, "name": { "name": "elvish leather helm", "plural": "elvish leather helms" },
"renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 4 },
"weight": 2, "weight": 2,
"value": 25, "value": 25,
"flags": ["EQUIP_HEAD"], "flags": ["EQUIP_HEAD"],
@ -278,7 +278,7 @@
{ {
"id": "equip_head_o", "id": "equip_head_o",
"name": { "name": "orcish helm", "plural": "orcish helm" }, "name": { "name": "orcish helm", "plural": "orcish helm" },
"renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 4 },
"weight": 6, "weight": 6,
"value": 25, "value": 25,
"flags": ["EQUIP_HEAD"], "flags": ["EQUIP_HEAD"],
@ -287,7 +287,7 @@
{ {
"id": "equip_head_iron", "id": "equip_head_iron",
"name": { "name": "iron helm", "plural": "iron helm" }, "name": { "name": "iron helm", "plural": "iron helm" },
"renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 4 },
"weight": 10, "weight": 10,
"value": 45, "value": 45,
"flags": ["EQUIP_HEAD"], "flags": ["EQUIP_HEAD"],
@ -296,7 +296,7 @@
{ {
"id": "equip_feet_leather", "id": "equip_feet_leather",
"name": { "name": "leather shoes", "plural": "leather shoes" }, "name": { "name": "leather shoes", "plural": "leather shoes" },
"renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 4 },
"weight": 2, "weight": 2,
"value": 10, "value": 10,
"flags": ["EQUIP_FEET"] "flags": ["EQUIP_FEET"]
@ -304,7 +304,7 @@
{ {
"id": "equip_feet_elvish", "id": "equip_feet_elvish",
"name": { "name": "elvish leather shoes", "plural": "elvish leather shoes" }, "name": { "name": "elvish leather shoes", "plural": "elvish leather shoes" },
"renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 4 },
"weight": 2, "weight": 2,
"value": 25, "value": 25,
"flags": ["EQUIP_FEET"], "flags": ["EQUIP_FEET"],
@ -313,7 +313,7 @@
{ {
"id": "equip_feet_o", "id": "equip_feet_o",
"name": { "name": "orcish boots", "plural": "orcish boots" }, "name": { "name": "orcish boots", "plural": "orcish boots" },
"renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 4 },
"weight": 6, "weight": 6,
"value": 25, "value": 25,
"flags": ["EQUIP_FEET"], "flags": ["EQUIP_FEET"],
@ -322,7 +322,7 @@
{ {
"id": "equip_feet_iron", "id": "equip_feet_iron",
"name": { "name": "iron boots", "plural": "iron boots" }, "name": { "name": "iron boots", "plural": "iron boots" },
"renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 4 },
"weight": 10, "weight": 10,
"value": 45, "value": 45,
"flags": ["EQUIP_FEET"], "flags": ["EQUIP_FEET"],
@ -331,7 +331,7 @@
{ {
"id": "equip_neck_protection", "id": "equip_neck_protection",
"name": { "name": "amulet of protection", "plural": "amulets of protection" }, "name": { "name": "amulet of protection", "plural": "amulets of protection" },
"renderable": { "glyph": "\"", "fg": "#aa6000", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "\"", "fg": "#aa6000", "bg": "#000000", "order": 4 },
"weight": 1, "weight": 1,
"value": 200, "value": 200,
"flags": ["EQUIP_NECK"], "flags": ["EQUIP_NECK"],
@ -340,7 +340,7 @@
{ {
"id": "equip_back_protection", "id": "equip_back_protection",
"name": { "name": "cloak of protection", "plural": "cloaks of protection" }, "name": { "name": "cloak of protection", "plural": "cloaks of protection" },
"renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "[", "fg": "#aa6000", "bg": "#000000", "order": 4 },
"weight": 1, "weight": 1,
"value": 200, "value": 200,
"flags": ["EQUIP_BACK"], "flags": ["EQUIP_BACK"],
@ -349,7 +349,7 @@
{ {
"id": "wand_magicmissile", "id": "wand_magicmissile",
"name": { "name": "wand of magic missile", "plural": "wands of magic missile" }, "name": { "name": "wand of magic missile", "plural": "wands of magic missile" },
"renderable": { "glyph": "/", "fg": "#00FFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "/", "fg": "#00FFFF", "bg": "#000000", "order": 4 },
"weight": 2, "weight": 2,
"value": 100, "value": 100,
"flags": ["CHARGES"], "flags": ["CHARGES"],
@ -359,7 +359,7 @@
{ {
"id": "wand_fireball", "id": "wand_fireball",
"name": { "name": "wand of fireball", "plural": "wands of fireball" }, "name": { "name": "wand of fireball", "plural": "wands of fireball" },
"renderable": { "glyph": "/", "fg": "#00FFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "/", "fg": "#00FFFF", "bg": "#000000", "order": 4 },
"weight": 2, "weight": 2,
"value": 300, "value": 300,
"flags": ["CHARGES"], "flags": ["CHARGES"],
@ -369,7 +369,7 @@
{ {
"id": "wand_confusion", "id": "wand_confusion",
"name": { "name": "wand of confusion", "plural": "wands of confusion" }, "name": { "name": "wand of confusion", "plural": "wands of confusion" },
"renderable": { "glyph": "/", "fg": "#00FFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "/", "fg": "#00FFFF", "bg": "#000000", "order": 4 },
"weight": 2, "weight": 2,
"value": 200, "value": 200,
"flags": ["CHARGES"], "flags": ["CHARGES"],
@ -379,7 +379,7 @@
{ {
"id": "wand_digging", "id": "wand_digging",
"name": { "name": "wand of digging", "plural": "wands of digging" }, "name": { "name": "wand of digging", "plural": "wands of digging" },
"renderable": { "glyph": "/", "fg": "#00FFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "/", "fg": "#00FFFF", "bg": "#000000", "order": 4 },
"weight": 2, "weight": 2,
"value": 300, "value": 300,
"flags": ["CHARGES", "DIGGER"], "flags": ["CHARGES", "DIGGER"],
@ -389,7 +389,7 @@
{ {
"id": "food_rations", "id": "food_rations",
"name": { "name": "rations", "plural": "rations" }, "name": { "name": "rations", "plural": "rations" },
"renderable": { "glyph": "%", "fg": "#FFA07A", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "%", "fg": "#FFA07A", "bg": "#000000", "order": 4 },
"weight": 1, "weight": 1,
"value": 1, "value": 1,
"flags": ["FOOD", "CONSUMABLE"] "flags": ["FOOD", "CONSUMABLE"]
@ -397,7 +397,7 @@
{ {
"id": "food_apple", "id": "food_apple",
"name": { "name": "apple", "plural": "apples" }, "name": { "name": "apple", "plural": "apples" },
"renderable": { "glyph": "%", "fg": "#00FF00", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "%", "fg": "#00FF00", "bg": "#000000", "order": 4 },
"weight": 0.5, "weight": 0.5,
"value": 1, "value": 1,
"flags": ["FOOD", "CONSUMABLE"] "flags": ["FOOD", "CONSUMABLE"]

View file

@ -2,7 +2,7 @@
{ {
"id": "npc_barkeep", "id": "npc_barkeep",
"name": "barkeep", "name": "barkeep",
"renderable": { "glyph": "@", "sprite": { "id": "@" }, "fg": "#EE82EE", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "@", "sprite": { "id": "@" }, "fg": "#EE82EE", "bg": "#000000", "order": 3 },
"flags": ["NEUTRAL", "IS_HUMAN"], "flags": ["NEUTRAL", "IS_HUMAN"],
"vision_range": 4, "vision_range": 4,
"quips": ["Drink?", "Something to eat?", "Don't go out on an empty stomach."] "quips": ["Drink?", "Something to eat?", "Don't go out on an empty stomach."]
@ -10,7 +10,7 @@
{ {
"id": "npc_townsperson", "id": "npc_townsperson",
"name": "townsperson", "name": "townsperson",
"renderable": { "glyph": "@", "sprite": { "id": "@" }, "fg": "#9fa86c", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "@", "sprite": { "id": "@" }, "fg": "#9fa86c", "bg": "#000000", "order": 3 },
"flags": ["NEUTRAL", "RANDOM_PATH", "IS_HUMAN"], "flags": ["NEUTRAL", "RANDOM_PATH", "IS_HUMAN"],
"vision_range": 4, "vision_range": 4,
"quips": ["Hello!", "Good morning.", "<a quiet complaint about chores>"] "quips": ["Hello!", "Good morning.", "<a quiet complaint about chores>"]
@ -18,7 +18,7 @@
{ {
"id": "npc_drunk", "id": "npc_drunk",
"name": "drunk", "name": "drunk",
"renderable": { "glyph": "@", "sprite": { "id": "@" }, "fg": "#a0a83c", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "@", "sprite": { "id": "@" }, "fg": "#a0a83c", "bg": "#000000", "order": 3 },
"flags": ["NEUTRAL", "IS_HUMAN"], "flags": ["NEUTRAL", "IS_HUMAN"],
"vision_range": 4, "vision_range": 4,
"quips": ["Hic!", "H-Hic'.", "Get me 'nother, would you?"] "quips": ["Hic!", "H-Hic'.", "Get me 'nother, would you?"]
@ -26,7 +26,7 @@
{ {
"id": "npc_fisher", "id": "npc_fisher",
"name": "fisher", "name": "fisher",
"renderable": { "glyph": "@", "sprite": { "id": "@" }, "fg": "#3ca3a8", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "@", "sprite": { "id": "@" }, "fg": "#3ca3a8", "bg": "#000000", "order": 3 },
"flags": ["NEUTRAL", "IS_HUMAN"], "flags": ["NEUTRAL", "IS_HUMAN"],
"vision_range": 4, "vision_range": 4,
"quips": ["Hey."] "quips": ["Hey."]
@ -34,7 +34,7 @@
{ {
"id": "npc_dockworker", "id": "npc_dockworker",
"name": "dock worker", "name": "dock worker",
"renderable": { "glyph": "@", "sprite": { "id": "@" }, "fg": "#68d8de", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "@", "sprite": { "id": "@" }, "fg": "#68d8de", "bg": "#000000", "order": 3 },
"flags": ["NEUTRAL", "IS_HUMAN"], "flags": ["NEUTRAL", "IS_HUMAN"],
"vision_range": 4, "vision_range": 4,
"quips": ["No boat for a few days.", "Not much for us to do."] "quips": ["No boat for a few days.", "Not much for us to do."]
@ -42,7 +42,7 @@
{ {
"id": "npc_priest", "id": "npc_priest",
"name": "priest", "name": "priest",
"renderable": { "glyph": "@", "sprite": { "id": "@" }, "fg": "#FFFFFF", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "@", "sprite": { "id": "@" }, "fg": "#FFFFFF", "bg": "#000000", "order": 3 },
"flags": ["NEUTRAL", "IS_HUMAN"], "flags": ["NEUTRAL", "IS_HUMAN"],
"vision_range": 4, "vision_range": 4,
"quips": ["Light's givings.", "<a quiet prayer>", "Bless you."] "quips": ["Light's givings.", "<a quiet prayer>", "Bless you."]
@ -50,7 +50,7 @@
{ {
"id": "npc_miner", "id": "npc_miner",
"name": "miner", "name": "miner",
"renderable": { "glyph": "@", "sprite": { "id": "@" }, "fg": "#946123", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "@", "sprite": { "id": "@" }, "fg": "#946123", "bg": "#000000", "order": 3 },
"flags": ["NEUTRAL", "IS_HUMAN"], "flags": ["NEUTRAL", "IS_HUMAN"],
"vision_range": 4, "vision_range": 4,
"attacks": [{ "name": "hits", "hit_bonus": 0, "damage": "1d8" }], "attacks": [{ "name": "hits", "hit_bonus": 0, "damage": "1d8" }],
@ -59,7 +59,7 @@
{ {
"id": "npc_guard", "id": "npc_guard",
"name": "smalltown guard", "name": "smalltown guard",
"renderable": { "glyph": "@", "sprite": { "id": "@" }, "fg": "#034efc", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "@", "sprite": { "id": "@" }, "fg": "#034efc", "bg": "#000000", "order": 3 },
"flags": ["NEUTRAL", "RANDOM_PATH", "IS_HUMAN"], "flags": ["NEUTRAL", "RANDOM_PATH", "IS_HUMAN"],
"level": 2, "level": 2,
"attacks": [{ "name": "hits", "hit_bonus": 0, "damage": "1d8" }], "attacks": [{ "name": "hits", "hit_bonus": 0, "damage": "1d8" }],
@ -69,7 +69,7 @@
{ {
"id": "rat", "id": "rat",
"name": "rat", "name": "rat",
"renderable": { "glyph": "r", "sprite": { "id": "r" }, "fg": "#aa6000", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "r", "sprite": { "id": "r" }, "fg": "#aa6000", "bg": "#000000", "order": 3 },
"flags": [], "flags": [],
"bac": 6, "bac": 6,
"attacks": [{ "name": "bites", "hit_bonus": 0, "damage": "1d2" }], "attacks": [{ "name": "bites", "hit_bonus": 0, "damage": "1d2" }],
@ -78,7 +78,7 @@
{ {
"id": "chicken", "id": "chicken",
"name": "chicken", "name": "chicken",
"renderable": { "glyph": "c", "sprite": { "id": "c" }, "fg": "#BB6000", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "c", "sprite": { "id": "c" }, "fg": "#BB6000", "bg": "#000000", "order": 3 },
"flags": ["HERBIVORE"], "flags": ["HERBIVORE"],
"bac": 8, "bac": 8,
"attacks": [{ "name": "bites", "hit_bonus": 0, "damage": "1d3" }] "attacks": [{ "name": "bites", "hit_bonus": 0, "damage": "1d3" }]
@ -86,7 +86,7 @@
{ {
"id": "deer_little", "id": "deer_little",
"name": "fawn", "name": "fawn",
"renderable": { "glyph": "q", "sprite": { "id": "q" }, "fg": "#a57037", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "q", "sprite": { "id": "q" }, "fg": "#a57037", "bg": "#000000", "order": 3 },
"flags": ["HERBIVORE"], "flags": ["HERBIVORE"],
"bac": 8, "bac": 8,
"attacks": [{ "name": "kicks", "hit_bonus": 0, "damage": "1d2" }] "attacks": [{ "name": "kicks", "hit_bonus": 0, "damage": "1d2" }]
@ -94,7 +94,7 @@
{ {
"id": "sheep_little", "id": "sheep_little",
"name": "lamb", "name": "lamb",
"renderable": { "glyph": "q", "sprite": { "id": "q" }, "fg": "#e7e7e7", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "q", "sprite": { "id": "q" }, "fg": "#e7e7e7", "bg": "#000000", "order": 3 },
"flags": ["HERBIVORE", "SMALL_GROUP"], "flags": ["HERBIVORE", "SMALL_GROUP"],
"bac": 10, "bac": 10,
"attacks": [{ "name": "kicks", "hit_bonus": 0, "damage": "1d2" }] "attacks": [{ "name": "kicks", "hit_bonus": 0, "damage": "1d2" }]
@ -102,7 +102,7 @@
{ {
"id": "chicken_little", "id": "chicken_little",
"name": "chick", "name": "chick",
"renderable": { "glyph": "c", "sprite": { "id": "c" }, "fg": "#fae478", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "c", "sprite": { "id": "c" }, "fg": "#fae478", "bg": "#000000", "order": 3 },
"flags": ["HERBIVORE"], "flags": ["HERBIVORE"],
"bac": 10, "bac": 10,
"attacks": [{ "name": "bites", "hit_bonus": 0, "damage": "1d2" }] "attacks": [{ "name": "bites", "hit_bonus": 0, "damage": "1d2" }]
@ -110,7 +110,7 @@
{ {
"id": "horse_little", "id": "horse_little",
"name": "pony", "name": "pony",
"renderable": { "glyph": "u", "sprite": { "id": "u" }, "fg": "#b36c29", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "u", "sprite": { "id": "u" }, "fg": "#b36c29", "bg": "#000000", "order": 3 },
"flags": ["HERBIVORE", "MULTIATTACK"], "flags": ["HERBIVORE", "MULTIATTACK"],
"level": 3, "level": 3,
"bac": 6, "bac": 6,
@ -124,7 +124,7 @@
{ {
"id": "horse", "id": "horse",
"name": "horse", "name": "horse",
"renderable": { "glyph": "u", "sprite": { "id": "u" }, "fg": "#744d29", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "u", "sprite": { "id": "u" }, "fg": "#744d29", "bg": "#000000", "order": 3 },
"flags": ["MULTIATTACK"], "flags": ["MULTIATTACK"],
"level": 5, "level": 5,
"bac": 5, "bac": 5,
@ -137,7 +137,7 @@
{ {
"id": "horse_large", "id": "horse_large",
"name": "warhorse", "name": "warhorse",
"renderable": { "glyph": "u", "sprite": { "id": "u" }, "fg": "#8a3520", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "u", "sprite": { "id": "u" }, "fg": "#8a3520", "bg": "#000000", "order": 3 },
"flags": ["MULTIATTACK"], "flags": ["MULTIATTACK"],
"level": 7, "level": 7,
"bac": 4, "bac": 4,
@ -150,7 +150,7 @@
{ {
"id": "rat_giant", "id": "rat_giant",
"name": "giant rat", "name": "giant rat",
"renderable": { "glyph": "r", "sprite": { "id": "r" }, "fg": "#bb8000", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "r", "sprite": { "id": "r" }, "fg": "#bb8000", "bg": "#000000", "order": 3 },
"flags": ["SMALL_GROUP"], "flags": ["SMALL_GROUP"],
"level": 1, "level": 1,
"bac": 7, "bac": 7,
@ -160,7 +160,7 @@
{ {
"id": "dog_little", "id": "dog_little",
"name": "little dog", "name": "little dog",
"renderable": { "glyph": "d", "sprite": { "id": "d" }, "fg": "#FFFFFF", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "d", "sprite": { "id": "d" }, "fg": "#FFFFFF", "bg": "#000000", "order": 3 },
"flags": ["NEUTRAL"], "flags": ["NEUTRAL"],
"level": 2, "level": 2,
"bac": 6, "bac": 6,
@ -171,7 +171,7 @@
{ {
"id": "dog", "id": "dog",
"name": "dog", "name": "dog",
"renderable": { "glyph": "d", "sprite": { "id": "d" }, "fg": "#EEEEEE", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "d", "sprite": { "id": "d" }, "fg": "#EEEEEE", "bg": "#000000", "order": 3 },
"flags": [], "flags": [],
"level": 4, "level": 4,
"bac": 5, "bac": 5,
@ -181,7 +181,7 @@
{ {
"id": "dog_large", "id": "dog_large",
"name": "large dog", "name": "large dog",
"renderable": { "glyph": "d", "sprite": { "id": "d" }, "fg": "#DDDDDD", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "d", "sprite": { "id": "d" }, "fg": "#DDDDDD", "bg": "#000000", "order": 3 },
"flags": [], "flags": [],
"level": 6, "level": 6,
"bac": 4, "bac": 4,
@ -191,7 +191,7 @@
{ {
"id": "gnome", "id": "gnome",
"name": "gnome", "name": "gnome",
"renderable": { "glyph": "G", "sprite": { "id": "g2" }, "fg": "#AA5500", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "G", "sprite": { "id": "g2" }, "fg": "#AA5500", "bg": "#000000", "order": 3 },
"flags": ["SMALL_GROUP", "IS_GNOME"], "flags": ["SMALL_GROUP", "IS_GNOME"],
"level": 1, "level": 1,
"speed": 6, "speed": 6,
@ -201,7 +201,7 @@
{ {
"id": "zombie_gnome", "id": "zombie_gnome",
"name": "gnome zombie", "name": "gnome zombie",
"renderable": { "glyph": "z", "sprite": { "id": "z" }, "fg": "#AA5500", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "z", "sprite": { "id": "z" }, "fg": "#AA5500", "bg": "#000000", "order": 3 },
"flags": ["MINDLESS"], "flags": ["MINDLESS"],
"level": 1, "level": 1,
"speed": 6, "speed": 6,
@ -212,7 +212,7 @@
{ {
"id": "goblin", "id": "goblin",
"name": "goblin", "name": "goblin",
"renderable": { "glyph": "g", "sprite": { "id": "g" }, "fg": "#00FF00", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "g", "sprite": { "id": "g" }, "fg": "#00FF00", "bg": "#000000", "order": 3 },
"flags": [], "flags": [],
"level": 1, "level": 1,
"speed": 9, "speed": 9,
@ -221,7 +221,7 @@
{ {
"id": "kobold", "id": "kobold",
"name": "kobold", "name": "kobold",
"renderable": { "glyph": "k", "sprite": { "id": "k" }, "fg": "#AA5500", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "k", "sprite": { "id": "k" }, "fg": "#AA5500", "bg": "#000000", "order": 3 },
"flags": [], "flags": [],
"level": 1, "level": 1,
"speed": 6, "speed": 6,
@ -231,7 +231,7 @@
{ {
"id": "zombie_kobold", "id": "zombie_kobold",
"name": "kobold zombie", "name": "kobold zombie",
"renderable": { "glyph": "z", "sprite": { "id": "z" }, "fg": "#AA5500", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "z", "sprite": { "id": "z" }, "fg": "#AA5500", "bg": "#000000", "order": 3 },
"flags": ["MINDLESS"], "flags": ["MINDLESS"],
"level": 1, "level": 1,
"speed": 6, "speed": 6,
@ -242,7 +242,7 @@
{ {
"id": "kobold_large", "id": "kobold_large",
"name": "large kobold", "name": "large kobold",
"renderable": { "glyph": "k", "sprite": { "id": "k" }, "fg": "#70461b", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "k", "sprite": { "id": "k" }, "fg": "#70461b", "bg": "#000000", "order": 3 },
"flags": [], "flags": [],
"level": 1, "level": 1,
"speed": 6, "speed": 6,
@ -253,7 +253,7 @@
{ {
"id": "zombie_orc", "id": "zombie_orc",
"name": "orc zombie", "name": "orc zombie",
"renderable": { "glyph": "z", "sprite": { "id": "z" }, "fg": "#dbd830", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "z", "sprite": { "id": "z" }, "fg": "#dbd830", "bg": "#000000", "order": 3 },
"flags": ["MINDLESS"], "flags": ["MINDLESS"],
"level": 2, "level": 2,
"bac": 9, "bac": 9,
@ -265,7 +265,7 @@
{ {
"id": "dwarf", "id": "dwarf",
"name": "dwarf", "name": "dwarf",
"renderable": { "glyph": "h", "sprite": { "id": "h" }, "fg": "#d61b1b", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "h", "sprite": { "id": "h" }, "fg": "#d61b1b", "bg": "#000000", "order": 3 },
"flags": ["IS_DWARF"], "flags": ["IS_DWARF"],
"level": 2, "level": 2,
"bac": 10, "bac": 10,
@ -277,7 +277,7 @@
{ {
"id": "zombie_dwarf", "id": "zombie_dwarf",
"name": "dwarf zombie", "name": "dwarf zombie",
"renderable": { "glyph": "z", "sprite": { "id": "z" }, "fg": "#d61b1b", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "z", "sprite": { "id": "z" }, "fg": "#d61b1b", "bg": "#000000", "order": 3 },
"flags": ["MINDLESS"], "flags": ["MINDLESS"],
"level": 2, "level": 2,
"bac": 9, "bac": 9,
@ -289,7 +289,7 @@
{ {
"id": "kobold_captain", "id": "kobold_captain",
"name": "kobold captain", "name": "kobold captain",
"renderable": { "glyph": "k", "sprite": { "id": "k" }, "fg": "#9331ac", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "k", "sprite": { "id": "k" }, "fg": "#9331ac", "bg": "#000000", "order": 3 },
"flags": [], "flags": [],
"level": 2, "level": 2,
"speed": 6, "speed": 6,
@ -300,7 +300,7 @@
{ {
"id": "spider_cave", "id": "spider_cave",
"name": "cave spider", "name": "cave spider",
"renderable": { "glyph": "s", "sprite": { "id": "s" }, "fg": "#6b6b6b", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "s", "sprite": { "id": "s" }, "fg": "#6b6b6b", "bg": "#000000", "order": 3 },
"flags": ["SMALL_GROUP"], "flags": ["SMALL_GROUP"],
"level": 1, "level": 1,
"bac": 3, "bac": 3,
@ -311,7 +311,7 @@
{ {
"id": "ant_worker", "id": "ant_worker",
"name": "worker ant", "name": "worker ant",
"renderable": { "glyph": "a", "sprite": { "id": "a" }, "fg": "#ca7631", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "a", "sprite": { "id": "a" }, "fg": "#ca7631", "bg": "#000000", "order": 3 },
"flags": ["SMALL_GROUP"], "flags": ["SMALL_GROUP"],
"level": 2, "level": 2,
"bac": 3, "bac": 3,
@ -322,7 +322,7 @@
{ {
"id": "ant_soldier", "id": "ant_soldier",
"name": "soldier ant", "name": "soldier ant",
"renderable": { "glyph": "a", "sprite": { "id": "a" }, "fg": "#ca3f26", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "a", "sprite": { "id": "a" }, "fg": "#ca3f26", "bg": "#000000", "order": 3 },
"flags": ["SMALL_GROUP", "POISON_RES"], "flags": ["SMALL_GROUP", "POISON_RES"],
"level": 3, "level": 3,
"bac": 3, "bac": 3,
@ -336,7 +336,7 @@
{ {
"id": "caterpillar_cave", "id": "caterpillar_cave",
"name": "caterpillar", "name": "caterpillar",
"renderable": { "glyph": "a", "sprite": { "id": "a" }, "fg": "#6b6b6b", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "a", "sprite": { "id": "a" }, "fg": "#6b6b6b", "bg": "#000000", "order": 3 },
"flags": ["SMALL_GROUP"], "flags": ["SMALL_GROUP"],
"level": 1, "level": 1,
"bac": 3, "bac": 3,
@ -347,7 +347,7 @@
{ {
"id": "caterpillar_giant", "id": "caterpillar_giant",
"name": "giant caterpillar", "name": "giant caterpillar",
"renderable": { "glyph": "a", "sprite": { "id": "a" }, "fg": "#b9aeae", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "a", "sprite": { "id": "a" }, "fg": "#b9aeae", "bg": "#000000", "order": 3 },
"flags": ["SMALL_GROUP"], "flags": ["SMALL_GROUP"],
"level": 2, "level": 2,
"bac": 7, "bac": 7,
@ -358,7 +358,7 @@
{ {
"id": "jackal", "id": "jackal",
"name": "jackal", "name": "jackal",
"renderable": { "glyph": "d", "sprite": { "id": "d" }, "fg": "#AA5500", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "d", "sprite": { "id": "d" }, "fg": "#AA5500", "bg": "#000000", "order": 3 },
"flags": ["CARNIVORE", "SMALL_GROUP"], "flags": ["CARNIVORE", "SMALL_GROUP"],
"bac": 7, "bac": 7,
"attacks": [{ "name": "bites", "hit_bonus": 0, "damage": "1d2" }] "attacks": [{ "name": "bites", "hit_bonus": 0, "damage": "1d2" }]
@ -366,7 +366,7 @@
{ {
"id": "fox", "id": "fox",
"name": "fox", "name": "fox",
"renderable": { "glyph": "d", "sprite": { "id": "d" }, "fg": "#FF0000", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "d", "sprite": { "id": "d" }, "fg": "#FF0000", "bg": "#000000", "order": 3 },
"flags": ["CARNIVORE"], "flags": ["CARNIVORE"],
"bac": 7, "bac": 7,
"attacks": [{ "name": "bites", "hit_bonus": 0, "damage": "1d3" }] "attacks": [{ "name": "bites", "hit_bonus": 0, "damage": "1d3" }]
@ -374,7 +374,7 @@
{ {
"id": "coyote", "id": "coyote",
"name": "coyote", "name": "coyote",
"renderable": { "glyph": "d", "sprite": { "id": "d" }, "fg": "#6E3215", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "d", "sprite": { "id": "d" }, "fg": "#6E3215", "bg": "#000000", "order": 3 },
"flags": ["CARNIVORE", "SMALL_GROUP"], "flags": ["CARNIVORE", "SMALL_GROUP"],
"level": 1, "level": 1,
"bac": 7, "bac": 7,
@ -383,7 +383,7 @@
{ {
"id": "wolf", "id": "wolf",
"name": "wolf", "name": "wolf",
"renderable": { "glyph": "d", "sprite": { "id": "d" }, "fg": "#5E4225", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "d", "sprite": { "id": "d" }, "fg": "#5E4225", "bg": "#000000", "order": 3 },
"flags": ["CARNIVORE"], "flags": ["CARNIVORE"],
"level": 5, "level": 5,
"bac": 4, "bac": 4,
@ -392,7 +392,7 @@
{ {
"id": "goblin_chieftain", "id": "goblin_chieftain",
"name": "goblin chieftain", "name": "goblin chieftain",
"renderable": { "glyph": "g", "sprite": { "id": "g" }, "fg": "#9331ac", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "g", "sprite": { "id": "g" }, "fg": "#9331ac", "bg": "#000000", "order": 3 },
"flags": [], "flags": [],
"level": 2, "level": 2,
"speed": 9, "speed": 9,
@ -402,7 +402,7 @@
{ {
"id": "orc", "id": "orc",
"name": "orc", "name": "orc",
"renderable": { "glyph": "o", "sprite": { "id": "o" }, "fg": "#00FF00", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "o", "sprite": { "id": "o" }, "fg": "#00FF00", "bg": "#000000", "order": 3 },
"flags": ["SMALL_GROUP"], "flags": ["SMALL_GROUP"],
"level": 1, "level": 1,
"speed": 9, "speed": 9,
@ -412,7 +412,7 @@
{ {
"id": "orc_hill", "id": "orc_hill",
"name": "hill orc", "name": "hill orc",
"renderable": { "glyph": "o", "sprite": { "id": "o" }, "fg": "#dbd830", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "o", "sprite": { "id": "o" }, "fg": "#dbd830", "bg": "#000000", "order": 3 },
"flags": ["LARGE_GROUP"], "flags": ["LARGE_GROUP"],
"level": 2, "level": 2,
"speed": 9, "speed": 9,
@ -422,7 +422,7 @@
{ {
"id": "orc_captain", "id": "orc_captain",
"name": "orc captain", "name": "orc captain",
"renderable": { "glyph": "o", "sprite": { "id": "o" }, "fg": "#9331ac", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "o", "sprite": { "id": "o" }, "fg": "#9331ac", "bg": "#000000", "order": 3 },
"flags": ["MULTIATTACK"], "flags": ["MULTIATTACK"],
"level": 5, "level": 5,
"speed": 5, "speed": 5,
@ -435,7 +435,7 @@
{ {
"id": "warg", "id": "warg",
"name": "warg", "name": "warg",
"renderable": { "glyph": "d", "sprite": { "id": "d" }, "fg": "#8b7164", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "d", "sprite": { "id": "d" }, "fg": "#8b7164", "bg": "#000000", "order": 3 },
"flags": ["SMALL_GROUP"], "flags": ["SMALL_GROUP"],
"level": 7, "level": 7,
"bac": 4, "bac": 4,
@ -446,7 +446,7 @@
{ {
"id": "jaguar", "id": "jaguar",
"name": "jaguar", "name": "jaguar",
"renderable": { "glyph": "f", "sprite": { "id": "f" }, "fg": "#d3b947", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "f", "sprite": { "id": "f" }, "fg": "#d3b947", "bg": "#000000", "order": 3 },
"flags": ["MULTIATTACK"], "flags": ["MULTIATTACK"],
"level": 4, "level": 4,
"bac": 6, "bac": 6,
@ -461,7 +461,7 @@
{ {
"id": "lynx", "id": "lynx",
"name": "lynx", "name": "lynx",
"renderable": { "glyph": "f", "sprite": { "id": "f" }, "fg": "#b5d347", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "f", "sprite": { "id": "f" }, "fg": "#b5d347", "bg": "#000000", "order": 3 },
"flags": ["MULTIATTACK"], "flags": ["MULTIATTACK"],
"level": 5, "level": 5,
"bac": 6, "bac": 6,
@ -476,7 +476,7 @@
{ {
"id": "panther", "id": "panther",
"name": "panther", "name": "panther",
"renderable": { "glyph": "f", "sprite": { "id": "f" }, "fg": "#58554e", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "f", "sprite": { "id": "f" }, "fg": "#58554e", "bg": "#000000", "order": 3 },
"flags": ["MULTIATTACK"], "flags": ["MULTIATTACK"],
"level": 5, "level": 5,
"bac": 6, "bac": 6,
@ -491,7 +491,7 @@
{ {
"id": "ogre", "id": "ogre",
"name": "ogre", "name": "ogre",
"renderable": { "glyph": "O", "sprite": { "id": "o2" }, "fg": "#10A70d", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "O", "sprite": { "id": "o2" }, "fg": "#10A70d", "bg": "#000000", "order": 3 },
"flags": ["SMALL_GROUP"], "flags": ["SMALL_GROUP"],
"level": 5, "level": 5,
"bac": 5, "bac": 5,
@ -502,7 +502,7 @@
{ {
"id": "treant_small", "id": "treant_small",
"name": "treant sapling", "name": "treant sapling",
"renderable": { "glyph": "♠️", "sprite": { "id": "spade" }, "fg": "#10570d", "bg": "#000000", "order": 1 }, "renderable": { "glyph": "♠️", "sprite": { "id": "spade" }, "fg": "#10570d", "bg": "#000000", "order": 3 },
"flags": ["LARGE_GROUP", "GREEN_BLOOD", "FIRE_WEAK"], "flags": ["LARGE_GROUP", "GREEN_BLOOD", "FIRE_WEAK"],
"level": 2, "level": 2,
"bac": 12, "bac": 12,

View file

@ -2,89 +2,89 @@
{ {
"id": "door", "id": "door",
"name": "door", "name": "door",
"renderable": { "glyph": "+", "sprite": { "id": "door_wood_h_closed", "alt": "door_wood_h_open", "colour": false }, "fg": "#00FFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "+", "sprite": { "id": "door_wood_h_closed", "alt": "door_wood_h_open", "colour": false }, "fg": "#00FFFF", "bg": "#000000", "order": 5 },
"flags": ["DOOR"] "door": { "open": false, "locked": false, "blocks_vis": true, "blocks_move": true }
}, },
{ {
"id": "trapdoor", "id": "trapdoor",
"name": "trapdoor", "name": "trapdoor",
"renderable": { "glyph": "+", "sprite": { "id": "trapdoor_closed", "alt": "trapdoor_open2", "colour": false, "alt_y": 1.0 }, "fg": "#00FFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "+", "sprite": { "id": "trapdoor_closed", "alt": "trapdoor_open2", "colour": false, "alt_y": 1.0 }, "fg": "#00FFFF", "bg": "#000000", "order": 1 },
"flags": ["DOOR"] "door": { "open": false, "locked": false, "blocks_vis": false, "blocks_move": true }
}, },
{ {
"id": "prop_altar", "id": "prop_altar",
"name": "altar", "name": "altar",
"renderable": { "glyph": "_", "sprite": { "id": "tombstone", "colour": false }, "fg": "#FFFFFF", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "_", "sprite": { "id": "tombstone", "colour": false }, "fg": "#FFFFFF", "bg": "#000000", "order": 5 },
"flags": ["ENTRY_TRIGGER"], "flags": ["ENTRY_TRIGGER"],
"effects": { "heal": "8d8" } "effects": { "heal": "8d8" }
}, },
{ {
"id": "prop_keg", "id": "prop_keg",
"name": "keg", "name": "keg",
"renderable": { "glyph": "φ", "fg": "#AAAAAA", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "φ", "fg": "#AAAAAA", "bg": "#000000", "order": 5 },
"flags": [] "flags": []
}, },
{ {
"id": "prop_table", "id": "prop_table",
"name": "table", "name": "table",
"renderable": { "glyph": "-", "sprite": { "id": "table", "colour": false }, "fg": "#AAAAAA", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "-", "sprite": { "id": "table", "colour": false }, "fg": "#AAAAAA", "bg": "#000000", "order": 5 },
"flags": [] "flags": []
}, },
{ {
"id": "prop_hay", "id": "prop_hay",
"name": "hay", "name": "hay",
"renderable": { "glyph": "%", "sprite": { "id": "%" }, "fg": "#c7ad39", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "%", "sprite": { "id": "%" }, "fg": "#c7ad39", "bg": "#000000", "order": 5 },
"flags": [] "flags": []
}, },
{ {
"id": "prop_statue", "id": "prop_statue",
"name": "statue", "name": "statue",
"renderable": { "glyph": "@", "sprite": { "id": "statue_warrior", "colour": false }, "fg": "#ffffff", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "@", "sprite": { "id": "statue_warrior", "colour": false }, "fg": "#ffffff", "bg": "#000000", "order": 5 },
"flags": [] "flags": []
}, },
{ {
"id": "prop_bed", "id": "prop_bed",
"name": "bed", "name": "bed",
"renderable": { "glyph": "=", "sprite": { "id": "bed", "colour": false }, "fg": "#AAAAAA", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "=", "sprite": { "id": "bed", "colour": false }, "fg": "#AAAAAA", "bg": "#000000", "order": 5 },
"flags": [] "flags": []
}, },
{ {
"id": "prop_chair", "id": "prop_chair",
"name": "chair", "name": "chair",
"renderable": { "glyph": "└", "sprite": { "id": "chair", "colour": false }, "fg": "#AAAAAA", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "└", "sprite": { "id": "chair", "colour": false }, "fg": "#AAAAAA", "bg": "#000000", "order": 5 },
"flags": [] "flags": []
}, },
{ {
"id": "prop_candle", "id": "prop_candle",
"name": "candle", "name": "candle",
"renderable": { "glyph": "Ä", "sprite": { "id": "candles_a1", "colour": false }, "fg": "#FFA500", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "Ä", "sprite": { "id": "candles_a1", "colour": false }, "fg": "#FFA500", "bg": "#000000", "order": 4 },
"flags": [] "flags": []
}, },
{ {
"id": "trap_bear", "id": "trap_bear",
"name": "bear trap", "name": "bear trap",
"renderable": { "glyph": "^", "sprite": { "id": "trap", "colour": false }, "fg": "#e6e6e6", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "^", "sprite": { "id": "trap", "colour": false }, "fg": "#e6e6e6", "bg": "#000000", "order": 5 },
"flags": ["HIDDEN", "ENTRY_TRIGGER", "SINGLE_ACTIVATION"], "flags": ["HIDDEN", "ENTRY_TRIGGER", "SINGLE_ACTIVATION"],
"effects": { "damage": "2d4" } "effects": { "damage": "2d4" }
}, },
{ {
"id": "trap_mini_mine", "id": "trap_mini_mine",
"name": "mini-mine", "name": "mini-mine",
"renderable": { "glyph": "^", "sprite": { "id": "^" }, "fg": "#ff1e00", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "^", "sprite": { "id": "^" }, "fg": "#ff1e00", "bg": "#000000", "order": 5 },
"flags": ["ENTRY_TRIGGER", "SINGLE_ACTIVATION"], "flags": ["ENTRY_TRIGGER", "SINGLE_ACTIVATION"],
"effects": { "damage": "2d4", "aoe": "3" } "effects": { "damage": "2d4", "aoe": "3" }
}, },
{ {
"id": "trap_stonefall", "id": "trap_stonefall",
"name": "stonefall trap", "name": "stonefall trap",
"renderable": { "glyph": "^", "sprite": { "id": "^" }, "fg": "#beb5a7", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "^", "sprite": { "id": "^" }, "fg": "#beb5a7", "bg": "#000000", "order": 5 },
"flags": ["HIDDEN", "ENTRY_TRIGGER", "SINGLE_ACTIVATION"], "flags": ["HIDDEN", "ENTRY_TRIGGER", "SINGLE_ACTIVATION"],
"effects": { "damage": "2d10" } "effects": { "damage": "2d10" }
}, },
{ {
"id": "trap_confusion", "id": "trap_confusion",
"name": "magic trap", "name": "magic trap",
"renderable": { "glyph": "^", "sprite": { "id": "magic_e1", "colour": false }, "fg": "#df07df", "bg": "#000000", "order": 2 }, "renderable": { "glyph": "^", "sprite": { "id": "magic_e1", "colour": false }, "fg": "#df07df", "bg": "#000000", "order": 5 },
"flags": ["HIDDEN", "ENTRY_TRIGGER", "SINGLE_ACTIVATION"], "flags": ["HIDDEN", "ENTRY_TRIGGER", "SINGLE_ACTIVATION"],
"effects": { "confusion": "3" } "effects": { "confusion": "3" }
} }

View file

@ -88,6 +88,12 @@ pub struct Renderable {
pub fg: RGB, pub fg: RGB,
pub bg: RGB, pub bg: RGB,
pub render_order: i32, pub render_order: i32,
// 0 = always on top: particle effects
// 1 = things that should appear infront of the player: railings, etc.
// 2 = the player
// 3 = other mobs
// 4 = interactable items
// 5 = other props: table, etc.
} }
#[derive(Component, Debug, Serialize, Deserialize, Clone)] #[derive(Component, Debug, Serialize, Deserialize, Clone)]
@ -175,6 +181,9 @@ pub struct BlocksVisibility {}
#[derive(Component, Debug, Serialize, Deserialize, Clone)] #[derive(Component, Debug, Serialize, Deserialize, Clone)]
pub struct Door { pub struct Door {
pub open: bool, pub open: bool,
pub locked: bool,
pub blocks_vis: bool,
pub blocks_move: bool,
} }
#[derive(Serialize, Deserialize, Copy, Clone, PartialEq)] #[derive(Serialize, Deserialize, Copy, Clone, PartialEq)]

View file

@ -271,6 +271,7 @@ impl TownBuilder {
building.1 + building.3 / 2 building.1 + building.3 / 2
); );
build_data.map.tiles[exit_idx] = TileType::DownStair; build_data.map.tiles[exit_idx] = TileType::DownStair;
build_data.spawn_list.push((exit_idx, "trapdoor".to_string()));
let mut to_place: Vec<&str> = vec!["npc_miner", "npc_miner", "npc_guard", "prop_chair"]; let mut to_place: Vec<&str> = vec!["npc_miner", "npc_miner", "npc_guard", "prop_chair"];
self.random_building_spawn(building, build_data, rng, &mut to_place, exit_idx) self.random_building_spawn(building, build_data, rng, &mut to_place, exit_idx)
} }

View file

@ -164,10 +164,10 @@ fn draw_map(ecs: &World) -> String {
if idx == map.xy_idx(point.x, point.y) { if idx == map.xy_idx(point.x, point.y) {
glyph_u16 = to_cp437('@'); glyph_u16 = to_cp437('@');
} else if crate::spatial::has_tile_content(idx) { } else if crate::spatial::has_tile_content(idx) {
let mut render_order = 0; let mut render_order = 4;
crate::spatial::for_each_tile_content(idx, |e| { crate::spatial::for_each_tile_content(idx, |e| {
if let Some(renderable) = ecs.read_storage::<Renderable>().get(e) { if let Some(renderable) = ecs.read_storage::<Renderable>().get(e) {
if renderable.render_order >= render_order { if renderable.render_order <= render_order {
render_order = renderable.render_order; render_order = renderable.render_order;
glyph_u16 = renderable.glyph; glyph_u16 = renderable.glyph;
} }

View file

@ -115,12 +115,16 @@ pub fn try_door(i: i32, j: i32, ecs: &mut World) -> RunState {
} }
} else { } else {
door.open = false; door.open = false;
if door.blocks_vis {
blocks_visibility blocks_visibility
.insert(potential_target, BlocksVisibility {}) .insert(potential_target, BlocksVisibility {})
.expect("Unable to insert BlocksVisibility."); .expect("Unable to insert BlocksVisibility.");
}
if door.blocks_move {
blocks_movement blocks_movement
.insert(potential_target, BlocksTile {}) .insert(potential_target, BlocksTile {})
.expect("Unable to insert BlocksTile."); .expect("Unable to insert BlocksTile.");
}
if let Some(name) = names.get(potential_target) { if let Some(name) = names.get(potential_target) {
gamelog::Logger gamelog::Logger
::new() ::new()

View file

@ -9,4 +9,13 @@ pub struct Prop {
pub renderable: Option<Renderable>, pub renderable: Option<Renderable>,
pub flags: Option<Vec<String>>, pub flags: Option<Vec<String>>,
pub effects: Option<HashMap<String, String>>, pub effects: Option<HashMap<String, String>>,
pub door: Option<Door>,
}
#[derive(Deserialize, Debug)]
pub struct Door {
pub open: bool,
pub locked: bool,
pub blocks_vis: bool,
pub blocks_move: bool,
} }

View file

@ -53,11 +53,6 @@ macro_rules! apply_flags {
"BLOCKS_VISIBILITY" => $eb = $eb.with(BlocksVisibility {}), "BLOCKS_VISIBILITY" => $eb = $eb.with(BlocksVisibility {}),
"ENTRY_TRIGGER" => $eb = $eb.with(EntryTrigger {}), "ENTRY_TRIGGER" => $eb = $eb.with(EntryTrigger {}),
"SINGLE_ACTIVATION" => $eb = $eb.with(SingleActivation {}), "SINGLE_ACTIVATION" => $eb = $eb.with(SingleActivation {}),
"DOOR" => {
$eb = $eb.with(Door { open: false });
$eb = $eb.with(BlocksVisibility {});
$eb = $eb.with(BlocksTile {});
}
// --- EFFECT FLAGS --- // --- EFFECT FLAGS ---
"FOOD" => $eb = $eb.with(ProvidesNutrition {}), "FOOD" => $eb = $eb.with(ProvidesNutrition {}),
"CONSUMABLE" => $eb = $eb.with(Consumable {}), "CONSUMABLE" => $eb = $eb.with(Consumable {}),
@ -656,6 +651,23 @@ pub fn spawn_named_prop(
if let Some(effects_list) = &prop_template.effects { if let Some(effects_list) = &prop_template.effects {
apply_effects!(effects_list, eb); apply_effects!(effects_list, eb);
} }
if let Some(door) = &prop_template.door {
eb = eb.with(Door {
open: door.open,
locked: door.locked,
blocks_vis: door.blocks_vis,
blocks_move: door.blocks_move,
});
if !door.open {
if door.blocks_vis {
eb = eb.with(BlocksVisibility {});
}
if door.blocks_move {
eb = eb.with(BlocksTile {});
}
}
}
// BUILD THE ENTITY // BUILD THE ENTITY
return Some(eb.build()); return Some(eb.build());
} }
@ -701,11 +713,11 @@ fn get_renderable_component(
recolour: if let Some(colour) = spriteinfo.colour { recolour: if let Some(colour) = spriteinfo.colour {
colour colour
} else { } else {
false true
}, },
alt: spriteinfo.alt.clone(), alt: spriteinfo.alt.clone(),
offset: (x, y), offset: (x, -y), // Invert y so that positive y = move upwards.
alt_offset: (x, y), alt_offset: (alt_x, -alt_y),
}) })
} else { } else {
None None

View file

@ -61,7 +61,7 @@ pub fn player(ecs: &mut World, player_x: i32, player_y: i32) -> Entity {
sprite: Some(SpriteInfo::colourable("@")), sprite: Some(SpriteInfo::colourable("@")),
fg: RGB::named(YELLOW), fg: RGB::named(YELLOW),
bg: RGB::named(BLACK), bg: RGB::named(BLACK),
render_order: 0, render_order: 2,
}) })
.with(Bleeds { colour: RGB::named(BLOODSTAIN_COLOUR) }) .with(Bleeds { colour: RGB::named(BLOODSTAIN_COLOUR) })
.with(Player {}) .with(Player {})