From 43d7a864630fd26a06401f7ea10d1c327f08c66c Mon Sep 17 00:00:00 2001 From: LaVeyanFiend <51099123+LaVeyanFiend@users.noreply.github.com> Date: Fri, 5 Jul 2019 15:42:40 -0400 Subject: [PATCH] Magiclysm: Alchemy, Part 1-Potion tools and Stat Potion Brewing (#32132) * First potion commits * Potion recipes, and harvest for adrenal gland * Alchemist rune now a craft, Cat's potion fixed * Alchemist rune craft difficulty adjustment * Alchemist rune craft diff. adjustment 2 * Typos, harvesting, and rune fix * Linting * Potion starter now uses hard_liquor requirement * No reptile eggs for bird potions * Hairball size increased * Missing 0 * Update data/mods/Magiclysm/items/comestibles.json GitHub desktop won't push chance to hairball volume * Typo --- data/mods/Magiclysm/Spells/classless.json | 20 --- data/mods/Magiclysm/harvest.json | 96 +++++++++++++ data/mods/Magiclysm/itemgroups.json | 9 +- data/mods/Magiclysm/items/alchemy_items.json | 86 +++++++++++ data/mods/Magiclysm/items/comestibles.json | 19 +++ data/mods/Magiclysm/recipes/magic_tools.json | 55 ++++++++ .../Magiclysm/recipes/recipe_potions.json | 133 ++++++++++++++++++ data/mods/Magiclysm/traits/classes.json | 24 ++-- 8 files changed, 411 insertions(+), 31 deletions(-) create mode 100644 data/mods/Magiclysm/recipes/magic_tools.json create mode 100644 data/mods/Magiclysm/recipes/recipe_potions.json diff --git a/data/mods/Magiclysm/Spells/classless.json b/data/mods/Magiclysm/Spells/classless.json index c40a1ef9246d5..98ec74b25bc6f 100644 --- a/data/mods/Magiclysm/Spells/classless.json +++ b/data/mods/Magiclysm/Spells/classless.json @@ -125,26 +125,6 @@ "max_duration": 50000, "duration_increment": 3000 }, - { - "id": "create_rune_alchemist", - "type": "SPELL", - "name": "Alchemist Rune", - "description": "This ritual creates a small pebble attuned to alchemy itself. This rune can substitute for the eight school runes in basic recipes.", - "valid_targets": [ "self" ], - "min_damage": 1, - "max_damage": 1, - "effect": "spawn_item", - "effect_str": "rune_alchemist", - "base_casting_time": 5000, - "base_energy_cost": 500, - "min_duration": 1, - "max_duration": 2, - "duration_increment": 1, - "difficulty": 7, - "max_level": 1, - "energy_source": "MANA", - "flags": [ "PERMANENT", "NO_LEGS", "CONCENTRATE" ] - }, { "id": "translocate_self", "type": "SPELL", diff --git a/data/mods/Magiclysm/harvest.json b/data/mods/Magiclysm/harvest.json index d19c727a2ae90..7f0de2a567612 100644 --- a/data/mods/Magiclysm/harvest.json +++ b/data/mods/Magiclysm/harvest.json @@ -40,5 +40,101 @@ { "drop": "fat", "type": "flesh", "mass_ratio": 0.07 }, { "drop": "feather", "type": "skin", "mass_ratio": 0.005 } ] + }, + { + "id": "mammal_small_fur", + "//": "override of vanilla harvest, includes hairballs", + "type": "harvest", + "entries": [ + { "drop": "meat", "type": "flesh", "mass_ratio": 0.28 }, + { "drop": "meat_scrap", "type": "flesh", "mass_ratio": 0.05 }, + { "drop": "lung", "type": "flesh", "mass_ratio": 0.0035 }, + { "drop": "liver", "type": "offal", "mass_ratio": 0.01 }, + { "drop": "brain", "type": "flesh", "mass_ratio": 0.005 }, + { "drop": "bone", "type": "bone", "mass_ratio": 0.15 }, + { "drop": "sinew", "type": "bone", "mass_ratio": 0.00035 }, + { "drop": "raw_fur", "type": "skin", "mass_ratio": 0.02 }, + { "drop": "fat", "type": "flesh", "mass_ratio": 0.07 }, + { "drop": "hairball", "type": "bionic", "max": 3 } + ] + }, + { + "id": "mammal_large_fur", + "//": "vanilla override, includes adrenal gland", + "type": "harvest", + "entries": [ + { "drop": "meat", "type": "flesh", "mass_ratio": 0.32 }, + { "drop": "meat_scrap", "type": "flesh", "mass_ratio": 0.01 }, + { "drop": "lung", "type": "flesh", "mass_ratio": 0.0035 }, + { "drop": "liver", "type": "offal", "mass_ratio": 0.01 }, + { "drop": "brain", "type": "flesh", "mass_ratio": 0.005 }, + { "drop": "sweetbread", "type": "flesh", "mass_ratio": 0.002 }, + { "drop": "kidney", "type": "offal", "mass_ratio": 0.002 }, + { "drop": "stomach_large", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" }, + { "drop": "bone", "type": "bone", "mass_ratio": 0.15 }, + { "drop": "sinew", "type": "bone", "mass_ratio": 0.00035 }, + { "drop": "raw_fur", "type": "skin", "mass_ratio": 0.02 }, + { "drop": "fat", "type": "flesh", "mass_ratio": 0.07 }, + { "drop": "adrenal_gland_large", "type": "bionic", "max": 2 } + ] + }, + { + "id": "mammal_large_leather", + "//": "vanilla override, includes adrenal gland", + "type": "harvest", + "entries": [ + { "drop": "meat", "type": "flesh", "mass_ratio": 0.32 }, + { "drop": "meat_scrap", "type": "flesh", "mass_ratio": 0.01 }, + { "drop": "lung", "type": "flesh", "mass_ratio": 0.0035 }, + { "drop": "liver", "type": "offal", "mass_ratio": 0.01 }, + { "drop": "brain", "type": "flesh", "mass_ratio": 0.005 }, + { "drop": "sweetbread", "type": "flesh", "mass_ratio": 0.002 }, + { "drop": "kidney", "type": "offal", "mass_ratio": 0.002 }, + { "drop": "stomach_large", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" }, + { "drop": "bone", "type": "bone", "mass_ratio": 0.15 }, + { "drop": "sinew", "type": "bone", "mass_ratio": 0.00035 }, + { "drop": "raw_leather", "type": "skin", "mass_ratio": 0.02 }, + { "drop": "fat", "type": "flesh", "mass_ratio": 0.07 }, + { "drop": "adrenal_gland_large", "type": "bionic", "max": 2 } + ] + }, + { + "id": "mammal_large_wool", + "//": "drops large stomach", + "type": "harvest", + "entries": [ + { "drop": "meat", "type": "flesh", "mass_ratio": 0.32 }, + { "drop": "meat_scrap", "type": "flesh", "mass_ratio": 0.01 }, + { "drop": "lung", "type": "flesh", "mass_ratio": 0.0035 }, + { "drop": "liver", "type": "offal", "mass_ratio": 0.01 }, + { "drop": "brain", "type": "flesh", "mass_ratio": 0.005 }, + { "drop": "sweetbread", "type": "flesh", "mass_ratio": 0.002 }, + { "drop": "kidney", "type": "offal", "mass_ratio": 0.002 }, + { "drop": "stomach_large", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" }, + { "drop": "bone", "type": "bone", "mass_ratio": 0.15 }, + { "drop": "sinew", "type": "bone", "mass_ratio": 0.00035 }, + { "drop": "wool_staple", "type": "skin", "mass_ratio": 0.02 }, + { "drop": "fat", "type": "flesh", "mass_ratio": 0.07 }, + { "drop": "adrenal_gland_large", "type": "bionic", "max": 2 } + ] + }, + { + "id": "animal_large_noskin", + "//": "for those vertebrates that don't have something you can skin off of them", + "type": "harvest", + "entries": [ + { "drop": "meat", "type": "flesh", "mass_ratio": 0.32 }, + { "drop": "meat_scrap", "type": "flesh", "mass_ratio": 0.01 }, + { "drop": "lung", "type": "flesh", "mass_ratio": 0.0035 }, + { "drop": "liver", "type": "offal", "mass_ratio": 0.01 }, + { "drop": "brain", "type": "flesh", "mass_ratio": 0.005 }, + { "drop": "sweetbread", "type": "flesh", "mass_ratio": 0.002 }, + { "drop": "kidney", "type": "offal", "mass_ratio": 0.002 }, + { "drop": "stomach_large", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" }, + { "drop": "bone", "type": "bone", "mass_ratio": 0.15 }, + { "drop": "sinew", "type": "bone", "mass_ratio": 0.00035 }, + { "drop": "fat", "type": "flesh", "mass_ratio": 0.07 }, + { "drop": "adrenal_gland_large", "type": "bionic", "max": 2 } + ] } ] diff --git a/data/mods/Magiclysm/itemgroups.json b/data/mods/Magiclysm/itemgroups.json index eef893f01247e..e819c5c303c37 100644 --- a/data/mods/Magiclysm/itemgroups.json +++ b/data/mods/Magiclysm/itemgroups.json @@ -46,7 +46,8 @@ [ "summon_undead_spellbook", 2 ], [ "techno_fundamentals", 6 ], [ "techno_em", 5 ], - [ "techno_idiots", 3 ] + [ "techno_idiots", 3 ], + [ "alchemy_basic", 3 ] ] }, { @@ -68,7 +69,8 @@ [ "summon_undead_spellbook", 1 ], [ "techno_fundamentals", 2 ], [ "techno_em", 1 ], - [ "techno_idiots", 3 ] + [ "techno_idiots", 3 ], + [ "alchemy_basic", 10 ] ] }, { @@ -162,7 +164,8 @@ [ "techno_em", 30 ], [ "techno_idiots", 60 ], [ "translocate_spellbook", 20 ], - [ "stat_up_spellbook", 45 ] + [ "stat_up_spellbook", 45 ], + [ "alchemy_basic", 30 ] ] }, { diff --git a/data/mods/Magiclysm/items/alchemy_items.json b/data/mods/Magiclysm/items/alchemy_items.json index 4f0a407d1cffc..b91f241b3e021 100644 --- a/data/mods/Magiclysm/items/alchemy_items.json +++ b/data/mods/Magiclysm/items/alchemy_items.json @@ -31,5 +31,91 @@ "to_hit": -2, "qualities": [ [ "BUTCHER", -50 ] ], "//": "Potion recipes that require a full owlbear egg could also instead require larger amounts of stone shell. Since 1 egg gives 3 shells, you could perhaps have 1 egg be equivalent to 5 or more shells when making potions." + }, + { + "id": "copper_infuser", + "copy-from": "copper_bracelet", + "type": "ARMOR", + "qualities": [ [ "MANA_INFUSE", 1 ] ], + "name": "copper infusion bracelet", + "name_plural": "copper infusion bracelets", + "description": "This bracelet has runes engraved on it. You sense a faint air of mysticism when you look at it. It would be useful for imbuing mana into material." + }, + { + "id": "copper_circlet", + "type": "ARMOR", + "category": "armor", + "name": "copper circlet", + "name_plural": "copper circlets", + "description": "A wooden band with copper trimmings to be worn on the head. Touching your temples with it on makes you feel very calm.", + "weight": 700, + "volume": "600ml", + "price": 1500, + "price_postapoc": 100, + "material": [ "copper", "wood" ], + "symbol": "[", + "color": "brown", + "covers": [ "HEAD" ], + "coverage": 5, + "encumbrance": 1, + "warmth": 0, + "material_thickness": 1, + "flags": [ "BELTED" ], + "qualities": [ [ "MANA_FOCUS", 1 ] ] + }, + { + "id": "stone_chisel", + "type": "TOOL", + "name": "stone chisel", + "name_plural": "stone chisels", + "looks_like": "chisel", + "description": "This is a short stone chisel. It can be used to engrave on stone, wood, or soft metals.", + "weight": 660, + "volume": 1, + "price": 1600, + "to_hit": 2, + "bashing": 2, + "cutting": 1, + "material": "stone", + "symbol": ";", + "color": "light_gray", + "qualities": [ [ "CHISEL", 1 ] ], + "flags": [ "BELT_CLIP" ] + }, + { + "id": "alchemy_basic", + "type": "BOOK", + "name": "A Beginner's Guide to Alchemy", + "description": "A paperback tome for the art of liquid magic, alcohol not included.", + "weight": 1000, + "volume": 3, + "price": 7900, + "bashing": 5, + "material": [ "paper" ], + "symbol": "?", + "color": "white", + "skill": "cooking", + "required_level": 3, + "max_level": 5, + "intelligence": 9, + "time": "20 m", + "fun": 1 + }, + { + "id": "potion_starter", + "copy-from": "mixed_alcohol_strong", + "type": "COMESTIBLE", + "name": "potion starter", + "description": "Strong alcohol, infused with mana and concentrated into a liquid that can stabilize spells into liquid form. You can still drink it, if you want." + }, + { + "id": "adrenal_gland_large", + "copy-from": "meat", + "type": "COMESTIBLE", + "name": "large adrenal gland", + "name_plural": "large adrenal glands", + "description": "An organ located above the kidneys responsible for secretion of adrenaline, cortisol, and aldosterone. This one is huge, whether by nature or mutation.", + "delete": { "flags": [ "SMOKABLE" ] }, + "price": 2000 } ] diff --git a/data/mods/Magiclysm/items/comestibles.json b/data/mods/Magiclysm/items/comestibles.json index b1a3a09cf5dcd..f7f231a41868c 100644 --- a/data/mods/Magiclysm/items/comestibles.json +++ b/data/mods/Magiclysm/items/comestibles.json @@ -32,5 +32,24 @@ "healthy": 3, "color": "yellow", "description": "The liquid innards of an owlbear egg. Good eating." + }, + { + "id": "hairball", + "type": "COMESTIBLE", + "comestible_type": "MED", + "healthy": -1, + "stack_size": 1, + "material": [ "fur", "water" ], + "primary_material": "fur", + "volume": "350ml", + "weight": 15, + "color": "brown", + "symbol": "0", + "name": "hairball", + "name_plural": "hairballs", + "description": "A big, ugly ball of animal spit and licked-off hairs. Don't swallow it.", + "price": 0, + "flags": [ "TRADER_AVOID", "EDIBLE_FROZEN" ], + "fun": -20 } ] diff --git a/data/mods/Magiclysm/recipes/magic_tools.json b/data/mods/Magiclysm/recipes/magic_tools.json new file mode 100644 index 0000000000000..27ee31c86c44b --- /dev/null +++ b/data/mods/Magiclysm/recipes/magic_tools.json @@ -0,0 +1,55 @@ +[ + { + "type": "recipe", + "result": "copper_circlet", + "byproducts": [ [ "tinder", 40 ] ], + "category": "CC_ENCHANTED", + "subcategory": "CSC_ENCHANTED_TOOLS", + "skill_used": "fabrication", + "skills_required": [ "spellcraft", 2 ], + "difficulty": 3, + "time": "30 m", + "autolearn": true, + "qualities": [ { "id": "HAMMER_FINE", "level": 1 }, { "id": "CUT_FINE", "level": 1 } ], + "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], + "components": [ [ [ "scrap_copper", 1 ], [ "copper", 100 ] ], [ [ "splinter", 3 ] ] ] + }, + { + "type": "recipe", + "result": "stone_chisel", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_TOOLS", + "skill_used": "fabrication", + "difficulty": 0, + "time": "20 m", + "autolearn": true, + "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "rock", 1 ], [ "sharp_rock", 1 ] ], [ [ "stick", 1 ], [ "2x4", 1 ] ] ] + }, + { + "type": "recipe", + "result": "copper_infuser", + "category": "CC_ENCHANTED", + "subcategory": "CSC_ENCHANTED_TOOLS", + "skill_used": "fabrication", + "skills_required": [ "spellcraft", 2 ], + "difficulty": 3, + "time": "20 m", + "book_learn": [ [ "alchemy_basic", 4 ] ], + "qualities": [ { "id": "CHISEL", "level": 1 } ], + "components": [ [ [ "copper_bracelet", 1 ] ] ] + }, + { + "type": "recipe", + "result": "rune_alchemist", + "category": "CC_ENCHANTED", + "subcategory": "CSC_ENCHANTED_TOOLS", + "skill_used": "fabrication", + "skills_required": [ "spellcraft", 4 ], + "difficulty": 2, + "time": "120m", + "autolearn": true, + "qualities": [ { "id": "CHISEL", "level": 1 }, { "id": "MANA_INFUSE", "level": 1 } ], + "components": [ [ [ "pebble", 1 ] ] ] + } +] diff --git a/data/mods/Magiclysm/recipes/recipe_potions.json b/data/mods/Magiclysm/recipes/recipe_potions.json new file mode 100644 index 0000000000000..1cd2c9b7072c8 --- /dev/null +++ b/data/mods/Magiclysm/recipes/recipe_potions.json @@ -0,0 +1,133 @@ +[ + { + "type": "recipe", + "result": "potion_starter", + "category": "CC_ENCHANTED", + "subcategory": "CSC_ENCHANTED_POTIONS", + "skill_used": "cooking", + "skills_required": [ "spellcraft", 2 ], + "difficulty": 3, + "charges": 7, + "time": "120 m", + "batch_time_factors": [ 75, 4 ], + "book_learn": [ [ "alchemy_basic", 3 ] ], + "qualities": [ { "id": "CHEM", "level": 1 }, { "id": "CONCENTRATE", "level": 1 }, { "id": "MANA_INFUSE", "level": 1 } ], + "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], + "using": [ [ "hard_liquor", 7 ] ] + }, + { + "type": "recipe", + "result": "cats_grace_potion", + "category": "CC_ENCHANTED", + "subcategory": "CSC_ENCHANTED_POTIONS", + "skill_used": "cooking", + "skills_required": [ "spellcraft", 5 ], + "difficulty": 5, + "time": "60 m", + "batch_time_factors": [ 50, 4 ], + "book_learn": [ [ "alchemy_basic", 4 ] ], + "qualities": [ { "id": "CHEM", "level": 2 }, { "id": "CONCENTRATE", "level": 1 }, { "id": "MANA_FOCUS", "level": 1 } ], + "tools": [ [ [ "surface_heat", 10, "LIST" ] ], [ [ "rune_alchemist", -1 ], [ "rune_magus", -1 ] ] ], + "components": [ + [ [ "potion_starter", 5 ] ], + [ [ "hairball", 2 ] ], + [ + [ "catfood", 1 ], + [ "fish", 1 ], + [ "salted_fish", 1 ], + [ "fish_cooked", 1 ], + [ "fish_smoked", 1 ], + [ "dry_fish", 1 ], + [ "rehydrated_fish", 1 ], + [ "fish_canned", 1 ], + [ "fish_pickled", 1 ], + [ "fish_fried", 1 ], + [ "lutefisk", 1 ] + ], + [ [ "adderall", 10 ], [ "meth", 6 ], [ "prozac", 15 ] ] + ] + }, + { + "type": "recipe", + "result": "ogres_strength_potion", + "category": "CC_ENCHANTED", + "subcategory": "CSC_ENCHANTED_POTIONS", + "skill_used": "cooking", + "skills_required": [ "spellcraft", 5 ], + "difficulty": 5, + "time": "60 m", + "batch_time_factors": [ 50, 4 ], + "book_learn": [ [ "alchemy_basic", 4 ] ], + "qualities": [ { "id": "CHEM", "level": 2 }, { "id": "CONCENTRATE", "level": 1 }, { "id": "MANA_FOCUS", "level": 1 } ], + "tools": [ [ [ "surface_heat", 10, "LIST" ] ], [ [ "rune_alchemist", -1 ], [ "rune_magus", -1 ] ] ], + "components": [ [ [ "potion_starter", 5 ] ], [ [ "sinew", 40 ] ], [ [ "adrenal_gland_large", 2 ] ] ] + }, + { + "type": "recipe", + "result": "eagles_sight_potion", + "category": "CC_ENCHANTED", + "subcategory": "CSC_ENCHANTED_POTIONS", + "skill_used": "cooking", + "skills_required": [ "spellcraft", 5 ], + "difficulty": 5, + "time": "60 m", + "batch_time_factors": [ 50, 4 ], + "book_learn": [ [ "alchemy_basic", 4 ] ], + "qualities": [ { "id": "CHEM", "level": 2 }, { "id": "CONCENTRATE", "level": 1 }, { "id": "MANA_FOCUS", "level": 1 } ], + "tools": [ [ [ "surface_heat", 10, "LIST" ] ], [ [ "rune_alchemist", -1 ], [ "rune_magus", -1 ] ] ], + "components": [ + [ [ "potion_starter", 5 ] ], + [ + [ "egg_bird", 5 ], + [ "egg_grouse", 5 ], + [ "egg_duck", 3 ], + [ "egg_crow", 5 ], + [ "egg_chicken", 5 ], + [ "egg_pheasant", 5 ], + [ "egg_cockatrice", 5 ], + [ "egg_turkey", 3 ], + [ "egg_goose_canadian", 2 ] + ], + [ [ "feather", 20 ], [ "down_feather", 20 ] ], + [ + [ "liver", 3 ], + [ "veggy_canned", 3 ], + [ "veggy_salted", 5 ], + [ "carrot", 3 ], + [ "irradiated_carrot", 3 ], + [ "pumpkin", 4 ], + [ "irradiated_pumpkin", 4 ], + [ "raw_dandelion", 6 ], + [ "zucchini", 4 ], + [ "irradiated_zucchini", 4 ], + [ "rose_hips", 6 ] + ] + ] + }, + { + "type": "recipe", + "result": "foxs_cunning_potion", + "category": "CC_ENCHANTED", + "subcategory": "CSC_ENCHANTED_POTIONS", + "skill_used": "cooking", + "skills_required": [ "spellcraft", 5 ], + "difficulty": 5, + "time": "60 m", + "batch_time_factors": [ 50, 4 ], + "book_learn": [ [ "alchemy_basic", 4 ] ], + "qualities": [ { "id": "CHEM", "level": 2 }, { "id": "CONCENTRATE", "level": 1 }, { "id": "MANA_FOCUS", "level": 1 } ], + "tools": [ [ [ "surface_heat", 10, "LIST" ] ], [ [ "rune_alchemist", -1 ], [ "rune_magus", -1 ] ] ], + "components": [ + [ [ "potion_starter", 5 ] ], + [ [ "brain", 2 ], [ "brain_cooked", 2 ] ], + [ + [ "adderall", 10 ], + [ "caff_gum", 30 ], + [ "chaw", 10 ], + [ "cig", 20 ], + [ "cigar", 5 ], + [ "handrolled_cig", 20 ] + ] + ] + } +] diff --git a/data/mods/Magiclysm/traits/classes.json b/data/mods/Magiclysm/traits/classes.json index 71ac24e3edaac..17a88db05ecc7 100644 --- a/data/mods/Magiclysm/traits/classes.json +++ b/data/mods/Magiclysm/traits/classes.json @@ -8,7 +8,8 @@ "starting_trait": false, "purifiable": false, "valid": false, - "cancels": [ "ANIMIST" ] + "cancels": [ "ANIMIST" ], + "spells_learned": [ [ "create_rune_magus", 1 ] ] }, { "type": "mutation", @@ -19,7 +20,8 @@ "starting_trait": false, "purifiable": false, "valid": false, - "cancels": [ "MAGUS" ] + "cancels": [ "MAGUS" ], + "spells_learned": [ [ "create_rune_animist", 1 ] ] }, { "type": "mutation", @@ -30,7 +32,8 @@ "starting_trait": false, "purifiable": false, "valid": false, - "cancels": [ "STORMSHAPER" ] + "cancels": [ "STORMSHAPER" ], + "spells_learned": [ [ "create_rune_kelvinist", 1 ] ] }, { "type": "mutation", @@ -41,7 +44,8 @@ "starting_trait": false, "purifiable": false, "valid": false, - "cancels": [ "KELVINIST" ] + "cancels": [ "KELVINIST" ], + "spells_learned": [ [ "create_rune_stormshaper", 1 ] ] }, { "type": "mutation", @@ -52,7 +56,8 @@ "starting_trait": false, "purifiable": false, "valid": false, - "cancels": [ "EARTHSHAPER" ] + "cancels": [ "EARTHSHAPER" ], + "spells_learned": [ [ "create_rune_technomancer", 1 ] ] }, { "type": "mutation", @@ -63,7 +68,8 @@ "starting_trait": false, "purifiable": false, "valid": false, - "cancels": [ "TECHNOMANCER" ] + "cancels": [ "TECHNOMANCER" ], + "spells_learned": [ [ "create_rune_earthshaper", 1 ] ] }, { "type": "mutation", @@ -74,7 +80,8 @@ "starting_trait": false, "purifiable": false, "valid": false, - "cancels": [ "DRUID" ] + "cancels": [ "DRUID" ], + "spells_learned": [ [ "create_rune_biomancer", 1 ] ] }, { "type": "mutation", @@ -85,6 +92,7 @@ "starting_trait": false, "purifiable": false, "valid": false, - "cancels": [ "BIOMANCER" ] + "cancels": [ "BIOMANCER" ], + "spells_learned": [ [ "create_rune_druid", 1 ] ] } ]