diff --git a/changelog.txt b/changelog.txt index 7f7d96e8..d2e6cb5e 100644 --- a/changelog.txt +++ b/changelog.txt @@ -6,6 +6,7 @@ Version 2.1.0-64 - Added the Charging rune, which accumulates charge by using the LP from the Blood Altar (1 charge = 1 LP always). If enough charge is stored when crafting, the crafting occurs instantly. - Added the entries for the Rune of Augmented Capacity, Charging Rune, and Rune of Acceleration - Fixed the Sigil of Translocation so that it does not crash when picking up certain blocks. Also removed the damned lightning. +- Changed the Quick Feet upgrade and the speed boost sigil so that their speeds are applied when strafing and walking backwards as well. ------------------------------------------------------ Version 2.1.0-63 diff --git a/src/main/java/WayofTime/bloodmagic/livingArmour/downgrade/LivingArmourUpgradeDisoriented.java b/src/main/java/WayofTime/bloodmagic/livingArmour/downgrade/LivingArmourUpgradeDisoriented.java new file mode 100644 index 00000000..47cdda38 --- /dev/null +++ b/src/main/java/WayofTime/bloodmagic/livingArmour/downgrade/LivingArmourUpgradeDisoriented.java @@ -0,0 +1,69 @@ +package WayofTime.bloodmagic.livingArmour.downgrade; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; +import WayofTime.bloodmagic.api.Constants; +import WayofTime.bloodmagic.api.livingArmour.ILivingArmour; +import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade; + +public class LivingArmourUpgradeDisoriented extends LivingArmourUpgrade +{ + public static final int[] costs = new int[] { -10, -20 }; + public static final double[] chance = new double[] { 0.001, 0.002 }; + + public LivingArmourUpgradeDisoriented(int level) + { + super(level); + } + + @Override + public void onTick(World world, EntityPlayer player, ILivingArmour livingArmour) + { + if (world.isRemote && player.ticksExisted % 20 == 0 && world.rand.nextDouble() <= chance[this.level]) + { + player.rotationYaw = (float) (world.rand.nextFloat() * 360); + player.rotationPitch = (float) (world.rand.nextFloat() * 180 - 90); + } + } + + @Override + public boolean runOnClient() + { + return true; + } + + @Override + public String getUniqueIdentifier() + { + return Constants.Mod.MODID + ".upgrade.disoriented"; + } + + @Override + public int getMaxTier() + { + return 2; + } + + @Override + public int getCostOfUpgrade() + { + return costs[this.level]; + } + + @Override + public void writeToNBT(NBTTagCompound tag) + { + } + + @Override + public void readFromNBT(NBTTagCompound tag) + { + } + + @Override + public String getUnlocalizedName() + { + return tooltipBase + "disoriented"; + } +} \ No newline at end of file diff --git a/src/main/java/WayofTime/bloodmagic/registry/ModArmourTrackers.java b/src/main/java/WayofTime/bloodmagic/registry/ModArmourTrackers.java index 4773c7a1..c9ad96fb 100644 --- a/src/main/java/WayofTime/bloodmagic/registry/ModArmourTrackers.java +++ b/src/main/java/WayofTime/bloodmagic/registry/ModArmourTrackers.java @@ -3,6 +3,7 @@ package WayofTime.bloodmagic.registry; import WayofTime.bloodmagic.api.livingArmour.LivingArmourHandler; import WayofTime.bloodmagic.livingArmour.downgrade.LivingArmourUpgradeBattleHungry; import WayofTime.bloodmagic.livingArmour.downgrade.LivingArmourUpgradeCrippledArm; +import WayofTime.bloodmagic.livingArmour.downgrade.LivingArmourUpgradeDisoriented; import WayofTime.bloodmagic.livingArmour.downgrade.LivingArmourUpgradeMeleeDecrease; import WayofTime.bloodmagic.livingArmour.downgrade.LivingArmourUpgradeQuenched; import WayofTime.bloodmagic.livingArmour.downgrade.LivingArmourUpgradeSlippery; @@ -102,5 +103,6 @@ public class ModArmourTrackers LivingArmourHandler.registerArmourUpgrade(new LivingArmourUpgradeBattleHungry(0)); LivingArmourHandler.registerArmourUpgrade(new LivingArmourUpgradeQuenched(0)); LivingArmourHandler.registerArmourUpgrade(new LivingArmourUpgradeMeleeDecrease(0)); + LivingArmourHandler.registerArmourUpgrade(new LivingArmourUpgradeDisoriented(0)); } } diff --git a/src/main/java/WayofTime/bloodmagic/util/handler/event/LivingArmourHandler.java b/src/main/java/WayofTime/bloodmagic/util/handler/event/LivingArmourHandler.java index 3ab40c02..0b51bb96 100644 --- a/src/main/java/WayofTime/bloodmagic/util/handler/event/LivingArmourHandler.java +++ b/src/main/java/WayofTime/bloodmagic/util/handler/event/LivingArmourHandler.java @@ -196,9 +196,9 @@ public class LivingArmourHandler } } - if (percentIncrease > 0 && (player.onGround || player.capabilities.isFlying) && player.moveForward > 0F) + if (percentIncrease > 0 && (player.onGround || player.capabilities.isFlying) && (Math.abs(player.moveForward) > 0 || Math.abs(player.moveStrafing) > 0)) { - player.moveRelative(0F, 1F, player.capabilities.isFlying ? (percentIncrease / 2.0f) : percentIncrease); + player.moveRelative(player.moveStrafing, player.moveForward, player.capabilities.isFlying ? (percentIncrease / 2.0f) : percentIncrease); } } }