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