|
33 | 33 | import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Fire;
|
34 | 34 | import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Blindness;
|
35 | 35 | import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
| 36 | +import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning; |
36 | 37 | import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Doom;
|
37 | 38 | import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Dread;
|
38 | 39 | import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
|
|
58 | 59 | import com.shatteredpixel.shatteredpixeldungeon.levels.PrisonBossLevel;
|
59 | 60 | import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
|
60 | 61 | import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
| 62 | +import com.shatteredpixel.shatteredpixeldungeon.plants.Plant; |
61 | 63 | import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
62 | 64 | import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
63 | 65 | import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
@@ -859,13 +861,26 @@ protected void evolve() {
|
859 | 861 | }
|
860 | 862 |
|
861 | 863 | if (cur[cell] > 0 && off[cell] == 0){
|
862 |
| - |
863 |
| - if (Actor.findChar( cell ) == Dungeon.hero){ |
| 864 | + |
| 865 | + //similar to fire.burn(), but Tengu is immune, and hero loses score |
| 866 | + Char ch = Actor.findChar( cell ); |
| 867 | + if (ch != null && !ch.isImmune(Fire.class) && !(ch instanceof Tengu)) { |
| 868 | + Buff.affect( ch, Burning.class ).reignite( ch ); |
| 869 | + } |
| 870 | + if (ch == Dungeon.hero){ |
864 | 871 | Statistics.qualifiedForBossChallengeBadge = false;
|
865 | 872 | Statistics.bossScores[1] -= 100;
|
866 | 873 | }
|
867 | 874 |
|
868 |
| - Fire.burn(cell); |
| 875 | + Heap heap = Dungeon.level.heaps.get( cell ); |
| 876 | + if (heap != null) { |
| 877 | + heap.burn(); |
| 878 | + } |
| 879 | + |
| 880 | + Plant plant = Dungeon.level.plants.get( cell ); |
| 881 | + if (plant != null){ |
| 882 | + plant.wither(); |
| 883 | + } |
869 | 884 |
|
870 | 885 | if (Dungeon.level.flamable[cell]){
|
871 | 886 | Dungeon.level.destroy( cell );
|
|
0 commit comments