diff --git a/src/main/java/electroblob/wizardry/block/BlockThorns.java b/src/main/java/electroblob/wizardry/block/BlockThorns.java index 10b6b821..2a671346 100644 --- a/src/main/java/electroblob/wizardry/block/BlockThorns.java +++ b/src/main/java/electroblob/wizardry/block/BlockThorns.java @@ -126,11 +126,14 @@ public class BlockThorns extends BlockBush implements ITileEntityProvider { private static boolean applyThornDamage(World world, BlockPos pos, IBlockState state, Entity target){ DamageSource source = DamageSource.CACTUS; + float damage = Spells.forest_of_thorns.getProperty(Spell.DAMAGE).floatValue(); TileEntity tileentity = world.getTileEntity(state.getValue(HALF) == EnumBlockHalf.UPPER ? pos.down() : pos); if(tileentity instanceof TileEntityThorns){ + damage *= ((TileEntityThorns)tileentity).damageMultiplier; + EntityLivingBase caster = ((TileEntityThorns)tileentity).getCaster(); if(!AllyDesignationSystem.isValidTarget(caster, target)) return false; // Don't attack or slow allies of the caster @@ -141,7 +144,6 @@ public class BlockThorns extends BlockBush implements ITileEntityProvider { } if(target.ticksExisted % 20 == 0){ - float damage = Spells.forest_of_thorns.getProperty(Spell.DAMAGE).floatValue(); EntityUtils.attackEntityWithoutKnockback(target, source, damage); } diff --git a/src/main/java/electroblob/wizardry/spell/ForestOfThorns.java b/src/main/java/electroblob/wizardry/spell/ForestOfThorns.java index daa89c2f..30ae493a 100644 --- a/src/main/java/electroblob/wizardry/spell/ForestOfThorns.java +++ b/src/main/java/electroblob/wizardry/spell/ForestOfThorns.java @@ -88,9 +88,9 @@ public class ForestOfThorns extends Spell { ((TileEntityThorns)tileentity).setLifetime((int)(getProperty(DURATION).floatValue() * modifiers.get(WizardryItems.duration_upgrade))); - if(caster != null){ - ((TileEntityThorns)tileentity).setCaster(caster); - } + + if(caster != null)((TileEntityThorns)tileentity).setCaster(caster); + ((TileEntityThorns)tileentity).damageMultiplier = modifiers.get(SpellModifiers.POTENCY); ((TileEntityThorns)tileentity).sync(); } diff --git a/src/main/java/electroblob/wizardry/tileentity/TileEntityThorns.java b/src/main/java/electroblob/wizardry/tileentity/TileEntityThorns.java index dbc5416a..614a60b6 100644 --- a/src/main/java/electroblob/wizardry/tileentity/TileEntityThorns.java +++ b/src/main/java/electroblob/wizardry/tileentity/TileEntityThorns.java @@ -10,6 +10,8 @@ public class TileEntityThorns extends TileEntityPlayerSave implements ITickable private int lifetime; private int age; + public float damageMultiplier = 1; + public TileEntityThorns(){ this.lifetime = 600; } @@ -43,6 +45,7 @@ public class TileEntityThorns extends TileEntityPlayerSave implements ITickable ticksExisted = tagCompound.getInteger("timer"); lifetime = tagCompound.getInteger("maxTimer"); // Left as maxTimer for backwards compatibility age = tagCompound.getInteger("age"); + damageMultiplier = tagCompound.getFloat("damageMultiplier"); } @Override @@ -51,6 +54,7 @@ public class TileEntityThorns extends TileEntityPlayerSave implements ITickable tagCompound.setInteger("timer", ticksExisted); tagCompound.setInteger("maxTimer", lifetime); tagCompound.setInteger("age", age); + tagCompound.setFloat("damageMultiplier", damageMultiplier); return tagCompound; }