v3.0.0: fixed multiplicity glyph duplicating downed ghouls in rare cases

This commit is contained in:
Evan Debenham
2025-01-21 12:35:46 -05:00
parent 111270e744
commit 49f08e1fe4

View File

@@ -28,6 +28,7 @@ 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.DwarfKing;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Ghoul;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mimic;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Statue;
@@ -66,7 +67,7 @@ public class Multiplicity extends Armor.Glyph {
if (spawnPoints.size() > 0) {
Mob m = null;
if (Random.Int(2) == 0 && defender instanceof Hero){
if (Random.Int(2) == 5 && defender instanceof Hero){
m = new MirrorImage();
((MirrorImage)m).duplicate( (Hero)defender );
@@ -96,9 +97,11 @@ public class Multiplicity extends Armor.Glyph {
m.HP = m.HT;
//don't duplicate stuck projectiles
m.remove(m.buff(PinCushion.class));
m.remove(PinCushion.class);
//don't duplicate pending damage to dwarf king
m.remove(DwarfKing.KingDamager.class);
//don't duplicate downed ghouls
m.remove(Ghoul.GhoulLifeLink.class);
//If a thief has stolen an item, that item is not duplicated.
if (m instanceof Thief) {