Skip to content

Commit

Permalink
[Magiclysm] Add seven more spells (+ monsters + lab special) (CleverR…
Browse files Browse the repository at this point in the history
…aven#67914)

* Initial commit

* Add "AIR_SPIRIT" species

* Dictionary updates

* Fixes

* Change druid and feral radiation mage spells

* Various fixes

* Lab location tweaks

* Fix feral radiation mage summoning

* Give Dimensionalist spells, add Knowing the Day and the Hour to some wilderness professions
  • Loading branch information
Standing-Storm authored Aug 30, 2023
1 parent e77581b commit c8c37e6
Show file tree
Hide file tree
Showing 24 changed files with 946 additions and 185 deletions.
29 changes: 27 additions & 2 deletions data/mods/Magiclysm/Spells/animist.json
Original file line number Diff line number Diff line change
Expand Up @@ -715,7 +715,7 @@
"id": "animist_summon_decaying_boneclub",
"type": "SPELL",
"name": { "str": "Decaying Boneclub" },
"description": "This spell links your live blood to the dead blood & bones, creating a club hungry for the flesh of the living.",
"description": "This spell links your living blood to dead blood & bones, creating a club hungry for the flesh of the living.",
"effect": "spawn_item",
"effect_str": "decaying_boneclub",
"shape": "blast",
Expand All @@ -739,7 +739,7 @@
"id": "animist_summon_decaying_boneclub_plus",
"type": "SPELL",
"name": { "str": "Improved Decaying Boneclub" },
"description": "This spell links your live blood to the dead blood & bones, creating a club hungry for the flesh of the living. Now you know this spell like the back of your hand, and start to design your own version.",
"description": "This spell links your living blood to dead blood & bones, creating a club hungry for the flesh of the living. Now you know this spell like the back of your hand, and have started to design your own version.",
"effect": "spawn_item",
"effect_str": "decaying_boneclub",
"shape": "blast",
Expand Down Expand Up @@ -862,5 +862,30 @@
"max_duration": 900000,
"duration_increment": 60000,
"base_casting_time": 1500
},
{
"id": "animist_summon_watcher",
"type": "SPELL",
"name": { "str": "Summon Watcher Spirit" },
"description": "Summon a watcher spirit, whose senses overlap with your own and through whose eyes you can see. Although they are spirits, they are fragile and dissipate easily in the face of any assault.",
"flags": [ "SOMATIC", "CONCENTRATE", "VERBAL", "NO_PROJECTILE" ],
"spell_class": "ANIMIST",
"effect": "summon",
"effect_str": "mon_watcher_spirit",
"shape": "blast",
"valid_targets": [ "ground" ],
"difficulty": 3,
"max_level": 15,
"min_damage": 1,
"max_damage": 1,
"min_range": 3,
"max_range": 20,
"range_increment": 1.1,
"min_duration": 24000,
"max_duration": 360000,
"duration_increment": 24000,
"energy_source": "MANA",
"base_casting_time": 500,
"base_energy_cost": 150
}
]
42 changes: 42 additions & 0 deletions data/mods/Magiclysm/Spells/biomancer.json
Original file line number Diff line number Diff line change
Expand Up @@ -483,5 +483,47 @@
{ "u_lose_trait": "BIO_GIANT_GROWTH" },
{ "math": [ "u_val('stored_kcal')", "-=", "100000" ] }
]
},
{
"id": "biomancer_remove_instability",
"type": "SPELL",
"name": "Restore Genetic Stability",
"description": "The scroll said that this spell is for \"Curing the aftereffects of XE037 overexposure\", whatever that means. According the scroll, the spell should be allowed to run its course before reapplication",
"valid_targets": [ "self", "ally" ],
"spell_class": "BIOMANCER",
"components": "spell_components_remove_instability",
"flags": [ "VERBAL", "SOMATIC" ],
"effect": "attack",
"effect_str": "effect_biomancer_remove_instability",
"shape": "blast",
"difficulty": 10,
"max_level": 15,
"energy_source": "MANA",
"min_range": 1,
"base_energy_cost": 1500,
"base_casting_time": 180000,
"min_duration": 4500000,
"max_duration": 45000000,
"duration_increment": 2700000
},
{
"id": "biomancer_carrion_feast",
"type": "SPELL",
"name": "Carrion Feast",
"description": "Alter your digestive system to consume rotten food with no ill effects. This is either a truly ancient spell or otherwise must have been the product of some university thaumaturgical research department.",
"valid_targets": [ "self" ],
"spell_class": "BIOMANCER",
"flags": [ "CONCENTRATE", "VERBAL", "SOMATIC" ],
"effect": "attack",
"effect_str": "effect_biomancer_carrion_feast",
"shape": "blast",
"difficulty": 3,
"energy_source": "MANA",
"max_level": 10,
"min_duration": 6000,
"max_duration": 36000,
"duration_increment": 2800,
"base_energy_cost": 250,
"base_casting_time": 1500
}
]
19 changes: 19 additions & 0 deletions data/mods/Magiclysm/Spells/classless.json
Original file line number Diff line number Diff line change
Expand Up @@ -443,5 +443,24 @@
"max_field_intensity": 1,
"field_chance": 1,
"energy_source": "MANA"
},
{
"id": "classless_watch_spell",
"type": "SPELL",
"name": "Knowing the Day and the Hour",
"description": "Probably the single greatest example of technology rendering magic obsolete, this spell allows you know exactly what time it is.",
"valid_targets": [ "self" ],
"flags": [ "VERBAL", "SOMATIC" ],
"effect": "attack",
"effect_str": "effect_classless_watch",
"shape": "blast",
"difficulty": 1,
"max_level": 12,
"min_duration": 720000,
"max_duration": 8640000,
"duration_increment": 720000,
"energy_source": "MANA",
"base_energy_cost": 150,
"base_casting_time": 6000
}
]
74 changes: 34 additions & 40 deletions data/mods/Magiclysm/Spells/druid.json
Original file line number Diff line number Diff line change
Expand Up @@ -458,10 +458,10 @@
"id": "druid_natures_commune",
"type": "SPELL",
"name": "Nature's Commune",
"description": "You concentrate on the nature around you and commune with it, improving your health and calming the nearby wildlife. This spell may only be cast outdoors.",
"description": "You concentrate on the nature around you and commune with it, improving your health and calming the nearby wildlife.",
"valid_targets": [ "self" ],
"effect": "effect_on_condition",
"effect_str": "EOC_NATURE_COMMUNE",
"effect": "attack",
"effect_str": "natures_commune",
"shape": "blast",
"flags": [ "CONCENTRATE", "SOMATIC", "VERBAL", "NO_LEGS", "NO_HANDS" ],
"energy_source": "MANA",
Expand All @@ -472,43 +472,9 @@
"final_energy_cost": 400,
"energy_increment": 10,
"max_level": 20,
"min_duration": 30000,
"max_duration": 360000,
"duration_increment": 16500
},
{
"type": "effect_on_condition",
"id": "EOC_NATURE_COMMUNE",
"condition": {
"and": [
"u_is_outside",
{ "not": { "u_near_om_location": "road_curved", "range": 1 } },
{ "not": { "u_near_om_location": "road_four_way", "range": 1 } },
{ "not": { "u_near_om_location": "road_tee", "range": 1 } },
{ "not": { "u_near_om_location": "road_straight", "range": 1 } },
{ "not": { "u_near_om_location": "road_end", "range": 1 } },
{ "not": { "u_near_om_location": "road_sw", "range": 1 } },
{ "not": { "u_near_om_location": "road_ne", "range": 1 } },
{ "not": { "u_near_om_location": "road_ew", "range": 1 } },
{ "not": { "u_near_om_location": "road_ns", "range": 1 } },
{ "not": { "u_near_om_location": "road_nesw", "range": 1 } },
{ "not": { "u_near_om_location": "road", "range": 1 } }
]
},
"effect": [
{
"u_add_effect": "natures_commune",
"duration": { "math": [ "( 300 + (u_val('spell_level', 'spell: druid_natures_commune') * 165)) " ] }
},
{
"u_add_morale": "morale_forest_unity",
"bonus": 10,
"max_bonus": 15,
"duration": { "math": [ "( 300 + (u_val('spell_level', 'spell: druid_natures_commune') * 165) )" ] },
"decay_start": { "math": [ "(( 300 + (u_val('spell_level', 'spell: druid_natures_commune') * 165) ) / 2)" ] }
}
],
"false_effect": [ { "u_message": "You must be surrounded by nature to commune with nature", "type": "bad" } ]
"min_duration": 10000,
"max_duration": 40000,
"duration_increment": 2000
},
{
"id": "druid_growth",
Expand Down Expand Up @@ -678,5 +644,33 @@
"type": "effect_on_condition",
"id": "EOC_LOSE_WHISPER_LEAVES",
"effect": [ { "u_lose_trait": "TREE_COMMUNION" } ]
},
{
"id": "druid_beguile_savage_beast",
"type": "SPELL",
"name": "Beguiling the Savage Beast",
"description": "Using your connection to nature, you can sway an animal to your service. This spell even works on mutated animals.",
"valid_targets": [ "hostile" ],
"flags": [ "VERBAL", "SOMATIC", "SILENT" ],
"effect": "charm_monster",
"shape": "blast",
"spell_class": "DRUID",
"difficulty": 9,
"max_level": 15,
"min_damage": 30,
"max_damage": 400,
"damage_increment": 25,
"min_range": 5,
"max_range": 30,
"range_increment": 1.67,
"base_casting_time": 150,
"energy_source": "MANA",
"base_energy_cost": 900,
"final_energy_cost": 600,
"energy_increment": -20,
"min_duration": 30000,
"max_duration": 90000,
"duration_increment": 4000,
"targeted_monster_species": [ "MAMMAL", "BIRD" ]
}
]
171 changes: 171 additions & 0 deletions data/mods/Magiclysm/Spells/feral_wizards.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
[
{
"id": "mirror_image_rad_mage",
"type": "SPELL",
"name": "Mirror Image Radiation Mage",
"description": "This spell summons duplicates of the radiation mage. It's a bug if you have it.",
"valid_targets": [ "ground" ],
"effect": "summon",
"effect_str": "mon_mirror_image_rad_mage",
"shape": "blast",
"max_level": 2,
"min_damage": 3,
"max_damage": 5,
"damage_increment": 1,
"min_range": 4,
"max_range": 8,
"range_increment": 2,
"min_aoe": 3,
"max_aoe": 3,
"min_duration": 2000
},
{
"id": "feral_rad_mage_rad_spell",
"type": "SPELL",
"name": "Create Rads Radiation Mage",
"description": "This spell creates radiation gas around a target. It's a bug if you have it.",
"valid_targets": [ "hostile" ],
"effect": "emit",
"effect_str": "emit_rad_cloud",
"shape": "blast",
"max_level": 10,
"min_range": 5,
"max_range": 15,
"range_increment": 1
},
{
"id": "feral_rad_mage_summon_spell",
"type": "SPELL",
"name": "Summon Zombie ",
"description": "A spell for the feral rad mage to summon a zombie. It's a bug if you have this.",
"valid_targets": [ "hostile", "ground" ],
"flags": [ "WONDER", "NO_PROJECTILE" ],
"max_level": 1,
"min_damage": 1,
"max_damage": 1,
"min_range": 10,
"max_range": 10,
"message": "",
"shape": "blast",
"effect": "attack",
"extra_effects": [
{ "id": "feral_animist_summon_zombie" },
{ "id": "feral_animist_summon_zombie" },
{ "id": "feral_animist_summon_zombie" },
{ "id": "feral_animist_summon_zombie" },
{ "id": "feral_animist_summon_zombie" },
{ "id": "feral_animist_summon_tough_zombie" },
{ "id": "feral_animist_summon_tough_zombie" },
{ "id": "feral_animist_summon_tough_zombie" },
{ "id": "feral_animist_summon_tough_zombie" },
{ "id": "feral_animist_summon_tough_zombie" },
{ "id": "feral_animist_summon_tough_zombie" },
{ "id": "feral_animist_summon_tough_zombie" },
{ "id": "feral_animist_summon_zombie_brute" },
{ "id": "feral_animist_summon_zombie_brute" },
{ "id": "feral_animist_summon_zombie_brute" },
{ "id": "feral_animist_summon_zombie_brute" },
{ "id": "feral_animist_summon_zombie_brute" },
{ "id": "feral_animist_summon_zombie_brute" },
{ "id": "feral_animist_summon_zombie_brute" },
{ "id": "feral_animist_summon_zombie_brute" },
{ "id": "feral_animist_summon_zombie_brute" },
{ "id": "feral_animist_summon_zombie_hulk" }
]
},
{
"id": "feral_animist_summon_zombie",
"type": "SPELL",
"name": "Summon Zombie ",
"description": "A spell for the feral rad mage to summon a normal zombie. It's a bug if you have this.",
"valid_targets": [ "ground" ],
"flags": [ "HOSTILE_SUMMON", "LOUD", "NO_PROJECTILE" ],
"min_damage": 1,
"max_damage": 1,
"min_aoe": 3,
"max_aoe": 5,
"min_range": 10,
"max_range": 10,
"min_duration": 30000,
"max_duration": 30000,
"shape": "blast",
"effect": "summon",
"effect_str": "mon_zombie",
"sound_description": "a roar"
},
{
"id": "feral_animist_summon_tough_zombie",
"type": "SPELL",
"name": "Summon Tough Zombie",
"description": "A spell for the feral rad mage to summon a tough zombie brute. It's a bug if you have this.",
"valid_targets": [ "ground" ],
"flags": [ "HOSTILE_SUMMON", "LOUD", "NO_PROJECTILE" ],
"min_damage": 1,
"max_damage": 1,
"min_aoe": 3,
"max_aoe": 5,
"min_range": 10,
"max_range": 10,
"min_duration": 30000,
"max_duration": 30000,
"shape": "blast",
"effect": "summon",
"effect_str": "mon_zombie_tough",
"sound_description": "a roar"
},
{
"id": "feral_animist_summon_zombie_brute",
"type": "SPELL",
"name": "Summon Zombie Brute",
"description": "A spell for the feral rad mage to summon a zombie brute. It's a bug if you have this.",
"valid_targets": [ "ground" ],
"flags": [ "HOSTILE_SUMMON", "LOUD", "NO_PROJECTILE" ],
"min_damage": 1,
"max_damage": 1,
"min_aoe": 3,
"max_aoe": 5,
"min_range": 10,
"max_range": 10,
"min_duration": 30000,
"max_duration": 30000,
"shape": "blast",
"effect": "summon",
"effect_str": "mon_zombie_brute",
"sound_description": "a roar"
},
{
"id": "feral_animist_summon_zombie_hulk",
"type": "SPELL",
"name": "Radiation Mage Summon Zombie",
"description": "A spell for the feral rad mage to summon a zombie hulk. They probably won't cast this--but good luck if they do.",
"valid_targets": [ "ground" ],
"flags": [ "HOSTILE_SUMMON", "LOUD", "NO_PROJECTILE" ],
"min_damage": 1,
"max_damage": 1,
"min_aoe": 3,
"max_aoe": 5,
"min_range": 10,
"max_range": 10,
"min_duration": 30000,
"max_duration": 30000,
"shape": "blast",
"effect": "summon",
"effect_str": "mon_zombie_hulk",
"sound_description": "a roar"
},
{
"id": "feral_rad_mage_swap_spell",
"type": "SPELL",
"name": "Change Places with mirror image",
"description": "The spell for the feral radiation mage swapping places with a mirror image. It's a bug if you have it.",
"valid_targets": [ "ally" ],
"targeted_monster_ids": [ "mon_mirror_image_rad_mage" ],
"flags": [ "NO_LEGS", "LOUD", "SOMATIC", "SWAP_POS", "NO_PROJECTILE" ],
"effect": "attack",
"shape": "blast",
"max_level": 20,
"min_range": 5,
"max_range": 15,
"range_increment": 1.0
}
]
Loading

0 comments on commit c8c37e6

Please sign in to comment.