Fix nullptr derefence when starting a mission with a generic agent
Limit missions to one per batch
Add popup box and screenmsg when a mission activates, fails to activates, and expires
- more precise calculation of prisoner to guard ratio
- improved calculation of random number of prisoners escaping (allow single prisoner/max prisoners to escape when not guarded)
- check that someone actually escaped before showing riot message
- limit ubNumTroops to 255 (like in other places) as 512 makes no sense for UINT8 value
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9390 3b4a5df2-a311-0410-b5c6-a8a6f20db521
fix: it was using doubled number of arrived enemies (NumEnemiesInAnySector counts the same enemies twice if called prior to RemovePGroup.)
improvement:
* chance to steal a WORLDITEM is it's coolness * 10%.
* looters can steal up to "3 kg * numEnemies" of items in total, and no more.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9362 3b4a5df2-a311-0410-b5c6-a8a6f20db521
Additional correction to RebuildWayPointsForGroupPath(): we should not skip "next" sector if we are between sectors. (Original comment stated opposite which was confusing)
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9353 3b4a5df2-a311-0410-b5c6-a8a6f20db521
- SAM sites are no longer repaired instantly when AI takes control of a sector
- repairs begin 24 hours after the AI takes control, and repeat every 24 hours until the SAM is back at 100%
- repairs can be interrupted by the player regaining control of the SAM site
- time to repair a fully-destroyed SAM site depends on difficulty: novice takes 5 repair cycles, experienced takes 4, expert 3, and insane 2
- moved RepairSamSite() from ASD.h (where it was unused) into strategicmap.h
- this sets up the existing but previously unused strategic event hook EVENT_SAMSITE_REPAIRED
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9349 3b4a5df2-a311-0410-b5c6-a8a6f20db521
* RebuildWayPointsForGroupPath(): incorrect manipulations with 'iOldDelta' and 'iDelta' lead to skipping a node in 'pHeadOfPath' and to assertion failure as a result:
AssertMsg( FALSE, String( "Invalid DIAGONAL waypoint being added for groupID %d. AM-0", pGroup->ubGroupID ) );
* GroupAtFinalDestination(): should take into account the amount of WayPoints, otherwise multiple visiting of a sector is not possible (group end up in that sector at first entrance):
if( ( pGroup->ubSectorX == wp->x ) && ( pGroup->ubSectorY == wp->y ) )
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9348 3b4a5df2-a311-0410-b5c6-a8a6f20db521