v2.1.0: fixed ratmogrify not working correctly with multiplicity glyph
This commit is contained in:
@@ -213,6 +213,9 @@ public class Ratmogrify extends ArmorAbility {
|
||||
}
|
||||
|
||||
public Mob getOriginal(){
|
||||
original.HP = HP;
|
||||
original.pos = pos;
|
||||
original.clearTime();
|
||||
return original;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.PinCushion;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.Ratmogrify;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mimic;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Statue;
|
||||
@@ -69,15 +70,21 @@ public class Multiplicity extends Armor.Glyph {
|
||||
((MirrorImage)m).duplicate( (Hero)defender );
|
||||
|
||||
} else {
|
||||
Char toDuplicate = attacker;
|
||||
|
||||
if (toDuplicate instanceof Ratmogrify.TransmogRat){
|
||||
toDuplicate = ((Ratmogrify.TransmogRat)attacker).getOriginal();
|
||||
}
|
||||
|
||||
//FIXME should probably have a mob property for this
|
||||
if (!(attacker instanceof Mob)
|
||||
|| attacker.properties().contains(Char.Property.BOSS) || attacker.properties().contains(Char.Property.MINIBOSS)
|
||||
|| attacker instanceof Mimic || attacker instanceof Statue || attacker instanceof NPC){
|
||||
if (!(toDuplicate instanceof Mob)
|
||||
|| toDuplicate.properties().contains(Char.Property.BOSS) || toDuplicate.properties().contains(Char.Property.MINIBOSS)
|
||||
|| toDuplicate instanceof Mimic || toDuplicate instanceof Statue || toDuplicate instanceof NPC) {
|
||||
m = Dungeon.level.createMob();
|
||||
} else {
|
||||
Actor.fixTime();
|
||||
|
||||
m = (Mob)Reflection.newInstance(attacker.getClass());
|
||||
|
||||
m = (Mob)Reflection.newInstance(toDuplicate.getClass());
|
||||
|
||||
if (m != null) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user