Skip to content

Commit

Permalink
Add Wave of Force
Browse files Browse the repository at this point in the history
  • Loading branch information
Standing-Storm authored Jan 8, 2025
1 parent 93dbf1c commit cd592ff
Show file tree
Hide file tree
Showing 3 changed files with 102 additions and 0 deletions.
44 changes: 44 additions & 0 deletions data/mods/Aftershock/damage_types.json
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,50 @@
"melee_combat_info": { "order": 401, "show_type": false },
"ablative_info": { "order": 301, "show_type": false }
},
{
"id": "psi_telekinetic_damage",
"type": "damage_type",
"physical": false,
"magic_color": "yellow",
"name": "telekinetic",
"skill": "metaphysics",
"derived_from": [ "bash", 0.9 ],
"immune_flags": { "character": [ "TELEKIN_SHIELD" ], "monster": [ "TELEKIN_IMMUNE" ] },
"ondamage_eocs": [ "EOC_TELEKINETIC_DAMAGE_KNOCKDOWN_CHANCE", "EOC_TELEKINETIC_DAMAGE_STAGGER_CHANCE" ]
},
{
"type": "effect_on_condition",
"id": "EOC_TELEKINETIC_DAMAGE_STAGGER_CHANCE",
"condition": {
"and": [
{ "x_in_y_chance": { "x": { "math": [ "2" ] }, "y": 5 } },
{ "math": [ "_damage_taken > 0" ] }
]
},
"effect": [ { "npc_add_effect": "staggered", "duration": "2 s" } ]
},
{
"type": "effect_on_condition",
"id": "EOC_TELEKINETIC_DAMAGE_KNOCKDOWN_CHANCE",
"condition": {
"and": [
{ "x_in_y_chance": { "x": { "math": [ "1" ] }, "y": 5 } },
{ "math": [ "_damage_taken > 0" ] }
]
},
"effect": [ { "npc_add_effect": "downed", "duration": "1 s" } ]
},
{
"id": "psi_telekinetic_damage",
"type": "damage_info_order",
"info_display": "detailed",
"verb": "buffeting",
"bionic_info": { "order": 999899, "show_type": false },
"protection_info": { "order": 999899, "show_type": false },
"pet_prot_info": { "order": 999899, "show_type": false },
"melee_combat_info": { "order": 999899, "show_type": false },
"ablative_info": { "order": 999899, "show_type": false }
},
{
"id": "psi_telepathic_damage",
"type": "damage_type",
Expand Down
10 changes: 10 additions & 0 deletions data/mods/Aftershock/flags.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,16 @@
"type": "json_flag",
"info": "You are immune to telepathy."
},
{
"id": "TELEKIN_SHIELD",
"type": "json_flag",
"//": "Immune to telekinetic damage"
},
{
"id": "TELEKIN_IMMUNE",
"type": "monster_flag",
"//": "Immune to telekinetic damage"
},
{
"id": "SHIELD_GENERATOR",
"type": "json_flag",
Expand Down
48 changes: 48 additions & 0 deletions data/mods/Aftershock/spells/psionics/telekinesis.json
Original file line number Diff line number Diff line change
Expand Up @@ -226,5 +226,53 @@
"u_effect_intensity('effect_afs_telekinetic_momentum') > -1 ? 10 : max((300 -(u_spell_level('afs_telekinetic_momentum') * 7.5)), 125)"
]
}
},
{
"id": "afs_telekinetic_wave",
"type": "SPELL",
"name": "[Ψ]Wave of Force",
"description": "Unleash a telekinetic wave around you that indiscriminately knocks everything back.",
"message": "You knock everything nearby backwards!",
"teachable": false,
"valid_targets": [ "self" ],
"spell_class": "AFS_TELEKINETIC",
"skill": "metaphysics",
"flags": [ "PSIONIC", "CONCENTRATE", "NO_HANDS", "NO_LEGS" ],
"difficulty": 5,
"max_level": { "math": [ "int_to_level(1)" ] },
"effect": "attack",
"extra_effects": [ { "id": "afs_telekinetic_wavepush", "hit_self": true } ],
"shape": "blast",
"min_damage": 12,
"max_damage": 12,
"energy_source": "STAMINA",
"base_energy_cost": 4500,
"final_energy_cost": 2250,
"energy_increment": -125,
"base_casting_time": 50,
"final_casting_time": 20,
"casting_time_increment": -4
},
{
"id": "afs_telekinetic_wavepush",
"type": "SPELL",
"name": { "str": "[Ψ]Telekinetic Wave Push", "//~": "NO_I18N" },
"description": { "str": "Part of Wave of Force. If you see this it's a bug.", "//~": "NO_I18N" },
"message": "",
"valid_targets": [ "ally", "hostile", "item" ],
"spell_class": "AFS_TELEKINETIC",
"skill": "metaphysics",
"flags": [ "PSIONIC", "CONCENTRATE", "RANDOM_DAMAGE", "NO_HANDS", "NO_LEGS", "RANDOM_TARGET", "NO_EXPLOSION_SFX" ],
"effect": "directed_push",
"shape": "blast",
"max_level": { "math": [ "int_to_level(1)" ] },
"damage_type": "psi_telekinetic_damage",
"min_damage": {
"math": [ "min( ( ( (u_spell_level('afs_telekinetic_wave') * 0.1) + 2) * scaling_factor(u_val('intelligence') ) ), 15)" ]
},
"max_damage": { "math": [ "( (u_spell_level('afs_telekinetic_wave') * 0.25) + 6) * (scaling_factor(u_val('intelligence') ) )" ] },
"min_range": 1,
"max_range": 1,
"ignored_monster_species": [ "PSI_NULL", "TELEKIN_PUSHPULL_NULL" ]
}
]

0 comments on commit cd592ff

Please sign in to comment.