|
@@ -48,133 +48,210 @@ See the `spawn` command and `evennia.prototypes.spawner.spawn` for more info.
|
|
|
|
|
|
"""
|
|
|
|
|
|
-ROOM_EMPTY = {
|
|
|
- "prototype_key": "room_empty",
|
|
|
+# TEMPLATES
|
|
|
+
|
|
|
+ROOM = {
|
|
|
+ "prototype_key": "room",
|
|
|
+ "prototype_tags": ["room"],
|
|
|
"key": "empty room",
|
|
|
"desc": "An empty room.",
|
|
|
+ "map_icon": "|w□|n",
|
|
|
"typeclass": "typeclasses.rooms.IndoorRoom"
|
|
|
}
|
|
|
|
|
|
-EXIT_EMPTY = {
|
|
|
- "prototype_key": "exit_empty",
|
|
|
+EXIT = {
|
|
|
+ "prototype_key": "exit",
|
|
|
+ "prototype_tags": ["room", "exit"],
|
|
|
"key": "corridor",
|
|
|
"desc": "An empty corridor.",
|
|
|
"typeclass": "typeclasses.exits.BaseDoor"
|
|
|
}
|
|
|
|
|
|
-BROKEN_CROWN = {
|
|
|
- "prototype_key": "broken_crown",
|
|
|
- "key": "broken crown",
|
|
|
- "desc": "An old iron crown, dented and covered in rust.",
|
|
|
- "typeclass": "typeclasses.objects.EquippableItem",
|
|
|
- "slot": 'head'
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-MULTICOLORED_ROBE = {
|
|
|
- "prototype_key": "multicolored robe",
|
|
|
- "key": "multicolored robe",
|
|
|
- "desc": "A long robe, made of many different colored cloth patches.",
|
|
|
- "typeclass": "typeclasses.objects.EquippableItem",
|
|
|
- "slot": 'torso'
|
|
|
+ITEM = {
|
|
|
+ "prototype_key": "item",
|
|
|
+ "prototype_tags": ["item"],
|
|
|
+ "key": "item",
|
|
|
+ "desc": "An unremarkable item made of dreams.",
|
|
|
+ "typeclass": "typeclasses.objects.Item"
|
|
|
}
|
|
|
|
|
|
-PLAIN_TROUSERS = {
|
|
|
- "prototype_key": "plain trousers",
|
|
|
- "key": "plain trousers",
|
|
|
- "desc": "Simple but robust cloth trousers.",
|
|
|
+ITEM_EQUIPPABLE = {
|
|
|
+ "prototype_key": "item_equippable",
|
|
|
+ "prototype_tags": ["item", "equippable"],
|
|
|
+ "key": "equippable item",
|
|
|
+ "desc": "An unremarkable equippable item made of dreams.",
|
|
|
"typeclass": "typeclasses.objects.EquippableItem",
|
|
|
- "slot": 'legs'
|
|
|
+ "slot": 'head'
|
|
|
}
|
|
|
|
|
|
-LEATHER_BOOTS = {
|
|
|
- "prototype_key": "leather boots",
|
|
|
- "key": "leather boots",
|
|
|
- "desc": "A worn pair of leather boots.",
|
|
|
- "typeclass": "typeclasses.objects.EquippableItem",
|
|
|
- "slot": 'foot'
|
|
|
+FEATURE = {
|
|
|
+ "prototype_key": "feature",
|
|
|
+ "prototype_tags": ["feature"],
|
|
|
+ "key": "feature",
|
|
|
+ "desc": "Something slightly remarkable.",
|
|
|
+ "feature_desc": "A slightly remarkable |wfeature|n.",
|
|
|
+ "typeclass": "typeclasses.objects.Feature"
|
|
|
}
|
|
|
|
|
|
FEATURE_CONTAINER = {
|
|
|
"prototype_key": "feature_container",
|
|
|
- "key": "chest",
|
|
|
- "desc": "A chest.",
|
|
|
- "feature_desc": "A |wchest|n lies on the floor.",
|
|
|
+ "prototype_tags": ["feature", "container"],
|
|
|
+ "key": "generic container",
|
|
|
+ "desc": "A generic container.",
|
|
|
+ "feature_desc": "A dreadful |wgeneric container|n lies on the floor.",
|
|
|
"typeclass": "typeclasses.objects.ContainerFeature"
|
|
|
}
|
|
|
|
|
|
+# FEATURES
|
|
|
+
|
|
|
+F_ARMORED_SKELETON = {
|
|
|
+ "prototype_parent": "FEATURE",
|
|
|
+ "prototype_tags": ["feature"],
|
|
|
+ "prototype_key": "f_armored_skeleton",
|
|
|
+ "key": "skeleton of a soldier in armor",
|
|
|
+ "aliases": ["skeleton"],
|
|
|
+ "desc": "The skeleton of a soldier, still locked in their armor now "
|
|
|
+ "rusty. They lie leaning against the barricade where he died, their bony hand "
|
|
|
+ "clutched to the handle of a broken spear.",
|
|
|
+ "feature_desc": "A |wskeleton|n in a broken armor is collapsed on the floor behind the table.",
|
|
|
+ "locks": "search:all()"
|
|
|
+}
|
|
|
+
|
|
|
+F_RUBBLE_01 = {
|
|
|
+ "prototype_parent": "FEATURE",
|
|
|
+ "prototype_tags": ["feature"],
|
|
|
+ "prototype_key": "f_rubble_01",
|
|
|
+ "key": "pile of stones",
|
|
|
+ "aliases": ["pile"],
|
|
|
+ "desc": "A large root system pierced the ceiling of this room, shattering one"
|
|
|
+ " of the load-bearing boards. Some of the covering stones now lie damaged on the ground,"
|
|
|
+ "filling the floor with debris.",
|
|
|
+ "feature_desc": "A |wpile of stones|n and a collapsed beam from the ceiling make it difficult to cross this area.",
|
|
|
+ "locks": "search:all()"
|
|
|
+}
|
|
|
+
|
|
|
FEATURE_SKELETON = {
|
|
|
+ "prototype_parent": "FEATURE",
|
|
|
+ "prototype_tags": ["feature"],
|
|
|
"prototype_key": "feature_skeleton",
|
|
|
"key": "rugged skeleton",
|
|
|
+ "aliases": ["skeleton"],
|
|
|
"desc": "An old humanoid skeleton, eroded by the passage of time.",
|
|
|
- "feature_desc": "A rugged humanoid |wskeleton|n lies on the floor, theirs bony hand still clutching a broken spear. What remains of theirs armor and clothings is too battered to let you recognize their origins.",
|
|
|
- "typeclass": "typeclasses.objects.Feature"
|
|
|
+ "feature_desc": "A rugged humanoid |wskeleton|n lies on the floor, theirs bony hand still clutching a broken "
|
|
|
+ "spear. What remains of theirs armor and clothing is too battered to let you recognize their "
|
|
|
+ "origins.",
|
|
|
+ "locks": "search:all()"
|
|
|
}
|
|
|
|
|
|
+SUMMONING_CIRCLE = {
|
|
|
+ "prototype_parent": "feature",
|
|
|
+ "prototype_tags": ["feature"],
|
|
|
+ "prototype_key": "summoning_circle",
|
|
|
+ "key": "circle of summoning",
|
|
|
+ "aliases": ["circle", "summoning circle"],
|
|
|
+ "desc": "A circular pattern of mystical runes drawn with blood.",
|
|
|
+ "feature_desc": "An arcane |wcircle of summoning|n is draw with blood on the floor.",
|
|
|
+}
|
|
|
+
|
|
|
+# ITEMS
|
|
|
+
|
|
|
STONE = {
|
|
|
+ "prototype_parent": "ITEM",
|
|
|
+ "prototype_tags": ["item"],
|
|
|
"prototype_key": "stone",
|
|
|
"key": "stone",
|
|
|
- "desc": "An unremarkable stone made of granite.",
|
|
|
"aliases": ["granite stone"],
|
|
|
- "typeclass": "typeclasses.objects.Item"
|
|
|
+ "desc": "An unremarkable stone made of granite."
|
|
|
}
|
|
|
|
|
|
BIG_STONE = {
|
|
|
+ "prototype_parent": "ITEM",
|
|
|
+ "prototype_tags": ["item"],
|
|
|
"prototype_key": "big stone",
|
|
|
"key": "big stone",
|
|
|
- "desc": "An unremarkable stone made of granite. It seems very heavy.",
|
|
|
"aliases": ["big granite stone"],
|
|
|
+ "desc": "An unremarkable stone made of granite. It seems very heavy.",
|
|
|
"get_err_msg": "You are not strong enough to lift this stone.",
|
|
|
"locks": "get:attr_gt(strength, 50)",
|
|
|
- "typeclass": "typeclasses.objects.Item"
|
|
|
+}
|
|
|
+
|
|
|
+BROKEN_CROWN = {
|
|
|
+ "prototype_parent": "ITEM_EQUIPPABLE",
|
|
|
+ "prototype_tags": ["item", "equippable"],
|
|
|
+ "prototype_key": "broken_crown",
|
|
|
+ "key": "broken crown",
|
|
|
+ "desc": "An old iron crown, dented and covered in rust.",
|
|
|
+ "slot": 'head'
|
|
|
+}
|
|
|
+
|
|
|
+MULTICOLORED_ROBE = {
|
|
|
+ "prototype_parent": "ITEM_EQUIPPABLE",
|
|
|
+ "prototype_tags": ["item", "equippable"],
|
|
|
+ "prototype_key": "multicolored robe",
|
|
|
+ "key": "multicolored robe",
|
|
|
+ "desc": "A long robe, made of many different colored cloth patches.",
|
|
|
+ "slot": 'torso'
|
|
|
+}
|
|
|
+
|
|
|
+PLAIN_TROUSERS = {
|
|
|
+ "prototype_parent": "ITEM_EQUIPPABLE",
|
|
|
+ "prototype_tags": ["item", "equippable"],
|
|
|
+ "prototype_key": "plain trousers",
|
|
|
+ "key": "plain trousers",
|
|
|
+ "desc": "Simple but robust cloth trousers.",
|
|
|
+ "slot": 'legs'
|
|
|
+}
|
|
|
+
|
|
|
+LEATHER_BOOTS = {
|
|
|
+ "prototype_parent": "ITEM_EQUIPPABLE",
|
|
|
+ "prototype_tags": ["item", "equippable"],
|
|
|
+ "prototype_key": "leather boots",
|
|
|
+ "key": "leather boots",
|
|
|
+ "desc": "A worn pair of leather boots.",
|
|
|
+ "slot": 'foot'
|
|
|
}
|
|
|
|
|
|
LANTERN = {
|
|
|
+ "prototype_parent": "ITEM",
|
|
|
+ "prototype_tags": ["item"],
|
|
|
"prototype_key": "lantern",
|
|
|
"key": "old lantern",
|
|
|
- "desc": "An old lantern, still filled with oil.",
|
|
|
"aliases": ["lantern"],
|
|
|
+ "desc": "An old lantern, still filled with oil.",
|
|
|
"attrs": [("is_lit", True, None, None)],
|
|
|
"tags": [("emit_light", "effect", None)],
|
|
|
"locks": "light:all()",
|
|
|
- "typeclass": "typeclasses.objects.Item"
|
|
|
}
|
|
|
|
|
|
BLADE_TOOL = {
|
|
|
+ "prototype_parent": "ITEM_EQUIPPABLE",
|
|
|
+ "prototype_tags": ["item", "equippable"],
|
|
|
"prototype_key": "blade tool",
|
|
|
"key": "steel blade",
|
|
|
- "desc": "A steel blade, with an oak handle wrapped in cloth.",
|
|
|
"aliases": ["blade"],
|
|
|
+ "desc": "A steel blade, with an oak handle wrapped in cloth.",
|
|
|
"tags": [("blade", "crafting_tool", None)],
|
|
|
- "typeclass": "typeclasses.objects.EquippableItem",
|
|
|
"slot": 'foot'
|
|
|
}
|
|
|
|
|
|
WOOD_MATERIAL = {
|
|
|
+ "prototype_parent": "ITEM",
|
|
|
+ "prototype_tags": ["item"],
|
|
|
"prototype_key": "wood_material",
|
|
|
"key": "piece of wood",
|
|
|
- "desc": "An unremarkable piece of wood.",
|
|
|
"aliases": ["wood"],
|
|
|
+ "desc": "An unremarkable piece of wood.",
|
|
|
"tags": [("wood", "crafting_material", None)],
|
|
|
- "typeclass": "typeclasses.objects.Item"
|
|
|
}
|
|
|
|
|
|
BLOOD_MATERIAL = {
|
|
|
+ "prototype_parent": "ITEM",
|
|
|
+ "prototype_tags": ["item"],
|
|
|
"prototype_key": "blood_material",
|
|
|
"key": "vial of blood",
|
|
|
- "desc": "A vial of blood. Fresh.",
|
|
|
"aliases": ["blood, vial"],
|
|
|
+ "desc": "A vial of blood. Fresh.",
|
|
|
"tags": [("blood", "crafting_material", None)],
|
|
|
- "typeclass": "typeclasses.objects.Item"
|
|
|
-}
|
|
|
-
|
|
|
-SUMMONING_CIRCLE = {
|
|
|
- "prototype_key": "summoning_circle",
|
|
|
- "key": "summoning circle",
|
|
|
- "aliases": ["circle"],
|
|
|
- "desc": "A circular pattern of mystical runes drawn with blood.",
|
|
|
- "feature_desc": "An arcane |wcircle of summoning|n is draw with blood on the floor.",
|
|
|
- "typeclass": "typeclasses.objects.Feature"
|
|
|
}
|
|
|
|
|
|
## example of module-based prototypes using
|