File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -372,21 +372,24 @@ void BattlescapeGame::endTurn()
372372 Position p;
373373
374374 // check for hot grenades on the ground
375- for ( int i = 0 ; i < _save->getMapSizeXYZ (); ++i )
375+ if ( _save->getSide () != FACTION_NEUTRAL )
376376 {
377- for (std::vector<BattleItem*>::iterator it = _save-> getTiles ()[i]-> getInventory ()-> begin (); it != _save->getTiles ()[i]-> getInventory ()-> end (); )
377+ for (int i = 0 ; i < _save->getMapSizeXYZ (); ++i )
378378 {
379- if ((*it)-> getRules ()->getBattleType () == BT_GRENADE && (*it)-> getFuseTimer () == 0 ) // it's a grenade to explode now
379+ for (std::vector<BattleItem *>::iterator it = _save-> getTiles ()[i]-> getInventory ()->begin (); it != _save-> getTiles ()[i]-> getInventory ()-> end (); )
380380 {
381- p.x = _save->getTiles ()[i]->getPosition ().x *16 + 8 ;
382- p.y = _save->getTiles ()[i]->getPosition ().y *16 + 8 ;
383- p.z = _save->getTiles ()[i]->getPosition ().z *24 - _save->getTiles ()[i]->getTerrainLevel ();
384- statePushNext (new ExplosionBState (this , p, (*it), (*it)->getPreviousOwner ()));
385- _save->removeItem ((*it));
386- statePushBack (0 );
387- return ;
381+ if ((*it)->getRules ()->getBattleType () == BT_GRENADE && (*it)->getFuseTimer () == 0 ) // it's a grenade to explode now
382+ {
383+ p.x = _save->getTiles ()[i]->getPosition ().x * 16 + 8 ;
384+ p.y = _save->getTiles ()[i]->getPosition ().y * 16 + 8 ;
385+ p.z = _save->getTiles ()[i]->getPosition ().z * 24 - _save->getTiles ()[i]->getTerrainLevel ();
386+ statePushNext (new ExplosionBState (this , p, (*it), (*it)->getPreviousOwner ()));
387+ _save->removeItem ((*it));
388+ statePushBack (0 );
389+ return ;
390+ }
391+ ++it;
388392 }
389- ++it;
390393 }
391394 }
392395 }
You can’t perform that action at this time.
0 commit comments