Skip to content

Commit

Permalink
[Magiclysm] More spells (#71236)
Browse files Browse the repository at this point in the history
* Initial commit

* Snippet change

* Add Water's Cooling Touch

* Add Aquatic Mantle

* Add Wash the Wounds Clean

* Final fixes

* prog -> prob
  • Loading branch information
Standing-Storm authored Jan 27, 2024
1 parent 4630758 commit 4b5f776
Show file tree
Hide file tree
Showing 12 changed files with 563 additions and 10 deletions.
219 changes: 219 additions & 0 deletions data/mods/Magiclysm/Spells/druid.json
Original file line number Diff line number Diff line change
Expand Up @@ -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" }
]
}
]
20 changes: 20 additions & 0 deletions data/mods/Magiclysm/Spells/technomancer.json
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
]
16 changes: 16 additions & 0 deletions data/mods/Magiclysm/effects/effects.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down
18 changes: 13 additions & 5 deletions data/mods/Magiclysm/itemgroups/itemgroups.json
Original file line number Diff line number Diff line change
Expand Up @@ -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
},
Expand Down Expand Up @@ -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
},
Expand All @@ -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
}
Expand Down
Loading

0 comments on commit 4b5f776

Please sign in to comment.