v2.3.2: fixed 2.3.1 change which let Tengu set himself on fire =S

This commit is contained in:
Evan Debenham
2024-01-30 16:29:28 -05:00
parent f985884ef1
commit 92b826e0c6

View File

@@ -33,6 +33,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Electricity;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Fire;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Blindness;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Doom;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Dread;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
@@ -58,6 +59,7 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
import com.shatteredpixel.shatteredpixeldungeon.levels.PrisonBossLevel;
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.plants.Plant;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
@@ -859,13 +861,26 @@ public class Tengu extends Mob {
}
if (cur[cell] > 0 && off[cell] == 0){
if (Actor.findChar( cell ) == Dungeon.hero){
//similar to fire.burn(), but Tengu is immune, and hero loses score
Char ch = Actor.findChar( cell );
if (ch != null && !ch.isImmune(Fire.class) && !(ch instanceof Tengu)) {
Buff.affect( ch, Burning.class ).reignite( ch );
}
if (ch == Dungeon.hero){
Statistics.qualifiedForBossChallengeBadge = false;
Statistics.bossScores[1] -= 100;
}
Fire.burn(cell);
Heap heap = Dungeon.level.heaps.get( cell );
if (heap != null) {
heap.burn();
}
Plant plant = Dungeon.level.plants.get( cell );
if (plant != null){
plant.wither();
}
if (Dungeon.level.flamable[cell]){
Dungeon.level.destroy( cell );