Straw totem fail chance decreases upon successful revival.

Failed attempts with the straw totem now apply poison instead of damaging the player.
This commit is contained in:
micle
2021-06-01 23:45:30 +01:00
parent 2c1ec3e7ac
commit 34557c3e83
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.Items;
import net.minecraft.network.PacketBuffer;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Effects;
import net.minecraft.stats.Stats;
import net.minecraft.util.DamageSource;
import net.minecraft.util.Hand;
@ -62,8 +64,10 @@ public class C2SRequestPlayerRevive {
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_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 / 2), 2));
return;
} else {
item.getOrCreateTag().putInt(StrawTotemItem.TAG_FAIL_CHANCE, fail_chance-(5*required_charge));
}
}
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.Items;
import net.minecraft.network.PacketBuffer;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Effects;
import net.minecraft.util.DamageSource;
import net.minecraft.util.Hand;
import net.minecraftforge.fml.network.NetworkEvent;
@ -52,7 +54,7 @@ public class C2SRequestTotemCharge {
int fail_chance = totem_item.getOrCreateTag().getInt(StrawTotemItem.TAG_FAIL_CHANCE);
if (Utils.randomIntRange(0, 100) <= fail_chance) {
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 / 2), 2));
} else {
totem_item.getOrCreateTag().putInt(StrawTotemItem.TAG_FAIL_CHANCE, fail_chance+5);
}