@@ -49,7 +49,7 @@ Tile::SerializationKey Tile::serializationKey =
4949* constructor
5050* @param pos Position.
5151*/
52- Tile::Tile (const Position& pos): _smoke(0 ), _fire(0 ), _explosive(0 ), _pos(pos), _unit(0 ), _animationOffset(0 ), _markerColor(0 ), _visible(false ), _preview(-1 ), _TUMarker(-1 ), _overlaps(0 ), _danger(false )
52+ Tile::Tile (const Position& pos): _smoke(0 ), _fire(0 ), _explosive(0 ), _explosiveType( 0 ), _pos(pos), _unit(0 ), _animationOffset(0 ), _markerColor(0 ), _visible(false ), _preview(-1 ), _TUMarker(-1 ), _overlaps(0 ), _danger(false )
5353{
5454 for (int i = 0 ; i < 4 ; ++i)
5555 {
@@ -475,7 +475,7 @@ bool Tile::destroy(int part)
475475 }
476476 if (originalPart->getExplosive ())
477477 {
478- setExplosive (originalPart->getExplosive ());
478+ setExplosive (originalPart->getExplosive (), originalPart-> getExplosiveType () );
479479 }
480480 }
481481 /* check if the floor on the lowest level is gone */
@@ -508,11 +508,12 @@ bool Tile::damage(int part, int power)
508508 * @param power Power of the damage.
509509 * @param force Force damage.
510510 */
511- void Tile::setExplosive (int power, bool force)
511+ void Tile::setExplosive (int power, int damageType, bool force)
512512{
513513 if (force || _explosive < power)
514514 {
515515 _explosive = power;
516+ _explosiveType = damageType;
516517 }
517518}
518519
@@ -525,6 +526,15 @@ int Tile::getExplosive() const
525526 return _explosive;
526527}
527528
529+ /* *
530+ * Get explosive on this tile.
531+ * @return explosive
532+ */
533+ int Tile::getExplosiveType () const
534+ {
535+ return _explosiveType;
536+ }
537+
528538/*
529539 * Flammability of a tile is the lowest flammability of it's objects.
530540 * @return Flammability : the lower the value, the higher the chance the tile/object catches fire.
0 commit comments