aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2020-07-28 16:04:23 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2020-07-28 16:04:23 -0700
commitbf09f2b10d4d910089a67a4f01438f6faa2da4d8 (patch)
treeced6b0dfa0bb6ca6e0a04561c6a34d3abced3258
downloadcataclysm-dda-mod_battle-maid-redux-bf09f2b10d4d910089a67a4f01438f6faa2da4d8.tar.xz
Initial commitHEADmaster
-rw-r--r--README.md29
-rw-r--r--ammo.json143
-rw-r--r--ammo_types.json32
-rw-r--r--armor.json273
-rw-r--r--books.json22
-rw-r--r--item_groups.json104
-rw-r--r--martial_arts_manuals.json25
-rw-r--r--martialarts.json86
-rw-r--r--materials.json22
-rw-r--r--melee.json308
-rw-r--r--milk.json204
-rw-r--r--modinfo.json10
-rw-r--r--monster_drops.json26
-rw-r--r--monsters.json136
-rw-r--r--mutations.json42
-rw-r--r--professions.json201
-rw-r--r--recipes.json1392
-rw-r--r--speech.json338
-rw-r--r--techniques.json97
-rw-r--r--tool_armor.json215
-rw-r--r--tools.json437
-rw-r--r--uncraft.json47
22 files changed, 4189 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..f4615b4
--- /dev/null
+++ b/README.md
@@ -0,0 +1,29 @@
+
+This is a re-translated fork of the previous machine-translated verison. Almost everything has been gone over by a human editor so should have (mostly) correct grammar and phrasing. I hope. Original Readme below:
+
+
+
+# Battle Maid Redux
+
+This is an attempted translation of the Battle Maid mod for C:DDA with some minor nerfs to the martial arts.
+This uses the same IDs as the original mod, so DO NOT use this mod at the same time with the original.
+
+My Japanese isn't exactly the greatest, so I got creative with some of the descriptions and flexed my 200 billion creative IQ muscle on a couple others and wrote my own thing, while still staying true to the mod.
+
+WHAT THE MOD ADDS:
+- 4 professions
+- A new martial art
+- Some weapons and armor
+- Some new items
+- Maid point system used to power up gear from this mod
+- Maid pets
+- Probably something else that I've forgotten.
+I spent over nine hours translating and porting this and didn't take a single break, go easy on me.
+
+CREDITS:
+
+-Original Battle Maid mod can be downloaded from https://www.axfc.net/u/3747115. This mod is a translation of this, I take no credit for the original.
+
+-ChestHole, for inspiring me to do this thanks to his... attempt at porting the mod into English. (sorry)
+
+Let me know if there are issues with it.
diff --git a/ammo.json b/ammo.json
new file mode 100644
index 0000000..87b2df3
--- /dev/null
+++ b/ammo.json
@@ -0,0 +1,143 @@
+[
+ {
+ "type" : "AMMO",
+ "id" : "blob_gohan",
+ "category" : "other",
+ "price" : 0,
+ "name" : "maid's blob feed",
+ "symbol" : "=",
+ "color" : "light_red",
+ "description" : "Feed made for a certain type of blob. Its a protein paste made out of meat.",
+ "material" : "flesh",
+ "volume" : 1,
+ "weight" : 1,
+ "ammo_type" : "blob_gohan",
+ "count" : 100,
+ "stack_size" : 100
+ },
+ {
+ "type" : "AMMO",
+ "id" : "assassins_throwing_dagger",
+ "category" : "weapons",
+ "price" : 9000,
+ "name" : "assassin's throwing knife",
+ "symbol" : "/",
+ "color" : "light_gray",
+ "description" : "A nimble blade meant for ranged assassination, but makes an improvised cutlery tool in a pinch. It's very lightweight and silent and can be used on both zombies and games involving apples.",
+ "material" : ["steel","leather"],
+ "volume" : 4,
+ "weight" : 750,
+ "cutting" : 21,
+ "to_hit" : 2,
+ "flags" : ["SPEAR","SHEATH_KNIFE"],
+ "qualities": [["CUT", 1], ["BUTCHER", 10]],
+ "ammo_type" : "assassins_throwing_dagger",
+ "count" : 4,
+ "stack_size" : 4
+ },
+ { "type" : "AMMO",
+ "id" : "makeshift_throwing_knife",
+ "category" : "weapons",
+ "price" : 5200,
+ "name" : "makeshift throwing knife",
+ "symbol" : ";",
+ "color" : "light_gray",
+ "description" : "A crude and simple throwing knife made from a sharpened piece of salvaged steel with cloth wrapped around it. It's better than throwing rocks, at least.",
+ "material" : ["steel"],
+ "volume" : 1,
+ "weight" : 600,
+ "bashing" : 3,
+ "cutting" : 9,
+ "ammo_type" : "makeshift_throwing_knife",
+ "count" : 5
+ },
+ {
+ "type" : "TOOL",
+ "category": "weapons",
+ "id" : "destruction_otama",
+ "price" : 9000,
+ "name" : "maid's ladle",
+ "symbol" : "/",
+ "color" : "light_gray",
+ "description" : "A weapon used by a maid when she's seriously angry. Scary!",
+ "material" : ["steel","wood"],
+ "volume" : 8,
+ "weight" : 2000,
+ "cutting" : 24,
+ "to_hit" : 2,
+ "use_action": {
+ "type": "transform",
+ "target": "otama_act",
+ "target_charges": 2,
+ "active": true,
+ "msg": "You are overcome with anger."
+ }
+ },
+ {
+ "id": "otama_act",
+ "type": "TOOL",
+ "category": "weapons",
+ "symbol": "*",
+ "color": "light_gray",
+ "name": "maid's ladle",
+ "description": "This is an outrage! You're on the verge of exploding!",
+ "price": 0,
+ "material": ["steel", "wood"],
+ "weight": 600,
+ "volume": 8,
+ "cutting": 24,
+ "to_hit": 2,
+ "initial_charges": 2,
+ "max_charges": 2,
+ "turns_per_charge": 1,
+ "use_action": {
+ "type": "explosion",
+ "sound_volume": 1,
+ "sound_msg": "You are so furious that even the earth begins to rumble...",
+ "no_deactivate_msg": "This is an outrage! You're on the verge of exploding!",
+ "explosion": {
+ "power": 30,
+ "shrapnel": 20
+ }
+ }
+ },
+ {
+ "type" : "AMMO",
+ "id" : "maid_point",
+ "category" : "other",
+ "price" : 0,
+ "name" : "maid energy crystal",
+ "name_plural" : "maid energy crystal",
+ "symbol" : "*",
+ "color" : "light_red",
+ "description" : "The crystallized manifestation of the passion you have for your master. Acts as a source of energy in certain types of tools for maids.",
+ "material" : "maid",
+ "volume" : 0,
+ "weight" : 0,
+ "ammo_type" : "maid_point",
+ "damage" : 0,
+ "range" : 0,
+ "dispersion" : 0,
+ "recoil" : 0,
+ "count" : 100,
+ "stack_size" : 100,
+ "effects" : ["NEVER_MISFIRES"]
+ },
+ {
+ "type" : "AMMO",
+ "id" : "maid_power",
+ "category" : "other",
+ "price" : 0,
+ "name" : "Maid Power",
+ "name_plural" : "Maid Power",
+ "symbol" : "*",
+ "color" : "light_red",
+ "description" : "The semi-crystallized manifestation of the passion you have for your master, not yet fully catalyzed into a usable form.",
+ "material" : "maid",
+ "volume" : 0,
+ "weight" : 0,
+ "ammo_type" : "maid_power",
+ "count" : 15,
+ "stack_size" : 15
+ }
+]
diff --git a/ammo_types.json b/ammo_types.json
new file mode 100644
index 0000000..20c66e8
--- /dev/null
+++ b/ammo_types.json
@@ -0,0 +1,32 @@
+[
+ {
+ "type" : "ammunition_type",
+ "id" : "blob_gohan",
+ "name" : "blob's breakfast",
+ "default" : "blob_gohan"
+ },
+ {
+ "type" : "ammunition_type",
+ "id" : "makeshift_throwing_knife",
+ "name" : "makeshift throwing knife",
+ "default" : "makeshift_throwing_knife"
+ },
+ {
+ "type" : "ammunition_type",
+ "id" : "assassins_throwing_dagger",
+ "name" : "assassin's throwing knife",
+ "default" : "assassins_throwing_dagger"
+ },
+ {
+ "type" : "ammunition_type",
+ "id" : "maid_point",
+ "name" : "Maid Point",
+ "default" : "maid_point"
+ },
+ {
+ "type" : "ammunition_type",
+ "id" : "maid_power",
+ "name" : "Maid Power",
+ "default" : "maid_power"
+ }
+] \ No newline at end of file
diff --git a/armor.json b/armor.json
new file mode 100644
index 0000000..37deeb6
--- /dev/null
+++ b/armor.json
@@ -0,0 +1,273 @@
+[
+ {
+ "type" : "TOOL_ARMOR",
+ "category" : "clothing",
+ "id" : "maid_dress",
+ "name" : "Victorian maid dress",
+ "name_plural" : "Victorian maid dresses",
+ "weight" : 800,
+ "color" : "black",
+ "covers" : ["TORSO", "ARMS", "LEGS"],
+ "to_hit" : 0,
+ "storage" : 10,
+ "symbol" : "[",
+ "description" : "A classic maid outfit with a white apron, frills and a black one piece. It has some storage space thanks to the many pockets, including space for throwing knives. Since it comes with bloomers, you can take off your underwear and not feel embarrassed about it!",
+ "price" : 5000,
+ "material" : ["cotton"],
+ "volume" : 17,
+ "warmth" : 20,
+ "environmental_protection" : 1,
+ "encumbrance" : 10,
+ "flags" : ["VARSIZE", "FANCY", "OVERSIZE"],
+ "coverage" : 95,
+ "material_thickness" : 4
+ },
+ {
+ "type" : "TOOL_ARMOR",
+ "category" : "clothing",
+ "id" : "maid_dress_french",
+ "name" : "French maid dress",
+ "name_plural" : "French maid dresses",
+ "weight" : 100,
+ "color" : "blue",
+ "covers" : ["TORSO", "ARMS", "LEGS"],
+ "storage" : 2,
+ "symbol" : "[",
+ "description" : "The French maid dress, blue with a frilly white apron.",
+ "price" : 5000,
+ "material" : ["cotton"],
+ "volume" : 1,
+ "warmth" : 5,
+ "encumbrance" : 7,
+ "flags" : ["VARSIZE", "SUPER_FANCY", "OVERSIZE"],
+ "coverage" : 75,
+ "material_thickness" : 1,
+ "artifact_data" : {
+ "effects_worn":
+ ["AEP_STEALTH"]
+ }
+ },
+ {
+ "type" : "TOOL_ARMOR",
+ "id" : "survivor_maid_dress",
+ "category" : "armor",
+ "name" : "survivor Victorian maid dress",
+ "weight" : 2300,
+ "color" : "black",
+ "covers" : ["LEGS", "HEAD", "TORSO", "ARMS"],
+ "storage" : 22,
+ "symbol" : "[",
+ "description" : "A Victorian maid dress tailored specifically for post-cataclysm maids. Besides protecting key parts with kevlar lining, it has more storage space.",
+ "price" : 110000,
+ "material" : ["kevlar", "cotton"],
+ "volume" : 42,
+ "warmth" : 20,
+ "environmental_protection" : 3,
+ "encumbrance" : 15,
+ "flags" : ["VARSIZE","HOOD","WATERPROOF","RAINPROOF","STURDY","FANCY","OVERSIZE"],
+ "coverage" : 100,
+ "material_thickness" : 4
+ },
+ {
+ "type" : "ARMOR",
+ "category" : "clothing",
+ "id" : "jokyu_fuku",
+ "name" : "Jokyū dress",
+ "name_plural" : "Jokyū dresses",
+ "weight" : 1200,
+ "color" : "brown",
+ "covers" : ["TORSO", "ARMS", "LEGS"],
+ "storage" : 2,
+ "symbol" : "[",
+ "description" : "Women's servant clothes worn in Japanese cafes a long time ago. Essentially a white apron over a kimono.",
+ "price" : 5000,
+ "material" : ["cotton"],
+ "volume" : 20,
+ "warmth" : 20,
+ "environmental_protection" : 1,
+ "encumbrance" : 8,
+ "flags" : ["VARSIZE", "FANCY", "OVERSIZE"],
+ "coverage" : 95,
+ "material_thickness" : 4,
+ "artifact_data" : {
+ "effects_worn":
+ ["AEP_DEX_UP"]
+ }
+ },
+ {
+ "type" : "ARMOR",
+ "category" : "clothing",
+ "id" : "stockings_lace",
+ "name" : "lace stockings with garterbelt",
+ "name_plural" : "lace stockings with garterbelts",
+ "weight" : 90,
+ "color" : "white",
+ "covers" : ["FEET", "LEGS"],
+ "symbol" : "[",
+ "description" : "A set of pure white lace stockings with a garterbelt and panties, decorated with elegant lacing.",
+ "price" : 500,
+ "material" : ["cotton"],
+ "volume" : 1,
+ "warmth" : 6,
+ "flags" : ["VARSIZE", "SKINTIGHT", "SUPER_FANCY", "OVERSIZE"],
+ "coverage" : 85,
+ "material_thickness" : 1
+ },
+ {
+ "type" : "TOOL_ARMOR",
+ "category" : "clothing",
+ "id" : "tux",
+ "name" : "tuxedo",
+ "weight" : 1587,
+ "color" : "dark_gray",
+ "covers" : ["LEGS", "TORSO", "ARMS"],
+ "storage" : 10,
+ "symbol" : "[",
+ "description" : "A full-body tuxedo. Makes the apocalypse feel a little more classy.",
+ "price" : 21000,
+ "material" : ["cotton"],
+ "volume" : 22,
+ "warmth" : 30,
+ "environmental_protection" : 1,
+ "encumbrance" : 12,
+ "flags" : ["VARSIZE", "SUPER_FANCY", "OVERSIZE"],
+ "coverage" : 95,
+ "material_thickness" : 4,
+ "max_charges": 12,
+ "ammo": "assassins_throwing_dagger"
+ },
+ {
+ "type" : "TOOL_ARMOR",
+ "id" : "survivor_tux",
+ "category" : "armor",
+ "name" : "survivor tuxedo",
+ "weight" : 3050,
+ "color" : "dark_gray",
+ "covers" : ["LEGS", "HEAD", "TORSO", "ARMS"],
+ "storage" : 22,
+ "symbol" : "[",
+ "description" : "A tux tailored specifically for post-cataclysm butlers. Besides protecting key parts with kevlar lining, it has more storage space.",
+ "price" : 110000,
+ "material" : ["kevlar", "cotton"],
+ "volume" : 45,
+ "warmth" : 30,
+ "environmental_protection" : 3,
+ "encumbrance" : 15,
+ "flags" : ["VARSIZE","HOOD","WATERPROOF","RAINPROOF","STURDY","SUPER_FANCY","OVERSIZE"],
+ "coverage" : 100,
+ "material_thickness" : 4,
+ "max_charges": 12,
+ "ammo": "assassins_throwing_dagger"
+ },
+ {
+ "type" : "ARMOR",
+ "category" : "clothing",
+ "id" : "maid_cap",
+ "name" : "maid cap",
+ "weight" : 50,
+ "color" : "white",
+ "covers" : ["HEAD"],
+ "symbol" : "[",
+ "description" : "A frilly white cap commonly used by maids.",
+ "price" : 2000,
+ "material" : ["cotton"],
+ "volume" : 1,
+ "warmth" : 30,
+ "flags" : ["VARSIZE"],
+ "coverage" : 60,
+ "material_thickness" : 1
+ },
+ {
+ "type" : "ARMOR",
+ "category" : "clothing",
+ "id" : "cat_maid_cap",
+ "name" : "cat eared maid cap",
+ "weight" : 60,
+ "color" : "white",
+ "covers" : ["HEAD"],
+ "symbol" : "[",
+ "description" : "A frilly white cap commonly used by maids. There's two bumps on top of it that look like cat ears. It's very cute.",
+ "price" : 2000,
+ "material" : ["cotton"],
+ "volume" : 1,
+ "warmth" : 30,
+ "flags" : ["VARSIZE", "FANCY"],
+ "coverage" : 60,
+ "material_thickness" : 1
+ },
+ {
+ "type" : "ARMOR",
+ "category" : "clothing",
+ "id" : "petticoat",
+ "name" : "petticoat",
+ "name_plural" : "petticoats",
+ "weight" : 90,
+ "color" : "white",
+ "symbol" : "[",
+ "description" : "A type of frilly undergarment usually worn under skirts.",
+ "price" : 500,
+ "material" : ["cotton"],
+ "volume" : 1,
+ "flags" : ["SUPER_FANCY"],
+ "material_thickness" : 1
+ },
+ {
+ "type" : "ARMOR",
+ "category" : "clothing",
+ "id" : "panties_kemo",
+ "name" : "panties (for beasts)",
+ "name_plural" : "panties (for beasts)",
+ "weight" : 100,
+ "color" : "white",
+ "covers" : ["LEGS"],
+ "storage" : 2,
+ "symbol" : "[",
+ "description" : "A special type of underwear meant for people with tails. Although it's incredibly thin, it's the last line of defense against your dignity.",
+ "price" : 5000,
+ "material" : ["cotton"],
+ "volume" : 1,
+ "warmth" : 5,
+ "flags" : ["VARSIZE", "SKINTIGHT", "OVERSIZE"],
+ "coverage" : 15,
+ "material_thickness" : 1
+ },
+ {
+ "type" : "ARMOR",
+ "id" : "briefs_kemo",
+ "name" : "briefs (for beasts)",
+ "name_plural" : "briefs (for beasts)",
+ "weight" : 32,
+ "color" : "white",
+ "covers" : ["LEGS"],
+ "symbol" : "[",
+ "description" : "A special type of underwear meant for people with tails. It stands as the difference between being a gentleman and being a beast.",
+ "price" : 1000,
+ "material" : ["cotton"],
+ "volume" : 1,
+ "warmth" : 5,
+ "flags" : ["VARSIZE", "SKINTIGHT", "OVERSIZE"],
+ "coverage" : 15,
+ "material_thickness" : 1
+ },
+ {
+ "id": "maids_scarf",
+ "type": "TOOL_ARMOR",
+ "category" : "clothing",
+ "symbol": "[",
+ "color": "light_gray",
+ "name": "maid's scarf",
+ "description": "A very long light cloth scarf, worn over the mouth for warmth. With the extra length, it's enough to handle nonstandard facial features and accommodate your hands too. Use it to loosen it if you get too warm.",
+ "price": 1500,
+ "material": ["cotton"],
+ "weight": 120,
+ "volume": 4,
+ "to_hit" : -3,
+ "covers" : ["MOUTH"],
+ "flags" : ["OVERSIZE", "POCKETS", "OUTER", "ALLOWS_NATURAL_ATTACKS"],
+ "warmth" : 20,
+ "environmental_protection" : 5,
+ "encumbrance" : 0,
+ "coverage" : 100,
+ "material_thickness" : 1
+ }
+] \ No newline at end of file
diff --git a/books.json b/books.json
new file mode 100644
index 0000000..73a1b30
--- /dev/null
+++ b/books.json
@@ -0,0 +1,22 @@
+[
+ {
+ "id": "book_shoggoth",
+ "type": "BOOK",
+ "category": "books",
+ "max_level" : 9,
+ "symbol": "?",
+ "color": "green",
+ "name": "impossible scribbles",
+ "name_plural": "impossible scribbles",
+ "description": "A thin leaflet that's filled with chaotic handwriting, disturbing visuals, impossible mathematical equations, languages not known to anyone on Earth and lists of what appears to be names with all of them crossed out. The leaflet has more pages than possible, each and every one of them getting more and more chaotic and giving you a splitting headache as the fabric of reality seems to collapse around your vision. Suddenly, it's all clear to you. On the final page, you read a complex formula on how to summon a shoggoth, seemingly written in your handwriting.",
+ "price": 20000,
+ "material": "paper",
+ "weight": 150,
+ "volume": 1,
+ "fun" : -50,
+ "intelligence" : 13,
+ "time" : 55,
+ "skill" : "cooking",
+ "required_level" : 9
+ }
+] \ No newline at end of file
diff --git a/item_groups.json b/item_groups.json
new file mode 100644
index 0000000..15faaee
--- /dev/null
+++ b/item_groups.json
@@ -0,0 +1,104 @@
+[
+{
+ "type" : "item_group",
+ "id" : "mansion_guns",
+ "items":[
+ ["vorpal_kitchen_knife", 1],
+ ["slaying_pan", 2],
+ ["brutal_broom", 2],
+ ["spiked_whip", 2],
+ ["shikomi_kasa", 2],
+ ["shikomi_stick", 2],
+ ["maid_claw", 2],
+ ["leather_cat_tail_biv", 5],
+ ["fur_cat_tail_biv", 5],
+ ["stockings_lace", 5],
+ ["petticoat", 5],
+ ["maid_cloak_off", 2],
+ ["maidguy_mask_off", 2]
+ ]
+},
+{
+ "type" : "item_group",
+ "id" : "mansion_books",
+ "items":[
+ ["manual_maid", 3]
+ ]
+},
+{
+ "type" : "item_group",
+ "id" : "chem_lab",
+ "items":[
+ ["book_shoggoth", 2]
+ ]
+},
+{
+ "type" : "item_group",
+ "id" : "mut_lab",
+ "items":[
+ ["book_shoggoth", 2]
+ ]
+},
+{
+ "type" : "item_group",
+ "id" : "bedroom",
+ "items":[
+ ["stockings_lace", 3],
+ ["petticoat", 3],
+ ["jokyu_fuku", 3],
+ ["maid_dress_french", 3],
+ ["maid_cap", 3],
+ ["cat_maid_cap", 3],
+ ["leather_cat_tail_biv", 3],
+ ["fur_cat_tail_biv", 3]
+ ]
+},
+{
+ "type" : "item_group",
+ "id" : "dresser",
+ "items":[
+ ["stockings_lace", 3],
+ ["petticoat", 3],
+ ["jokyu_fuku", 3],
+ ["maid_dress_french", 3],
+ ["maid_cap", 3],
+ ["cat_maid_cap", 3],
+ ["leather_cat_tail_biv", 3],
+ ["fur_cat_tail_biv", 3]
+ ]
+},
+{
+ "type" : "item_group",
+ "id" : "hatstore_hats",
+ "items":[
+ ["maid_cap", 30],
+ ["cat_maid_cap", 20]
+ ]
+},
+{
+ "type" : "item_group",
+ "id" : "allclothes",
+ "items":[
+ ["stockings_lace", 3],
+ ["petticoat", 3],
+ ["jokyu_fuku", 3],
+ ["maid_dress_french", 3],
+ ["maid_cap", 3],
+ ["cat_maid_cap", 3]
+ ]
+},
+{
+ "type" : "item_group",
+ "id" : "pawn",
+ "items":[
+ ["stockings_lace", 3],
+ ["petticoat", 3],
+ ["jokyu_fuku", 3],
+ ["maid_dress_french", 3],
+ ["maid_cap", 3],
+ ["cat_maid_cap", 3],
+ ["leather_cat_tail_biv", 3],
+ ["fur_cat_tail_biv", 3]
+ ]
+}
+] \ No newline at end of file
diff --git a/martial_arts_manuals.json b/martial_arts_manuals.json
new file mode 100644
index 0000000..0c11c89
--- /dev/null
+++ b/martial_arts_manuals.json
@@ -0,0 +1,25 @@
+[
+ {
+ "id": "manual_maid",
+ "type": "GENERIC",
+ "category": "books",
+ "symbol": "?",
+ "color": "green",
+ "name": "101 ways to protect my master",
+ "description": "A manual penned by different maids, listing all of their ideas on physical ways to protect their masters. The later pages are filled with drawings from what little you can peek, but they're stuck together with something.",
+ "price": 20000,
+ "material": "paper",
+ "weight": 150,
+ "volume": 1,
+ "use_action": "MA_MANUAL",
+ "book_data": {
+ "max_level" : 0,
+ "intelligence" : 5,
+ "time" : 10,
+ "fun" : 0,
+ "skill" : "none",
+ "required_level" : 0,
+ "chapters": 5
+ }
+ }
+] \ No newline at end of file
diff --git a/martialarts.json b/martialarts.json
new file mode 100644
index 0000000..8d06711
--- /dev/null
+++ b/martialarts.json
@@ -0,0 +1,86 @@
+[
+{
+ "type" : "martial_art",
+ "id" : "style_maid",
+ "name" : "Servant's fighting technique",
+ "description" : "A secret assassination technique taught to first-class servants. It gives you an elegant appearance, allowing you to dodge and counterattack with style.",
+ "initiate": [ "You steady yourself, ready to strike with poise and grace.", "%s appears more steady and composed." ],
+ "arm_block" : 99,
+ "leg_block" : 99,
+ "static_buffs" : [
+ {
+ "id" : "maid_evade",
+ "name" : "Silent presence",
+ "description" : "By staying still, you get +2 to dodging.",
+ "unarmed_allowed" : true,
+ "melee_allowed" : true,
+ "flat_bonuses" : [["dodge", 2.0]]
+ }
+ ],
+ "onmove_buffs": [
+ {
+ "id" : "maid_moved",
+ "name" : "Assault",
+ "description" : "You receive a penalty to dodging when moving, but your chances of hitting and damage dealt are increased in accordance with your perception.",
+ "unarmed_allowed" : true,
+ "melee_allowed" : true,
+ "min_unarmed" : 0,
+ "buff_duration" : 2,
+ "flat_bonuses" : [
+ ["hit", "per", 1],
+ ["damage", "bash", "per", 0.2],
+ ["damage", "cut", "per", 0.2],
+ ["damage", "stab", "per", 0.2],
+ ["dodge", -4.0]
+ ]
+ }
+ ],
+"ondodge_buffs": [
+ {
+ "id" : "maid_evaded_bonus",
+ "name" : "Counterattack",
+ "description" : "Avoided attacks with minimal movement. You have a chance of landing a counterattack.",
+ "unarmed_allowed" : true,
+ "melee_allowed" : true,
+ "min_unarmed" : 0,
+ "buff_duration" : 2,
+ "max_stacks" : 1,
+ "mult_bonuses" : [
+ ["damage", "bash", 1.2],
+ ["damage", "cut", 1.2],
+ ["damage", "stab", 1.2]
+ ]
+ }
+ ],
+ "techniques" : ["tec_maid_precise",
+ "tec_maid_counter",
+ "tec_maid_meleecounter",
+ "tec_maid_miyage",
+ "tec_maid_kyusyu"
+ ],
+ "weapons": [
+ "battle_mop",
+ "maid_claw",
+ "shikomi_stick_draw",
+ "shikomi_stick",
+ "shikomi_kasa_draw",
+ "shikomi_kasa",
+ "spiked_whip",
+ "brutal_broom",
+ "slaying_pan_on",
+ "slaying_pan",
+ "vorpal_kitchen_knife_on",
+ "vorpal_kitchen_knife",
+ "broom",
+ "mop",
+ "knife_butter",
+ "knife_steak",
+ "spoon",
+ "fork",
+ "pan",
+ "vibrator"
+
+
+ ]
+ }
+] \ No newline at end of file
diff --git a/materials.json b/materials.json
new file mode 100644
index 0000000..b864932
--- /dev/null
+++ b/materials.json
@@ -0,0 +1,22 @@
+[
+ {
+ "type" : "material",
+ "ident" : "maid",
+ "name" : "maid",
+ "bash_resist" : 1000,
+ "cut_resist" : 1000,
+ "bash_dmg_verb" : "chipped",
+ "cut_dmg_verb" : "scratched",
+ "dmg_adj" : [
+ "marked",
+ "chipped",
+ "cracked",
+ "shattered"
+ ],
+ "acid_resist" : 1000,
+ "elec_resist" : 1000,
+ "fire_resist" : 1000,
+ "chip_resist" : 1000,
+ "density" : 1000
+ }
+] \ No newline at end of file
diff --git a/melee.json b/melee.json
new file mode 100644
index 0000000..5123ae6
--- /dev/null
+++ b/melee.json
@@ -0,0 +1,308 @@
+[
+ {
+ "id": "vorpal_kitchen_knife",
+ "type": "TOOL",
+ "category" : "weapons",
+ "symbol": "/",
+ "color": "light_gray",
+ "name": "maid's kitchen knife",
+ "description": "It is a kitchen knife suitable for combat. It slices through victims just as easily as it would food. When activated, it can drain strength from enemies.",
+ "price": 9000,
+ "material": ["steel","wood"],
+ "techniques": ["RAPID", "WBLOCK_1"],
+ "flags" : ["SLICE", "DURABLE_MELEE","SHEATH_KNIFE","VORPAL"],
+ "weight": 450,
+ "volume": 1,
+ "bashing": 4,
+ "cutting": 28,
+ "to_hit": 1,
+ "qualities": [["CUT", 1], ["BUTCHER", 30],["CUT_FINE", 3]],
+ "max_charges": 100,
+ "initial_charges": 100,
+ "charges_per_use": 80,
+ "ammo": "maid_point",
+ "use_action": {
+ "type": "transform",
+ "msg": "The maid's kitchen knife is looking for blood. Let's cook!.",
+ "target": "vorpal_kitchen_knife_on",
+ "active": true,
+ "need_charges": 80,
+ "need_charges_msg": "Not enough maid energy!"
+ }
+ },
+ {
+ "id": "vorpal_kitchen_knife_on",
+ "type": "TOOL",
+ "category" : "weapons",
+ "symbol": "/",
+ "color": "light_gray",
+ "name": "maid's kitchen knife (powered)",
+ "description": "It is a kitchen knife suitable for combat. It slices through enemies of your master just as easily as it would food. When activated, it can drain strength from enemies.",
+ "price": 9000,
+ "material": ["steel","wood"],
+ "techniques": ["RAPID", "WBLOCK_1"],
+ "flags" : ["SLICE", "DURABLE_MELEE", "VORPAL", "NO_RELOAD"],
+ "weight": 450,
+ "volume": 1,
+ "bashing": 4,
+ "cutting": 28,
+ "to_hit": 1,
+ "qualities": [["CUT", 1], ["BUTCHER", 30],["CUT_FINE", 3]],
+ "max_charges": 20,
+ "initial_charges": 20,
+ "turns_per_charge": 1,
+ "ammo": "maid_point",
+ "revert_to": "vorpal_kitchen_knife",
+ "use_action": {
+ "type": "transform",
+ "msg": "You clean the blade and resheath it.",
+ "target": "vorpal_kitchen_knife",
+ "need_charges": 0
+ },
+ "artifact_data" : {
+ "effects_wielded": ["AEP_SAP_LIFE"]
+ }
+ },
+ {
+ "type":"TOOL",
+ "category" : "weapons",
+ "id": "slaying_pan",
+ "symbol": ")",
+ "color": "dark_gray",
+ "name": "maid's frying pan",
+ "description": "It is a frying pan suitable for combat. It slices through the enemies of your master just as easily as it would food. When activated, it will be wreathed in flame.",
+ "price": 9000,
+ "material": ["steel", "wood"],
+ "techniques": ["RAPID", "BRUTAL", "WBLOCK_2"],
+ "flags" : ["STAB", "DURABLE_MELEE"],
+ "weight": 1000,
+ "volume": 7,
+ "bashing": 18,
+ "cutting": 18,
+ "to_hit": 2,
+ "qualities": [["COOK", 2], ["BOIL", 2], ["CONTAIN", 1]],
+ "max_charges": 100,
+ "initial_charges": 100,
+ "charges_per_use": 1,
+ "ammo": "maid_point",
+ "use_action": {
+ "type": "transform",
+ "msg": "When you hold your hand over the slay pan, a burning flame has arisen!",
+ "target": "slaying_pan_on",
+ "active": true,
+ "need_charges": 1,
+ "need_charges_msg": "Not enough maid energy!"
+ }
+ },
+ {
+ "type":"TOOL",
+ "category" : "weapons",
+ "id": "slaying_pan_on",
+ "symbol": ")",
+ "color": "dark_gray",
+ "name": "maid's pan (ignited)",
+ "description": "It is a frying pan suitable for combat. It can make short work of threats to your master just as easily as it does food. When activated, it will be wreathed in flame.",
+ "price": 9000,
+ "material": ["steel","wood"],
+ "techniques": ["RAPID","BRUTAL","WBLOCK_2"],
+ "flags" : ["STAB", "DURABLE_MELEE", "FIRE", "LIGHT_240", "FLAMING"],
+ "weight": 1000,
+ "volume": 7,
+ "bashing": 18,
+ "cutting": 18,
+ "to_hit": 2,
+ "qualities": [["COOK", 2], ["BOIL", 2], ["CONTAIN", 1]],
+ "max_charges": 100,
+ "initial_charges": 100,
+ "turns_per_charge": 10,
+ "ammo": "maid_point",
+ "revert_to": "slaying_pan",
+ "use_action": {
+ "type": "transform",
+ "msg": "The flame fizzles out.",
+ "target": "slaying_pan",
+ "need_charges": 0
+ },
+ "artifact_data" : {
+ "effects_worn": ["AEP_GLOW"]
+ }
+ },
+ {
+ "type":"GENERIC",
+ "category" : "weapons",
+ "id" : "brutal_broom",
+ "name" : "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 master.",
+ "weight" : 1200,
+ "to_hit" : 2,
+ "color" : "light_gray",
+ "symbol" : "/",
+ "material" : ["steel","wood"],
+ "techniques" : ["BRUTAL", "WBLOCK_1"],
+ "volume" : 6,
+ "bashing" : 4,
+ "cutting" : 20,
+ "flags" : ["STAB", "REACH_ATTACK"],
+ "price" : 9000
+ },
+ {
+ "type":"GENERIC",
+ "category" : "weapons",
+ "id" : "spiked_whip",
+ "name" : "maid's whip",
+ "description" : "It is a leather whip weighted with countless spikes. It can used to disarm opponents, or discipline your master when disobedient.",
+ "weight" : 1300,
+ "to_hit" : 2,
+ "color" : "light_gray",
+ "symbol" : ")",
+ "material" : ["steel","leather"],
+ "techniques" : ["WHIP_DISARM"],
+ "volume" : 7,
+ "bashing" : 20,
+ "cutting" : 8,
+ "flags" : ["DURABLE_MELEE", "REACH_ATTACK"],
+ "price" : 9000
+ },
+ {
+ "type":"GENERIC",
+ "category" : "weapons",
+ "id" : "shikomi_kasa",
+ "name" : "maid's umbrella",
+ "description" : "The kind of fancy umbrella you imagine sharing with your master on rainy days. It conceals a hidden blade for self-defence.",
+ "weight" : 1000,
+ "to_hit" : 1,
+ "color" : "dark_gray",
+ "symbol" : "/",
+ "material" : ["aluminum","plastic","steel"],
+ "techniques" : ["WBLOCK_1"],
+ "flags" : ["STAB","DURABLE_MELEE","RAIN_PROTECT","IAIJUTSU"],
+ "use_action": {
+ "type": "transform",
+ "target": "shikomi_kasa_draw",
+ "msg": "You trigger the umbrella's spring-loaded blade."
+ },
+ "volume" : 6,
+ "bashing" : 6,
+ "cutting" : 4,
+ "price" : 17800
+ },
+ {
+ "type":"GENERIC",
+ "category" : "weapons",
+ "id" : "shikomi_kasa_draw",
+ "name" : "maid's umbrella (unsheathed)",
+ "description" : "The kind of fancy umbrella you imagine sharing with your master on rainy days. It conceals a hidden blade for self-defence.",
+ "weight" : 835,
+ "to_hit" : 1,
+ "color" : "dark_gray",
+ "symbol" : "/",
+ "material" : ["aluminum","plastic","steel"],
+ "techniques" : ["RAPID", "WBLOCK_1"],
+ "flags" : ["SLICE","DURABLE_MELEE","IAIJUTSU"],
+ "use_action": {
+ "type": "transform",
+ "target": "shikomi_kasa",
+ "msg": "You retract the umbrella's blade back into its hiding spot."
+ },
+ "volume" : 3,
+ "bashing" : 3,
+ "cutting" : 24,
+ "price" : 17800
+ },
+ {
+ "type":"GENERIC",
+ "category" : "weapons",
+ "id" : "shikomi_stick",
+ "name" : "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 master fit together.",
+ "weight" : 1000,
+ "to_hit" : 1,
+ "color" : "dark_gray",
+ "symbol" : "/",
+ "material" : ["wood","steel"],
+ "techniques" : ["WBLOCK_1"],
+ "flags" : ["STAB","DURABLE_MELEE","RAIN_PROTECT","IAIJUTSU"],
+ "use_action": {
+ "type": "transform",
+ "target": "shikomi_stick_draw",
+ "msg": "You unsheath the shirasaya."
+ },
+ "volume" : 4,
+ "bashing" : 8,
+ "cutting" : 4,
+ "price" : 17800
+ },
+ {
+ "type":"GENERIC",
+ "category" : "weapons",
+ "id" : "shikomi_stick_draw",
+ "name" : "maid's shirasaya (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 master fit together.",
+ "weight" : 835,
+ "to_hit" : 1,
+ "color" : "dark_gray",
+ "symbol" : "/",
+ "material" : ["wood","steel"],
+ "techniques" : ["RAPID", "WBLOCK_1"],
+ "flags" : ["SLICE","DURABLE_MELEE","IAIJUTSU"],
+ "use_action": {
+ "type": "transform",
+ "target": "shikomi_stick",
+ "msg": "You resheath the shirasaya."
+ },
+ "volume" : 3,
+ "bashing" : 3,
+ "cutting" : 24,
+ "price" : 17800
+ },
+ {
+ "id": "maid_claw",
+ "type": "GUN",
+ "category" : "weapons",
+ "symbol": "/",
+ "color": "dark_gray",
+ "name": "maid's claws",
+ "description": "It is a sharp claw for fighting combat. Fit tightly to your arms, allows you to fight with unarmed techniques. When activated, it can launch fiery projectiles that burn as hot as your yearning for your master.",
+ "price": 50000,
+ "material": ["steel","leather"],
+ "skill": "unarmed",
+ "ammo": "maid_point",
+ "flags" : ["STAB", "FIRE_20", "NEVER_JAMS", "DURABLE_MELEE", "PRIMITIVE_RANGED_WEAPON", "UNARMED_WEAPON", "NO_SALVAGE"],
+ "weight": 1000,
+ "volume": 1,
+ "bashing": 4,
+ "cutting": 14,
+ "to_hit": 1,
+ "ranged_damage": 20,
+ "pierce": 30,
+ "range": 10,
+ "dispersion": 0,
+ "sight_dispersion": 90,
+ "aim_speed" : 0,
+ "recoil": 300,
+ "durability": 10,
+ "clip_size": 40,
+ "loudness" : 100,
+ "reload": 1,
+ "ammo_effects": ["FLAME", "STREAM", "INCENDIARY", "NEVER_MISFIRES", "SHOT"],
+ "modes": [ [ "DEFAULT", "auto", 2 ] ]
+},
+ {
+ "id": "battle_mop",
+ "type": "TOOL",
+ "category" : "weapons",
+ "symbol": "/",
+ "color": "light_gray",
+ "name": "maid's mop",
+ "description": "A mop with a wooden handle that actually conseals a steel core, making it a formidable weapon for taking out whatever trash may pose a threat to your master.",
+ "price": 1000,
+ "material": ["wood","iron"],
+ "flags" : ["DURABLE_MELEE","REACH_ATTACK"],
+ "techniques": "WBLOCK_1",
+ "weight": 1100,
+ "volume": 7,
+ "bashing": 22,
+ "to_hit": 2,
+ "use_action": "MOP"
+ }
+] \ No newline at end of file
diff --git a/milk.json b/milk.json
new file mode 100644
index 0000000..4e44a15
--- /dev/null
+++ b/milk.json
@@ -0,0 +1,204 @@
+[
+ {
+ "id": "little_maid_R18_tane",
+ "type": "TOOL",
+ "category": "other",
+ "symbol": "m",
+ "color": "white",
+ "name": "little maid pet (seeded)",
+ "description": "A little maid with a growing stomach. She's gently blushing and gently smiling at you. You can milk her after 28 days.",
+ "price": 60000,
+ "material": ["maid"],
+ "weight": 34000,
+ "volume": 40,
+ "use_action": {
+ "type": "delayed_transform",
+ "transform_age": 403200,
+ "not_ready_msg": "Her cheeks blush as you pet her head. She's not quite ready yet.",
+ "msg": "The little maid is rubbing her belly lovingly. She will start producing milk soon.",
+ "moves": 0,
+ "target": "little_maid_R18_milk"
+ }
+ },
+ {
+ "id": "little_maid_R18_milk",
+ "type": "TOOL",
+ "category": "other",
+ "symbol": "m",
+ "color": "white",
+ "name": "little maid pet (milkable)",
+ "description": "A little maid whose belly and breasts have swollen considerably. She's staring at you with lavishing eyes. You can milk her.",
+ "price": 60000,
+ "material": ["maid"],
+ "weight": 36000,
+ "volume": 45
+ },
+ {
+ "id": "little_maid_R18_milk2",
+ "type": "TOOL",
+ "category": "other",
+ "symbol": "m",
+ "color": "white",
+ "name": "little maid pet (milked)",
+ "description": "A little maid who has been recently milked. She has a fulfilled expression on her face and her skin is shining. You can milk her again after 23 hours.",
+ "price": 60000,
+ "material": ["maid"],
+ "weight": 36000,
+ "volume": 45,
+ "use_action": {
+ "type": "delayed_transform",
+ "transform_age": 13800,
+ "not_ready_msg": "The little maid gently took your hand and placed it on her belly. It feels very warm...",
+ "msg": "The little maid came close to you. She's staring at you, waiting to be milked.",
+ "moves": 0,
+ "target": "little_maid_R18_milk"
+ }
+ },
+{
+ "type" : "recipe",
+ "result": "little_maid_R18_tane",
+ "id_suffix": "from_little_maid_R18",
+ "category": "CC_OTHER",
+ "subcategory": "CSC_OTHER_TOOLS",
+ "skill_used": "fabrication",
+ "difficulty": 0,
+ "time": "60 m",
+ "flags": ["BLIND_EASY"],
+ "reversible": false,
+ "autolearn": true,
+ "components": [
+ [
+ [ "little_maid_R18", 1 ]
+ ]
+ ]
+},
+{
+ "type" : "COMESTIBLE",
+ "id" : "maid_aphrodisiac",
+ "name" : "aphrodisiac",
+ "weight" : 322,
+ "color" : "pink",
+ "addiction_type" : "none",
+ "spoils_in" : 0,
+ "stim" : 0,
+ "comestible_type" : "DRINK",
+ "container": "bottle_plastic",
+ "symbol" : "%",
+ "quench" : 10,
+ "healthy" : 1,
+ "addiction_potential" : 0,
+ "nutrition" : 10,
+ "description" : "An aphrodisiac that raises your vitality if you drink it. If you give it to a little maid, she'll lay eggs.",
+ "price" : 300,
+ "material" : "veggy",
+ "tool" : "null",
+ "volume" : 1,
+ "phase" : "liquid",
+ "charges" : 1,
+ "fun" : 20
+},
+{
+ "type" : "recipe",
+ "result": "maid_aphrodisiac",
+ "id_suffix": "from_apple",
+ "result_mult": 2,
+ "category": "CC_FOOD",
+ "subcategory": "CSC_FOOD_DRINKS",
+ "skill_used": "cooking",
+ "difficulty": 4,
+ "time": "10 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities":[{"id":"CHEM","level":1,"amount":1}],
+ "tools": [
+ [
+ [ "hotplate", 6 ],
+ [ "char_smoker", 1 ],
+ [ "toolset", 6 ],
+ [ "fire", -1 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "apple", 1 ],
+ [ "pomegranate", 1 ],
+ [ "onion", 1 ],
+ [ "lettuce", 1 ],
+ [ "garlic", 1 ],
+ [ "pepper", 10 ]
+ ],
+ [
+ [ "honey_bottled", 1 ],
+ [ "honey_glassed", 1 ],
+ [ "honeycomb", 1 ]
+ ],
+ [
+ [ "water", 1 ],
+ [ "water_clean", 1 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "milk",
+ "id_suffix": "from_little_maid_R18_milk",
+ "result_mult": 3,
+ "byproducts": [["little_maid_R18_milk2"]],
+ "category": "CC_FOOD",
+ "subcategory": "CSC_FOOD_DRINKS",
+ "skill_used": "fabrication",
+ "difficulty": 0,
+ "time": "60 m",
+ "flags": ["BLIND_EASY"],
+ "reversible": false,
+ "autolearn": true,
+ "components": [
+ [
+ [ "little_maid_R18_milk", 1 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "egg_bird",
+ "id_suffix": "from_maid_aphrodisiac",
+ "result_mult": 3,
+ "category": "CC_FOOD",
+ "subcategory": "CSC_FOOD_OTHER",
+ "skill_used": "fabrication",
+ "difficulty": 0,
+ "time": "5 m",
+ "flags": ["BLIND_EASY"],
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "little_maid_R18_milk", -1 ],
+ [ "little_maid_R18_milk2", -1 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "maid_aphrodisiac", 1 ]
+ ]
+ ]
+},
+ {
+ "type" : "mutation",
+ "id" : "futanari",
+ "name" : "Hermaphrodite",
+ "points" : 0,
+ "description" : "There are two genders in your body.",
+ "starting_trait" : true,
+ "valid" : false
+ },
+ {
+ "type" : "mutation",
+ "id" : "syokusyu",
+ "name" : "Reproductive Tentacles",
+ "points" : 0,
+ "description" : "Writhing tentacles that can be used in reproduction are growing in your body.",
+ "starting_trait" : true,
+ "valid" : false
+ }
+] \ No newline at end of file
diff --git a/modinfo.json b/modinfo.json
new file mode 100644
index 0000000..d95e404
--- /dev/null
+++ b/modinfo.json
@@ -0,0 +1,10 @@
+{
+ "type": "MOD_INFO",
+ "mod-type": "SUPPLEMENTAL",
+ "ident": "battle_maid",
+ "name": "Battle Maid Redux",
+ "description": "Translated and tweaked version of the original Battle Maid mod.",
+ "author": "Vermilion",
+ "category": "creatures",
+ "dependencies": [ "dda" ]
+}
diff --git a/monster_drops.json b/monster_drops.json
new file mode 100644
index 0000000..a2ae726
--- /dev/null
+++ b/monster_drops.json
@@ -0,0 +1,26 @@
+[
+ {
+ "type": "item_group",
+ "id": "mon_shoggoth_death_drops",
+ "subtype": "collection",
+ "entries": [
+ { "item": "meat_shoggoth", "prob": 40 }
+ ]
+ },
+ {
+ "type": "item_group",
+ "id": "mon_shoggoth_maid_death_drops",
+ "subtype": "collection",
+ "entries": [
+ { "item": "mini_shoggoth", "prob": 100 }
+ ]
+ },
+ {
+ "type": "item_group",
+ "id": "mon_little_maid_death_drops",
+ "subtype": "collection",
+ "entries": [
+ { "item": "mini_little_maid", "prob": 100 }
+ ]
+ }
+]
diff --git a/monsters.json b/monsters.json
new file mode 100644
index 0000000..a4b852b
--- /dev/null
+++ b/monsters.json
@@ -0,0 +1,136 @@
+[
+ {
+ "type" : "MONSTER",
+ "id" : "mon_shoggoth_maid",
+ "name": "shoggoth maid",
+ "species":"NETHER",
+ "default_faction":"player",
+ "symbol":"M",
+ "color":"white",
+ "size":"SMALL",
+ "diff":20,
+ "aggression":10,
+ "morale":100,
+ "speed":300,
+ "melee_skill":10,
+ "melee_dice":5,
+ "melee_dice_sides":5,
+ "melee_bash":6,
+ "dodge":0,
+ "armor_bash":10,
+ "armor_cut":30,
+ "vision_day":8,
+ "vision_night":8,
+ "death_drops": "mon_shoggoth_maid_death_drops",
+ "hp":400,
+ "harvest": "exempt",
+ "death_function":["MELT"],
+ "regenerates": 50,
+ "regen_morale": true,
+ "special_attacks":[["PARROT", 40],["IMPALE", 25], ["STRETCH_ATTACK", 5]],
+ "description":"A shoggoth mimicking the look of an attractive maid. Contrary to the neat appearance, her head has swirls of pink and iridescent colors swirling around. She has a deep seated love for her master.",
+ "flags":["SEES", "SMELLS", "HEARS", "SWIMS", "PLASTIC", "SLUDGEPROOF", "ACIDPROOF", "NOHEAD", "NOGIB", "FLIES"],
+ "anger_triggers":["FRIEND_ATTACKED"]
+ },
+ {
+ "type" : "MONSTER",
+ "id" : "mon_shoggoth",
+ "copy-from" : "mon_shoggoth",
+ "death_drops": "mon_shoggoth_death_drops"
+ },
+ {
+ "type" : "MONSTER",
+ "id" : "maid_master",
+ "name": "master",
+ "name_plural": "masters",
+ "species":"UNKNOWN",
+ "default_faction":"player",
+ "symbol":"m",
+ "color":"brown",
+ "size":"SMALL",
+ "material":"flesh",
+ "diff":2,
+ "aggression":-10,
+ "morale":100,
+ "speed":130,
+ "melee_skill":2,
+ "melee_dice":2,
+ "melee_dice_sides":4,
+ "melee_cut":2,
+ "dodge":2,
+ "armor_bash":0,
+ "armor_cut":0,
+ "vision_day":30,
+ "vision_night":3,
+ "harvest": "human",
+ "death_function":["NORMAL"],
+ "hp":40,
+ "description":"A child entrusted to you by the owner of the house you served at. There's a deep feeling of fear in your stomach as you embrace the cataclysm, but protecting this child gives you purpose and makes you feel less alone.",
+ "flags":["SEES", "HEARS", "SMELLS", "WARM", "GUILT","BONES"]
+ },
+ {
+ "type" : "MONSTER",
+ "id" : "mon_little_maid",
+ "name": "little maid",
+ "species":"NETHER",
+ "default_faction":"player",
+ "symbol":"m",
+ "color":"white",
+ "size":"SMALL",
+ "material":"flesh",
+ "diff":2,
+ "aggression":10,
+ "morale":100,
+ "speed":300,
+ "melee_skill":5,
+ "melee_dice":1,
+ "melee_dice_sides":1,
+ "melee_cut":1,
+ "dodge":2,
+ "armor_bash":10,
+ "armor_cut":10,
+ "vision_day":8,
+ "vision_night":8,
+ "harvest": "exempt",
+ "death_drops": "mon_little_maid_death_drops",
+ "hp":80,
+ "death_function":["MELT"],
+ "special_attacks":[["PARROT", 40],["IMPALE", 25]],
+ "regenerates": 10,
+ "regen_morale": true,
+ "description":"A small maid summoned from a different world. Although difficult to have a conversation with, it seems she had longed to be summoned.",
+ "flags":["SEES", "SMELLS", "HEARS", "SWIMS", "WARM", "NOGIB"],
+ "anger_triggers":["FRIEND_ATTACKED"]
+ },
+ {
+ "type" : "MONSTER",
+ "id" : "mon_alchemic_golem",
+ "name": "alchemic flesh golem (cooked)",
+ "species":"NETHER",
+ "default_faction":"player",
+ "symbol":"g",
+ "color":"red",
+ "size":"SMALL",
+ "material":"flesh",
+ "diff":2,
+ "aggression":100,
+ "morale":100,
+ "speed":80,
+ "melee_skill":0,
+ "melee_dice":0,
+ "melee_dice_sides":0,
+ "melee_cut":0,
+ "dodge":0,
+ "armor_bash":0,
+ "armor_cut":0,
+ "vision_day":15,
+ "vision_night":15,
+ "hp":100,
+ "emit_fields": [ "emit_toxic_leak" ],
+ "harvest": "exempt",
+ "death_function":["GAS", "ACID"],
+ "special_attacks":[["ACID_BARF", 1]],
+ "description":"A large living mass of meat made alive by the means of alchemy. The twisted, distorted meat lump has a mouth-like organ like that of a human, where it constantly spews poisonous gas and acidic bodily fluids from, while making unpleasant sounds.",
+ "flags":["SEES", "HEARS", "SMELLS", "STUMBLES", "WARM", "NO_BREATHE", "ACIDPROOF", "ACID_BLOOD"]
+ }
+]
diff --git a/mutations.json b/mutations.json
new file mode 100644
index 0000000..402d150
--- /dev/null
+++ b/mutations.json
@@ -0,0 +1,42 @@
+[
+{
+ "type" : "mutation",
+ "id" : "MARTIAL_ARTS_maid",
+ "name" : "Servant's fighting technique",
+ "points" : 3,
+ "description" : "You have learned the secret assassination techniques of a first-class servant.",
+ "starting_trait" : true,
+ "initial_ma_styles" : [ "style_maid" ],
+ "valid" : false
+},
+{
+ "type" : "mutation",
+ "id" : "PROF_MA_MAID",
+ "name" : "Servant's fighting technique",
+ "points" : 0,
+ "description" : "You have learned the secret assassination techniques of a first-class servant.",
+ "initial_ma_styles" : [ "style_maid" ],
+ "valid": false,
+ "purifiable": false,
+ "profession": true
+},
+{
+ "type" : "mutation",
+ "id" : "PROF_NEKOMIMI",
+ "name" : "Cat characteristics",
+ "points" : 0,
+ "description" : "You have grown features that of a cat.",
+ "valid": false,
+ "purifiable": false,
+ "profession": true
+},
+{
+ "type" : "mutation",
+ "id" : "STYLISH",
+ "name" : "Stylish",
+ "points" : 1,
+ "description" : "Practicality is far less important than style. Your morale is improved by wearing fashionable and attractive clothing.",
+ "starting_trait" : true,
+ "valid" : false
+}
+] \ No newline at end of file
diff --git a/professions.json b/professions.json
new file mode 100644
index 0000000..68fd811
--- /dev/null
+++ b/professions.json
@@ -0,0 +1,201 @@
+[
+ {
+ "type": "profession",
+ "ident": "battle_maid",
+ "name": {
+ "male": "Butler",
+ "female": "Battle maid"
+ },
+ "description": "In order to serve your master, you have went through special combat training. You have learned to clean every bit of malice coming towards your master.",
+ "points": 8,
+ "traits": [
+ "PROF_MA_MAID"
+ ],
+ "skills": [
+ {
+ "level": 5,
+ "name": "cooking"
+ },
+ {
+ "level": 4,
+ "name": "tailor"
+ },
+ {
+ "level": 4,
+ "name": "driving"
+ },
+ {
+ "level": 4,
+ "name": "throw"
+ },
+ {
+ "level": 3,
+ "name": "melee"
+ },
+ {
+ "level": 3,
+ "name": "unarmed"
+ },
+ {
+ "level": 3,
+ "name": "dodge"
+ }
+ ],
+ "items": {
+ "both" : [
+ "pocketwatch",
+ "knife_butter",
+ "gloves_leather",
+ "tool_belt",
+ "knit_scarf",
+ "maid_cloak_off",
+ "assassins_throwing_dagger",
+ "master_doll",
+ "maid_bell"
+ ],
+ "male": [
+ "briefs",
+ "socks",
+ "dress_shoes",
+ "tux"
+ ],
+ "female": [
+ "bra",
+ "tights",
+ "boots",
+ "maid_dress",
+ "maid_hat"
+ ]
+ }
+ },
+{
+ "type": "profession",
+ "ident": "shoggoth_master",
+ "name": {
+ "male": "Shoggoth's master",
+ "female": "Shoggoth's master"
+ },
+ "description": "You have a maid. She was hired by your father to keep you safe because of your health. She's good-looking and... She's good in a fight. However, she keeps saying 'Master! I have gotten rid of all the monsters! It's the perfect time for lovemaking! Let's make a lot of children, together!' ... She's a little odd.",
+ "points": 8,
+ "traits": [
+ "FLIMSY2"
+ ],
+ "skills": [
+ ],
+ "items": {
+ "both" : [
+ "dress_shirt",
+ "peacoat",
+ "dress_shoes",
+ "pants",
+ "socks",
+ "knit_scarf",
+ "res_shoggoth",
+ "pet_carrier"
+ ],
+ "male": [
+ "briefs"
+ ],
+ "female": [
+ "bra",
+ "panties"
+ ]
+ }
+ },
+ {
+ "type": "profession",
+ "ident": "maid_and_master",
+ "name": {
+ "male": "Butler (with master)",
+ "female": "Maid (with master)"
+ },
+ "description": "You saw your master run to his car with his child, but he got caught by a ferocious zombie. Among the countless groans, you heard your master yell out 'Take my child and run away!' and you did just that. Shoving the shaking child into a bag, you prepare to run away from the depths of hell.",
+ "points": 1,
+ "skills": [
+ {
+ "level": 1,
+ "name": "cooking"
+ },
+ {
+ "level": 1,
+ "name": "driving"
+ },
+ {
+ "level": 2,
+ "name": "tailor"
+ }
+ ],
+ "items": {
+ "both" : [
+ "pocketwatch",
+ "knife_butter",
+ "maid_master_child",
+ "man_carrier"
+ ],
+ "male": [
+ "briefs",
+ "socks",
+ "dress_shoes",
+ "tux"
+ ],
+ "female": [
+ "panties",
+ "bra",
+ "stockings",
+ "boots",
+ "maid_dress",
+ "maid_hat"
+ ]
+ }
+ },
+ {
+ "type": "profession",
+ "ident": "cat_maid",
+ "name": {
+ "male": "Catboy butler",
+ "female": "Catgirl maid"
+ },
+ "description": "When the cataclysm came, you suddenly grew cat ears and a tail! Now you only need your master to give you a collar.",
+ "points": 4,
+ "traits": [
+ "PROF_NEKOMIMI",
+ "FELINE_EARS",
+ "TAIL_LONG",
+ "NIGHTVISION2"
+ ],
+ "skills": [
+ {
+ "level": 3,
+ "name": "cooking"
+ },
+ {
+ "level": 1,
+ "name": "driving"
+ },
+ {
+ "level": 3,
+ "name": "tailor"
+ }
+ ],
+ "items": {
+ "both" : [
+ "pocketwatch",
+ "knife_butter",
+ "leather_collar"
+ ],
+ "male": [
+ "briefs_kemo",
+ "socks",
+ "dress_shoes",
+ "tux"
+ ],
+ "female": [
+ "stockings_lace",
+ "bra",
+ "boots",
+ "maid_dress",
+ "cat_maid_cap"
+ ]
+ }
+ }
+] \ No newline at end of file
diff --git a/recipes.json b/recipes.json
new file mode 100644
index 0000000..dce098b
--- /dev/null
+++ b/recipes.json
@@ -0,0 +1,1392 @@
+[
+{
+ "type" : "recipe",
+ "result": "maid_dress",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_SUIT",
+ "skill_used": "tailor",
+ "difficulty": 4,
+ "time": "200 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "sewing_kit", 60 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "rag", 40 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "maid_dress_french",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_SUIT",
+ "skill_used": "tailor",
+ "difficulty": 4,
+ "time": "180 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "sewing_kit", 40 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "rag", 20 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "survivor_maid_dress",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_SUIT",
+ "skill_used": "tailor",
+ "skills_required" : ["fabrication", 6],
+ "difficulty": 7,
+ "time": "120 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities" : [
+ {"id":"CUT","level":1,"amount":1}
+ ],
+ "tools": [
+ [
+ [ "welder", 18 ],
+ [ "soldering_iron", 18 ],
+ [ "toolset", 18 ]
+ ],
+ [
+ [ "sewing_kit", 60 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "maid_dress", 1 ]
+ ],
+ [
+ [ "cloak", 1 ]
+ ],
+ [
+ [ "chestrig", 1 ],
+ [ "legrig", 1 ],
+ [ "vest", 1 ],
+ [ "tool_belt", 1 ],
+ [ "ragpouch", 2 ],
+ [ "leather_pouch", 2 ],
+ [ "dump_pouch", 1 ],
+ [ "purse", 1 ],
+ [ "fanny", 1 ]
+ ],
+ [
+ [ "duct_tape", 150 ]
+ ],
+ [
+ [ "kevlar", 1 ],
+ [ "modularvest", 1 ],
+ [ "swat_armor", 1 ],
+ [ "kevlar_plate", 16 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "jokyu_fuku",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_SUIT",
+ "skill_used": "tailor",
+ "difficulty": 4,
+ "time": "200 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "sewing_kit", 60 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "rag", 40 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "maid_hat",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_HEAD",
+ "skill_used": "tailor",
+ "difficulty": 4,
+ "time": "60 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "sewing_kit", 20 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "rag", 3 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "stockings_lace",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_FEET",
+ "skill_used": "tailor",
+ "difficulty": 5,
+ "time": "100 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "sewing_kit", 30 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "rag", 8 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "petticoat",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_FEET",
+ "skill_used": "tailor",
+ "difficulty": 4,
+ "time": "80 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "sewing_kit", 30 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "rag", 8 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "tux",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_SUIT",
+ "skill_used": "tailor",
+ "difficulty": 4,
+ "time": "200 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "sewing_kit", 65 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "rag", 45 ]
+ ]
+ ]
+},
+ {
+ "type" : "recipe",
+ "result": "survivor_tux",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_SUIT",
+ "skill_used": "tailor",
+ "skills_required" : ["fabrication", 6],
+ "difficulty": 7,
+ "time": "120 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities" : [
+ {"id":"CUT","level":1,"amount":1}
+ ],
+ "tools": [
+ [
+ [ "welder", 18 ],
+ [ "soldering_iron", 18 ],
+ [ "toolset", 18 ]
+ ],
+ [
+ [ "sewing_kit", 60 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "tux", 1 ]
+ ],
+ [
+ [ "cloak", 1 ]
+ ],
+ [
+ [ "chestrig", 1 ],
+ [ "legrig", 1 ],
+ [ "vest", 1 ],
+ [ "tool_belt", 1 ],
+ [ "ragpouch", 2 ],
+ [ "leather_pouch", 2 ],
+ [ "dump_pouch", 1 ],
+ [ "purse", 1 ],
+ [ "fanny", 1 ]
+ ],
+ [
+ [ "duct_tape", 150 ]
+ ],
+ [
+ [ "kevlar", 1 ],
+ [ "modularvest", 1 ],
+ [ "swat_armor", 1 ],
+ [ "kevlar_plate", 16 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "makeshift_throwing_knife",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_RANGED",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "skills_required" : [ "throw", 4 ],
+ "time": "20 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities":[
+ {"id":"HAMMER","level":2,"amount":1}
+ ],
+ "components":
+ [
+ [
+ [ "steel_chunk", 2 ],
+ [ "scrap", 6 ]
+ ],
+ [
+ [ "rag", 1 ],
+ [ "duct_tape", 50 ],
+ [ "string_6", 2 ],
+ [ "sinew", 100 ],
+ [ "thread", 100 ],
+ [ "plant_fibre", 100 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "assassins_throwing_dagger",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_RANGED",
+ "skill_used": "fabrication",
+ "difficulty": 7,
+ "skills_required" : [ "throw", 7 ],
+ "time": "240 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities":[
+ {"id":"HAMMER","level":3,"amount":1}
+ ], "tools": [
+ [
+ ["tongs", -1]
+ ],
+ [
+ ["chisel", -1]
+ ],
+ [
+ ["anvil", -1]
+ ],
+ [
+ ["swage", -1]
+ ],
+ [
+ ["forge", 200], ["char_forge", 40], [ "oxy_torch", 40]
+ ]
+ ],
+ "components":
+ [
+ [
+ [ "steel_chunk", 2 ],
+ [ "scrap", 6 ]
+ ],
+ [
+ [ "leather", 1 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "destruction_otama",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_RANGED",
+ "skill_used": "fabrication",
+ "difficulty": 7,
+ "skills_required" : [ "throw", 7 ],
+ "time": "20 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities":[
+ {"id":"HAMMER","level":3,"amount":1}
+ ], "tools": [
+ [
+ ["tongs", -1]
+ ],
+ [
+ ["chisel", -1]
+ ],
+ [
+ ["anvil", -1]
+ ],
+ [
+ ["swage", -1]
+ ],
+ [
+ ["forge", 200], ["char_forge", 40], [ "oxy_torch", 40]
+ ]
+ ],
+ "components":
+ [
+ [
+ [ "steel_chunk", 2 ],
+ [ "scrap", 6 ]
+ ],
+ [
+ [ "2x4", 1 ],
+ [ "stick", 2 ]
+ ],
+ [
+ [ "maid_point", 100 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "vorpal_kitchen_knife",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_CUTTING",
+ "skill_used": "fabrication",
+ "difficulty": 10,
+ "skills_required" : [ "melee", 10 ],
+ "time": "480 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities": [
+ {"id":"HAMMER","level":3,"amount":1}
+ ],
+ "tools": [
+ [
+ ["tongs", -1]
+ ],
+ [
+ ["chisel", -1]
+ ],
+ [
+ ["anvil", -1]
+ ],
+ [
+ ["swage", -1]
+ ],
+ [
+ ["forge", 450],
+ [ "char_forge", 90],
+ [ "oxy_torch", 90]
+ ]
+ ],
+ "components":
+ [
+ [
+ [ "steel_lump", 2 ],
+ [ "steel_chunk", 8 ],
+ [ "scrap", 24 ]
+ ],
+ [
+ [ "2x4", 1 ],
+ [ "stick", 2 ]
+ ],
+ [
+ [ "maid_point", 2000 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "slaying_pan",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_BASHING",
+ "skill_used": "fabrication",
+ "difficulty": 9,
+ "skills_required" : [ "melee", 7 ],
+ "time": "480 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities": [
+ {"id":"HAMMER","level":3,"amount":1}
+ ],
+ "tools": [
+ [
+ ["tongs", -1]
+ ],
+ [
+ ["chisel", -1]
+ ],
+ [
+ ["anvil", -1]
+ ],
+ [
+ ["swage", -1]
+ ],
+ [
+ ["forge", 450],
+ [ "char_forge", 90],
+ [ "oxy_torch", 90]
+ ]
+ ],
+ "components":
+ [
+ [
+ [ "steel_lump", 2 ],
+ [ "steel_chunk", 8 ],
+ [ "scrap", 24 ]
+ ],
+ [
+ [ "2x4", 1 ],
+ [ "stick", 2 ]
+ ],
+ [
+ [ "spike", 6 ]
+ ],
+ [
+ [ "maid_point", 1800 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "brutal_broom",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_PIERCING",
+ "skill_used": "fabrication",
+ "difficulty": 6,
+ "skills_required" : [ "melee", 6 ],
+ "time": "5 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities" : [
+ {"id":"HAMMER","level":1,"amount":1},
+ {"id":"SAW_M","level":1,"amount":1}
+ ], "tools": [
+ [
+ ["tongs", -1]
+ ],
+ [
+ ["chisel", -1]
+ ],
+ [
+ ["swage", -1]
+ ],
+ [
+ ["anvil", -1]
+ ],
+ [
+ ["forge", 100], ["char_forge", 20], [ "oxy_torch", 20]
+ ]
+ ],
+ "components": [
+ [
+ [ "blade", 1 ]
+ ],
+ [
+ [ "spike", 1 ]
+ ],
+ [
+ [ "2x4", 2 ],
+ [ "stick", 4 ],
+ [ "broom", 1 ]
+ ],
+ [
+ [ "duct_tape", 100 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "spiked_whip",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_BASHING",
+ "skill_used": "fabrication",
+ "difficulty": 8,
+ "skills_required" : [ "melee", 6 ],
+ "time": "360 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities": [
+ {"id":"HAMMER","level":3,"amount":1},
+ {"id":"CUT","level":1,"amount":1}
+ ],
+ "tools": [
+ [
+ ["tongs", -1]
+ ],
+ [
+ ["chisel", -1]
+ ],
+ [
+ ["anvil", -1]
+ ],
+ [
+ ["swage", -1]
+ ],
+ [
+ ["forge", 400],
+ [ "char_forge", 80],
+ [ "oxy_torch", 80]
+ ]
+ ],
+ "components":
+ [
+ [
+ [ "bullwhip" ,1 ],
+ [ "leather" ,25 ]
+ ],
+ [
+ [ "steel_lump", 1 ],
+ [ "steel_chunk", 4 ],
+ [ "scrap", 12 ]
+ ],
+ [
+ [ "spike", 9 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "shikomi_kasa",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_CUTTING",
+ "skill_used": "fabrication",
+ "difficulty": 8,
+ "skills_required" : [ "melee", 6 ],
+ "time": "480 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities": [
+ {"id":"HAMMER","level":3,"amount":1}
+ ],
+ "tools": [
+ [
+ ["tongs", -1]
+ ],
+ [
+ ["chisel", -1]
+ ],
+ [
+ ["anvil", -1]
+ ],
+ [
+ ["swage", -1]
+ ],
+ [
+ ["forge", 400],
+ [ "char_forge", 80],
+ [ "oxy_torch", 80]
+ ]
+ ],
+ "components":
+ [
+ [
+ ["umbrella", 1 ],
+ ["teleumbrella", 1 ]
+ ],
+ [
+ [ "steel_lump", 2 ],
+ [ "steel_chunk", 6 ],
+ [ "scrap", 18 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "shikomi_stick",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_CUTTING",
+ "skill_used": "fabrication",
+ "difficulty": 8,
+ "skills_required" : [ "melee", 6 ],
+ "time": "540 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities": [
+ {"id":"HAMMER","level":3,"amount":1},
+ {"id":"CUT","level":1,"amount":1}
+ ],
+ "tools": [
+ [
+ ["tongs", -1]
+ ],
+ [
+ ["chisel", -1]
+ ],
+ [
+ ["anvil", -1]
+ ],
+ [
+ ["swage", -1]
+ ],
+ [
+ ["forge", 400],
+ [ "char_forge", 80],
+ [ "oxy_torch", 80]
+ ],
+ [
+ ["polisher", 20]
+ ]
+ ],
+ "components":
+ [
+ [
+ [ "2x4", 2 ],
+ [ "stick", 4 ]
+ ],
+ [
+ [ "steel_lump", 2 ],
+ [ "steel_chunk", 6 ],
+ [ "scrap", 18 ]
+ ],
+ [
+ [ "wax", 2]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "leather_cat_tail_biv",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_OTHER",
+ "skill_used": "tailor",
+ "difficulty": 3,
+ "time": "10 m",
+ "reversible": false,
+ "autolearn": true,
+ "components": [
+ [
+ [ "leather_cat_tail", 1]
+ ],
+ [
+ [ "vibrator", 1]
+ ],
+ [
+ ["superglue", 1]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "fur_cat_tail_biv",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_OTHER",
+ "skill_used": "tailor",
+ "difficulty": 3,
+ "time": "10 m",
+ "reversible": false,
+ "autolearn": true,
+ "components": [
+ [
+ [ "fur_cat_tail", 1]
+ ],
+ [
+ [ "vibrator", 1]
+ ],
+ [
+ ["superglue", 1]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "blob_cat_tail",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_OTHER",
+ "skill_used": "cooking",
+ "difficulty": 8,
+ "time": "400 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities" : [
+ {"id":"CUT","level":1,"amount":1}
+ ],
+ "components": [
+ [
+ [ "slime_scrap", 1]
+ ],
+ [
+ ["meat", 1]
+ ]
+ ]
+},
+ {
+ "type" : "recipe",
+ "result": "blob_gohan",
+ "category": "CC_AMMO",
+ "subcategory": "CSC_AMMO_OTHER",
+ "skill_used": "cooking",
+ "difficulty": 0,
+ "time": "1 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities" : [
+ {"id":"HAMMER","level":1,"amount":1},
+ {"id":"CUT","level":1,"amount":1}
+ ],
+ "components": [
+ [
+ [ "meat", 1 ]
+ ]
+ ]
+ },
+ {
+ "type" : "recipe",
+ "result": "flask_shoggoth",
+ "category": "CC_OTHER",
+ "skill_used": "cooking",
+ "difficulty": 9,
+ "time": "100 m",
+ "reversible": false,
+ "autolearn": false,
+ "book_learn": [[ "book_shoggoth", 9 ]],
+ "tools": [
+ [
+ [ "chemistry_set", 5 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "meat_shoggoth", 1 ]
+ ],
+ [
+ [ "flask_glass", 1 ]
+ ],
+ [
+ [ "blood", 10 ]
+ ],
+ [
+ [ "maid_point", 4454 ]
+ ],
+ [
+ [ "maid_dress", 1 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "man_carrier",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_OTHER",
+ "skill_used": "tailor",
+ "difficulty": 4,
+ "time": "200 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "sewing_kit", 60 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "leather", 30 ]
+ ],
+ [
+ [ "rag", 25 ]
+ ],
+ [
+ [ "felt_patch", 20 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "maid_cap",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_HEAD",
+ "skill_used": "tailor",
+ "difficulty": 3,
+ "time": "20 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "sewing_kit", 15 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "rag", 4 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "cat_maid_cap",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_HEAD",
+ "skill_used": "tailor",
+ "difficulty": 5,
+ "time": "40 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "sewing_kit", 20 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "rag", 5 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "master_doll",
+ "category": "CC_OTHER",
+ "skill_used": "fabrication",
+ "skills_required": [ "tailor", 3 ],
+ "difficulty": 3,
+ "time": "60 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "sewing_kit", 30 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "rag", 12 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "maid_bell",
+ "category": "CC_OTHER",
+ "skill_used": "fabrication",
+ "skills_required": [ "tailor", 3 ],
+ "difficulty": 3,
+ "time": "60 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "sewing_kit", 30 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "rag", 12 ]
+ ],
+ [
+ [ "vibrator", 1],
+ [ "stick", 1]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "master_doll_vibe_off",
+ "category": "CC_OTHER",
+ "skill_used": "fabrication",
+ "skills_required": [ "tailor", 3 ],
+ "difficulty": 3,
+ "time": "60 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "sewing_kit", 30 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "rag", 12 ]
+ ],
+ [
+ [ "vibrator", 1]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "maid_point",
+ "byproducts": [["maid_bell"]],
+ "category": "CC_AMMO",
+ "subcategory": "CSC_AMMO_OTHER",
+ "skill_used": "fabrication",
+ "difficulty": 0,
+ "time": "30 m",
+ "flags": ["BLIND_EASY"],
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "master_doll", 48 ],
+ [ "master_doll_vibe_off", 15 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "maid_bell", 1 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "maid_cloak_off",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_SUIT",
+ "skill_used": "tailor",
+ "difficulty": 8,
+ "time": "25 m",
+ "reversible": true,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "sewing_kit", 18 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "rag", 20 ],
+ [ "cloak", 1 ]
+ ],
+ [
+ [ "maid_point", 1000 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "maid_claw",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_PIERCING",
+ "skill_used": "fabrication",
+ "difficulty": 7,
+ "skills_required" : [ "melee", 6 ],
+ "time": "100 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities" : [
+ {"id":"HAMMER","level":1,"amount":1}
+ ], "tools": [
+ [
+ ["tongs", -1]
+ ],
+ [
+ ["chisel", -1]
+ ],
+ [
+ ["swage", -1]
+ ],
+ [
+ ["anvil", -1]
+ ],
+ [
+ ["forge", 100], ["char_forge", 20], [ "oxy_torch", 20]
+ ],
+ [
+ [ "sewing_kit", 6 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "spike", 5 ]
+ ],
+ [
+ [ "steel_chunk", 2 ],
+ [ "scrap", 6 ]
+ ],
+ [
+ [ "leather", 2 ]
+ ],
+ [
+ [ "maid_point", 1400 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "maidguy_mask_off",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_HEAD",
+ "skill_used": "tailor",
+ "difficulty": 8,
+ "time": "120 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ ["tongs", -1]
+ ],
+ [
+ ["chisel", -1]
+ ],
+ [
+ ["swage", -1]
+ ],
+ [
+ ["anvil", -1]
+ ],
+ [
+ ["forge", 100], ["char_forge", 20], [ "oxy_torch", 20]
+ ],
+ [
+ [ "sewing_kit", 20 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "rag", 4 ]
+ ],
+ [
+ [ "silver_small", 1000 ]
+ ],
+ [
+ [ "maid_point", 1000 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "summon_little_maid",
+ "category": "CC_OTHER",
+ "subcategory": "CSC_OTHER_TOOLS",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "time": "20 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities":[ {"id":"CUT","level":1,"amount":1} ],
+ "tools": [
+ [
+ ["feather", -1]
+ ]
+ ],
+ "components": [
+ [
+ [ "paper", 5 ]
+ ],
+ [
+ [ "sugar", 1 ]
+ ],
+ [
+ [ "stick", 1 ],
+ [ "2x4", 1 ]
+ ],
+ [
+ [ "maid_point", 300 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "recall_ration",
+ "category": "CC_OTHER",
+ "subcategory": "CSC_OTHER_TOOLS",
+ "skill_used": "fabrication",
+ "difficulty": 2,
+ "time": "20 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities":[ {"id":"CUT","level":1,"amount":1} ],
+ "tools": [
+ [
+ ["feather", -1]
+ ]
+ ],
+ "components": [
+ [
+ [ "paper", 5 ]
+ ],
+ [
+ [ "stick", 1 ],
+ [ "2x4", 1 ]
+ ],
+ [
+ [ "maid_point", 100 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "meat",
+ "id_suffix": "from_recall_ration",
+ "byproducts": [["water_clean"]],
+ "category": "CC_FOOD",
+ "subcategory": "CSC_OTHER_TOOLS",
+ "skill_used": "fabrication",
+ "difficulty": 0,
+ "time": "3 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ ["recall_ration", -1]
+ ]
+ ],
+ "components": [
+ [
+ [ "maid_point", 100 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "maid_mess_kit",
+ "category": "CC_OTHER",
+ "subcategory": "CSC_OTHER_TOOLS",
+ "skill_used": "fabrication",
+ "difficulty": 4,
+ "skills_required" : [ "cooking", 4 ],
+ "time": "5 m",
+ "reversible": false,
+ "autolearn": true,
+ "components": [
+ [
+ [ "knife_steak", 1 ],
+ [ "knife_butcher", 1 ]
+ ],
+ [
+ [ "pot", 1 ]
+ ],
+ [
+ [ "maid_point", 100 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "little_maid_R18",
+ "category": "CC_OTHER",
+ "subcategory": "CSC_OTHER_TOOLS",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "time": "20 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities":[ {"id":"CUT","level":1,"amount":1} ],
+ "tools": [
+ [
+ [ "feather", -1 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "paper", 5 ]
+ ],
+ [
+ [ "sugar", 1 ]
+ ],
+ [
+ [ "stick", 1 ],
+ [ "2x4", 1 ]
+ ],
+ [
+ [ "maid_point", 300 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "little_maid_meat_smoked",
+ "category": "CC_FOOD",
+ "subcategory": "CSC_FOOD_MEAT",
+ "skill_used": "fabrication",
+ "difficulty": 0,
+ "skills_required" : [ "cooking", 3 ],
+ "time": "0 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities" : [
+ {"id":"COOK","level":1,"amount":1} ],
+ "tools": [
+ [
+ [ "char_smoker", 40 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "meat", 6 ]
+ ],
+ [
+ [ "little_maid_R18", 1 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "little_maid_fish_smoked",
+ "category": "CC_FOOD",
+ "subcategory": "CSC_FOOD_MEAT",
+ "skill_used": "fabrication",
+ "difficulty": 0,
+ "skills_required" : [ "cooking", 3 ],
+ "time": "0 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities" : [
+ {"id":"COOK","level":1,"amount":1} ],
+ "tools": [
+ [
+ [ "char_smoker", 40 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "fish", 12 ]
+ ],
+ [
+ [ "little_maid_R18", 1 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "little_maid_human_smoked",
+ "category": "CC_FOOD",
+ "subcategory": "CSC_FOOD_MEAT",
+ "skill_used": "fabrication",
+ "difficulty": 0,
+ "skills_required" : [ "cooking", 3 ],
+ "time": "0 m",
+ "reversible": false,
+ "autolearn": false,
+ "book_learn": [[ "cookbook_human", 4 ]],
+ "qualities" : [
+ {"id":"COOK","level":1,"amount":1} ],
+ "tools": [
+ [
+ [ "char_smoker", 40 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "human_flesh", 6 ]
+ ],
+ [
+ [ "little_maid_R18", 1 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "summon_alchemic_golem",
+ "category": "CC_OTHER",
+ "subcategory": "CSC_OTHER_TOOLS",
+ "skill_used": "cooking",
+ "difficulty": 3,
+ "time": "15 m",
+ "reversible": false,
+ "autolearn": true,
+ "qualities" : [
+ {"id":"COOK","level":3,"amount":1}, {"id":"CUT","level":1,"amount":1} ],
+ "tools": [
+ [
+ [ "hotplate", 7 ],
+ [ "char_smoker", 7 ],
+ [ "toolset", 7 ],
+ [ "fire", -1 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "human_flesh", 3 ],
+ [ "meat_tainted", 3 ]
+ ],
+ [
+ [ "maid_point", 50 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "battle_mop",
+ "category": "CC_OTHER",
+ "subcategory": "CSC_OTHER_TOOLS",
+ "skill_used": "fabrication",
+ "difficulty": 2,
+ "time": "20 m",
+ "reversible": true,
+ "autolearn": true,
+ "qualities" : [
+ {"id":"CUT","level":1,"amount":1},{"id":"HAMMER","level":2,"amount":1}
+ ],
+ "components": [
+ [
+ [ "stick", 1 ],
+ [ "2x4", 1 ]
+ ],
+ [
+ [ "rag", 4 ]
+ ],
+ [
+ [ "steel_chunk", 1 ]
+ ],
+ [
+ [ "string_36", 1]
+ ],
+ [
+ [ "duct_tape", 25 ]
+ ]
+ ]
+},
+{
+ "type" : "recipe",
+ "result": "panties_kemo",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_LEGS",
+ "skill_used": "tailor",
+ "difficulty": 2,
+ "time": "35 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "sewing_kit", 15 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "rag", 2 ]
+ ]
+ ]
+},{
+ "type" : "recipe",
+ "result": "briefs_kemo",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_LEGS",
+ "skill_used": "tailor",
+ "difficulty": 2,
+ "time": "35 m",
+ "reversible": false,
+ "autolearn": true,
+ "tools": [
+ [
+ [ "sewing_kit", 15 ]
+ ]
+ ],
+ "components": [
+ [
+ [ "rag", 2 ]
+ ]
+ ]
+}
+] \ No newline at end of file
diff --git a/speech.json b/speech.json
new file mode 100644
index 0000000..fd1945b
--- /dev/null
+++ b/speech.json
@@ -0,0 +1,338 @@
+[
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Tekeli-li!\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Tekeli-li! Tekeli-li!\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Tekeli-li?\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Tekeli, tekeli-li! Tekeli, tekeli-li! We'll have a lot of fun when you feel better!\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Master! A-ah, my master's thing... tekeli-li! Kya!\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"I am a maid♪ Your maid♪ Cleaning, washing, cooking... why didn't you let me continue?\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"I will continue talking as much as master desires! I will continue talking even if you don't want me to!\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"We'll have as many babies as master wants♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Master! Master! Are you going to play with the mi-gos?\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"This feeling of chasing down mi-gos is becoming addictive...♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"I learned that this form of human is the most suitable for service work! How is it? Why do you say it's inferior to my previous form?\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Blobs, Triffids, Mycus... they are too diffcult for humans to counter. So... let's make a child to fight against them! She'll be as strong as a thousand humans!\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Master gave me my first death. Please allow me to give many things their first death.\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Master master master master master master master master master master master master master master master master master master master master master master master master master master master master master master master...\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Don't worry, I'm not wearing anything under♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"The past cannot be changed. The future may be dark, but I have my master by my side. So, please... please... don't leave me alone.\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Those who try to take my master away will turn into minchi!♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"What was his name again? Cthulhu?\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Master, are you a lolicon? Or do you like big breasts? If you tell me, I can become more to your liking!♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"If you have a pet carrier, you can store me in it. I am a pet... your pet, master♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"I can also make furniture and food with my body! ...You don't want any? Oh...\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"I dream about Adam and Eve a lot! Let's rebuild humanity with our children, master!\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Please let me know if you need a bath. I can wrap you up in my body and clean everything from sweat to dirt and make you smell good♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Master, have you come across any albino penguins? I know them well, because they are my colleagues. Try not to bother them too much. ...Also, their meat doesn't taste too good.\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"You've worked really hard! As a reward, I will take you out on a date...\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Please pass me your dirty clothes. I will keep them clean and beautiful♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Is it okay for me to die? Yeah, right!♪ Ah, I will fully recover even from the most mortal wounds. Truly, you'd have to kill me down to the molecular level for me to die... That's why you don't have to be worried about me, master♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Is it okay to love a shoggoth? Ah, I don't mind the race difference at all! I will always be by my master's side♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"When I first met master, I thought I had no other choice than to follow this person. I wonder if this is love at first sight? What?\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Tekeli-li~♪ Hello, master♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"My kind is known to be violent, isn't that right? But you don't have to worry about me. I am a slave to my master's love♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"I'm sorry, master, but... I want to lick it♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Master, cheating is not okay.\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Why am I in human form? Well, that's how I can talk to my master, to be able to walk hand in hand with my master and have a body for my master to... nevermind!\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Acid can be negated if you are in a boardable vehicle. Oh, me? Don't worry about me. I'm acidproof♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"The lingering lightning after an electric shock reaches only one square around! So if you wield a spear and a use a suitable martial art, you can dodge it all! ...I have no idea what I just said.\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Do you want to lay your head on my lap? It would make me comfortable, too♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Please use me! Why don't you want to use me? Please use me! Use me!\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Master! Do you want to hold hands?\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"It's okay if master gets tied up! That way I can stay by your side as long as I want... Ufufu...\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"No matter the weather, my heart beats on if I'm with my master♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Please use me as a shield in an emergency. I want to be useful and not be like the other shoggoths.\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"How many children do I want? As many as my master wishes... I will do my best!\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Master's smell... it's intoxicating... haa, master...♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"All my clothes and so on are made of my cells! It's okay if you touch me more♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_shoggoth_maid",
+ "sound" : "\"Armored zombies are tough against random attacks, but if you're a good trapper, you can penetrate and damage even the strongest armors! Destroying knees with traps is the future!\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_little_maid",
+ "sound" : "\"Master\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_little_maid",
+ "sound" : "\"Master~\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_little_maid",
+ "sound" : "\"Mashterr\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_little_maid",
+ "sound" : "\"Master~~\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_little_maid",
+ "sound" : "\"Master!\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_little_maid",
+ "sound" : "\"Master?\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_little_maid",
+ "sound" : "\"Master♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_little_maid",
+ "sound" : "\"Master!♪\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_little_maid",
+ "sound" : "\"Master...\"",
+ "volume" : 10
+ },
+ {
+ "type" : "speech",
+ "speaker" : "mon_little_maid",
+ "sound" : "\"Master...♪\"",
+ "volume" : 10
+ }
+]
diff --git a/techniques.json b/techniques.json
new file mode 100644
index 0000000..6372c45
--- /dev/null
+++ b/techniques.json
@@ -0,0 +1,97 @@
+[
+ {
+ "type" : "technique",
+ "id" : "tec_maid_precise",
+ "name" : "Assassination",
+ "min_melee" : 3,
+ "unarmed_allowed" : true,
+ "melee_allowed" : true,
+ "crit_tec" : true,
+ "messages" : [
+ "You strike %s from the shadows",
+ "<npcname> strikes %s from the shadows"
+ ],
+ "stun_dur" : 2,
+ "mult_bonuses" : [
+ ["damage", "bash", 1.20],
+ ["damage", "cut", 1.20],
+ ["damage", "stab", 1.20]
+ ]
+ },
+ {
+ "type" : "technique",
+ "id" : "tec_maid_counter",
+ "name" : "Abandonment",
+ "min_unarmed" : 5,
+ "dodge_counter" : true,
+ "unarmed_allowed" : true,
+ "stun_dur" : 1,
+ "messages" : [
+ "You cancelled the strike from %s",
+ "<npcname> cancles the strike from %s"
+ ],
+ "mult_bonuses" : [["movecost", 0.0]],
+ "flat_bonuses" : [["movecost", 33]]
+ },
+ {
+ "type" : "technique",
+ "id" : "tec_maid_meleecounter",
+ "name" : "Removal",
+ "min_melee" : 5,
+ "dodge_counter" : true,
+ "block_counter" : true,
+ "melee_allowed" : true,
+ "down_dur" : 1,
+ "knockback_dist" : 1,
+ "aoe" : "spin",
+ "messages" : [
+ "You dodged the strike and hit %s and everything around it",
+ "<npcname> dodges the strike from %s and hits everything around it"
+ ],
+ "mult_bonuses" : [["movecost", 0.0]],
+ "flat_bonuses" : [["movecost", 50]]
+ },
+ {
+ "type" : "technique",
+ "id" : "tec_maid_miyage",
+ "name" : "Maid's Offering",
+ "min_melee" : 6,
+ "melee_allowed" : true,
+ "req_buffs" : ["maid_evaded_bonus"],
+ "crit_tec" : true,
+ "down_dur" : 1,
+ "knockback_dist" : 1,
+ "messages" : [
+ "%s receives the offering of pain",
+ "<npcname> offers %s pain"
+ ],
+ "mult_bonuses" : [
+ ["damage", "bash", 2.50],
+ ["damage", "cut", 2.50],
+ ["damage", "stab", 2.50]
+ ]
+ },
+ {
+ "type" : "technique",
+ "id" : "tec_maid_kyusyu",
+ "name" : "Assault",
+ "min_unarmed" : 6,
+ "unarmed_allowed" : true,
+ "crit_tec" : true,
+ "req_buffs" : ["maid_moved"],
+ "down_dur" : 3,
+ "knockback_dist" : 2,
+ "messages" : [
+ "You assault %s",
+ "<npcname> assaults %s"
+ ],
+ "flat_bonuses" : [
+ ["arpen", "bash", 5]
+ ],
+ "mult_bonuses" : [
+ ["damage", "bash", 1.75],
+ ["damage", "cut", 1.75],
+ ["damage", "stab", 1.75]
+ ]
+ }
+] \ No newline at end of file
diff --git a/tool_armor.json b/tool_armor.json
new file mode 100644
index 0000000..e806d1f
--- /dev/null
+++ b/tool_armor.json
@@ -0,0 +1,215 @@
+[
+ {
+ "id": "leather_cat_tail_biv",
+ "type": "TOOL_ARMOR",
+ "category" : "clothing",
+ "name" : "leather cat tail (vibrator)",
+ "volume" : 1,
+ "material_thickness" : 0,
+ "description" : "A shiny black cat tail made out of leather. Whenever you walk, it sways back and forth. You can turn it on for extra enjoyment.",
+ "flags" : ["FANCY"],
+ "weight" : 100,
+ "max_charges": 100,
+ "initial_charges": 100,
+ "ammo": "battery",
+ "color" : "dark_gray",
+ "price" : 2500,
+ "material" : ["leather", "plastic"],
+ "symbol" : "s",
+ "use_action": "VIBE"
+ },
+ {
+ "type" : "TOOL_ARMOR",
+ "id" : "fur_cat_tail_biv",
+ "category" : "clothing",
+ "name" : "furred cat tail (vibrator)",
+ "volume" : 1,
+ "material_thickness" : 0,
+ "description" : "A brown soft and furry cat tail. Whenever you walk, it sways back and forth. You can turn it on for extra enjoyment.",
+ "flags" : ["FANCY"],
+ "weight" : 100,
+ "max_charges": 100,
+ "initial_charges": 100,
+ "ammo": "battery",
+ "color" : "brown",
+ "price" : 1000,
+ "material" : ["fur", "plastic"],
+ "symbol" : "s",
+ "use_action": "VIBE"
+ },
+ {
+ "type" : "TOOL_ARMOR",
+ "id" : "blob_cat_tail",
+ "category" : "clothing",
+ "name" : "blob cat tail",
+ "volume" : 1,
+ "material_thickness" : 0,
+ "description" : "A blob shaped like the tail of a cat that has been made docile. Whenever you walk, it sways back and forth. Make sure to feed your new blob friend!",
+ "flags" : ["FANCY"],
+ "weight" : 100,
+ "max_charges": 100,
+ "initial_charges": 100,
+ "ammo": "blob_gohan",
+ "color" : "red",
+ "price" : 1000,
+ "material" : ["flesh"],
+ "symbol" : "s",
+ "use_action": "VIBE"
+ },
+ {
+ "type" : "TOOL_ARMOR",
+ "category" : "clothing",
+ "id" : "man_carrier",
+ "name" : "human-sized carry bag",
+ "weight" : 1000,
+ "color" : "brown",
+ "covers" : ["TORSO", "HEAD", "MOUTH", "ARMS", "HANDS", "LEGS", "FEET"],
+ "symbol" : "[",
+ "description" : "A large bag that could fit a person inside. The zipper running across it provides ventilation and you can open and close it from the inside. It can be used as a sleeping bag, as well.",
+ "price" : 20500,
+ "material" : ["leather", "wool"],
+ "volume" : 20,
+ "warmth" : 80,
+ "environmental_protection" : 1,
+ "encumbrance" : 80,
+ "coverage" : 100,
+ "flags" : ["OVERSIZE", "OUTER"],
+ "use_action": "CAPTURE_MONSTER_ACT",
+ "properties": [["monster_size_capacity", "MEDIUM"]],
+ "material_thickness" : 4
+ },
+ {
+ "type" : "TOOL_ARMOR",
+ "category" : "clothing",
+ "id" : "maid_cloak_off",
+ "name" : "maid cloak (off)",
+ "weight" : 1175,
+ "color" : "green",
+ "covers" : ["TORSO", "HEAD", "ARMS", "LEGS"],
+ "symbol" : "[",
+ "description" : "An elegant mantle to keep you warm when going outside. Use it to turn invisible. Consumes maid points.",
+ "price" : 10700,
+ "material" : ["cotton"],
+ "volume" : 12,
+ "warmth" : 30,
+ "environmental_protection" : 3,
+ "encumbrance" : 10,
+ "coverage" : 65,
+ "flags" : ["OVERSIZE", "HOOD", "OUTER", "VARSIZE"],
+ "material_thickness" : 2,
+ "max_charges": 100,
+ "initial_charges": 100,
+ "charges_per_use": 50,
+ "ammo": "maid_point",
+ "use_action": {
+ "type": "transform",
+ "msg": "You take a deep breath... And become invisible.",
+ "target": "maid_cloak_on",
+ "active": true,
+ "need_charges": 100,
+ "need_charges_msg": "Not enough maid points!"
+ }
+ },
+ {
+ "type" : "TOOL_ARMOR",
+ "category" : "clothing",
+ "id" : "maid_cloak_on",
+ "name" : "maid cloak (on)",
+ "weight" : 1175,
+ "color" : "green",
+ "covers" : ["TORSO", "HEAD", "ARMS", "LEGS"],
+ "symbol" : "[",
+ "description" : "An elegant mantle to keep you warm when going outside. Use it to turn visible. It is currently on and consuming maid points.",
+ "price" : 10700,
+ "material" : ["cotton"],
+ "volume" : 12,
+ "warmth" : 30,
+ "environmental_protection" : 3,
+ "encumbrance" : 10,
+ "coverage" : 65,
+ "flags" : ["OVERSIZE", "HOOD", "OUTER", "VARSIZE", "NO_RELOAD"],
+ "material_thickness" : 2,
+ "max_charges": 100,
+ "initial_charges": 50,
+ "turns_per_charge": 1,
+ "ammo": "maid_point",
+ "revert_to": "maid_cloak_off",
+ "use_action": {
+ "type": "transform",
+ "msg": "You take a deep breath... And become visible again.",
+ "target": "maid_cloak_off",
+ "need_charges": 0
+ },
+ "artifact_data" : {
+ "effects_worn": ["AEP_INVISIBLE","AEP_STEALTH"]
+ }
+ },
+ {
+ "type" : "TOOL_ARMOR",
+ "category" : "clothing",
+ "id" : "maidguy_mask_off",
+ "name" : "white brim with veil",
+ "name_plural" : "white brims with veils",
+ "weight" : 150,
+ "color" : "white",
+ "covers" : ["EYES"],
+ "symbol" : "[",
+ "description" : "A regular maid's white brim with an elegant veil sewn into it, decorated with silver frills. Although it covers your eyes and blocks your vision quite harshly, you can use maid points to turn it on and gain otherwordly sight.",
+ "price" : 8000,
+ "material" : ["silver", "cotton"],
+ "volume" : 1,
+ "warmth" : 10,
+ "environmental_protection" : 6,
+ "coverage" : 100,
+ "flags" : ["SUN_GLASSES", "FANCY"],
+ "qualities" : [["GLARE", 1]],
+ "material_thickness" : 4,
+ "max_charges": 100,
+ "initial_charges": 50,
+ "charges_per_use": 50,
+ "ammo": "maid_point",
+ "use_action": {
+ "type": "transform",
+ "msg": "You use the maid points and your vision expands.",
+ "target": "maidguy_mask_on",
+ "active": true,
+ "need_charges": 100,
+ "need_charges_msg": "Not enough maid points!"
+ }
+ },
+ {
+ "type" : "TOOL_ARMOR",
+ "category" : "clothing",
+ "id" : "maidguy_mask_on",
+ "name" : "white brim with veil (clairvoyant)",
+ "name_plural" : "white brims with veils (clairvoyant)",
+ "weight" : 150,
+ "color" : "white",
+ "covers" : ["EYES"],
+ "symbol" : "[",
+ "description" : "A regular maid's white brim with an elegant veil sewn into it, decorated with silver frills. It is currently see-through.",
+ "price" : 8000,
+ "material" : ["silver", "cotton"],
+ "volume" : 1,
+ "warmth" : 10,
+ "environmental_protection" : 6,
+ "coverage" : 100,
+ "flags" : ["SUN_GLASSES", "FANCY", "NO_RELOAD"],
+ "qualities" : [["GLARE", 1]],
+ "material_thickness" : 4,
+ "max_charges": 100,
+ "initial_charges": 50,
+ "turns_per_charge": 1,
+ "ammo": "maid_point",
+ "revert_to": "maidguy_mask_off",
+ "use_action": {
+ "type": "transform",
+ "msg": "The last bits of the maid points fizzle away and the veil turns back to normal.",
+ "target": "maidguy_mask_off",
+ "need_charges": 0
+ },
+ "artifact_data" : {
+ "effects_worn": ["AEP_SUPER_CLAIRVOYANCE"]
+ }
+ }
+] \ No newline at end of file
diff --git a/tools.json b/tools.json
new file mode 100644
index 0000000..3b74812
--- /dev/null
+++ b/tools.json
@@ -0,0 +1,437 @@
+[
+ {
+ "type": "GENERIC",
+ "id": "meat_shoggoth",
+ "name": "shoggoth meat",
+ "name_plural" : "shoggoth meats",
+ "description": "A piece of meat left behind by a shoggoth. It sometimes twitches around, but it doesn't seem hostile.",
+ "weight": 1000,
+ "symbol": ")",
+ "color": "dark_gray",
+ "price": 5000,
+ "material" : ["maid"],
+ "volume": 1,
+ "category": "tools"
+ },
+ {
+ "type": "GENERIC",
+ "category": "other",
+ "id": "flask_shoggoth",
+ "name": "flask (shoggoth)",
+ "name_plural" : "flasks (shoggoth)",
+ "description": "A glass flask containing a piece of meat that seems to be growing. Occasionally the piece of meat pulsates.",
+ "weight": 1200,
+ "symbol": "M",
+ "color": "dark_gray",
+ "price": 5000,
+ "material" : ["glass", "maid"],
+ "volume": 1,
+ "use_action": {
+ "type": "delayed_transform",
+ "transform_age": 201600,
+ "not_ready_msg": "The piece of meat pulsates.",
+ "msg": "The flask is threatening to shatter as the meat keeps growing. Use it again to open it and relieve the pressure.",
+ "moves": 0,
+ "target": "shoggoth_maid"
+ }
+ },
+ {
+ "id": "shoggoth_maid",
+ "type": "TOOL",
+ "category": "other",
+ "symbol": "M",
+ "color": "dark_gray",
+ "name": "growing shoggoth maid",
+ "description": "The meat inside this flask glow with iridescent colors. It's lightly shivering.",
+ "price": 60000,
+ "material": ["glass", "maid"],
+ "weight": 1200,
+ "volume": 1,
+ "use_action": {
+ "type": "place_monster",
+ "monster_id": "mon_shoggoth_maid",
+ "friendly_msg": "The odd meat is released from its glass flask prison and begins to rapidly and violently expand, extending numerous disjointed tentacles in every direction. The tentacles intertwine with each other and transform into an organism, resembling a beautiful woman, not quite like the horrible nightmare creature it used to be. She suddenly speaks up: 'Finally, I am able to meet you like this! Thank you for helping me, master!'",
+ "place_randomly": true
+ }
+ },
+ {
+ "type": "GENERIC",
+ "category": "other",
+ "id": "mini_shoggoth",
+ "name": "small shoggoth maid",
+ "name_plural" : "small shoggoth maids",
+ "description": "'Ah... I think I went overboard and turned out like this. I need some time to return to my former shape. Please warm me up in master's pockets! Don't put me in a fridge! Absolutely not!'",
+ "weight": 200,
+ "symbol": "m",
+ "color": "white",
+ "price": 5000,
+ "material" : ["maid"],
+ "volume": 1,
+ "use_action": {
+ "type": "delayed_transform",
+ "transform_age": 100800,
+ "not_ready_msg": "'Fufufu~ Are you worried? I am fine, your maid is fine! ... I guess. So, please wait a bit longer... I'm sorry for making you concerned.'",
+ "msg": "'I have made a complete recovery! I will serve you well, master! Now, please put me on the ground.'",
+ "moves": 0,
+ "target": "res_shoggoth"
+ }
+ },
+ {
+ "id": "res_shoggoth",
+ "type": "TOOL",
+ "category": "other",
+ "symbol": "M",
+ "color": "white",
+ "name": "revitalized shoggoth maid",
+ "description": "'What's up? Why haven't you put me on the ground yet? Ah, you want me to stay tiny for a little while longer? Ehh... I suppose it can't be helped.'",
+ "price": 60000,
+ "material": ["maid"],
+ "weight": 1200,
+ "volume": 1,
+ "use_action": {
+ "type": "place_monster",
+ "monster_id": "mon_shoggoth_maid",
+ "friendly_msg": "'Sorry I kept you waiting, master! I will do my best to serve you and support you to the best of my abilities!'",
+ "place_randomly": true
+ }
+ },
+ {
+ "id": "maid_master_child",
+ "type": "TOOL",
+ "category": "other",
+ "symbol": "m",
+ "color": "brown",
+ "name": "master",
+ "description": "A child entrusted to you by the owner of the house you served at. There's a deep feeling of fear in your stomach as you embrace the cataclysm, but protecting this child gives you purpose and makes you feel less alone.",
+ "price": 60000,
+ "material": ["flesh"],
+ "weight": 1200,
+ "volume": 1,
+ "use_action": {
+ "type": "place_monster",
+ "monster_id": "maid_master",
+ "friendly_msg": "Master seemed worried about the state of the neighbors.",
+ "place_randomly": true
+ }
+ },
+ {
+ "id": "master_doll",
+ "type": "TOOL",
+ "category": "other",
+ "symbol": "m",
+ "color": "brown",
+ "name": "master doll",
+ "description": "This is a doll in the shape of your beloved master. By keeping it in your inventory, it slowly gathers maid power.",
+ "price": 5400,
+ "material": ["cotton"],
+ "weight": 300,
+ "volume": 3,
+ "flags": ["NO_UNLOAD", "NO_RELOAD"],
+ "max_charges": 48,
+ "artifact_data" : {
+ "charge_type": "ARTC_TIME"
+ }
+ },
+ {
+ "type": "GENERIC",
+ "category": "other",
+ "id": "maid_bell",
+ "name": "ceremony doll",
+ "name_plural" : "ceremony dolls",
+ "description": "This is a doll in the shape of your beloved master, but with an additional 'special attachment.' By using it in a certain (rather embarassing) type of private ritual, you can catalyze your powerful desires towards your beloved master into a usable type of energy.",
+ "weight": 300,
+ "symbol": "m",
+ "color": "brown",
+ "price": 5400,
+ "material": ["cotton"],
+ "volume": 3
+ },
+ {
+ "id": "master_doll_vibe_off",
+ "type": "TOOL",
+ "category": "other",
+ "symbol": "m",
+ "color": "brown",
+ "name": "master doll (vibrator) (off)",
+ "description": "his is a doll in the shape of your beloved master, but with an additional 'special attachment.' By using it in a certain (rather embarassing) type of private ritual, you can release an explosion of desire towards your beloved master and transform it into a usable type of energy.",
+ "price": 5400,
+ "material": ["cotton", "plastic"],
+ "weight": 400,
+ "volume": 3,
+ "flags": ["NO_UNLOAD", "NO_RELOAD"],
+ "max_charges": 15,
+ "use_action":[
+ {
+ "type": "transform",
+ "msg": "You can no longer suppress your feelings and began to intimately press against your master's doll...",
+ "target": "master_doll_vibe_on",
+ "active": true,
+ "need_charges": 0
+ }
+ ]
+ },
+ {
+ "id": "master_doll_vibe_on",
+ "type": "TOOL",
+ "category": "other",
+ "symbol": "m",
+ "color": "brown",
+ "name": "master doll (vibrator) (on)",
+ "description": "his is a doll in the shape of your beloved master, but with an additional 'special attachment.' By using it in a certain (rather embarassing) type of private ritual, you can release an explosion of desire towards your beloved master and transform it into a usable type of energy.",
+ "price": 5400,
+ "material": ["cotton", "plastic"],
+ "weight": 400,
+ "volume": 3,
+ "flags": ["NO_UNLOAD", "NO_RELOAD"],
+ "max_charges": 16,
+ "charges_per_use": 1,
+ "revert_to": "master_doll_vibe_off",
+ "use_action": {
+ "type": "transform",
+ "msg": "Finally, after your body tightens up and you reach your limit, you collapse on the doll with a delighted and exhausted smile...",
+ "target": "master_doll_vibe_off",
+ "need_charges": 0
+ },
+ "artifact_data" : {
+ "charge_type": "ARTC_HP",
+ "effects_activated": ["AEA_ADRENALINE","AEA_PARALYZE"]
+ }
+ },
+ {
+ "id": "summon_little_maid",
+ "type": "TOOL",
+ "category": "other",
+ "symbol": "M",
+ "color": "white",
+ "name": "scroll (summon little maid)",
+ "description": "A set of scrolls and sacrifices used to summon a different kind of maid. Pour the sacrificial sugar in the middle of the magic circle and cast the correct spell.",
+ "price": 60000,
+ "material": ["paper"],
+ "weight": 1200,
+ "volume": 1,
+ "use_action": {
+ "type": "place_monster",
+ "monster_id": "mon_little_maid",
+ "friendly_msg": "The sacrifical sugar melts at the apex of your casting and starts to spew out white smoke. As the sweet smell spreads around, you notice a shadowy figure about the size of a child standing in the magic circle. After the smoke completely dissipates, a small maid stands in the place of the shadowy figure, staring at you with curious eyes. 'Master?'",
+ "place_randomly": true
+ }
+ },
+ {
+ "type": "GENERIC",
+ "category": "other",
+ "id": "mini_little_maid",
+ "name": "little little maid",
+ "name_plural" : "little little maids",
+ "description": "An even smaller version of your little maid.",
+ "weight": 150,
+ "symbol": "m",
+ "color": "white",
+ "price": 5000,
+ "material" : ["maid"],
+ "volume": 1,
+ "use_action": {
+ "type": "delayed_transform",
+ "transform_age": 7200,
+ "not_ready_msg": "While standing still on the palm of your hand, she stares downwards and mutters 'Master...' in a barely audible voice.",
+ "msg": "'Masteeer! Masteeeer!' The little maid taps your shoulder and points towards the ground, as if she wants to get off your shoulder. Put her on the ground when you're ready.",
+ "moves": 0,
+ "target": "res_little_maid"
+ }
+ },
+ {
+ "id": "res_little_maid",
+ "type": "TOOL",
+ "category": "other",
+ "symbol": "m",
+ "color": "white",
+ "name": "revitalized little maid",
+ "description": "Your little maid seems to have made a complete recovery.",
+ "price": 60000,
+ "material": ["maid"],
+ "weight": 1200,
+ "volume": 1,
+ "use_action": {
+ "type": "place_monster",
+ "monster_id": "mon_little_maid",
+ "friendly_msg": "The little maid jumps down to the ground and turns around, lightly lifting the hem of her skirt and giving you a bow. 'Master!' she says with a smile.",
+ "place_randomly": true
+ }
+ },
+ {
+ "id": "recall_ration",
+ "type": "GENERIC",
+ "category": "other",
+ "symbol": "!",
+ "color": "white",
+ "name": "scroll of recalling",
+ "description": "A mysterious scroll used to summon some kind of mystery meat and drinking water. It can be used multiple times.",
+ "price": 60000,
+ "material": ["paper"],
+ "weight": 1200,
+ "volume": 1
+ },
+ {
+ "id": "maid_mess_kit",
+ "sub": "hotplate",
+ "type": "TOOL",
+ "symbol": ";",
+ "color": "brown",
+ "name": "maid's cookware kit",
+ "description": "A set of secret maid cookware. By powering it with maid energy, you can create dishes filled with love.",
+ "price": 2000,
+ "material": ["steel"],
+ "techniques": ["BRUTAL", "WBLOCK_1"],
+ "flags" : ["CHOP", "DURABLE_MELEE"],
+ "weight": 1000,
+ "volume": 5,
+ "cutting": 18,
+ "bashing": 18,
+ "to_hit": 1,
+ "max_charges": 400,
+ "initial_charges": 100,
+ "charges_per_use": 1,
+ "ammo": "maid_point",
+ "qualities": [["COOK", 3], ["BOIL", 2], ["CONTAIN", 1], ["CHEM", 1], ["CUT", 1], ["BUTCHER", 20]],
+ "use_action": "HOTPLATE"
+ },
+ {
+ "id": "little_maid_R18",
+ "type": "TOOL",
+ "category": "other",
+ "symbol": "m",
+ "color": "white",
+ "name": "little maid pet",
+ "description": "A summoned little maid. She looks and wanders around while holding onto the hem of your clothes tightly. She's afraid of fighting.",
+ "price": 60000,
+ "material": ["maid"],
+ "weight": 34000,
+ "volume": 40
+ },
+ {
+ "type": "GENERIC",
+ "category": "other",
+ "id": "little_maid_meat_smoked",
+ "name": "little maid pet (smoking meat)",
+ "name_plural" : "little maid pet (smoking meat)",
+ "description": "Your little maid is in the process of smoking meat. She seems to be having fun.",
+ "weight": 34000,
+ "symbol": "m",
+ "color": "white",
+ "price": 60000,
+ "material" : ["maid"],
+ "volume": 40,
+ "use_action": {
+ "type": "delayed_transform",
+ "transform_age": 1200,
+ "not_ready_msg": "The little maid tastes the smoking meat and shakes her head a little.",
+ "msg": "'Master! Master!' It seems like your little maid has finished smoking the meat. It smells quite nice. Disassemble to recover the finished product.",
+ "moves": 0,
+ "target": "little_maid_meat_smoked_fin"
+ }
+ },
+ {
+ "type": "GENERIC",
+ "category": "other",
+ "id": "little_maid_meat_smoked_fin",
+ "name": "little maid pet (finished smoking meat)",
+ "name_plural" : "little maid pet (finished smoking meat)",
+ "description": "It seems like your little maid has finished smoking the meat. It smells quite nice. Disassemble to recover the finished product.",
+ "weight": 34000,
+ "symbol": "m",
+ "color": "white",
+ "price": 60000,
+ "material" : ["maid"],
+ "volume": 40
+ },
+ {
+ "type": "GENERIC",
+ "category": "other",
+ "id": "little_maid_human_smoked",
+ "name": "little maid pet (smoking human flesh)",
+ "name_plural" : "little maid pet (smoking human flesh)",
+ "description": "Your little maid is in the process of smoking meat. She seems to be having fun.",
+ "weight": 34000,
+ "symbol": "m",
+ "color": "white",
+ "price": 60000,
+ "material" : ["maid"],
+ "volume": 40,
+ "use_action": {
+ "type": "delayed_transform",
+ "transform_age": 1200,
+ "not_ready_msg": "The little maid tastes the smoking meat and shakes her head a little. Don't tell her what kind of meat it is.",
+ "msg": "'Master! Master!' It seems like your little maid has finished smoking the meat. It smells quite nice. Disassemble to recover the finished product.",
+ "moves": 0,
+ "target": "little_maid_human_smoked_fin"
+ }
+ },
+ {
+ "type": "GENERIC",
+ "category": "other",
+ "id": "little_maid_human_smoked_fin",
+ "name": "little maid pet (finished smoking human flesh)",
+ "name_plural" : "little maid pet (finished smoking human flesh)",
+ "description": "It seems like your little maid has finished smoking the meat. It smells quite nice. Disassemble to recover the finished product.",
+ "weight": 34000,
+ "symbol": "m",
+ "color": "white",
+ "price": 60000,
+ "material" : ["maid"],
+ "volume": 40
+ },
+ {
+ "type": "GENERIC",
+ "category": "other",
+ "id": "little_maid_fish_smoked",
+ "name": "little maid pet (smoking fish)",
+ "name_plural" : "little maid pet (smoking fish)",
+ "description": "Your little maid is in the process of smoking fish. She seems to be having fun.",
+ "weight": 34000,
+ "symbol": "m",
+ "color": "white",
+ "price": 60000,
+ "material" : ["maid"],
+ "volume": 40,
+ "use_action": {
+ "type": "delayed_transform",
+ "transform_age": 1200,
+ "not_ready_msg": "The little maid tastes the smoking fish and shakes her head a little.",
+ "msg": "'Master! Master!' It seems like your little maid has finished smoking the fish. It smells quite nice. Disassemble to recover the finished product.",
+ "moves": 0,
+ "target": "little_maid_fish_smoked_fin"
+ }
+ },
+ {
+ "type": "GENERIC",
+ "category": "other",
+ "id": "little_maid_fish_smoked_fin",
+ "name": "little maid pet (finished smoking fish)",
+ "name_plural" : "little maid pet (finished smoking fish)",
+ "description": "It seems like your little maid has finished smoking the fish. It smells quite nice. Disassemble to recover the finished product.",
+ "weight": 34000,
+ "symbol": "m",
+ "color": "white",
+ "price": 60000,
+ "material" : ["maid"],
+ "volume": 40
+ },
+ {
+ "id": "summon_alchemic_golem",
+ "type": "TOOL",
+ "category": "other",
+ "symbol": "g",
+ "color": "red",
+ "name": "alchemic flesh golem (cooked)",
+ "description": "A large living mass of meat made alive by the means of alchemy. The twisted, distorted meat lump has a mouth-like organ like that of a human, where it constantly spews poisonous gas and acidic bodily fluids from, while making unpleasant sounds.",
+ "price": 60000,
+ "material": ["flesh"],
+ "weight": 1000,
+ "volume": 1,
+ "use_action": {
+ "type": "place_monster",
+ "monster_id": "mon_alchemic_golem",
+ "friendly_msg": "I have unleashed a disgusting monster...",
+ "place_randomly": true
+ }
+ }
+] \ No newline at end of file
diff --git a/uncraft.json b/uncraft.json
new file mode 100644
index 0000000..ca7f362
--- /dev/null
+++ b/uncraft.json
@@ -0,0 +1,47 @@
+[
+ {
+ "type" : "recipe",
+ "result": "little_maid_meat_smoked_fin",
+ "id_suffix": "uncraft",
+ "category": "CC_NONCRAFT",
+ "subcategory": "CSC_NONCRAFT",
+ "difficulty": 0,
+ "time": "0 m",
+ "reversible": true,
+ "autolearn": false,
+ "components": [
+ [ [ "little_maid_R18", 1 ] ],
+ [ [ "meat_smoked", 3 ] ]
+ ]
+ },
+ {
+ "type" : "recipe",
+ "result": "little_maid_fish_smoked_fin",
+ "id_suffix": "uncraft",
+ "category": "CC_NONCRAFT",
+ "subcategory": "CSC_NONCRAFT",
+ "difficulty": 0,
+ "time": "0 m",
+ "reversible": true,
+ "autolearn": false,
+ "components": [
+ [ [ "little_maid_R18", 1 ] ],
+ [ [ "fish_smoked", 6 ] ]
+ ]
+ },
+ {
+ "type" : "recipe",
+ "result": "little_maid_human_smoked_fin",
+ "id_suffix": "uncraft",
+ "category": "CC_NONCRAFT",
+ "subcategory": "CSC_NONCRAFT",
+ "difficulty": 0,
+ "time": "0 m",
+ "reversible": true,
+ "autolearn": false,
+ "components": [
+ [ [ "little_maid_R18", 1 ] ],
+ [ [ "human_smoked", 3 ] ]
+ ]
+ }
+] \ No newline at end of file