From f17a682d8ca186ce088d41cfb2e6753792b2ef3f Mon Sep 17 00:00:00 2001 From: Sollace <sollacea@gmail.com> Date: Fri, 27 Jan 2023 22:19:57 +0000 Subject: [PATCH] Fix some errors --- .../unicopia/entity/effect/RaceChangeStatusEffect.java | 5 +---- .../java/com/minelittlepony/unicopia/entity/player/Pony.java | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/entity/effect/RaceChangeStatusEffect.java b/src/main/java/com/minelittlepony/unicopia/entity/effect/RaceChangeStatusEffect.java index d7213f0c..ee028ea2 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/effect/RaceChangeStatusEffect.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/effect/RaceChangeStatusEffect.java @@ -70,10 +70,6 @@ public class RaceChangeStatusEffect extends StatusEffect { return; } - if (eq instanceof Pony pony) { - pony.setRespawnRace(race); - } - int ticks = Math.max(0, MAX_DURATION - state.getDuration()); Stage stage = Stage.forDuration(ticks / STAGE_DURATION); @@ -99,6 +95,7 @@ public class RaceChangeStatusEffect extends StatusEffect { if (eq instanceof Pony pony) { MagicReserves magic = pony.getMagicalReserves(); + pony.setRespawnRace(race); magic.getExertion().add(50); magic.getEnergy().add(3); magic.getExhaustion().add(3); diff --git a/src/main/java/com/minelittlepony/unicopia/entity/player/Pony.java b/src/main/java/com/minelittlepony/unicopia/entity/player/Pony.java index 667d0464..52473919 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/player/Pony.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/player/Pony.java @@ -630,7 +630,7 @@ public class Pony extends Living<PlayerEntity> implements Copyable<Pony>, Update boolean forcedSwap = !alive && entity instanceof ServerPlayerEntity && entity.world.getGameRules().getBoolean(UGameRules.SWAP_TRIBE_ON_DEATH) - && oldPlayer.asEntity().getDamageTracker().getMostRecentDamage().getDamageSource() != MagicalDamageSource.TRIBE_SWAP; + && oldPlayer.respawnRace == Race.UNSET; if (alive) { oldPlayer.getSpellSlot().stream(true).forEach(getSpellSlot()::put);