The work has been pushed. (Did it turn out right?). Cap, how will we compile and release forthcoming revisions?
Mustard gas hostility bug
Still facilitates masochism, and fixes the NPC staying in the gas cloud by virtue of the hostility change. Fixed using the following code, and some tweaks to instances of GasExplosion() in miscitem.cpp, level.cpp, gear.cpp and level.h.
void level::GasExplosion(gas* GasMaterial, lsquare* Square, character* Terrorist)
{
for(int d = 0; d < 9; ++d)
{
lsquare* Neighbour = Square->GetNeighbourLSquare(d);
if(Neighbour && Neighbour->IsFlyable())
Neighbour->AddSmoke(static_cast<gas*>(GasMaterial->SpawnMore(1000)));
if(Neighbour)
{
character* Victim = Neighbour->GetCharacter();
if(Victim)
Terrorist->Hostility(Victim);
}
}
}