v1.4.0: fixed ratmogrify clearing champion enemy buffs

This commit is contained in:
Evan Debenham
2022-07-31 16:59:04 -04:00
parent e38dbae236
commit ed8cb11e7c

View File

@@ -28,6 +28,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Adrenaline;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AllyBuff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ChampionEnemy;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
@@ -50,6 +51,8 @@ import com.watabou.utils.PathFinder;
import com.watabou.utils.Random;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
public class Ratmogrify extends ArmorAbility {
@@ -130,10 +133,21 @@ public class Ratmogrify extends ArmorAbility {
rat.setup((Mob)ch);
rat.pos = ch.pos;
//preserve champion enemy buffs
HashSet<ChampionEnemy> champBuffs = ch.buffs(ChampionEnemy.class);
for (ChampionEnemy champ : champBuffs){
ch.remove(champ);
ch.sprite.clearAura();
}
Actor.remove( ch );
ch.sprite.killAndErase();
Dungeon.level.mobs.remove(ch);
for (ChampionEnemy champ : champBuffs){
ch.add(champ);
}
GameScene.add(rat);
TargetHealthIndicator.instance.target(null);