From 6cb7c25754181a9145078e3c6cc2c3b0331cb68c Mon Sep 17 00:00:00 2001 From: Chaosvolt Date: Fri, 20 Sep 2019 15:12:21 -0500 Subject: [PATCH 1/2] Blood Magic Overhaul * Implemented a ritual using the athame as a spell, that generates blood essence when completed. Still creates blood loss at the end, but this is now a side effect instead of part of the process. This makes spamming rags no longer needed to generate blood essence via the athame. * Likewise reworked the chalice to use this spell setup too, and made the essence gain relative to the athame actually worth dealing damage. As a side benefit, it'll actually mess with stamina like the action message has always implied. * Both spells also make use of the long-term side effects that I put together in previous commits, so spamming these items constantly will be problematic in the long run, even with magical healing/lifedrain to offset the potential damage. * Moved active athames, active chalice, and used chalice to obsolete.json, along with obsoleting the recipes they played a part in. --- Arcana/item_groups.json | 5 +-- Arcana/obsolete.json | 79 +++++++++++++++++++++++++++++++++++++++ Arcana/recipe_others.json | 30 --------------- Arcana/spells.json | 18 +++++---- Arcana/tools.json | 73 +++--------------------------------- 5 files changed, 97 insertions(+), 108 deletions(-) diff --git a/Arcana/item_groups.json b/Arcana/item_groups.json index 11950bfd..d9f9df1c 100644 --- a/Arcana/item_groups.json +++ b/Arcana/item_groups.json @@ -64,7 +64,6 @@ "type": "item_group", "items": [ [ "offering_chalice", 25 ], - [ "offering_chalice_used", 30 ], [ "blood_athame", 20 ], [ "hexenhammer", 10 ], [ "silver_glyph", 5 ], @@ -142,12 +141,12 @@ { "id": "cop_evidence", "type": "item_group", - "items": [ [ "offering_chalice_used", 1 ], [ "blood_athame", 1 ] ] + "items": [ [ "offering_chalice", 1 ], [ "blood_athame", 1 ] ] }, { "id": "creepy", "type": "item_group", - "items": [ [ "offering_chalice_used", 5 ], [ "blood_athame", 5 ], [ "dragonblood_mutagen", 1 ] ] + "items": [ [ "offering_chalice", 5 ], [ "blood_athame", 5 ], [ "dragonblood_mutagen", 1 ] ] }, { "id": "vault", diff --git a/Arcana/obsolete.json b/Arcana/obsolete.json index 8df6530b..540c6f64 100644 --- a/Arcana/obsolete.json +++ b/Arcana/obsolete.json @@ -191,5 +191,84 @@ "color": "white", "artifact_data": { "effects_worn": [ "AEP_GLOW" ] }, "flags": [ "ONLY_ONE" ] + }, + { + "id": "offering_chalice_active", + "type": "TOOL", + "copy-from": "offering_chalice", + "name": "offering chalice", + "description": "This is a strange chalice made of gold, engraved all over with some unfamiliar text. Maybe you shouldn't be trying to drink from this...", + "charges_per_use": 1, + "turns_per_charge": 1, + "revert_to": "offering_chalice_used", + "use_action": { + "type": "consume_drug", + "activation_message": "As you drink from the chalice, you feel your breath being drawn from your lungs!", + "effects": [ { "id": "offering", "duration": 1 } ] + } + }, + { + "id": "offering_chalice_used", + "type": "TOOL", + "copy-from": "offering_chalice", + "name": "drained offering chalice", + "description": "This is a strange chalice made of gold, engraved all over with some unfamiliar text. It appears to be empty, but you get the feeling that something remains within it. If you knew the right ritual, whatever was drawn into it could be extracted.", + "use_action": "MEDITATE" + }, + { + "result": "offering_chalice", + "type": "recipe", + "id_suffix": "restore", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_TOOLS", + "skill_used": "magic", + "difficulty": 2, + "time": "15 m", + "obsolete": true, + "byproducts": [ [ "essence_blood", 6 ] ], + "components": [ [ [ "offering_chalice_used", 1 ] ], [ [ "ash", 3 ] ] ], + "flags": [ "BLIND_HARD" ] + }, + { + "result": "essence_blood", + "type": "recipe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_MATERIALS", + "skill_used": "magic", + "difficulty": 2, + "time": "10 m", + "obsolete": true, + "result_mult": 3, + "using": [ [ "arcana_purification_standard", 1 ] ], + "components": [ [ [ "rag_bloody", 3 ] ] ], + "flags": [ "BLIND_EASY" ] + }, + { + "id": "blood_athame_active", + "type": "TOOL", + "//": "By necessity can't yet define this to use copy-from, as qualities will break it.", + "category": "weapons", + "name": "silver athame", + "description": "An ornate silver dagger, seemingly made for ritual purposes. This seems like a stupid idea...", + "weight": 1302, + "volume": 3, + "price": 23500, + "to_hit": 1, + "bashing": 3, + "cutting": 16, + "material": "silver", + "symbol": "/", + "looks_like": "knife_butcher", + "color": "red", + "charges_per_use": 1, + "turns_per_charge": 1, + "revert_to": "blood_athame", + "techniques": "RAPID", + "use_action": { + "type": "consume_drug", + "activation_message": "Upon drawing the blade across your palm, wounds open elsewhere on your body!", + "effects": [ { "id": "bleed", "duration": 300, "bp": "TORSO" } ] + }, + "flags": [ "STAB", "SHEATH_KNIFE" ] } ] diff --git a/Arcana/recipe_others.json b/Arcana/recipe_others.json index 7b6ca7f2..1e629689 100644 --- a/Arcana/recipe_others.json +++ b/Arcana/recipe_others.json @@ -312,36 +312,6 @@ "tools": [ [ [ "book_sacrifice", -1 ] ], [ [ "tongs", -1 ] ], [ [ "anvil", -1 ] ], [ [ "swage", -1 ] ] ], "components": [ [ [ "gold_small", 625 ] ], [ [ "arcana_holy_relic_any", 1, "LIST" ], [ "arcana_holy_symbol_any", 1, "LIST" ] ] ] }, - { - "result": "offering_chalice", - "type": "recipe", - "id_suffix": "restore", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_TOOLS", - "skill_used": "magic", - "difficulty": 2, - "time": "1 m", - "autolearn": true, - "book_learn": [ [ "book_magicfordummies", 1 ], [ "book_sacrifice", 0 ], [ "book_bloodmagic", 1 ] ], - "byproducts": [ [ "essence_blood", 6 ] ], - "components": [ [ [ "offering_chalice_used", 1 ] ], [ [ "ash", 3 ] ] ], - "flags": [ "BLIND_HARD" ] - }, - { - "result": "essence_blood", - "type": "recipe", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_MATERIALS", - "skill_used": "magic", - "difficulty": 2, - "time": "10 m", - "autolearn": true, - "book_learn": [ [ "book_magicfordummies", 1 ], [ "book_bloodmagic", 0 ] ], - "result_mult": 3, - "using": [ [ "arcana_purification_standard", 1 ] ], - "components": [ [ [ "rag_bloody", 3 ] ] ], - "flags": [ "BLIND_EASY" ] - }, { "result": "essence_blood", "type": "recipe", diff --git a/Arcana/spells.json b/Arcana/spells.json index 90610c15..7c68d093 100644 --- a/Arcana/spells.json +++ b/Arcana/spells.json @@ -1088,10 +1088,12 @@ { "id": "arcana_item_athame_sanguine_art", "type": "SPELL", + "//": "Todo: add a difficulty of 1 and remove no-failure from the item's action, if it turns out that skill reasonably reduces an unleveled spell's failure rate to be feasible, when spell skill is no longer hardcoded.", "name": "Sanguine Art", "description": "Prepares a ritual to turn part of your life force into a usable form of essence. Doing so will take 10 minutes, inflicting blood loss on you at the end, as well as potential consequences if overused...", "message": "You work a ritual to draw power from your own blood, instinct guiding your hand as you trace patterns across your skin with the dull blade. As you work the last rune, the only one to actually break the skin, wounds open elsewhere on your body!", - "valid_targets": [ "self", "ground" ], + "flags": [ "SILENT" ], + "valid_targets": [ "self" ], "extra_effects": [ { "id": "arcana_item_athame_sanguine_art_corruption", "hit_self": true }, { "id": "arcana_item_generate_blood_essence", "hit_self": true } @@ -1104,8 +1106,8 @@ "energy_source": "HP", "base_energy_cost": 3, "final_energy_cost": 3, - "min_duration": 300, - "max_duration": 300 + "min_duration": 30000, + "max_duration": 30000 }, { "id": "arcana_item_athame_sanguine_art_corruption", @@ -1121,10 +1123,12 @@ { "id": "arcana_item_chalice_offering", "type": "SPELL", + "//": "Todo: add a difficulty of 3 and remove no-failure from the item's action, if it turns out that skill reasonably reduces an unleveled spell's failure rate to be feasible, when spell skill is no longer hardcoded.", "name": "Offering to The Beyond", "description": "Prepares a ritual to turn part of your life force into a usable form of essence. Doing so will take 15 minutes, inflicting harm upon your body you at the end, as well as dire consequences if overused...", "message": "You work a ritual to draw power from your own breath, drawn by instinct to whisper words in an unfamiliar language. The verses complete, you raise the chalice as if to drink from it, only for your breath to be drawn from your lungs!", - "valid_targets": [ "self", "ground" ], + "valid_targets": [ "self" ], + "flags": [ "SILENT" ], "extra_effects": [ { "id": "arcana_item_chalice_offering_winding", "hit_self": true }, { "id": "arcana_item_chalice_offering_corruption", "hit_self": true }, @@ -1137,7 +1141,7 @@ "damage_type": "cold", "min_damage": 10, "max_damage": 10, - "base_casting_time": 90000, + "base_casting_time": 10000, "final_casting_time": 90000 }, { @@ -1146,8 +1150,8 @@ "name": "Offering to The Beyond Windedness", "description": "This is so that the chalice ritual actually knocks the wind out of you.", "valid_targets": [ "self" ], - "min_damage": -8000, - "max_damage": -8000, + "min_damage": -10000, + "max_damage": -10000, "effect": "recover_energy", "effect_str": "STAMINA" }, diff --git a/Arcana/tools.json b/Arcana/tools.json index fe110475..fc2e329b 100644 --- a/Arcana/tools.json +++ b/Arcana/tools.json @@ -52,7 +52,7 @@ "id": "offering_chalice", "type": "TOOL", "name": "offering chalice", - "description": "This is a strange chalice made of gold, engraved all over with some unfamiliar text. It is filled with a thick black liquid that you seem unable to pour out. You get the feeling that trying to drink it would be a bad idea, but it might be important for ritual purposes.", + "description": "This is a strange chalice made of gold, engraved all over with some unfamiliar text. It is filled with a thick black liquid that you seem unable to pour out. Using it will allow you to perform a ritual that can convert your own life force into blood essence, at a price...", "weight": 2500, "volume": 4, "price": 161300, @@ -65,45 +65,16 @@ "flags": [ "MAGIC_FOCUS" ], "use_action": [ "MEDITATE", - { - "target": "offering_chalice_active", - "msg": "You raise the chalice to your lips...", - "active": true, - "menu_text": "Drink from the chalice", - "type": "transform" - } + { "type": "cast_spell", "spell_id": "arcana_item_chalice_offering", "no_fail": true, "level": 0 } ] }, - { - "id": "offering_chalice_active", - "type": "TOOL", - "copy-from": "offering_chalice", - "name": "offering chalice", - "description": "This is a strange chalice made of gold, engraved all over with some unfamiliar text. Maybe you shouldn't be trying to drink from this...", - "charges_per_use": 1, - "turns_per_charge": 1, - "revert_to": "offering_chalice_used", - "use_action": { - "type": "consume_drug", - "activation_message": "As you drink from the chalice, you feel your breath being drawn from your lungs!", - "effects": [ { "id": "offering", "duration": 1 } ] - } - }, - { - "id": "offering_chalice_used", - "type": "TOOL", - "copy-from": "offering_chalice", - "name": "drained offering chalice", - "description": "This is a strange chalice made of gold, engraved all over with some unfamiliar text. It appears to be empty, but you get the feeling that something remains within it. If you knew the right ritual, whatever was drawn into it could be extracted.", - "use_action": "MEDITATE" - }, { "id": "blood_athame", "type": "TOOL", "//": "By necessity can't yet define this to use copy-from, as qualities will break it.", "category": "weapons", "name": "silver athame", - "description": "An ornate silver dagger, seemingly made for ritual purposes. It seems sharper than silver has any right to be, and might be used for blood magic.", + "description": "An ornate silver dagger, seemingly made for ritual purposes. It seems sharper than silver has any right to be. It can be used to perform a ritual converting your life force into blood essence, at a price...", "weight": 1302, "volume": 3, "price": 23500, @@ -117,43 +88,9 @@ "techniques": [ "WBLOCK_1", "RAPID" ], "qualities": [ [ "CUT", 1 ], [ "CUT_FINE", 1 ], [ "BUTCHER", 15 ] ], "use_action": [ - { - "target": "blood_athame_active", - "msg": "The edge of the athame looks too dull to break the skin, yet some strange urge leads you to test this...", - "active": true, - "menu_text": "Test the blade's sharpness", - "type": "transform" - } + { "type": "cast_spell", "spell_id": "arcana_item_athame_sanguine_art", "no_fail": true, "level": 0 } ], - "flags": [ "STAB", "SHEATH_KNIFE" ] - }, - { - "id": "blood_athame_active", - "type": "TOOL", - "//": "By necessity can't yet define this to use copy-from, as qualities will break it.", - "category": "weapons", - "name": "silver athame", - "description": "An ornate silver dagger, seemingly made for ritual purposes. This seems like a stupid idea...", - "weight": 1302, - "volume": 3, - "price": 23500, - "to_hit": 1, - "bashing": 3, - "cutting": 16, - "material": "silver", - "symbol": "/", - "looks_like": "knife_butcher", - "color": "red", - "charges_per_use": 1, - "turns_per_charge": 1, - "revert_to": "blood_athame", - "techniques": "RAPID", - "use_action": { - "type": "consume_drug", - "activation_message": "Upon drawing the blade across your palm, wounds open elsewhere on your body!", - "effects": [ { "id": "bleed", "duration": 300, "bp": "TORSO" } ] - }, - "flags": [ "STAB", "SHEATH_KNIFE" ] + "flags": [ "STAB", "SHEATH_KNIFE", "USE_PLAYER_ENERGY" ] }, { "id": "sun_sword", From 0c04b3ecea4bc5f0d70ce1d1eb86537cfef75254 Mon Sep 17 00:00:00 2001 From: Chaosvolt Date: Mon, 23 Sep 2019 09:58:09 -0500 Subject: [PATCH 2/2] Fix Offering cast time --- Arcana/spells.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Arcana/spells.json b/Arcana/spells.json index 6eb93dc6..74b5aab2 100644 --- a/Arcana/spells.json +++ b/Arcana/spells.json @@ -1193,7 +1193,7 @@ "damage_type": "cold", "min_damage": 10, "max_damage": 10, - "base_casting_time": 10000, + "base_casting_time": 90000, "final_casting_time": 90000 }, {