Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spells: Adds optional bash_scaling fields to the SPELL type and unduplicate spells that used to require sub-spells to bash terrain #76739

Merged
merged 11 commits into from
Oct 15, 2024
24 changes: 3 additions & 21 deletions data/mods/Aftershock/spells.json
Original file line number Diff line number Diff line change
Expand Up @@ -194,33 +194,15 @@
"description": "Your weapon releases a searing fan of plasma.",
"effect": "attack",
"shape": "cone",
"extra_effects": [ { "id": "spell_fusion_fan_bash" } ],
"field_id": "fd_rad_glimmer",
"min_field_intensity": 3,
"max_field_intensity": 9,
"valid_targets": [ "hostile", "ally", "ground" ],
"flags": [ "LOUD", "NO_EXPLOSION_SFX" ],
"flags": [ "LOUD", "NO_EXPLOSION_SFX", "RANDOM_DAMAGE", "IGNORE_WALLS" ],
"min_damage": 15,
"max_damage": 15,
"min_aoe": 15,
"max_aoe": 15,
"min_range": 10,
"max_range": 10,
"difficulty": 1,
"sound_description": "fzzzt",
"damage_type": "afs_plasma"
},
{
"id": "spell_fusion_fan_bash",
"type": "SPELL",
"name": "Plasma fan",
"description": "Damages terrain within the plasma fan.",
"effect": "bash",
"shape": "cone",
"valid_targets": [ "ground" ],
"flags": [ "SILENT", "NO_EXPLOSION_SFX", "IGNORE_WALLS", "RANDOM_DAMAGE" ],
"min_damage": 15,
"max_damage": 60,
"min_bash_scaling": 1,
"max_bash_scaling": 4,
"min_aoe": 15,
"max_aoe": 15,
"min_range": 10,
Expand Down
22 changes: 4 additions & 18 deletions data/mods/Magiclysm/Spells/attunements/Earth_Elemental.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@
"min_damage": 20,
"damage_increment": 4.0,
"max_damage": 160,
"min_bash_scaling": 1.5,
"bash_scaling_increment": -0.007,
"max_bash_scaling": 1.25,
"min_aoe": 0,
"max_aoe": 35,
"aoe_increment": 1,
Expand All @@ -32,7 +35,7 @@
"sound_id": "earth_spell",
"sound_variant": "strong",
"energy_source": "MANA",
"extra_effects": [ { "id": "quake_transform" }, { "id": "quake_shake" }, { "id": "eoc_evocation_setup", "hit_self": true } ]
"extra_effects": [ { "id": "quake_transform" }, { "id": "eoc_evocation_setup", "hit_self": true } ]
},
{
"id": "quake_transform",
Expand All @@ -52,23 +55,6 @@
"aoe_increment": 1,
"max_level": 35
},
{
"id": "quake_shake",
"type": "SPELL",
"name": "Quake Earthquake",
"description": "Destroy furniture and terrain nearby.",
"valid_targets": [ "hostile", "ground" ],
"flags": [ "EVOCATION_SPELL", "SILENT", "NO_EXPLOSION_SFX", "IGNORE_WALLS" ],
"effect": "bash",
"shape": "blast",
"min_damage": 30,
"max_damage": 200,
"damage_increment": 5,
"min_aoe": 0,
"max_aoe": 35,
"aoe_increment": 1,
"max_level": 35
},
{
"id": "rock_blast",
"type": "SPELL",
Expand Down
26 changes: 3 additions & 23 deletions data/mods/Magiclysm/Spells/druid.json
Original file line number Diff line number Diff line change
Expand Up @@ -619,11 +619,7 @@
"name": "Cause Rot",
"description": "A spell from a darker sect of druidry, created to forcibly begin the circle of life anew. For without rot, you cannot have growth. Affects a huge area, but is indiscriminate; even rusting machines into nothing but dust and slow both in casting and effect. Once lost entirely to the passage of time, this spell was thought to be no more than a myth, the stuff of fairy tales, albeit grim ones.",
"effect": "attack",
"extra_effects": [
{ "id": "druid_cause_rot_terrain" },
{ "id": "druid_cause_rot_terrain_bash" },
{ "id": "eoc_channeling_setup", "hit_self": true }
],
"extra_effects": [ { "id": "druid_cause_rot_terrain" }, { "id": "eoc_channeling_setup", "hit_self": true } ],
"shape": "blast",
"valid_targets": [ "hostile", "ground" ],
"flags": [ "CHANNELING_SPELL", "SOMATIC", "NO_PROJECTILE", "CONCENTRATE", "VERBAL", "IGNORE_WALLS" ],
Expand All @@ -643,6 +639,8 @@
"aoe_increment": 1.8,
"min_damage": 1,
"max_damage": 1,
"min_bash_scaling": 20,
"max_bash_scaling": 170,
"min_dot": 1,
"max_dot": 5,
"dot_increment": 0.2,
Expand All @@ -666,24 +664,6 @@
"max_aoe": 50,
"aoe_increment": 1.8
},
{
"id": "druid_cause_rot_terrain_bash",
"type": "SPELL",
"name": "Cause Rot Terrain Bash",
"description": "The bash terrain effect of the Cause Rot spell. It's a bug if you have it directly. It would be nice if this could take effect gradually but that's now how terrain bash works.",
"effect": "bash",
"shape": "blast",
"valid_targets": [ "hostile", "ground" ],
"flags": [ "CHANNELING_SPELL", "SOMATIC", "NO_PROJECTILE", "CONCENTRATE", "VERBAL", "IGNORE_WALLS" ],
"max_level": 25,
"spell_class": "DRUID",
"min_aoe": 5,
"max_aoe": 50,
"aoe_increment": 1.8,
"min_damage": 20,
"max_damage": 170,
"damage_increment": 6
},
{
"id": "druid_healing",
"type": "SPELL",
Expand Down
77 changes: 7 additions & 70 deletions data/mods/MindOverMatter/powers/telekinesis.json
Original file line number Diff line number Diff line change
Expand Up @@ -532,7 +532,6 @@
"flags": [ "PSIONIC", "CONCENTRATE", "NO_PROJECTILE", "RANDOM_DAMAGE", "NO_HANDS", "NO_LEGS" ],
"difficulty": 5,
"max_level": { "math": [ "int_to_level(1)" ] },
"extra_effects": [ { "id": "tele_mindhammer_bash", "hit_self": false, "max_level": 20 } ],
"damage_type": "psi_telekinetic_damage",
"effect": "attack",
"shape": "blast",
Expand All @@ -546,6 +545,8 @@
"( (u_spell_level('telekinetic_hammer') * 3.5) + 55) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
]
},
"min_bash_scaling": 1,
"max_bash_scaling": 1,
"min_range": {
"math": [
"min( (( (u_spell_level('telekinetic_hammer') * 0.9) + 3) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling), 70)"
Expand All @@ -563,36 +564,6 @@
"sound_description": "a heavy thud!",
"ignored_monster_species": [ "PSI_NULL" ]
},
{
"id": "tele_mindhammer_bash",
"type": "SPELL",
"name": "Mindhammer Ground damage",
"description": "Damages ground when you use Mindhammer. If you have this you debugged it in.",
"teachable": false,
"valid_targets": [ "ground" ],
"spell_class": "TELEKINETIC",
"flags": [ "PSIONIC", "RANDOM_DAMAGE", "IGNORE_WALLS", "NO_PROJECTILE" ],
"effect": "bash",
"shape": "blast",
"damage_type": "bash",
"min_damage": {
"math": [
"( (u_spell_level('telekinetic_hammer') * 1.5) + 25) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
]
},
"max_damage": {
"math": [
"( (u_spell_level('telekinetic_hammer') * 3) + 55) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
]
},
"min_range": {
"math": [
"min( (( (u_spell_level('telekinetic_hammer') * 0.9) + 3) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling), 70)"
]
},
"max_range": 70,
"ignored_monster_species": [ "PSI_NULL" ]
},
{
"id": "telekinetic_vehicle_lift",
"type": "SPELL",
Expand Down Expand Up @@ -676,7 +647,7 @@
"description": "A burst of telekinetic force shatters the terrain at the target location, as well as anything caught inside.",
"message": "You indiscriminately blast your targets!",
"teachable": false,
"valid_targets": [ "ally", "hostile", "ground" ],
"valid_targets": [ "ally", "hostile", "item", "ground" ],
"spell_class": "TELEKINETIC",
"skill": "metaphysics",
"flags": [
Expand All @@ -693,8 +664,8 @@
],
"difficulty": 7,
"max_level": { "math": [ "int_to_level(1)" ] },
"effect": "bash",
"extra_effects": [ { "id": "tele_explosion_damage", "hit_self": false, "max_level": 20 } ],
"effect": "attack",
"damage_type": "psi_telekinetic_damage",
"shape": "blast",
"min_damage": {
"math": [
Expand All @@ -706,6 +677,8 @@
"( (u_spell_level('telekinetic_explosion') * 7.5) + 99) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
]
},
"min_bash_scaling": 1,
"max_bash_scaling": 1,
"min_range": {
"math": [
"min( (( (u_spell_level('telekinetic_explosion') * 0.9) + 4) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling), 60)"
Expand All @@ -729,42 +702,6 @@
"sound_description": "a loud crash!",
"ignored_monster_species": [ "PSI_NULL" ]
},
{
"id": "tele_explosion_damage",
"type": "SPELL",
"name": "Wrecking Ball Enemy damage",
"description": "Damages enemies when you use Wrecking Ball on the ground. If you have this you debugged it in.",
"valid_targets": [ "ally", "hostile", "item", "ground" ],
"teachable": false,
"spell_class": "TELEKINETIC",
"flags": [ "PSIONIC", "LOUD", "RANDOM_DAMAGE", "IGNORE_WALLS" ],
"effect": "attack",
"shape": "blast",
"damage_type": "psi_telekinetic_damage",
"min_damage": {
"math": [
"( (u_spell_level('telekinetic_explosion') * 3) + 22) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
]
},
"max_damage": {
"math": [
"( (u_spell_level('telekinetic_explosion') * 7.5) + 99) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
]
},
"min_range": {
"math": [
"min( (( (u_spell_level('telekinetic_explosion') * 0.9) + 4) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling), 60)"
]
},
"max_range": 60,
"min_aoe": {
"math": [
"min( (( (u_spell_level('telekinetic_explosion') * 0.3) + 2) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling), 30)"
]
},
"max_aoe": 30,
"ignored_monster_species": [ "PSI_NULL" ]
},
{
"id": "telekinetic_levitation",
"type": "SPELL",
Expand Down
6 changes: 4 additions & 2 deletions data/mods/Xedra_Evolved/monsters/monster_spells.json
Original file line number Diff line number Diff line change
Expand Up @@ -390,9 +390,11 @@
"min_damage": 20,
"max_damage": 50,
"damage_increment": 6,
"min_bash_scaling": 2,
"max_bash_scaling": 10,
"bash_scaling_increment": 1,
"min_range": 1,
"max_range": 1,
"extra_effects": [ { "id": "point_blank_bash" } ]
"max_range": 1
},
{
"id": "mon_luna_attuned_revenant_beam",
Expand Down
26 changes: 6 additions & 20 deletions data/mods/Xedra_Evolved/monsters/monsterattacks.json
Original file line number Diff line number Diff line change
Expand Up @@ -182,30 +182,15 @@
"flags": [ "SILENT", "IGNORE_WALLS", "RANDOM_AOE", "RANDOM_DAMAGE" ],
"min_damage": 60,
"max_damage": 150,
"min_bash_scaling": 3,
"max_bash_scaling": 4,
"min_range": 9,
"max_range": 9,
"min_aoe": 25,
"max_aoe": 50,
"damage_type": "pure",
"sound_description": "a loud whisper",
"extra_effects": [ { "id": "sapient_light_bash" }, { "id": "sapient_light_damage_player" } ]
},
{
"id": "sapient_light_bash",
"type": "SPELL",
"name": "Sapient Bash",
"description": "Bash some terrain. You can't see it except in debug mode.",
"message": "",
"effect": "bash",
"shape": "cone",
"valid_targets": [ "hostile", "ground", "item" ],
"flags": [ "LOUD", "IGNORE_WALLS", "NO_EXPLOSION_SFX", "RANDOM_AOE", "RANDOM_DAMAGE" ],
"min_damage": 180,
"max_damage": 600,
"min_range": 9,
"max_range": 9,
"min_aoe": 25,
"max_aoe": 50
"extra_effects": [ { "id": "sapient_light_damage_player" } ]
},
{
"id": "sapient_light_damage_player",
Expand All @@ -219,12 +204,13 @@
"flags": [ "SILENT", "IGNORE_WALLS", "PERCENTAGE_DAMAGE", "NO_EXPLOSION_SFX" ],
"min_damage": 34,
"max_damage": 34,
"min_bash_scaling": 5.3,
"max_bash_scaling": 17.6,
"min_range": 9,
"max_range": 9,
"min_aoe": 50,
"max_aoe": 50,
"damage_type": "pure",
"extra_effects": [ { "id": "sapient_light_bash" } ]
"damage_type": "pure"
},
{
"type": "SPELL",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -813,13 +813,12 @@
"max_level": { "math": [ "str_to_level(1)" ] },
"effect": "attack",
"effect_str": "downed",
"extra_effects": [
{ "id": "undine_tidal_wave_spell_bash", "hit_self": false },
{ "id": "undine_tidal_wave_spell_push", "hit_self": false }
],
"extra_effects": [ { "id": "undine_tidal_wave_spell_push", "hit_self": false } ],
"shape": "line",
"min_damage": { "math": [ "( (u_spell_level('undine_tidal_wave_spell') * 3) + 40) * (scaling_factor(u_val('strength') ) )" ] },
"max_damage": { "math": [ "( (u_spell_level('undine_tidal_wave_spell') * 9) + 100) * (scaling_factor(u_val('strength') ) )" ] },
"min_bash_scaling": 1.14,
"max_bash_scaling": 1.25,
"damage_type": "bash",
"min_duration": 200,
"max_duration": 900,
Expand All @@ -839,29 +838,6 @@
"final_casting_time": 50,
"casting_time_increment": -12
},
{
"id": "undine_tidal_wave_spell_bash",
"type": "SPELL",
"name": "Tidal Wave Bash",
"description": "The Bash effect of the Tidal Wave spell. It's a bug if you have it directly.",
"teachable": false,
"valid_targets": [ "ground", "hostile" ],
"spell_class": "UNDINE",
"flags": [ "LOUD", "RANDOM_DAMAGE" ],
"max_level": { "math": [ "str_to_level(1)" ] },
"effect": "bash",
"shape": "line",
"min_damage": { "math": [ "( (u_spell_level('undine_tidal_wave_spell') * 3) + 35) * (scaling_factor(u_val('strength') ) )" ] },
"max_damage": { "math": [ "( (u_spell_level('undine_tidal_wave_spell') * 7) + 80) * (scaling_factor(u_val('strength') ) )" ] },
"min_range": {
"math": [ "min( (( (u_spell_level('undine_tidal_wave_spell') * 0.75) + 4) * (scaling_factor(u_val('strength') ) )), 30)" ]
},
"max_range": 50,
"min_aoe": {
"math": [ "min( (( (u_spell_level('undine_tidal_wave_spell') * 0.3) + 2) * (scaling_factor(u_val('strength') ) )), 6)" ]
},
"max_aoe": 6
},
{
"id": "undine_tidal_wave_spell_push",
"type": "SPELL",
Expand Down
17 changes: 2 additions & 15 deletions data/mods/Xedra_Evolved/spells/dreamer_spells.json
Original file line number Diff line number Diff line change
Expand Up @@ -389,26 +389,13 @@
"flags": [ "SILENT", "IGNORE_WALLS", "NO_EXPLOSION_SFX", "RANDOM_DAMAGE" ],
"min_damage": 360,
"max_damage": 500,
"min_bash_scaling": 1,
"max_bash_scaling": 1,
"min_range": 1,
"max_range": 1,
"message": "",
"damage_type": "bash",
"sound_description": "a smash",
"extra_effects": [ { "id": "constructed_hammer_bash" } ]
},
{
"id": "constructed_hammer_bash",
"type": "SPELL",
"name": "Constructed Hammer Bash",
"description": "Bash some terrain. You can't see it except in debug mode.",
"effect": "bash",
"shape": "cone",
"valid_targets": [ "hostile", "ground" ],
"flags": [ "SILENT", "IGNORE_WALLS", "NO_EXPLOSION_SFX", "RANDOM_DAMAGE" ],
"min_damage": 360,
"max_damage": 500,
"min_range": 1,
"max_range": 1,
"extra_effects": [ { "id": "constructed_hammer_self_destruct" } ]
},
{
Expand Down
Loading
Loading