mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +02:00
fixed up AI interrupts
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@2192 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+68
-7
@@ -657,6 +657,7 @@ void recieveHIRE(RPCParameters *rpcParameters)
|
|||||||
gMercProfiles[ pSoldier->ubProfile ].ubMiscFlags |= PROFILE_MISC_FLAG_RECRUITED;
|
gMercProfiles[ pSoldier->ubProfile ].ubMiscFlags |= PROFILE_MISC_FLAG_RECRUITED;
|
||||||
if(!SAME_MERC)gMercProfiles[ pSoldier->ubProfile ].bMercStatus = MERC_WORKING_ELSEWHERE;
|
if(!SAME_MERC)gMercProfiles[ pSoldier->ubProfile ].bMercStatus = MERC_WORKING_ELSEWHERE;
|
||||||
pSoldier->bSide=0; //default coop only
|
pSoldier->bSide=0; //default coop only
|
||||||
|
gTacticalStatus.Team[MercCreateStruct.bTeam ].bSide=0;
|
||||||
|
|
||||||
if(MercCreateStruct.ubProfile==64)//slay
|
if(MercCreateStruct.ubProfile==64)//slay
|
||||||
{
|
{
|
||||||
@@ -669,11 +670,16 @@ void recieveHIRE(RPCParameters *rpcParameters)
|
|||||||
if(PLAYER_BSIDE==0)//all vs all only
|
if(PLAYER_BSIDE==0)//all vs all only
|
||||||
{
|
{
|
||||||
pSoldier->bSide=1;
|
pSoldier->bSide=1;
|
||||||
|
gTacticalStatus.Team[MercCreateStruct.bTeam ].bSide=1;
|
||||||
|
|
||||||
}
|
}
|
||||||
if(PLAYER_BSIDE==1) //allow teams
|
if(PLAYER_BSIDE==1) //allow teams
|
||||||
{
|
{
|
||||||
if(sHireMerc->team != TEAM)pSoldier->bSide=1;
|
if(sHireMerc->team != TEAM)
|
||||||
|
{
|
||||||
|
pSoldier->bSide=1;
|
||||||
|
gTacticalStatus.Team[MercCreateStruct.bTeam ].bSide=1;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -781,6 +787,7 @@ void send_EndTurn( UINT8 ubNextTeam )
|
|||||||
|
|
||||||
|
|
||||||
turn_struct tStruct;
|
turn_struct tStruct;
|
||||||
|
if(is_server)Sawarded=false;
|
||||||
|
|
||||||
tStruct.tsnetbTeam = netbTeam;
|
tStruct.tsnetbTeam = netbTeam;
|
||||||
tStruct.tsubNextTeam = ubNextTeam;
|
tStruct.tsubNextTeam = ubNextTeam;
|
||||||
@@ -800,6 +807,7 @@ void recieveEndTurn(RPCParameters *rpcParameters)
|
|||||||
UINT8 ubTeam;
|
UINT8 ubTeam;
|
||||||
sender_bTeam=tStruct->tsnetbTeam;
|
sender_bTeam=tStruct->tsnetbTeam;
|
||||||
ubTeam=tStruct->tsubNextTeam;
|
ubTeam=tStruct->tsubNextTeam;
|
||||||
|
if(is_server)Sawarded=false;
|
||||||
|
|
||||||
if(is_server || sender_bTeam==6)
|
if(is_server || sender_bTeam==6)
|
||||||
{
|
{
|
||||||
@@ -1455,7 +1463,7 @@ void send_interrupt (SOLDIERTYPE *pSoldier)
|
|||||||
|
|
||||||
//if(gubOutOfTurnPersons>0)ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Sent Int: bTeam-%d ubID-%d", INT.bTeam,INT.ubID );
|
//if(gubOutOfTurnPersons>0)ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Sent Int: bTeam-%d ubID-%d", INT.bTeam,INT.ubID );
|
||||||
|
|
||||||
gTacticalStatus.ubCurrentTeam=INT.bTeam;
|
if(INT.bTeam !=netbTeam) gTacticalStatus.ubCurrentTeam=INT.bTeam;
|
||||||
|
|
||||||
client->RPC("sendINTERRUPT",(const char*)&INT, (int)sizeof(INT_STRUCT)*8, HIGH_PRIORITY, RELIABLE, 0, UNASSIGNED_SYSTEM_ADDRESS, true, 0, UNASSIGNED_NETWORK_ID,0);
|
client->RPC("sendINTERRUPT",(const char*)&INT, (int)sizeof(INT_STRUCT)*8, HIGH_PRIORITY, RELIABLE, 0, UNASSIGNED_SYSTEM_ADDRESS, true, 0, UNASSIGNED_NETWORK_ID,0);
|
||||||
|
|
||||||
@@ -1465,9 +1473,9 @@ void send_interrupt (SOLDIERTYPE *pSoldier)
|
|||||||
void recieveINTERRUPT (RPCParameters *rpcParameters)
|
void recieveINTERRUPT (RPCParameters *rpcParameters)
|
||||||
{
|
{
|
||||||
INT_STRUCT* INT = (INT_STRUCT*)rpcParameters->input;
|
INT_STRUCT* INT = (INT_STRUCT*)rpcParameters->input;
|
||||||
|
SOLDIERTYPE* pOpponent = MercPtrs[ INT->Interrupted];
|
||||||
|
|
||||||
|
if(INT->bTeam==netbTeam)// ||pOpponent->bTeam==1 )//for us or AI
|
||||||
if(INT->bTeam==netbTeam)
|
|
||||||
{
|
{
|
||||||
INT->bTeam=0;
|
INT->bTeam=0;
|
||||||
INT->ubID=INT->ubID - ubID_prefix;
|
INT->ubID=INT->ubID - ubID_prefix;
|
||||||
@@ -1484,7 +1492,7 @@ void recieveINTERRUPT (RPCParameters *rpcParameters)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( INT->bTeam !=0)
|
if( INT->bTeam != 0)
|
||||||
{
|
{
|
||||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, MPClientMessage[17] );
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, MPClientMessage[17] );
|
||||||
//stop moving merc who was interrupted and init UI bar
|
//stop moving merc who was interrupted and init UI bar
|
||||||
@@ -1499,6 +1507,11 @@ void recieveINTERRUPT (RPCParameters *rpcParameters)
|
|||||||
gTacticalStatus.fInterruptOccurred = TRUE;
|
gTacticalStatus.fInterruptOccurred = TRUE;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
//else if ( pOpponent->bTeam == 1)//
|
||||||
|
//{
|
||||||
|
// StartInterrupt();
|
||||||
|
// ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"ai is interrupted" );
|
||||||
|
//}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//it for us ! :)
|
//it for us ! :)
|
||||||
@@ -1513,7 +1526,7 @@ void recieveINTERRUPT (RPCParameters *rpcParameters)
|
|||||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, MPClientMessage[37] );
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, MPClientMessage[37] );
|
||||||
|
|
||||||
SOLDIERTYPE* pSoldier = MercPtrs[ INT->ubID ];
|
SOLDIERTYPE* pSoldier = MercPtrs[ INT->ubID ];
|
||||||
SOLDIERTYPE* pOpponent = MercPtrs[ INT->Interrupted];
|
//SOLDIERTYPE* pOpponent = MercPtrs[ INT->Interrupted];
|
||||||
ManSeesMan(pSoldier,pOpponent,pOpponent->sGridNo,pOpponent->pathing.bLevel,2,1);
|
ManSeesMan(pSoldier,pOpponent,pOpponent->sGridNo,pOpponent->pathing.bLevel,2,1);
|
||||||
StartInterrupt();
|
StartInterrupt();
|
||||||
}
|
}
|
||||||
@@ -1523,6 +1536,21 @@ void recieveINTERRUPT (RPCParameters *rpcParameters)
|
|||||||
//if(INT->gubOutOfTurnPersons > 0)ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Recieved Int: bTeam-%d ubID-%d", INT->bTeam,INT->ubID );
|
//if(INT->gubOutOfTurnPersons > 0)ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Recieved Int: bTeam-%d ubID-%d", INT->bTeam,INT->ubID );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void intAI (SOLDIERTYPE *pSoldier )
|
||||||
|
{
|
||||||
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, MPClientMessage[17] );
|
||||||
|
//stop moving merc who was interrupted and init UI bar
|
||||||
|
//SOLDIERTYPE* pMerc = MercPtrs[ INT->ubID ];
|
||||||
|
////AdjustNoAPToFinishMove( pMerc, TRUE );
|
||||||
|
//pMerc->HaultSoldierFromSighting(TRUE);
|
||||||
|
//pMerc->fTurningFromPronePosition = FALSE;// hmmm ??
|
||||||
|
//FreezeInterfaceForEnemyTurn();
|
||||||
|
//InitEnemyUIBar( 0, 0 );
|
||||||
|
//fInterfacePanelDirty = DIRTYLEVEL2;
|
||||||
|
AddTopMessage( COMPUTER_TURN_MESSAGE, TeamTurnString[ pSoldier->bTeam ] );
|
||||||
|
gTacticalStatus.fInterruptOccurred = TRUE;
|
||||||
|
|
||||||
|
}
|
||||||
void end_interrupt ( BOOLEAN fMarkInterruptOccurred )
|
void end_interrupt ( BOOLEAN fMarkInterruptOccurred )
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -1537,6 +1565,7 @@ void end_interrupt ( BOOLEAN fMarkInterruptOccurred )
|
|||||||
memcpy(INT.gubOutOfTurnOrder, gubOutOfTurnOrder, sizeof(UINT8) * MAXMERCS);
|
memcpy(INT.gubOutOfTurnOrder, gubOutOfTurnOrder, sizeof(UINT8) * MAXMERCS);
|
||||||
INT.gubOutOfTurnPersons = gubOutOfTurnPersons;
|
INT.gubOutOfTurnPersons = gubOutOfTurnPersons;
|
||||||
INT.fMarkInterruptOccurred=fMarkInterruptOccurred;
|
INT.fMarkInterruptOccurred=fMarkInterruptOccurred;
|
||||||
|
if(is_server)Sawarded=false;
|
||||||
|
|
||||||
if(INT.bTeam==0)
|
if(INT.bTeam==0)
|
||||||
{
|
{
|
||||||
@@ -1562,8 +1591,9 @@ void end_interrupt ( BOOLEAN fMarkInterruptOccurred )
|
|||||||
void resume_turn(RPCParameters *rpcParameters)
|
void resume_turn(RPCParameters *rpcParameters)
|
||||||
{
|
{
|
||||||
INT_STRUCT* INT = (INT_STRUCT*)rpcParameters->input;
|
INT_STRUCT* INT = (INT_STRUCT*)rpcParameters->input;
|
||||||
|
if(is_server)Sawarded=false;
|
||||||
|
|
||||||
if(INT->bTeam==netbTeam)//may need working
|
if(INT->bTeam==netbTeam || (INT->bTeam==1 && is_server))//may need working
|
||||||
{
|
{
|
||||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, MPClientMessage[18] );
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, MPClientMessage[18] );
|
||||||
|
|
||||||
@@ -1582,6 +1612,11 @@ void resume_turn(RPCParameters *rpcParameters)
|
|||||||
|
|
||||||
EndInterrupt( INT->fMarkInterruptOccurred );
|
EndInterrupt( INT->fMarkInterruptOccurred );
|
||||||
}
|
}
|
||||||
|
else if(INT->bTeam==1)
|
||||||
|
{
|
||||||
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"im not server but ai just got back its turn after being interrupted..." );
|
||||||
|
//maybe can add something.
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void grid_display ( void ) //print mouse coordinates, helpfull for crate placement.
|
void grid_display ( void ) //print mouse coordinates, helpfull for crate placement.
|
||||||
@@ -2625,6 +2660,31 @@ void recieve_heal (RPCParameters *rpcParameters)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void requestAIint(SOLDIERTYPE *pSoldier )
|
||||||
|
{
|
||||||
|
AIint data;
|
||||||
|
data.ubID=pSoldier->ubID;
|
||||||
|
data.bteam=netbTeam;
|
||||||
|
ScreenMsg( FONT_LTGREEN, MSG_INTERFACE, L"interrupt requested" );
|
||||||
|
|
||||||
|
client->RPC("rINT",(const char*)&data, (int)sizeof(AIint)*8, HIGH_PRIORITY, RELIABLE, 0, UNASSIGNED_SYSTEM_ADDRESS, true, 0, UNASSIGNED_NETWORK_ID,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void awardINT (RPCParameters *rpcParameters)
|
||||||
|
{
|
||||||
|
AIint* data= (AIint*)rpcParameters->input;
|
||||||
|
|
||||||
|
SOLDIERTYPE *pSoldier = MercPtrs[ data->ubID ];
|
||||||
|
|
||||||
|
StartInterrupt();
|
||||||
|
//send_EndTurn(netbTeam);
|
||||||
|
|
||||||
|
ScreenMsg( FONT_LTGREEN, MSG_INTERFACE, L"interrupt awarded" );
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//***************************
|
//***************************
|
||||||
//*** client connection*****
|
//*** client connection*****
|
||||||
//*************************
|
//*************************
|
||||||
@@ -2672,6 +2732,7 @@ void connect_client ( void )
|
|||||||
REGISTER_STATIC_RPC(client, gotoRT);
|
REGISTER_STATIC_RPC(client, gotoRT);
|
||||||
REGISTER_STATIC_RPC(client, recieve_wipe);
|
REGISTER_STATIC_RPC(client, recieve_wipe);
|
||||||
REGISTER_STATIC_RPC(client, recieve_heal);
|
REGISTER_STATIC_RPC(client, recieve_heal);
|
||||||
|
REGISTER_STATIC_RPC(client, awardINT);
|
||||||
//***
|
//***
|
||||||
|
|
||||||
if (b)
|
if (b)
|
||||||
|
|||||||
@@ -24,6 +24,13 @@ INT8 bLife;
|
|||||||
INT8 bBleeding;
|
INT8 bBleeding;
|
||||||
}heal;
|
}heal;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
UINT16 ubID;
|
||||||
|
INT8 bteam;
|
||||||
|
|
||||||
|
}AIint;
|
||||||
|
|
||||||
|
|
||||||
void send_door ( SOLDIERTYPE *pSoldier, INT16 sGridNo, BOOLEAN fNoAnimations );
|
void send_door ( SOLDIERTYPE *pSoldier, INT16 sGridNo, BOOLEAN fNoAnimations );
|
||||||
|
|
||||||
@@ -65,6 +72,8 @@ void startCombat(UINT8 ubStartingTeam);
|
|||||||
|
|
||||||
extern int WEAPON_READIED_BONUS;
|
extern int WEAPON_READIED_BONUS;
|
||||||
|
|
||||||
|
void intAI (SOLDIERTYPE *pSoldier );
|
||||||
|
|
||||||
void teamwiped (void);
|
void teamwiped (void);
|
||||||
|
|
||||||
BOOLEAN check_status (void);
|
BOOLEAN check_status (void);
|
||||||
@@ -74,3 +83,5 @@ extern INT8 NumActiveAndConsciousTeamMembers( UINT8 ubTeam );
|
|||||||
void send_heal (SOLDIERTYPE *pSoldier );
|
void send_heal (SOLDIERTYPE *pSoldier );
|
||||||
|
|
||||||
extern int DISABLE_SPEC_MODE;
|
extern int DISABLE_SPEC_MODE;
|
||||||
|
|
||||||
|
void requestAIint(SOLDIERTYPE *pSoldier );
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
//this one just for structs, variables and functions used between the client and server scripts...
|
//this one just for structs, variables and functions used between the client and server scripts...
|
||||||
|
|
||||||
extern char CLIENT_NAME[30];
|
extern char CLIENT_NAME[30];
|
||||||
|
extern bool Sawarded;
|
||||||
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@@ -83,3 +83,4 @@ typedef struct
|
|||||||
{
|
{
|
||||||
UINT8 ubStartingTeam;
|
UINT8 ubStartingTeam;
|
||||||
}sc_struct;
|
}sc_struct;
|
||||||
|
|
||||||
|
|||||||
+20
-1
@@ -23,12 +23,14 @@ INT32 gsMAX_MERCS;
|
|||||||
bool gsMORALE;
|
bool gsMORALE;
|
||||||
int gsREPORT_NAME;
|
int gsREPORT_NAME;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "text.h"
|
#include "text.h"
|
||||||
#include "connect.h"
|
#include "connect.h"
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "network.h"
|
#include "network.h"
|
||||||
#include "overhead.h"
|
#include "overhead.h"
|
||||||
|
#include "fresh_header.h"
|
||||||
UINT16 nc; //number of open connection
|
UINT16 nc; //number of open connection
|
||||||
UINT16 ncr; //number of ready confirmed connections
|
UINT16 ncr; //number of ready confirmed connections
|
||||||
//something keep record of ready connections ..
|
//something keep record of ready connections ..
|
||||||
@@ -59,6 +61,8 @@ RakPeerInterface *server;
|
|||||||
int numreadyteams;
|
int numreadyteams;
|
||||||
int readyteamreg[10];
|
int readyteamreg[10];
|
||||||
|
|
||||||
|
bool Sawarded;
|
||||||
|
|
||||||
SystemAddress blank;
|
SystemAddress blank;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@@ -201,6 +205,20 @@ void sendHEAL(RPCParameters *rpcParameters)
|
|||||||
{
|
{
|
||||||
server->RPC("recieve_heal",(const char*)rpcParameters->input, (*rpcParameters).numberOfBitsOfData, HIGH_PRIORITY, RELIABLE, 0, rpcParameters->sender, true, 0, UNASSIGNED_NETWORK_ID,0);
|
server->RPC("recieve_heal",(const char*)rpcParameters->input, (*rpcParameters).numberOfBitsOfData, HIGH_PRIORITY, RELIABLE, 0, rpcParameters->sender, true, 0, UNASSIGNED_NETWORK_ID,0);
|
||||||
}
|
}
|
||||||
|
//
|
||||||
|
//void rINT(RPCParameters *rpcParameters)//who is first
|
||||||
|
//{
|
||||||
|
//
|
||||||
|
// AIint* data = (AIint*)rpcParameters->input;
|
||||||
|
//
|
||||||
|
// if( !Sawarded )
|
||||||
|
// {
|
||||||
|
// PauseAITemporarily();
|
||||||
|
// Sawarded=true;
|
||||||
|
// //send back to sender
|
||||||
|
// server->RPC("awardINT",(const char*)rpcParameters->input, (*rpcParameters).numberOfBitsOfData, HIGH_PRIORITY, RELIABLE, 0, rpcParameters->sender, false, 0, UNASSIGNED_NETWORK_ID,0);
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
void startCOMBAT(RPCParameters *rpcParameters)
|
void startCOMBAT(RPCParameters *rpcParameters)
|
||||||
{
|
{
|
||||||
@@ -566,6 +584,7 @@ if(gsPLAYER_BSIDE==2)//only enable ai during coop
|
|||||||
REGISTER_STATIC_RPC(server, startCOMBAT);
|
REGISTER_STATIC_RPC(server, startCOMBAT);
|
||||||
REGISTER_STATIC_RPC(server, sendWIPE);
|
REGISTER_STATIC_RPC(server, sendWIPE);
|
||||||
REGISTER_STATIC_RPC(server, sendHEAL);
|
REGISTER_STATIC_RPC(server, sendHEAL);
|
||||||
|
//REGISTER_STATIC_RPC(server, rINT);
|
||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -106,13 +106,15 @@ bool ovh_ready;
|
|||||||
//int cnt = 40;
|
//int cnt = 40;
|
||||||
|
|
||||||
|
|
||||||
void test_func2 (void)//now bound to "0" //currently displays coordinates of the mouse
|
void test_func2 (void)//now bound to "0"
|
||||||
{
|
{
|
||||||
ScreenMsg( FONT_LTGREEN, MSG_CHAT, L"test_func2 - function testing ground:" );
|
ScreenMsg( FONT_LTGREEN, MSG_CHAT, L"test_func2 - function testing ground:" );
|
||||||
|
|
||||||
|
|
||||||
SOLDIERTYPE * pSoldier=MercPtrs[ 0 ];
|
SOLDIERTYPE * pSoldier=MercPtrs[ 0 ];
|
||||||
|
|
||||||
|
PauseAITemporarily();
|
||||||
|
|
||||||
//RemoveOneOpponent( pSoldier );
|
//RemoveOneOpponent( pSoldier );
|
||||||
//SOLDIERTYPE * pSoldier2=MercPtrs[ 127 ];
|
//SOLDIERTYPE * pSoldier2=MercPtrs[ 127 ];
|
||||||
//
|
//
|
||||||
|
|||||||
+19
-9
@@ -351,6 +351,11 @@ void EndAITurn( void )
|
|||||||
EndDeadlockMsg( );
|
EndDeadlockMsg( );
|
||||||
if (INTERRUPT_QUEUED)
|
if (INTERRUPT_QUEUED)
|
||||||
{
|
{
|
||||||
|
if(is_networked)
|
||||||
|
{
|
||||||
|
end_interrupt( FALSE );//this tells other client to go on from where he was
|
||||||
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"ending interrupt" );
|
||||||
|
}
|
||||||
EndInterrupt( FALSE );
|
EndInterrupt( FALSE );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -1013,12 +1018,15 @@ void EndInterrupt( BOOLEAN fMarkInterruptOccurred )
|
|||||||
StartInterrupt();
|
StartInterrupt();
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(nbTeam == 0) //its an interrupt for own merc team
|
else if(is_server && gTacticalStatus.ubCurrentTeam == 1)// against ai
|
||||||
{
|
{
|
||||||
//ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"interrupt for our team");
|
|
||||||
//hayden
|
//hayden
|
||||||
StartInterrupt();
|
send_interrupt( npSoldier ); //
|
||||||
send_interrupt( npSoldier ); //
|
if(nbTeam !=0)intAI(npSoldier);
|
||||||
|
else StartInterrupt();//
|
||||||
|
//requestAIint( npSoldier );
|
||||||
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"AI is interrupted");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -2033,20 +2041,22 @@ void DoneAddingToIntList( SOLDIERTYPE * pSoldier, BOOLEAN fChange, UINT8 ubInter
|
|||||||
nbTeam = npSoldier->bTeam;
|
nbTeam = npSoldier->bTeam;
|
||||||
|
|
||||||
|
|
||||||
if ((nbTeam > 0) && (nbTeam <6 ) && is_server) //is AI and are server
|
if ((nbTeam > 0) && (nbTeam <6 ) && is_server) //is for AI and are server
|
||||||
{
|
{
|
||||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"interrupt for AI team");
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"interrupt for AI team");
|
||||||
send_interrupt( npSoldier );
|
send_interrupt( npSoldier );
|
||||||
StartInterrupt();
|
StartInterrupt();
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(nbTeam == 0 && gTacticalStatus.ubCurrentTeam == 0) //its an interrupt for own merc team && its our turn
|
else if(is_server && gTacticalStatus.ubCurrentTeam == 1)// against ai
|
||||||
{
|
{
|
||||||
|
|
||||||
//hayden
|
//hayden
|
||||||
StartInterrupt();
|
|
||||||
send_interrupt( npSoldier ); //
|
send_interrupt( npSoldier ); //
|
||||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"interrupt for my team");
|
if(nbTeam !=0)intAI(npSoldier);
|
||||||
|
else StartInterrupt();//
|
||||||
|
//requestAIint( npSoldier );
|
||||||
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"AI is interrupted");
|
||||||
}
|
}
|
||||||
else if(gTacticalStatus.ubCurrentTeam == 0)//its our turn (we are moving)
|
else if(gTacticalStatus.ubCurrentTeam == 0)//its our turn (we are moving)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
#include "render fun.h"
|
#include "render fun.h"
|
||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
#endif
|
#endif
|
||||||
|
#include "connect.h"
|
||||||
|
|
||||||
extern BOOLEAN gfBasement;
|
extern BOOLEAN gfBasement;
|
||||||
|
|
||||||
@@ -2228,7 +2229,7 @@ BOOLEAN AddMercStructureInfoFromAnimSurface( INT16 sGridNo, SOLDIERTYPE *pSoldie
|
|||||||
{
|
{
|
||||||
|
|
||||||
// Debug msg
|
// Debug msg
|
||||||
ScreenMsg( MSG_FONT_RED, MSG_DEBUG, L"FAILED: add struct info for merc %d (%s), at %d direction %d", pSoldier->ubID, pSoldier->name, sGridNo, pSoldier->ubDirection );
|
if(!is_networked)ScreenMsg( MSG_FONT_RED, MSG_DEBUG, L"FAILED: add struct info for merc %d (%s), at %d direction %d", pSoldier->ubID, pSoldier->name, sGridNo, pSoldier->ubDirection );
|
||||||
|
|
||||||
if ( pStructureFileRef->pDBStructureRef[ gOneCDirection[ pSoldier->ubDirection ] ].pDBStructure->ubNumberOfTiles > 1 )
|
if ( pStructureFileRef->pDBStructureRef[ gOneCDirection[ pSoldier->ubDirection ] ].pDBStructure->ubNumberOfTiles > 1 )
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user