From b8310eedaead85f6e8c769a6e1c12ce3ba463483 Mon Sep 17 00:00:00 2001 From: WinDanesz <31292708+WinDanesz@users.noreply.github.com> Date: Sun, 12 Jun 2022 00:12:24 +0200 Subject: [PATCH] feat: Added a player_effect_duration_multiplier for the Paralysis spell, defaults to 0.5 --- .../java/electroblob/wizardry/spell/Paralysis.java | 12 +++++++++--- .../assets/ebwizardry/spells/paralysis.json | 3 ++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/electroblob/wizardry/spell/Paralysis.java b/src/main/java/electroblob/wizardry/spell/Paralysis.java index 5c57e313..6f95d9ba 100644 --- a/src/main/java/electroblob/wizardry/spell/Paralysis.java +++ b/src/main/java/electroblob/wizardry/spell/Paralysis.java @@ -30,9 +30,14 @@ public class Paralysis extends SpellRay { * will end. */ private static final String CRITICAL_HEALTH = "critical_health"; + /** + * Multiplier for affecting players + */ + private static final String PLAYER_EFFECT_DURATION_MULTIPLIER = "player_effect_duration_multiplier"; + public Paralysis(){ super("paralysis", SpellActions.POINT, false); - addProperties(DAMAGE, EFFECT_DURATION, CRITICAL_HEALTH); + addProperties(DAMAGE, EFFECT_DURATION, CRITICAL_HEALTH, PLAYER_EFFECT_DURATION_MULTIPLIER); } @Override @@ -57,9 +62,10 @@ public class Paralysis extends SpellRay { target.attackEntityFrom(MagicDamage.causeDirectMagicDamage(caster, DamageType.SHOCK), getProperty(DAMAGE).floatValue() * modifiers.get(SpellModifiers.POTENCY)); } - + + float durationMultiplier = target instanceof EntityPlayer ? modifiers.get(PLAYER_EFFECT_DURATION_MULTIPLIER) : 1.0f; ((EntityLivingBase)target).addPotionEffect(new PotionEffect(WizardryPotions.paralysis, - (int)(getProperty(EFFECT_DURATION).floatValue() * modifiers.get(WizardryItems.duration_upgrade)), 0)); + (int)(getProperty(EFFECT_DURATION).floatValue() * durationMultiplier * modifiers.get(WizardryItems.duration_upgrade)), 0)); } return false; diff --git a/src/main/resources/assets/ebwizardry/spells/paralysis.json b/src/main/resources/assets/ebwizardry/spells/paralysis.json index 226df1e6..d6ecebf6 100644 --- a/src/main/resources/assets/ebwizardry/spells/paralysis.json +++ b/src/main/resources/assets/ebwizardry/spells/paralysis.json @@ -20,6 +20,7 @@ "range": 10, "damage": 4, "effect_duration": 100, - "critical_health": 4 + "critical_health": 4, + "player_effect_duration_multiplier": 0.5 } } \ No newline at end of file