Deleted 'mobile militia feature', as 'militia strategic command' offered better ways to move militia.

For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&th=23649&goto=352592&#msg_352592

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8542 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2018-03-10 15:31:11 +00:00
parent d6db35f000
commit c0d77f79c7
51 changed files with 307 additions and 4138 deletions
+1 -97
View File
@@ -33,8 +33,6 @@ StrategicMapElement StrategicMap[MAP_WORLD_X*MAP_WORLD_Y];
extern BOOLEAN fReDrawFace;
BOOLEAN HandleStrategicDeath( SOLDIERTYPE *pSoldier )
{
// add the guy to the dead list
@@ -100,7 +98,6 @@ BOOLEAN HandleStrategicDeath( SOLDIERTYPE *pSoldier )
return( TRUE );
}
void HandleSoldierDeadComments( SOLDIERTYPE *pSoldier )
{
INT32 cnt = 0;
@@ -109,8 +106,7 @@ void HandleSoldierDeadComments( SOLDIERTYPE *pSoldier )
// IF IT'S THE SELECTED GUY, MAKE ANOTHER SELECTED!
cnt = gTacticalStatus.Team[ pSoldier->bTeam ].bFirstID;
// see if this was the friend of a living merc
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ pSoldier->bTeam ].bLastID; cnt++,pTeamSoldier++)
{
@@ -166,95 +162,3 @@ void HandleSoldierDeadComments( SOLDIERTYPE *pSoldier )
}
}
BOOLEAN SetMilitiaMovementOrder(INT16 sX, INT16 sY, INT8 sZ, UINT32 dir)
{
// militia can only move on the surface
if ( sZ )
return FALSE;
// militia needs to be here...
if ( !NumNonPlayerTeamMembersInSector( sX, sY, MILITIA_TEAM ) )
return FALSE;
// in order to give movement orders, we need a merc to staff a military headquarter
if ( !MercStaffsMilitaryHQ() )
return FALSE;
INT16 newX = sX;
INT16 newY = sY;
UINT8 movetype = THROUGH_STRATEGIC_MOVE;
switch (dir)
{
case MILITIA_MOVE_NORTH:
--newY;
movetype = NORTH_STRATEGIC_MOVE;
break;
case MILITIA_MOVE_WEST:
--newX;
movetype = WEST_STRATEGIC_MOVE;
break;
case MILITIA_MOVE_EAST:
++newX;
movetype = EAST_STRATEGIC_MOVE;
break;
case MILITIA_MOVE_SOUTH:
++newY;
movetype = SOUTH_STRATEGIC_MOVE;
break;
default:
return FALSE;
break;
}
if ( gGameExternalOptions.gflimitedRoaming && !IsSectorRoamingAllowed( SECTOR(newX, newY) ) )
{
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, gpStrategicString[STR_MILITIAMOVEMENT_NO_LIMITEDROAMING] );
return FALSE;
}
UINT8 ubTraverseType = SectorInfo[ SECTOR(sX, sY) ].ubTraversability[ movetype ];
if( ubTraverseType == GROUNDBARRIER || ubTraverseType == EDGEOFWORLD )
return FALSE;
UINT32 ubTraverseMod = 0;
switch( ubTraverseType )
{
case TOWN: ubTraverseMod = 1780;break;
case ROAD: ubTraverseMod = 100;break;
case PLAINS: ubTraverseMod = 85; break;
case SAND: ubTraverseMod = 50; break;
case SPARSE: ubTraverseMod = 70; break;
case DENSE: ubTraverseMod = 60; break;
case SWAMP: ubTraverseMod = 35; break;
case WATER: ubTraverseMod = 25; break;
case HILLS: ubTraverseMod = 50; break;
case NS_RIVER: ubTraverseMod = 25; break;
case EW_RIVER: ubTraverseMod = 25; break;
}
if( ubTraverseMod )
{
UINT32 timeneeded = FOOT_TRAVEL_TIME * 100 / ubTraverseMod;
SECTORINFO *pSectorInfo = &( SectorInfo[ SECTOR( sX, sY ) ] );
StrategicMap[ sX + ( sY * MAP_WORLD_X ) ].usFlags &= ~MILITIA_MOVE_ALLDIRS;
StrategicMap[ sX + ( sY * MAP_WORLD_X ) ].usFlags |= dir;
AddStrategicEvent( EVENT_MILITIA_MOVEMENT_ORDER, GetWorldTotalMin() + timeneeded, SECTOR( sX, sY ) );
fMapPanelDirty = TRUE;
return TRUE;
}
return FALSE;
}