Compare commits

..

2 Commits

Author SHA1 Message Date
4332e9eaac Fixed amplifier and duration of poison afflicted from straw totem to balance it better. 2021-06-01 23:58:16 +01:00
34557c3e83 Straw totem fail chance decreases upon successful revival.
Failed attempts with the straw totem now apply poison instead of damaging the player.
2021-06-01 23:45:30 +01:00
2 changed files with 8 additions and 2 deletions

View File

@ -9,6 +9,8 @@ import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.Items; import net.minecraft.item.Items;
import net.minecraft.network.PacketBuffer; import net.minecraft.network.PacketBuffer;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Effects;
import net.minecraft.stats.Stats; import net.minecraft.stats.Stats;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;
import net.minecraft.util.Hand; import net.minecraft.util.Hand;
@ -62,8 +64,10 @@ public class C2SRequestPlayerRevive {
if (Utils.randomIntRange(0, 100) <= fail_chance) { if (Utils.randomIntRange(0, 100) <= fail_chance) {
item.getOrCreateTag().putInt(StrawTotemItem.TAG_CHARGE_AMOUNT, item.getOrCreateTag().getInt(StrawTotemItem.TAG_CHARGE_AMOUNT)-required_charge); item.getOrCreateTag().putInt(StrawTotemItem.TAG_CHARGE_AMOUNT, item.getOrCreateTag().getInt(StrawTotemItem.TAG_CHARGE_AMOUNT)-required_charge);
item.getOrCreateTag().putInt(StrawTotemItem.TAG_FAIL_CHANCE, fail_chance-(5*required_charge)); item.getOrCreateTag().putInt(StrawTotemItem.TAG_FAIL_CHANCE, fail_chance-(5*required_charge));
sender.hurt(DamageSource.GENERIC, (sender.getHealth() * (fail_chance / 100.0f))); sender.addEffect(new EffectInstance(Effects.POISON, ((fail_chance*10) / 2), 1));
return; return;
} else {
item.getOrCreateTag().putInt(StrawTotemItem.TAG_FAIL_CHANCE, fail_chance-(5*required_charge));
} }
} }
player_to_revive.teleportTo(sender.getX(), sender.getY(), sender.getZ()); player_to_revive.teleportTo(sender.getX(), sender.getY(), sender.getZ());

View File

@ -9,6 +9,8 @@ import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.Items; import net.minecraft.item.Items;
import net.minecraft.network.PacketBuffer; import net.minecraft.network.PacketBuffer;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Effects;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;
import net.minecraft.util.Hand; import net.minecraft.util.Hand;
import net.minecraftforge.fml.network.NetworkEvent; import net.minecraftforge.fml.network.NetworkEvent;
@ -52,7 +54,7 @@ public class C2SRequestTotemCharge {
int fail_chance = totem_item.getOrCreateTag().getInt(StrawTotemItem.TAG_FAIL_CHANCE); int fail_chance = totem_item.getOrCreateTag().getInt(StrawTotemItem.TAG_FAIL_CHANCE);
if (Utils.randomIntRange(0, 100) <= fail_chance) { if (Utils.randomIntRange(0, 100) <= fail_chance) {
sender.setItemInHand(msg.hand, new ItemStack(Items.AIR)); sender.setItemInHand(msg.hand, new ItemStack(Items.AIR));
sender.hurt(DamageSource.GENERIC, (sender.getHealth() * (fail_chance / 100.0f))); sender.addEffect(new EffectInstance(Effects.POISON, ((fail_chance*10) / 2), 1));
} else { } else {
totem_item.getOrCreateTag().putInt(StrawTotemItem.TAG_FAIL_CHANCE, fail_chance+5); totem_item.getOrCreateTag().putInt(StrawTotemItem.TAG_FAIL_CHANCE, fail_chance+5);
} }