📄 temperor.cpp
字号:
{
//MessageBox( 0, "You Have No Money !", "Error", MB_OK );
OutputDebugString( "No Money To ShengChan A Iron Worker !\n" );
return;
}
if (BuildPoint[Player][MAINBATTALION].hPos != CBTRUE)
return;
Task.nParam1=HaveGeneral(Player);
if (Task.nParam1 == CBNULL)
return;
//Scan is join or build ?
if (Ironworker[Player].WorkerNum <= WORKER_BASE-14)
{
if (Ironworker[Player].ShengChanFinish == CBTRUE
&&Pro[Player][0].Busy == 0)
{ Pro[Player][0].Busy=1;
Task.nID=BuildPoint[Player][MAINBATTALION].BPoint->nID;
Task.nTaskID=SHENGCHAN;
Task.nTaskIDEx=MAINBATTALION_MAN;
Task.bDone=1;
Task.nParam2=SCIRON;
CTRL_TASK_DeployByComputer(Player,&Task);
Ironworker[Player].ShengChanFinish=0;
Ironworker[Player].WorkerArrays[0]=CBFALSE;
}
else
return ;
}
if (Ironworker[Player].WorkerNum >= WORKER_BASE-13)
{ Ironworker[Player].WorkerArrays[0]=CBTRUE;
CTRL_TASK_Clear( &Task );
Task.nID=Ironworker[Player].WorkerArrays[1];
Task.nTaskID=ZUJIAN;
Task.nTaskIDEx=MAP_UNIT_TYPE_WGEN;
Task.nParam1=GetGeneral(Player,IRON);
if (Task.nParam1 == CBNULL)
return;
Task.nParam2=ZJONEIRON;
Task.bDone=1;
Ironworker[Player].GeneralFile=Task.nParam1;
CTRL_TASK_DeployByComputer(Player,&Task);
Ironworker[Player].Env=3;
}
}
void IronworkerProcess(WORD Player)
{
switch(Ironworker[Player].Env)
{ case 0:
//生产
IronTeamInit(Player);
break;
//加入
case 1:
IronAccedeToTeam(Player);
break;
//处理
case 2:
IronTeamWork(Player);
break;
//组建
case 3:
IronComponentTeam(Player);
break;
default:
break;
}
}
//--- Iron worker process end.
/*
//--- Lumber worker process function.
*/
//--- Lumber worker process start.
//?
void GetLumberId(WORD NL,WORD NR,WORD Player,WORD TX,WORD TY)
{ WORD i,j;
WORD POS=0;
signed long MainLX,MainRX;
signed long MainLY,MainRY;
int ExCode;
if (BuildPoint[Player][MAINBATTALION].hPos != CBTRUE)
return;
//MainLX=BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX-NL;
//MainRX=BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX+NL;
//MainLY=BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY-NR;
//MainRY=BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY+NR;
MainLX=TX-NL;
MainRX=TX+NL;
MainLY=TY-NR;
MainRY=TY+NR;
if (MainLX<0)
MainLX=5;
if (MainRX>MAP_Lib.szNum.cx)
MainRX=MAP_Lib.szNum.cx;
if (MainLY<0)
MainLY=5;
if (MainRY>MAP_Lib.szNum.cy)
MainRY=MAP_Lib.szNum.cy;
Tsource[Player].Lumbersource.X=CBNULL;
Tsource[Player].Lumbersource.Y=CBNULL;
Tsource[Player].Lumbersource.POS=CBFALSE;
//for (j=(WORD)MainLX;j<(WORD)MainRX;j+=5)
for (i=(WORD)MainLY;i<(WORD)MainRY;i+=5)
{
if (POS == 1)
return;
//for (i=(WORD)MainLY;i<(WORD)MainRY;i+=5)
for (j=(WORD)MainLX;j<(WORD)MainRX;j+=5)
{
ExCode=EYE_GetGResType(0,j,i);
if (ExCode == 0)
{
Tsource[Player].Lumbersource.X=j;
Tsource[Player].Lumbersource.Y=i;
Tsource[Player].Lumbersource.POS=CBTRUE;
POS=1;
break;
}
}
}
Assert(Tsource[2].Lumbersource.Y > 10);
}
void LumberTeamInit(WORD Player)
{ //WORD i;
//WORD num;
//UNIT_STRUCT * Pobject;
struct CTRL_TASK_STRUCT Task;
CTRL_TASK_Clear( &Task );
//如果没钱生产
if (!RUN_CREATE_IfEnoughMoney(Player,MAINBATTALION_MAN))
{
//MessageBox( 0, "You Have No Money !", "Error", MB_OK );
OutputDebugString( "No Money To ShengChan A Lumber Worker !\n" );
return;
}
if (BuildPoint[Player][MAINBATTALION].hPos != CBTRUE)
return;
Task.nParam1=HaveGeneral(Player);
if (Task.nParam1 == CBNULL)
return;
//Scan is join or build ?
if (Lumberworker[Player].WorkerNum <= WORKER_BASE-14)
{
//if (Pro.ShengChanFinish == CBTRUE)
if (Lumberworker[Player].ShengChanFinish == CBTRUE
&&Pro[Player][0].Busy == 0)
{ Pro[Player][0].Busy=1;
Task.nID=BuildPoint[Player][MAINBATTALION].BPoint->nID;
Task.nTaskID=SHENGCHAN;
Task.nTaskIDEx=MAINBATTALION_MAN;
Task.bDone=1;
Task.nParam2=SCLUMBER;
CTRL_TASK_DeployByComputer(Player,&Task);
Lumberworker[Player].ShengChanFinish=0;
Lumberworker[Player].WorkerArrays[0]=CBFALSE;
}
else
return ;
}
if (Lumberworker[Player].WorkerNum >= WORKER_BASE-13)
{ Lumberworker[Player].WorkerArrays[0]=CBTRUE;
CTRL_TASK_Clear( &Task );
Task.nID=Lumberworker[Player].WorkerArrays[1];
Task.nTaskID=ZUJIAN;
Task.nTaskIDEx=MAP_UNIT_TYPE_WGEN;
Task.nParam1=GetGeneral(Player,LUMBER);
if (Task.nParam1 == CBNULL)
return;
Task.nParam2=ZJONELUMBER;
Task.bDone=1;
Lumberworker[Player].GeneralFile=Task.nParam1;
CTRL_TASK_DeployByComputer(Player,&Task);
Lumberworker[Player].Env=3;
}
}
//组建采树部队
void LumberComponentTeam(WORD Player,WORD LevelPos)
{ //WORD i;
struct CTRL_TASK_STRUCT Task;
if (BuildPoint[Player][MAINBATTALION].hPos != CBTRUE)
return;
if (Pro[Player][0].LumberFinish == 0)
{ CTRL_TASK_Clear( &Task );
//if (Ironworker.ZJFinish == CBTRUE)
{ Lumberworker[Player].ZJFinish=0;
Task.nID=Lumberworker[Player].WorkerArrays[Pro[Player][0].Lumberworkernum];
Task.nTaskID=ZUJIAN;
Task.nTaskIDEx=MAP_UNIT_TYPE_WGEN;
Task.nParam1=Lumberworker[Player].GeneralFile;
Task.nParam2=ZJOTHERLUMBER;
Task.bDone=1;
CTRL_TASK_DeployByComputer(Player,&Task);
}
return;
}
if (Lumberworker[Player].GeneralID == CBNULL)
return;
CTRL_TASK_Clear( &Task );
Task.nID=Lumberworker[Player].GeneralID;
Task.nTaskID=YUNSONG;
Task.nTaskIDEx=1;
Task.nTaskIDEx2=SHULIN;
switch (LevelPos)
{
case 5:
if (Player != GAME.nMe)
{
GetLumberId(250,10,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
GetLumberId(300,30,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
break;
case 7:
if (Player != GAME.nMe)
{
GetLumberId(50,125,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
GetLumberId(300,30,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
break;
case 9:
if (Player != GAME.nMe)
{
GetLumberId(150,10,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
GetLumberId(300,25,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
break;
case 11:
if (Player != GAME.nMe)
{
GetLumberId(50,25,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
GetLumberId(100,300,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
break;
case 16:
if (Player == 1)
{
GetLumberId(450,35,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
GetLumberId(100,300,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
break;
case 22:
if (Player != GAME.nMe)
{
GetLumberId(150,30,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
GetLumberId(100,300,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
break;
case 26:
if (Player == 1)
{
GetLumberId(450,25,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
GetLumberId(100,300,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
break;
case 29:
if (Player == 1)
{
GetLumberId(450,25,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
GetLumberId(100,300,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
break;
case 31:
if (Player == 2)
{
GetLumberId(150,75,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
GetLumberId(100,300,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
break;
case 32:
if (Player == 1)
{
GetLumberId(250,75,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
if (Player == 2)
{
GetLumberId(25,180,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
GetLumberId(100,300,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
}
break;
default:
GetLumberId(100,300,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
break;
}
if (Tsource[Player].Lumbersource.POS == CBFALSE)
{
switch (LevelPos)
{
case 5:
if (Player != GAME.nMe)
{
GetLumberId(350,20,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
GetLumberId(300,30,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
break;
case 7:
if (Player != GAME.nMe)
{
GetLumberId(100,30,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
GetLumberId(500,300,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
break;
case 9:
if (Player != GAME.nMe)
{
GetLumberId(170,10,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
GetLumberId(500,25,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
break;
case 11:
if (Player != GAME.nMe)
{
GetLumberId(100,30,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
GetLumberId(500,300,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
break;
case 16:
if (Player == 1)
{
GetLumberId(650,45,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
GetLumberId(100,300,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
break;
case 22:
if (Player != GAME.nMe)
{
GetLumberId(150,30,Player,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nX,
BuildPoint[Player][MAINBATTALION].BPoint->Draw.nY);
}
else
{
GetLumberId(100,300,Player,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -