fixed bug with dragon fire destroying indestructible steel letter walls
authorHolger Schemel <info@artsoft.org>
Mon, 17 Sep 2018 17:51:54 +0000 (19:51 +0200)
committerHolger Schemel <info@artsoft.org>
Mon, 17 Sep 2018 17:51:54 +0000 (19:51 +0200)
Before this change, steel letter walls could be destroyed by dragon
fire, although they are set to be indestructible. This change makes
sure that indestructible elements cannot be destroyed by dragon fire
(with the exception of the "acid" element, which is to be discussed,
but would break level 014 of "rnd_paul_e_collins_iii" if changed).

As far as this was tested agains existing solution tapes, this change
does not seem to break any existing levels or tapes.

src/init.c

index 5aa38b5..3a2f9f3 100644 (file)
@@ -4570,8 +4570,8 @@ void InitElementPropertiesEngine(int engine_version)
     if (IS_HISTORIC_SOLID(i) || i == EL_EXPLOSION)
       SET_PROPERTY(i, EP_DRAGONFIRE_PROOF, TRUE);
     else
-      SET_PROPERTY(i, EP_DRAGONFIRE_PROOF, (IS_CUSTOM_ELEMENT(i) &&
-                                           IS_INDESTRUCTIBLE(i)));
+      SET_PROPERTY(i, EP_DRAGONFIRE_PROOF, (IS_INDESTRUCTIBLE(i) &&
+                                           i != EL_ACID));
 
     /* ---------- EXPLOSION_PROOF ------------------------------------------ */
     if (i == EL_FLAMES)