aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2023-03-31 11:57:23 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2023-03-31 11:57:23 -0700
commitfdae8bc5e868d7b5c4bb6ddbe9e667ffd21258fb (patch)
treefd8a783f056ac4a1900a5e51a4d48eed346b42c7
parentBackport fixes/optimizations found when porting to DDA. (diff)
downloadcataclysm-bn-mod_battle-maid-redone-fdae8bc5e868d7b5c4bb6ddbe9e667ffd21258fb.tar.xz
Convert to weapon categories.
Define several unique weapon categories to limit intended weapons.
-rw-r--r--martialarts.json153
-rw-r--r--melee.json23
-rw-r--r--weapon_categories.json190
3 files changed, 220 insertions, 146 deletions
diff --git a/martialarts.json b/martialarts.json
index 300659b..6b4403d 100644
--- a/martialarts.json
+++ b/martialarts.json
@@ -82,147 +82,20 @@
"tec_maid_grab"
],
"weapons": [
- "mop",
- "battle_mop",
- "bagh_nakha",
- "maid_claw",
- "bokken_fake",
- "bokken_inferior",
- "bokken",
- "katana_fake",
- "katana_inferior",
- "katana",
- "tanto_fake",
- "tanto_inferior",
- "tanto",
- "shikomi_stick",
- "shikomi_stick_draw",
- "umbrella",
- "shikomi_kasa",
- "shikomi_kasa_draw",
- "bullwhip",
- "spiked_whip",
- "broom",
- "brutal_broom",
- "knife_butter",
- "knife_steak",
- "knife_butcher",
- "knife_paring",
- "knife_chef",
- "knife_carving",
- "knife_bread",
- "knife_vegetable_cleaver",
- "knife_meat_cleaver",
- "vorpal_kitchen_knife",
- "spoon",
- "fork",
- "carving_fork",
- "spork",
- "foon",
"chopsticks",
- "ladle",
- "destruction_otama",
- "rolling_pin",
- "pan",
- "steel_pan",
- "copper_pan",
- "slaying_pan",
- "rapier",
- "rapier_fake",
- "broadsword",
- "broadsword_inferior",
- "broadsword_fake"
+
+ "rolling_pin"
+ ],
+ "weapon_category": [
+ "DUELING_SWORDS",
+ "1H_MEDIEVAL_SWORDS",
+ "1H_JAPANESE_SWORDS",
+ "JAPANESE_GLAIVES",
+ "CLAWS",
+ "WHIPS",
+ "UMBRELLAS",
+ "KITCHEN_IMPLEMENTS",
+ "CLEANING_IMPLEMENTS"
]
- },
- {
- "id": "style_aikido",
- "copy-from": "style_aikido",
- "type": "martial_art",
- "extend": {
- "weapons": [
- "maid_claw"
- ]
- }
- },
- {
- "id": "style_eskrima",
- "copy-from": "style_eskrima",
- "type": "martial_art",
- "extend": {
- "weapons": [
- "vorpal_kitchen_knife"
- ]
- }
- },
- {
- "id": "style_judo",
- "copy-from": "style_judo",
- "type": "martial_art",
- "extend": {
- "weapons": [
- "maid_claw"
- ]
- }
- },
- {
- "id": "style_krav_maga",
- "copy-from": "style_krav_maga",
- "type": "martial_art",
- "extend": {
- "weapons": [
- "vorpal_kitchen_knife"
- ]
- }
- },
- {
- "id": "style_ninjutsu",
- "copy-from": "style_ninjutsu",
- "type": "martial_art",
- "extend": {
- "weapons": [
- "shikomi_kasa",
- "shikomi_kasa_draw",
- "shikomi_stick",
- "shikomi_stick_draw",
- "battle_mop",
- "vorpal_kitchen_knife",
- "maid_claw"
- ]
- }
- },
- {
- "id": "style_niten",
- "copy-from": "style_niten",
- "type": "martial_art",
- "extend": {
- "weapons": [
- "shikomi_kasa",
- "shikomi_kasa_draw",
- "shikomi_stick",
- "shikomi_stick_draw"
- ]
- }
- },
- {
- "id": "style_silat",
- "copy-from": "style_silat",
- "type": "martial_art",
- "extend": {
- "weapons": [
- "brutal_broom",
- "battle_mop",
- "vorpal_kitchen_knife"
- ]
- }
- },
- {
- "id": "style_sojutsu",
- "copy-from": "style_sojutsu",
- "type": "martial_art",
- "extend": {
- "weapons": [
- "brutal_broom"
- ]
- }
}
]
diff --git a/melee.json b/melee.json
index 8c88686..a60e88a 100644
--- a/melee.json
+++ b/melee.json
@@ -5,6 +5,7 @@
"looks_like": "knife_chef",
"type": "TOOL",
"category": "weapons",
+ "weapon_category": [ "KNIVES", "KITCHEN_IMPLEMENTS" ],
"name": { "str": "maid's kitchen knife" },
"description": "It is a kitchen knife suitable for combat. It slices through enemies of your Mistress just as easily as it would food.",
"weight": "558 g",
@@ -27,6 +28,7 @@
"looks_like": "steel_pan",
"type":"TOOL",
"category": "weapons",
+ "weapon_category": [ "KITCHEN_IMPLEMENTS" ],
"name": { "str": "maid's frying pan" },
"description": "It is a frying pan suitable for combat. It can make short work of threats to your Mistress just as easily as it does food.",
"weight": "750 g",
@@ -47,8 +49,9 @@
"id": "brutal_broom",
"//": "Loosely based on the naginata.",
"looks_like": "broom",
- "type":"GENERIC",
+ "type": "GENERIC",
"category": "weapons",
+ "weapon_category": [ "JAPANESE_GLAIVES", "CLEANING_IMPLEMENTS" ],
"name": { "str": "maid's broom" },
"description": "It is a broom suitable for combat. Inside the handle is a blade, hidden yet unyielding, just like the passion you have for your Mistress.",
"weight": "1200 g",
@@ -68,8 +71,9 @@
"id": "spiked_whip",
"//": "Loosely based on the bullwhip. Has piercing spikes on the end, but is a single whip unlike the scourge. Think shinobi and not dominatrix.",
"looks_like": "bullwhip",
- "type":"GENERIC",
+ "type": "GENERIC",
"category": "weapons",
+ "weapon_category": [ "WHIPS" ],
"name": { "str": "maid's whip" },
"description": "It is a leather whip weighted with countless spikes. It can used to disarm opponents.",
"weight": "1300 g",
@@ -88,8 +92,9 @@
{
"id": "shikomi_kasa",
"looks_like": "umbrella",
- "type":"GENERIC",
+ "type": "GENERIC",
"category": "weapons",
+ "weapon_category": [ "BATONS", "UMBRELLAS" ],
"name": { "str": "maid's umbrella" },
"description": "The kind of fancy umbrella you imagine sharing with your Mistress on rainy days. It conceals a hidden blade for self-defence.",
"weight": "1000 g",
@@ -112,8 +117,9 @@
{
"id": "shikomi_kasa_draw",
"looks_like": "wakizashi",
- "type":"GENERIC",
+ "type": "GENERIC",
"category": "weapons",
+ "weapon_category": [ "1H_SWORDS", "SHORT_SWORDS", "JAPANESE_SWORDS", "1H_JAPANESE_SWORDS" ],
"name": { "str": "maid's umbrella (unsheathed)", "str_pl": "maid's umbrellas (unsheathed)" },
"description": "The kind of fancy umbrella you imagine sharing with your Mistress on rainy days. The hidden blade is currently drawn.",
"weight": "1000 g",
@@ -136,8 +142,9 @@
{
"id": "shikomi_stick",
"looks_like": "bokken",
- "type":"GENERIC",
+ "type": "GENERIC",
"category": "weapons",
+ "weapon_category": [ "1H_SWORDS", "JAPANESE_SWORDS", "1H_JAPANESE_SWORDS" ],
"name": { "str": "maid's shirasaya" },
"description": "A matching wooden handle and scabbard, consealing full length katana blade. It appears as a solid wooden stick to those unfamiliar with it, due to how well the handle and scabbard fit together. It reminds you of how well you and your Mistress fit together.",
"weight": "1350 g",
@@ -160,8 +167,9 @@
{
"id": "shikomi_stick_draw",
"looks_like": "katana",
- "type":"GENERIC",
+ "type": "GENERIC",
"category": "weapons",
+ "weapon_category": [ "1H_SWORDS", "JAPANESE_SWORDS", "1H_JAPANESE_SWORDS" ],
"name": { "str": "maid's shirasaya (unsheathed)", "str_pl": "maid's shirasayas (unsheathed)" },
"description": "A matching wooden handle and scabbard, consealing full length katana blade. It appears as a solid wooden stick to those unfamiliar with it, due to how well the handle and scabbard fit together. It reminds you of how well you and your Mistress fit together.",
"weight": "1350 g",
@@ -188,6 +196,7 @@
"looks_like": "knuckle_katar",
"type": "GENERIC",
"category": "weapons",
+ "weapon_category": [ "FIST_WEAPONS", "CLAWS" ],
"name": { "str_sp": "maid's claws" },
"description": "A pair of sharp claws made from four steel blades and a leather bracer. They strap tightly to your wrist and forearm on both arms.",
"weight": "1000 g",
@@ -210,6 +219,7 @@
"looks_like": "mop",
"type": "TOOL",
"category": "weapons",
+ "weapon_category": [ "QUARTERSTAVES", "CLEANING_IMPLEMENTS" ],
"name": { "str": "maid's mop" },
"description": "A mop with a wooden handle that actually conceals a steel core, making it a formidable weapon for taking out whatever trash may pose a threat to your Mistress.",
"weight": "1800 g",
@@ -231,6 +241,7 @@
"looks_like": "ladle",
"type": "TOOL",
"category": "weapons",
+ "weapon_category": [ "KITCHEN_IMPLEMENTS" ],
"name": { "str": "maid's ladle" },
"description": "A weapon used by a maid when she's seriously angry. Scary!",
"weight": "2000 g",
diff --git a/weapon_categories.json b/weapon_categories.json
new file mode 100644
index 0000000..d2480b4
--- /dev/null
+++ b/weapon_categories.json
@@ -0,0 +1,190 @@
+[
+ {
+ "type": "weapon_category",
+ "id": "KITCHEN_IMPLEMENTS",
+ "name": "Kitchen Utensils",
+ "//": "Tools used to eat or cook food."
+ },
+ {
+ "type": "weapon_category",
+ "id": "CLEANING_IMPLEMENTS",
+ "name": "Cleaning Implements",
+ "//": "Tools used for cleaning, such as brooms and mops."
+ },
+ {
+ "type": "weapon_category",
+ "id": "UMBRELLAS",
+ "name": "Umbrellas",
+ "//": "Just umbrellas."
+ },
+ {
+ "type": "weapon_category",
+ "id": "CLAWS",
+ "name": "Claws",
+ "//": "Melee weapons that act as claws."
+ },
+ {
+ "type": "weapon_category",
+ "id": "1H_JAPANESE_SWORDS",
+ "name": "1H Japanese Swords",
+ "//": "Swords associated with Japanese culture, meant to be wielded with one hand."
+ },
+ {
+ "type": "weapon_category",
+ "id": "JAPANESE_GLAIVES",
+ "name": "Japanese Glaives",
+ "//": "More or less just naginatas."
+ },
+ {
+ "id": "base_utensil",
+ "copy-from": "base_utensil",
+ "type": "GENERIC",
+ "name": { "str": "generic utensil" },
+ "extend": { "weapon_category": [ "KITCHEN_IMPLEMENTS" ] }
+ },
+ {
+ "id": "base_silverware",
+ "copy-from": "base_silverware",
+ "type": "GENERIC",
+ "name": { "str": "generic silverware" },
+ "extend": { "weapon_category": [ "KITCHEN_IMPLEMENTS" ] }
+ },
+ {
+ "id": "base_kitchen_knife",
+ "copy-from": "base_kitchen_knife",
+ "type": "TOOL",
+ "category": "tools",
+ "name": { "str": "generic kitchen knife", "str_pl": "generic kitchen knives" },
+ "extend": { "weapon_category": [ "KITCHEN_IMPLEMENTS" ] }
+ },
+ {
+ "id": "pan",
+ "copy-from": "pan",
+ "category": "tools",
+ "name": { "str": "cast-iron frying pan" },
+ "extend": { "weapon_category": [ "KITCHEN_IMPLEMENTS" ] }
+ },
+ {
+ "id": "steel_pan",
+ "copy-from": "steel_pan",
+ "category": "tools",
+ "name": { "str": "steel frying pan" },
+ "extend": { "weapon_category": [ "KITCHEN_IMPLEMENTS" ] }
+ },
+ {
+ "id": "copper_pan",
+ "copy-from": "copper_pan",
+ "category": "tools",
+ "name": { "str": "copper frying pan" },
+ "extend": { "weapon_category": [ "KITCHEN_IMPLEMENTS" ] }
+ },
+ {
+ "id": "broom",
+ "copy-from": "broom",
+ "type": "GENERIC",
+ "name": { "str": "broom" },
+ "extend": { "weapon_category": [ "CLEANING_IMPLEMENTS" ] }
+ },
+ {
+ "id": "mop",
+ "copy-from": "mop",
+ "type": "GENERIC",
+ "name": { "str": "mop" },
+ "extend": { "weapon_category": [ "CLEANING_IMPLEMENTS" ] }
+ },
+ {
+ "id": "umbrella",
+ "copy-from": "umbrella",
+ "type": "GENERIC",
+ "name": { "str": "umbrella" },
+ "extend": { "weapon_category": [ "UMBRELLAS" ] }
+ },
+ {
+ "id": "bagh_nakha",
+ "copy-from": "bagh_nakha",
+ "type": "GENERIC",
+ "category": "weapons",
+ "name": { "str_sp": "tiger claws" },
+ "extend": { "weapon_category": [ "CLAWS" ] }
+ },
+ {
+ "id": "knuckle_katar",
+ "copy-from": "knuckle_katar",
+ "type": "GENERIC",
+ "category": "weapons",
+ "name": { "str": "razorbar katar" },
+ "extend": { "weapon_category": [ "CLAWS" ] }
+ },
+ {
+ "id": "bokken",
+ "copy-from": "bokken",
+ "type": "GENERIC",
+ "category": "weapons",
+ "name": { "str": "bokken" },
+ "extend": { "weapon_category": [ "1H_JAPANESE_SWORDS" ] }
+ },
+ {
+ "id": "wakizashi",
+ "copy-from": "wakizashi",
+ "type": "GENERIC",
+ "category": "weapons",
+ "name": { "str": "wakizashi" },
+ "extend": { "weapon_category": [ "1H_JAPANESE_SWORDS" ] }
+ },
+ {
+ "id": "katana",
+ "copy-from": "katana",
+ "type": "GENERIC",
+ "category": "weapons",
+ "name": { "str": "katana" },
+ "extend": { "weapon_category": [ "1H_JAPANESE_SWORDS" ] }
+ },
+ {
+ "id": "naginata",
+ "copy-from": "naginata",
+ "type": "GENERIC",
+ "category": "weapons",
+ "name": { "str_sp": "naginata" },
+ "extend": { "weapon_category": [ "JAPANESE_GLAIVES" ] }
+ },
+ {
+ "id": "cavalry_sabre",
+ "copy-from": "cavalry_sabre",
+ "type": "GENERIC",
+ "category": "weapons",
+ "name": { "str": "cavalry saber" },
+ "extend": { "weapon_category": [ "1H_MEDIEVAL_SWORDS" ] }
+ },
+ {
+ "id": "estoc",
+ "copy-from": "estoc",
+ "type": "GENERIC",
+ "category": "weapons",
+ "name": { "str": "estoc" },
+ "extend": { "weapon_category": [ "1H_MEDIEVAL_SWORDS" ] }
+ },
+ {
+ "id": "longsword",
+ "copy-from": "longsword",
+ "type": "GENERIC",
+ "category": "weapons",
+ "name": { "str": "longsword" },
+ "extend": { "weapon_category": [ "1H_MEDIEVAL_SWORDS" ] }
+ },
+ {
+ "id": "arming_sword",
+ "copy-from": "arming_sword",
+ "type": "GENERIC",
+ "category": "weapons",
+ "name": { "str": "arming sword" },
+ "extend": { "weapon_category": [ "1H_MEDIEVAL_SWORDS" ] }
+ },
+ {
+ "id": "broadsword",
+ "copy-from": "broadsword",
+ "type": "GENERIC",
+ "category": "weapons",
+ "name": { "str": "broadsword" },
+ "extend": { "weapon_category": [ "1H_MEDIEVAL_SWORDS" ] }
+ }
+]