v1.4.0: fixed ratmogrify clearing champion enemy buffs
This commit is contained in:
+14
@@ -28,6 +28,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
|||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Adrenaline;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Adrenaline;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AllyBuff;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AllyBuff;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
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.buffs.Invisibility;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
|
||||||
@@ -50,6 +51,8 @@ import com.watabou.utils.PathFinder;
|
|||||||
import com.watabou.utils.Random;
|
import com.watabou.utils.Random;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
public class Ratmogrify extends ArmorAbility {
|
public class Ratmogrify extends ArmorAbility {
|
||||||
|
|
||||||
@@ -130,10 +133,21 @@ public class Ratmogrify extends ArmorAbility {
|
|||||||
rat.setup((Mob)ch);
|
rat.setup((Mob)ch);
|
||||||
rat.pos = ch.pos;
|
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 );
|
Actor.remove( ch );
|
||||||
ch.sprite.killAndErase();
|
ch.sprite.killAndErase();
|
||||||
Dungeon.level.mobs.remove(ch);
|
Dungeon.level.mobs.remove(ch);
|
||||||
|
|
||||||
|
for (ChampionEnemy champ : champBuffs){
|
||||||
|
ch.add(champ);
|
||||||
|
}
|
||||||
|
|
||||||
GameScene.add(rat);
|
GameScene.add(rat);
|
||||||
|
|
||||||
TargetHealthIndicator.instance.target(null);
|
TargetHealthIndicator.instance.target(null);
|
||||||
|
|||||||
Reference in New Issue
Block a user