diff --git a/data/mods/Magiclysm/Spells/druid.json b/data/mods/Magiclysm/Spells/druid.json index cfefee879b5ac..b2550efa60b2d 100644 --- a/data/mods/Magiclysm/Spells/druid.json +++ b/data/mods/Magiclysm/Spells/druid.json @@ -1001,5 +1001,224 @@ "min_duration": 24000, "max_duration": 360000, "duration_increment": 24000 + }, + { + "id": "druid_renew_forest_spell", + "type": "SPELL", + "name": "Renewing the Forest", + "description": "While outdoors and not underground, the druid can create a profusion of life around themselves, causing grass to grow through pavement, bushes and flowers to sprout, and trees to grow to full height in moments.", + "flags": [ "SOMATIC", "VERBAL" ], + "valid_targets": [ "self" ], + "max_level": 25, + "spell_class": "DRUID", + "shape": "blast", + "difficulty": 10, + "effect": "effect_on_condition", + "effect_str": "EOC_DRUID_RENEW_FOREST_SPELL", + "energy_source": "MANA", + "base_energy_cost": 1500, + "base_casting_time": 6000 + }, + { + "type": "effect_on_condition", + "id": "EOC_DRUID_RENEW_FOREST_SPELL", + "condition": "u_is_outside", + "effect": { + "run_eocs": [ + { + "id": "EOC_DRUID_RENEW_FOREST_SPELL_2", + "condition": { "math": [ "u_val('pos_z')", "==", "0" ] }, + "effect": [ { "u_cast_spell": { "id": "druid_renew_forest_spell_real" } } ], + "false_effect": { + "u_message": "You must be on the surface and not on a building's upper stories to cast Renewing the Forest!", + "type": "bad" + } + } + ] + }, + "false_effect": [ { "u_message": "You must be outside to cast Renewing the Forest!", "type": "bad" } ] + }, + { + "id": "druid_renew_forest_spell_real", + "type": "SPELL", + "name": "Renewing the Forest Real", + "description": "The actual spell that casts Renewing the Forest. It's a bug if you have it.", + "flags": [ "SILENT", "VERBAL", "IGNORE_WALLS" ], + "valid_targets": [ "ground" ], + "shape": "blast", + "effect": "ter_transform", + "effect_str": "ter_druid_renew_forest", + "min_aoe": { "math": [ "(u_spell_level('druid_renew_forest_spell') * rng(0.8,1.2) ) + rng(1.5,4)" ] }, + "max_aoe": { "math": [ "(u_spell_level('druid_renew_forest_spell') * rng(0.8,1.2) ) + rng(1.5,4)" ] } + }, + { + "id": "druid_wood_living_tree_spell", + "type": "SPELL", + "name": "Shape Wood", + "description": "Using druidic magic, shape living wood into a log that you can use for other projects without harming the tree. You must cast this spell on a living tree.", + "flags": [ "CONCENTRATE", "SILENT", "VERBAL" ], + "valid_targets": [ "self" ], + "spell_class": "DRUID", + "difficulty": 5, + "max_level": 15, + "effect": "effect_on_condition", + "effect_str": "EOC_EOC_DRUID_SHAPE_WOOD", + "shape": "blast", + "energy_source": "MANA", + "base_casting_time": 180000, + "base_energy_cost": 600 + }, + { + "type": "effect_on_condition", + "id": "EOC_EOC_DRUID_SHAPE_WOOD", + "effect": [ + { + "if": { + "u_query_tile": "around", + "target_var": { "context_val": "arvore_treesung_location" }, + "message": "Select nearby tree" + }, + "then": { + "if": { "map_terrain_with_flag": "TREE", "loc": { "context_val": "arvore_treesung_location" } }, + "then": [ + { + "u_message": "The wood of the tree grows and forms as you cast the spell and when it ends, there is a log lying on the ground, entirely covered in bark but otherwise straight and ready to be used in other projects.", + "type": "good" + }, + { "u_spawn_item": "log", "count": 1, "suppress_message": true } + ], + "else": { "u_message": "You must be near a tree to treesing to it." } + }, + "else": { "u_message": "Canceled" } + } + ] + }, + { + "id": "druid_anti_heat", + "type": "SPELL", + "name": "Water's Cooling Touch", + "description": "Draw on some of the essence of water, providing protection against the summer's heat.", + "valid_targets": [ "self" ], + "spell_class": "DRUID", + "flags": [ "CONCENTRATE", "VERBAL", "SOMATIC" ], + "effect": "attack", + "effect_str": "effect_druid_anti_heat", + "shape": "blast", + "components": "spell_components_druid_anti_heat", + "difficulty": 2, + "max_level": 15, + "min_duration": 90000, + "max_duration": 900000, + "duration_increment": 54000, + "energy_source": "MANA", + "base_energy_cost": 350, + "base_casting_time": 6000 + }, + { + "id": "druid_breathing_underwater", + "type": "SPELL", + "name": "Aquatic Mantle ", + "description": "Cover yourself in a thin layer of magical seaweed, preventing you from getting wet and allowing you to breathe underwater.", + "valid_targets": [ "self" ], + "flags": [ "CONCENTRATE", "VERBAL", "SOMATIC", "NO_LEGS" ], + "min_damage": 1, + "max_damage": 1, + "effect": "spawn_item", + "effect_str": "aura_druid_breathing_water", + "shape": "blast", + "energy_source": "MANA", + "spell_class": "DRUID", + "difficulty": 5, + "max_level": 10, + "base_casting_time": 3000, + "base_energy_cost": 350, + "min_duration": 36000, + "max_duration": 360000, + "duration_increment": 36000 + }, + { + "id": "druid_disinfectant", + "type": "SPELL", + "name": "Wash the Wounds Clean", + "description": "Transform a bit of water into a magical disinfectant as you pour it over your wounds.", + "//": "Using spawn_item with a liquid just dumps it on the floor at the moment. Once that's fixed, this can be extended so it can be used on NPCs.", + "valid_targets": [ "self" ], + "spell_class": "DRUID", + "flags": [ "CONCENTRATE", "VERBAL", "SOMATIC" ], + "effect": "effect_on_condition", + "effect_str": "EOC_DRUID_DISINFECTANT", + "shape": "blast", + "components": "spell_components_druid_anti_heat", + "difficulty": 4, + "max_level": 15, + "energy_source": "MANA", + "base_energy_cost": 350, + "base_casting_time": 1000 + }, + { + "type": "effect_on_condition", + "id": "EOC_DRUID_DISINFECTANT", + "effect": [ + { "u_spawn_item": "item_druid_disinfectant", "suppress_message": true }, + { + "u_run_inv_eocs": "random", + "search_data": [ { "id": "item_druid_disinfectant" } ], + "true_eocs": [ { "id": "EOC_DRUID_DISINFECTANT_ITEM_ACTIVATE", "effect": { "u_activate": "heal" } } ] + } + ] + }, + { + "id": "druid_water_walking", + "type": "SPELL", + "name": "Water Strider's Walk", + "description": "While standing in water, enchant yourself so that the water will buoy you up and prevent you from sinking.", + "valid_targets": [ "self" ], + "flags": [ "CONCENTRATE", "VERBAL", "SOMATIC", "NO_LEGS" ], + "effect": "effect_on_condition", + "effect_str": "EOC_DRUID_WATER_WALKING", + "shape": "blast", + "energy_source": "MANA", + "spell_class": "DRUID", + "difficulty": 4, + "max_level": 15, + "base_casting_time": 250, + "base_energy_cost": 250, + "min_duration": 30000, + "max_duration": 480000, + "duration_increment": 30000 + }, + { + "type": "effect_on_condition", + "id": "EOC_DRUID_WATER_WALKING", + "condition": { "u_is_on_terrain_with_flag": "LIQUID" }, + "effect": { "u_cast_spell": { "id": "druid_water_walking_real", "hit_self": true } }, + "false_effect": { "u_message": "You must be standing on water to cast Water Strider's Walk", "type": "bad" } + }, + { + "id": "druid_water_walking_real", + "type": "SPELL", + "name": "Water Strider's Walk Real", + "description": "The actual spell that lets you walk on water. It's a bug if you have it.", + "valid_targets": [ "self" ], + "flags": [ "CONCENTRATE", "VERBAL", "SOMATIC" ], + "effect": "spawn_item", + "effect_str": "aura_druid_waterwalk", + "shape": "blast", + "difficulty": 4, + "min_damage": 1, + "max_damage": 1, + "min_duration": { "math": [ "( (u_spell_level('druid_water_walking') * 30000) + 30000)" ] }, + "max_duration": { "math": [ "( (u_spell_level('druid_water_walking') * 30000) + 30000)" ] } + }, + { + "type": "effect_on_condition", + "id": "EOC_DRUID_WATERWALKING_REMOVERE", + "eoc_type": "EVENT", + "required_event": "avatar_moves", + "condition": { "and": [ { "u_has_item": "aura_druid_waterwalk" }, { "not": { "u_is_on_terrain_with_flag": "LIQUID" } } ] }, + "effect": [ + { "u_remove_item_with": "aura_druid_waterwalk" }, + { "u_message": "As you leave the water, your spell fades.", "type": "bad" } + ] } ] diff --git a/data/mods/Magiclysm/Spells/technomancer.json b/data/mods/Magiclysm/Spells/technomancer.json index fabf1832c28a8..71907f15e28ab 100644 --- a/data/mods/Magiclysm/Spells/technomancer.json +++ b/data/mods/Magiclysm/Spells/technomancer.json @@ -720,5 +720,25 @@ "energy_source": "MANA", "base_energy_cost": 500, "base_casting_time": 3000 + }, + { + "id": "technomancer_recharge_vehicle", + "type": "SPELL", + "name": "Imbue with Lightning", + "description": "This fancifully-named spell actually restores power to a battery or power grid. An esoteric curiosity until electrical power became widespread, even then the power efficiency of fossil fuels rendered it a niche spell.", + "valid_targets": [ "ground" ], + "spell_class": "TECHNOMANCER", + "flags": [ "CONCENTRATE", "VERBAL", "SOMATIC", "NO_LEGS", "NO_EXPLOSION_SFX" ], + "difficulty": 5, + "max_level": 20, + "effect": "recharge_vehicle", + "shape": "blast", + "min_damage": 3000, + "max_damage": 50000, + "damage_increment": 2350, + "min_range": 1, + "energy_source": "MANA", + "base_energy_cost": 750, + "base_casting_time": 6000 } ] diff --git a/data/mods/Magiclysm/effects/effects.json b/data/mods/Magiclysm/effects/effects.json index 831fbe96417e0..c2716dad893ac 100644 --- a/data/mods/Magiclysm/effects/effects.json +++ b/data/mods/Magiclysm/effects/effects.json @@ -789,6 +789,20 @@ } ] }, + { + "type": "effect_type", + "id": "effect_druid_anti_heat", + "name": [ "Water's Cooling Touch" ], + "desc": [ "Your skin feels like you just splashed cool water on it." ], + "apply_message": "", + "remove_message": "A warm breeze hits your skin.", + "rating": "good", + "enchantments": [ + { + "values": [ { "value": "CLIMATE_CONTROL_CHILL", "add": { "math": [ "(( u_spell_level('druid_anti_heat') * 2.5) + 10)" ] } } ] + } + ] + }, { "type": "effect_type", "id": "effect_kelvinist_anti_cold", @@ -1078,6 +1092,7 @@ "effect_biomancer_slow_bleeding_01", "effect_biomancer_slow_bleeding_02", "effect_biomancer_slow_bleeding_03", + "effect_druid_anti_heat", "effect_classless_watch", "effect_obfuscating_aura", "effect_shape_of_dust", @@ -1143,6 +1158,7 @@ "effect_biomancer_slow_bleeding_01", "effect_biomancer_slow_bleeding_02", "effect_biomancer_slow_bleeding_03", + "effect_druid_anti_heat", "haste", "synaptic_stim", "slow_freeze_effect", diff --git a/data/mods/Magiclysm/itemgroups/itemgroups.json b/data/mods/Magiclysm/itemgroups/itemgroups.json index 846fe1476b2dd..78f50763dd014 100644 --- a/data/mods/Magiclysm/itemgroups/itemgroups.json +++ b/data/mods/Magiclysm/itemgroups/itemgroups.json @@ -1147,7 +1147,8 @@ { "item": "spell_scroll_knock", "prob": 50 }, { "item": "spell_scroll_technomancer_robot_shutdown", "prob": 50 }, { "item": "spell_scroll_technomancer_conjure_ups", "prob": 25 }, - { "item": "spell_scroll_technomancer_welder", "prob": 35 } + { "item": "spell_scroll_technomancer_welder", "prob": 35 }, + { "item": "spell_scroll_technomancer_recharge_vehicle", "prob": 20 } ], "prob": 35 }, @@ -1269,8 +1270,11 @@ { "item": "spell_scroll_tornskin", "prob": 2 }, { "item": "spell_scroll_summon_cats", "prob": 50 }, { "item": "spell_scroll_seed_of_growth", "prob": 15 }, + { "item": "spell_scroll_druid_anti_heat", "prob": 40 }, { "item": "spell_scroll_druid_harvest_hunter", "prob": 30 }, - { "item": "spell_scroll_druid_bramble_spear", "prob": 30 } + { "item": "spell_scroll_druid_bramble_spear", "prob": 30 }, + { "item": "spell_scroll_druid_breathing_underwater", "prob": 30 }, + { "item": "spell_scroll_druid_water_walking", "prob": 30 } ], "prob": 45 }, @@ -1281,21 +1285,25 @@ { "item": "spell_scroll_druid_naturebow1", "prob": 100 }, { "item": "spell_scroll_druid_whisper_leaves", "prob": 100 }, { "item": "spell_scroll_druid_rootstrike", "prob": 100 }, + { "item": "spell_scroll_druid_bandage", "prob": 100 }, + { "item": "spell_scroll_druid_disinfectant", "prob": 50 }, { "item": "spell_scroll_purification_seed", "prob": 100 }, { "item": "spell_scroll_druid_summon_tanglevine", "prob": 50 }, - { "item": "spell_scroll_druid_summon_brambles", "prob": 60 } + { "item": "spell_scroll_druid_summon_brambles", "prob": 60 }, + { "item": "spell_scroll_druid_wood_living_tree_spell", "prob": 80 } ], "prob": 35 }, { "distribution": [ { "item": "recovery_spellbook", "prob": 10 }, + { "item": "plant_spellbook", "prob": 10 }, { "item": "spell_scroll_recover_fatigue", "prob": 100 }, { "item": "spell_scroll_druid_thornskin", "prob": 100 }, { "item": "spell_scroll_druidic_regrowth", "prob": 100 }, { "item": "spell_scroll_druidic_healing", "prob": 100 }, - { "item": "spell_scroll_druid_bandage", "prob": 100 }, - { "item": "spell_scroll_druid_beguile_savage_beast", "prob": 100 } + { "item": "spell_scroll_druid_beguile_savage_beast", "prob": 75 }, + { "item": "spell_scroll_druid_renew_forest_spell", "prob": 50 } ], "prob": 10 } diff --git a/data/mods/Magiclysm/itemgroups/spellbooks.json b/data/mods/Magiclysm/itemgroups/spellbooks.json index 3009996a5885a..40c3c54195bf5 100644 --- a/data/mods/Magiclysm/itemgroups/spellbooks.json +++ b/data/mods/Magiclysm/itemgroups/spellbooks.json @@ -47,7 +47,8 @@ [ "spell_scroll_biomancer_visceral_projection", 40 ], [ "spell_scroll_summon_wisps", 30 ], [ "spell_scroll_stormshaper_wall_of_fog", 35 ], - [ "spell_scroll_shadow_field", 20 ] + [ "spell_scroll_shadow_field", 20 ], + [ "spell_scroll_druid_anti_heat", 30 ] ] }, { @@ -69,6 +70,8 @@ [ "spell_scroll_druid_harvest_hunter", 40 ], [ "spell_scroll_druid_bramble_spear", 30 ], [ "spell_scroll_druid_summon_brambles", 20 ], + [ "spell_scroll_druid_disinfectant", 20 ], + [ "spell_scroll_druid_water_walking", 20 ], [ "spell_scroll_seismic_stomp", 20 ], [ "spell_scroll_eshaper_shardspray", 25 ], [ "spell_scroll_eshaper_spawn_tools", 40 ], @@ -106,6 +109,7 @@ [ "spell_scroll_earthshaper_danger_sense", 45 ], [ "spell_scroll_earthshaper_stoneskin", 30 ], [ "spell_scroll_earthshaper_pillar", 35 ], + [ "spell_scroll_druid_breathing_underwater", 30 ], [ "spell_scroll_biomancer_coagulant_weave", 30 ], [ "spell_scroll_repelling_arc", 30 ], [ "spell_scroll_knock", 35 ], @@ -145,6 +149,7 @@ [ "spell_scroll_eshaper_crystal_wrap", 50 ], [ "spell_scroll_druid_healing", 25 ], [ "spell_scroll_druid_summon_tanglevine", 35 ], + [ "spell_scroll_druid_wood_living_tree_spell", 40 ], [ "spell_scroll_fireball", 50 ], [ "spell_scroll_cone_cold", 50 ], [ "spell_scroll_hoary_blast", 50 ], @@ -169,6 +174,7 @@ [ "spell_scroll_holographic_transposition", 15 ], [ "spell_scroll_technomancer_conjure_ups", 20 ], [ "spell_scroll_technomancer_robot_shutdown", 25 ], + [ "spell_scroll_technomancer_recharge_vehicle", 15 ], [ "spell_scroll_dark_sight", 30 ], [ "spell_scroll_druidic_regrowth", 20 ], [ "spell_scroll_druid_whisper_leaves", 30 ], @@ -205,6 +211,7 @@ [ "bio_sneeze_beam", 50 ], [ "spell_scroll_druid_beguile_savage_beast", 10 ], [ "spell_scroll_druid_thornskin", 20 ], + [ "spell_scroll_druid_renew_forest_spell", 5 ], [ "spell_scroll_banishment_lesser", 30 ], [ "spell_scroll_nova_flare", 25 ], [ "spell_scroll_freezing_touch", 40 ], @@ -267,7 +274,8 @@ [ "magus_spellbook_move", 30 ], [ "translocate_spellbook", 20 ], [ "light_manipulation_spellbook", 15 ], - [ "recovery_spellbook", 30 ] + [ "recovery_spellbook", 30 ], + [ "plant_spellbook", 15 ] ] }, { diff --git a/data/mods/Magiclysm/items/ethereal_items.json b/data/mods/Magiclysm/items/ethereal_items.json index 91be9d5c9e8b5..587b5b03cf60c 100644 --- a/data/mods/Magiclysm/items/ethereal_items.json +++ b/data/mods/Magiclysm/items/ethereal_items.json @@ -1503,6 +1503,73 @@ ] } }, + { + "id": "aura_druid_breathing_water", + "type": "ARMOR", + "name": "Aquatic Mantle", + "description": "Covered in magical seaweed, you can travel and breathe underwater as long as this spell is in effect.", + "weight": "0 g", + "volume": "0 ml", + "price": 0, + "material": [ "veggy" ], + "symbol": "O", + "color": "blue", + "flags": [ + "AURA", + "OVERSIZE", + "ONLY_ONE", + "PADDED", + "INTEGRATED", + "ALLOWS_NATURAL_ATTACKS", + "TRADER_AVOID", + "REBREATHER", + "WATER_FRIENDLY", + "NO_REPAIR", + "NO_TAKEOFF", + "ZERO_WEIGHT", + "NONCONDUCTIVE", + "TRANSPARENT", + "WATERPROOF", + "SWIM_GOGGLES" + ], + "relic_data": { "passive_effects": [ { "has": "WORN", "condition": "ALWAYS", "values": [ { "value": "MAX_MANA", "add": 0 } ] } ] }, + "armor": [ + { + "encumbrance": 0, + "coverage": 100, + "covers": [ "leg_l", "leg_r", "torso", "arm_l", "arm_r", "hand_l", "hand_r", "head", "foot_l", "foot_r", "mouth", "eyes" ] + } + ] + }, + { + "id": "aura_druid_waterwalk", + "type": "ARMOR", + "name": "Waterstrider's Walk", + "description": "You can easily walk on the surface of the water.", + "weight": "0 g", + "volume": "0 ml", + "price": 0, + "material": [ "concentrated_mana" ], + "symbol": "O", + "color": "blue", + "flags": [ + "AURA", + "SEMITANGIBLE", + "ONLY_ONE", + "PADDED", + "INTEGRATED", + "ALLOWS_NATURAL_ATTACKS", + "TRADER_AVOID", + "WATER_FRIENDLY", + "NO_REPAIR", + "NO_TAKEOFF", + "ZERO_WEIGHT", + "NONCONDUCTIVE", + "TRANSPARENT", + "FLOTATION" + ], + "relic_data": { "passive_effects": [ { "has": "WORN", "condition": "ALWAYS", "values": [ { "value": "MAX_MANA", "add": 0 } ] } ] } + }, { "id": "item_earthshaper_map_01", "copy-from": "abstractmap", @@ -1635,5 +1702,18 @@ ], "message": "The earth reveals its secrets." } + }, + { + "id": "item_druid_disinfectant", + "type": "GENERIC", + "name": { "str_sp": "druid antiseptic" }, + "description": "A magical disinfectant. You should never actually see this.", + "weight": "0 g", + "volume": "0 ml", + "symbol": "~", + "color": "green", + "phase": "solid", + "flags": [ "NO_INGEST", "EDIBLE_FROZEN", "ONLY_ONE", "ZERO_WEIGHT", "TRADER_AVOID", "SINGLE_USE" ], + "use_action": { "type": "heal", "disinfectant_power": 3, "bite": 0.9, "move_cost": 1 } } ] diff --git a/data/mods/Magiclysm/items/spell_scrolls.json b/data/mods/Magiclysm/items/spell_scrolls.json index 81f75a6b13af4..d911c664752dc 100644 --- a/data/mods/Magiclysm/items/spell_scrolls.json +++ b/data/mods/Magiclysm/items/spell_scrolls.json @@ -1734,5 +1734,68 @@ "name": { "str": "Scroll of Caustic Blood", "str_pl": "Scrolls of Caustic Blood" }, "description": "Turn your blood into acid, just like that movie you used to watch all that time.", "use_action": { "type": "learn_spell", "spells": [ "biomancer_caustic_blood" ] } + }, + { + "type": "BOOK", + "copy-from": "spell_scroll", + "id": "spell_scroll_druid_renew_forest_spell", + "//": "Druid spell", + "name": { "str": "Scroll of Renew the Forest", "str_pl": "Scrolls of Renew the Forest" }, + "description": "Grow an entire forest from nothing, given enough time and mana. There were druids who made good money doing this for industrial logging, the ethics of which were always good to start an argument at a party.", + "use_action": { "type": "learn_spell", "spells": [ "druid_renew_forest_spell" ] } + }, + { + "type": "BOOK", + "copy-from": "spell_scroll", + "id": "spell_scroll_druid_wood_living_tree_spell", + "//": "Druid spell", + "name": { "str": "Scroll of Shape Wood", "str_pl": "Scrolls of Shape Wood" }, + "description": "Grow a log from a living tree and prune it without violence.", + "use_action": { "type": "learn_spell", "spells": [ "druid_wood_living_tree_spell" ] } + }, + { + "type": "BOOK", + "copy-from": "spell_scroll", + "id": "spell_scroll_druid_anti_heat", + "//": "Druid spell", + "name": { "str": "Scroll of Water's Cooling Touch", "str_pl": "Scrolls of Water's Cooling Touch" }, + "description": "Using a bit of water, transfer water's refreshing chill to yourself.", + "use_action": { "type": "learn_spell", "spells": [ "druid_anti_heat" ] } + }, + { + "type": "BOOK", + "copy-from": "spell_scroll", + "id": "spell_scroll_druid_breathing_underwater", + "//": "Druid spell", + "name": { "str": "Scroll of Aquatic Mantle", "str_pl": "Scrolls of Aquatic Mantle" }, + "description": "Grow magical seaweed to form a protective coating, allowing you to travel the depths.", + "use_action": { "type": "learn_spell", "spells": [ "druid_breathing_underwater" ] } + }, + { + "type": "BOOK", + "copy-from": "spell_scroll", + "id": "spell_scroll_druid_disinfectant", + "//": "Druid spell", + "name": { "str": "Scroll of Wash the Wounds Clean", "str_pl": "Scrolls of Wash the Wounds Clean" }, + "description": "Disinfect your wounds with just a bit of water and magic.", + "use_action": { "type": "learn_spell", "spells": [ "druid_disinfectant" ] } + }, + { + "type": "BOOK", + "copy-from": "spell_scroll", + "id": "spell_scroll_druid_water_walking", + "//": "Druid spell", + "name": { "str": "Scroll of Water Strider's Walk", "str_pl": "Scrolls of Water Strider's Walk" }, + "description": "Walk on water using the power of your magic.", + "use_action": { "type": "learn_spell", "spells": [ "druid_water_walking" ] } + }, + { + "type": "BOOK", + "copy-from": "spell_scroll", + "id": "spell_scroll_technomancer_recharge_vehicle", + "//": "Technomancer spell", + "name": { "str": "Scroll of Imbue with Lightning", "str_pl": "Scrolls of Imbue with Lightning" }, + "description": "Charge a battery using only your mana! Once of niche use, now a vital skill.", + "use_action": { "type": "learn_spell", "spells": [ "technomancer_recharge_vehicle" ] } } ] diff --git a/data/mods/Magiclysm/items/spellbooks.json b/data/mods/Magiclysm/items/spellbooks.json index b90d43c45186d..e26d1fecb59d2 100644 --- a/data/mods/Magiclysm/items/spellbooks.json +++ b/data/mods/Magiclysm/items/spellbooks.json @@ -734,5 +734,31 @@ "kelvinist_anti_cold" ] } + }, + { + "type": "BOOK", + "id": "plant_spellbook", + "name": { "str": "The Elven Path", "str_pl": "copies of The Elven Path" }, + "//": "7 Druid spells", + "description": "Writen by the elven archdruid Tylindel Melithilarahd over 500 years ago, this weighty tome was considered *the* most important book of the Harmonist druidic movement up until just before the Cataclysm. Archdruid Melithilarahd's death in 2016 ended his overt patronage of his own works, allowing other writers to attempt to make their mark, especially younger elves who did not have such a strident anti-modern attitude. In addition to all the philosopical essays about the importance of living in harmony with nature and allowing plants to grow where they will are several plant-based druidic spells.", + "price": 15000, + "material": [ "paper", "cardboard" ], + "symbol": "?", + "looks_like": "cookbook", + "color": "green", + "weight": "2041 g", + "volume": "1500 ml", + "use_action": { + "type": "learn_spell", + "spells": [ + "druid_whisper_leaves", + "druid_summon_tanglevine", + "druid_summon_brambles", + "druid_renew_forest_spell", + "druid_wood_living_tree_spell", + "druid_rootstrike", + "druidic_regrowth" + ] + } } ] diff --git a/data/mods/Magiclysm/mutations/temporary.json b/data/mods/Magiclysm/mutations/temporary.json index c3b2435e5c9fb..324391e2d27d6 100644 --- a/data/mods/Magiclysm/mutations/temporary.json +++ b/data/mods/Magiclysm/mutations/temporary.json @@ -26,8 +26,8 @@ "points": 2, "visibility": 6, "ugliness": 8, - "restricts_gear": [ "torso" ], - "remove_rigid": [ "torso" ], + "restricts_gear": [ "arm_shoulder_l", "arm_shoulder_r" ], + "remove_rigid": [ "arm_shoulder_l", "arm_shoulder_r" ], "allow_soft_gear": true, "attacks": { "attack_text_u": "You lash at %s with your tentacles!", diff --git a/data/mods/Magiclysm/professions.json b/data/mods/Magiclysm/professions.json index 3dc3fa9b1e757..78fd9ede89df0 100644 --- a/data/mods/Magiclysm/professions.json +++ b/data/mods/Magiclysm/professions.json @@ -419,7 +419,8 @@ "spells": [ { "id": "create_atomic_lamp", "level": 8 }, { "id": "invisibility", "level": 2 }, - { "id": "technomancer_conjure_ups", "level": 3 } + { "id": "technomancer_conjure_ups", "level": 3 }, + { "id": "technomancer_recharge_vehicle", "level": 5 } ], "points": 5, "skills": [ diff --git a/data/mods/Magiclysm/requirements/spell_components.json b/data/mods/Magiclysm/requirements/spell_components.json index 01a3a97b4d01e..f29476ec2b415 100644 --- a/data/mods/Magiclysm/requirements/spell_components.json +++ b/data/mods/Magiclysm/requirements/spell_components.json @@ -179,5 +179,11 @@ "type": "requirement", "//": "Sticks to turn into a bramble spear", "components": [ [ [ "stick", 1 ], [ "stick_long", 1 ] ] ] + }, + { + "id": "spell_components_druid_anti_heat", + "type": "requirement", + "//": "Water for Water's Cooling Touch", + "components": [ [ [ "water", 2 ], [ "water_clean", 2 ], [ "salt_water", 2 ] ] ] } ] diff --git a/data/mods/Magiclysm/ter_fur_transform/ter_fur_transform.json b/data/mods/Magiclysm/ter_fur_transform/ter_fur_transform.json index 2f6fc184d5673..8634c0740b6f5 100644 --- a/data/mods/Magiclysm/ter_fur_transform/ter_fur_transform.json +++ b/data/mods/Magiclysm/ter_fur_transform/ter_fur_transform.json @@ -292,5 +292,111 @@ "message": "The ground churns as thick, tangled brambles burst forth and grow in moments." } ] + }, + { + "type": "ter_furn_transform", + "id": "ter_druid_renew_forest", + "terrain": [ + { + "result": [ + [ "t_tree_birch", 32 ], + [ "t_tree_elm", 32 ], + [ "t_tree_cottonwood", 32 ], + [ "t_tree_basswood", 32 ], + [ "t_tree_alder", 32 ], + [ "t_tree_pine", 64 ], + [ "t_tree_maple", 64 ], + [ "t_tree_willow", 64 ], + [ "t_tree_hickory_harvested", 32 ], + [ "t_tree_walnut_harvested", 16 ], + [ "t_tree_butternut", 4 ], + [ "t_tree_chestnut_harvested", 8 ], + [ "t_tree_hazelnut_harvested", 2 ], + [ "t_tree_beech", 4 ], + [ "t_tree_blackjack", 8 ], + [ "t_tree_apple_harvested", 2 ], + [ "t_tree_cherry_harvested", 2 ], + [ "t_tree_juniper", 2 ], + [ "t_tree_pear_harvested", 2 ], + [ "t_tree_plum_harvested", 2 ], + [ "t_tree_elderberry_harvested", 2 ], + [ "t_tree_mulberry_harvested", 2 ], + [ "t_tree_sassafras", 3 ] + ], + "valid_flags": [ "YOUNG" ], + "message": "Wood creaks as the tree's limbs grow and stretch toward the sky." + }, + { + "result": [ + [ "t_grass", 75 ], + [ "t_grass_long", 30 ], + [ "t_grass_tall", 5 ], + [ "t_shrub", 15 ], + [ "t_underbrush", 35 ], + [ "t_shrub_rose", 5 ], + [ "t_shrub_blackberry_harvested", 5 ], + [ "t_shrub_grape_harvested", 5 ], + [ "t_shrub_lilac_harvested", 5 ], + [ "t_shrub_blueberry_harvested", 5 ], + [ "t_shrub_raspberry_harvested", 5 ], + [ "t_shrub_hydrangea_harvested", 5 ], + [ "t_shrub_huckleberry_harvested", 5 ], + [ "t_tree_young", 35 ] + ], + "valid_flags": [ "DIGGABLE", "SHRUB" ], + "message": "Soil churns as roots quest through it and grass and bushes spring forth from the ground." + }, + { + "result": [ [ "t_grass", 9 ], [ "t_moss", 3 ], [ "t_forestfloor", 4 ] ], + "valid_terrain": [ "t_grass" ], + "message": "" + }, + { + "result": [ [ "t_floor", 9 ], [ "t_grass", 6 ], [ "t_grass_long", 2 ], [ "t_grass_tall", 1 ] ], + "valid_terrain": [ "t_floor" ], + "message": "The works of civilization crack as plants force their way through to the sun." + }, + { + "result": [ [ "t_floor_noroof", 9 ], [ "t_grass", 6 ], [ "t_grass_long", 2 ], [ "t_grass_tall", 1 ] ], + "valid_terrain": [ "t_floor_noroof" ], + "message": "The works of civilization crack as plants force their way through to the sun." + }, + { + "result": [ [ "t_floor_primitive", 6 ], [ "t_grass", 6 ], [ "t_grass_long", 2 ], [ "t_grass_tall", 1 ] ], + "valid_terrain": [ "t_floor_primitive" ], + "message": "The works of civilization crack as plants force their way through to the sun." + }, + { + "result": [ [ "t_pavement", 12 ], [ "t_grass", 6 ], [ "t_grass_long", 2 ], [ "t_grass_tall", 1 ] ], + "valid_terrain": [ "t_pavement" ], + "message": "The works of civilization crack as plants force their way through to the sun." + }, + { + "result": [ [ "t_pavement_y", 12 ], [ "t_grass", 6 ], [ "t_grass_long", 2 ], [ "t_grass_tall", 1 ] ], + "valid_terrain": [ "t_pavement_y" ], + "message": "The works of civilization crack as plants force their way through to the sun." + }, + { + "result": [ [ "t_zebra", 12 ], [ "t_grass", 6 ], [ "t_grass_long", 2 ], [ "t_grass_tall", 1 ] ], + "valid_terrain": [ "t_zebra" ], + "message": "The works of civilization crack as plants force their way through to the sun." + }, + { + "result": [ [ "t_sidewalk", 12 ], [ "t_grass", 6 ], [ "t_grass_long", 2 ], [ "t_grass_tall", 1 ] ], + "valid_terrain": [ "t_sidewalk" ], + "message": "The works of civilization crack as plants force their way through to the sun." + }, + { + "result": [ [ "t_concrete", 12 ], [ "t_grass", 6 ], [ "t_grass_long", 2 ], [ "t_grass_tall", 1 ] ], + "valid_terrain": [ "t_concrete" ], + "message": "The works of civilization crack as plants force their way through to the sun." + }, + { + "result": [ [ "t_concrete_y", 12 ], [ "t_grass", 6 ], [ "t_grass_long", 2 ], [ "t_grass_tall", 1 ] ], + "valid_terrain": [ "t_concrete_y" ], + "message": "The works of civilization crack as plants force their way through to the sun." + } + ], + "furniture": [ { "result": "f_null", "valid_flags": [ "MOUNTABLE", "BLOCK_WIND", "ORGANIC" ] } ] } ]