Skip to content

Commit

Permalink
EOR kicker & Autopurchase half-off fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
nikakd committed Aug 22, 2010
1 parent 876884d commit 27297b0
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 28 deletions.
12 changes: 11 additions & 1 deletion ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
2010-08-10 Nicolas Laplume <[email protected]>
2010-08-22 Nicolas Laplume <[email protected]>

*V242

*vab.c: Fixed EOR kicker-b bug

*rdplex.c, news_sup.c: Damaged equipment improvements

*vab.c: Auto-purchase half-off bug fixed

2010-08-10 Nicolas Laplume <[email protected]>

*V241

Expand Down
4 changes: 2 additions & 2 deletions news_sup.c
Original file line number Diff line number Diff line change
Expand Up @@ -165,8 +165,8 @@ int DamMod(int p,int prog,int dam,int cost)
if (j==0) return 0;
j=hi-1; while(save[j]==0) j--;
strcpy(&Name[0],&Eptr[j]->Name[0]);
if (options.cheat_no_damage==0) Eptr[j]->Damage=dam; //Damaged Equipment Cheat, Nikakd, 10/8/10
if (options.cheat_no_damage==0) Eptr[j]->DCost=cost;
if (options.cheat_no_damage==0) Eptr[j]->Damage+=dam; //Damaged Equipment Cheat
if (options.cheat_no_damage==0) Eptr[j]->DCost+=cost;
return save[j];
}

Expand Down
5 changes: 5 additions & 0 deletions rdplex.c
Original file line number Diff line number Diff line change
Expand Up @@ -658,6 +658,11 @@ void ShowUnit(char hw,char un,char player_index)
OnHand(PL->Num);
grSetColor(SCol);
DispNum(256,111,PL->Safety);DispChr('%');
//Display Damaged Equipment
if (PL->Damage!=0) {
grSetColor(8);
PrintAt(280,111,"(");DispNum(283,111,PL->Safety+PL->Damage<1?1:PL->Safety+PL->Damage);DispChr('%');DispChr(')');
}
qty=0;
};
RectFill(27,95,130,171,0);
Expand Down
60 changes: 36 additions & 24 deletions vab.c
Original file line number Diff line number Diff line change
Expand Up @@ -234,39 +234,43 @@ int FillVab(char plr,char f,char mode)
switch(i) {
case 0: case 2:
if ((Data->P[plr].Manned[VAS[f][i].dex].Num-Data->P[plr].Manned[VAS[f][i].dex].Spok)==0) {
if (mode==1) {
Data->P[plr].Cash-=maxx(1,Data->P[plr].Manned[VAS[f][i].dex].UnitCost-(Data->P[plr].TurnOnly==3)*Data->P[plr].Manned[VAS[f][i].dex].UnitCost/2);
int temp_cost = Data->P[plr].TurnOnly==3? maxx(1,Data->P[plr].Manned[VAS[f][i].dex].UnitCost/2):Data->P[plr].Manned[VAS[f][i].dex].UnitCost;
if (mode==1) {
Data->P[plr].Cash-=temp_cost;
Data->P[plr].Manned[VAS[f][i].dex].Num++;
}
else cost+=maxx(1,Data->P[plr].Manned[VAS[f][i].dex].UnitCost-(Data->P[plr].TurnOnly==3)*Data->P[plr].Manned[VAS[f][i].dex].UnitCost/2);
else cost+=temp_cost;
}
break;
case 1:
if ((Data->P[plr].Misc[VAS[f][i].dex].Num-Data->P[plr].Misc[VAS[f][i].dex].Spok)==0) {
if (mode==1) {
Data->P[plr].Cash-=maxx(1,Data->P[plr].Misc[VAS[f][i].dex].UnitCost-(Data->P[plr].TurnOnly==3)*Data->P[plr].Misc[VAS[f][i].dex].UnitCost/2);
int temp_cost = Data->P[plr].TurnOnly==3? maxx(1,Data->P[plr].Misc[VAS[f][i].dex].UnitCost/2):Data->P[plr].Misc[VAS[f][i].dex].UnitCost;
if (mode==1) {
Data->P[plr].Cash-=temp_cost;
Data->P[plr].Misc[VAS[f][i].dex].Num++;
}
else cost+=maxx(1,Data->P[plr].Misc[VAS[f][i].dex].UnitCost-(Data->P[plr].TurnOnly==3)*Data->P[plr].Misc[VAS[f][i].dex].UnitCost/2);
else cost+=temp_cost;
}
break;
case 3:
if (VAS[f][i].dex!=4) {
if ((Data->P[plr].Probe[VAS[f][i].dex].Num-Data->P[plr].Probe[VAS[f][i].dex].Spok)==0) {
if (mode==1) {
Data->P[plr].Cash-=maxx(1,Data->P[plr].Probe[VAS[f][i].dex].UnitCost-(Data->P[plr].TurnOnly==3)*Data->P[plr].Probe[VAS[f][i].dex].UnitCost/2);
int temp_cost = Data->P[plr].TurnOnly==3? maxx(1,Data->P[plr].Probe[VAS[f][i].dex].UnitCost/2):Data->P[plr].Probe[VAS[f][i].dex].UnitCost;
if (mode==1) {
Data->P[plr].Cash-=temp_cost;
Data->P[plr].Probe[VAS[f][i].dex].Num++;
}
else cost+=maxx(1,Data->P[plr].Probe[VAS[f][i].dex].UnitCost-(Data->P[plr].TurnOnly==3)*Data->P[plr].Probe[VAS[f][i].dex].UnitCost/2);
else cost+=temp_cost;
}
}
else {
if ((Data->P[plr].Misc[VAS[f][i].dex].Num-Data->P[plr].Misc[VAS[f][i].dex].Spok)==0) {
int temp_cost = Data->P[plr].TurnOnly==3? maxx(1,Data->P[plr].Misc[VAS[f][i].dex].UnitCost/2):Data->P[plr].Misc[VAS[f][i].dex].UnitCost;
if (mode==1) {
Data->P[plr].Cash-=maxx(1,Data->P[plr].Misc[VAS[f][i].dex].UnitCost-(Data->P[plr].TurnOnly==3)*Data->P[plr].Misc[VAS[f][i].dex].UnitCost/2);
Data->P[plr].Cash-=temp_cost;
Data->P[plr].Misc[VAS[f][i].dex].Num++;
}
else cost+=maxx(1,Data->P[plr].Misc[VAS[f][i].dex].UnitCost-(Data->P[plr].TurnOnly==3)*Data->P[plr].Misc[VAS[f][i].dex].UnitCost/2);
else cost+=temp_cost;
}
}
break;
Expand Down Expand Up @@ -309,21 +313,23 @@ int BuyVabRkt(char plr,int rk,int *q,char mode)
{
int cost=0;
if ((Data->P[plr].Rocket[rk%4].Num-Data->P[plr].Rocket[rk%4].Spok)==0) {
int temp_cost = Data->P[plr].TurnOnly==3? maxx(1,Data->P[plr].Rocket[rk%4].UnitCost/2):Data->P[plr].Rocket[rk%4].UnitCost;
if (mode==1) {
Data->P[plr].Cash-=maxx(1,Data->P[plr].Rocket[rk%4].UnitCost-(Data->P[plr].TurnOnly==3)*Data->P[plr].Rocket[rk%4].UnitCost/2);
Data->P[plr].Cash-=temp_cost;
Data->P[plr].Rocket[rk%4].Num++;
q[rk%4]++;
}
else cost=maxx(1,Data->P[plr].Rocket[rk%4].UnitCost-(Data->P[plr].TurnOnly==3)*Data->P[plr].Rocket[rk%4].UnitCost/2);
else cost=temp_cost;
}
if (rk>3 && (Data->P[plr].Rocket[4].Num-Data->P[plr].Rocket[4].Spok)==0)
{
int temp_cost = Data->P[plr].TurnOnly==3? maxx(1,Data->P[plr].Rocket[4].UnitCost/2):Data->P[plr].Rocket[4].UnitCost;
if (mode==1) {
Data->P[plr].Cash-=maxx(1,Data->P[plr].Rocket[4].UnitCost-(Data->P[plr].TurnOnly==3)*Data->P[plr].Rocket[4].UnitCost/2);
Data->P[plr].Cash-=temp_cost;
Data->P[plr].Rocket[4].Num++;
q[rk]++;
}
else cost+=maxx(1,Data->P[plr].Rocket[rk%4].UnitCost-(Data->P[plr].TurnOnly==3)*Data->P[plr].Rocket[rk%4].UnitCost/2);
else cost+=temp_cost;

}
return cost;
Expand Down Expand Up @@ -995,11 +1001,14 @@ void BuildVAB(char plr,char mis,char ty,char pa,char pr)
}

else if (VX == 0x81) { // P/S:CAP+KIC XX
if (prog==1 || prog==3) {
VASqty++;
VVals(plr,1,&Data->P[plr].Misc[0],0,20);
VASqty++;
VVals(plr,1,&Data->P[plr].Misc[1],1,21);
if (prog==1 || prog==3) {
if (mcode !=52) { ///Special Case EOR LM Test
VASqty++;
VVals(plr,1,&Data->P[plr].Misc[0],0,20);
VASqty++;
VVals(plr,1,&Data->P[plr].Misc[1],1,21);
}
else {VASqty++; VVals(plr,1,&Data->P[plr].Misc[1],1,20);}
} else VASqty=1;
}

Expand All @@ -1014,10 +1023,13 @@ void BuildVAB(char plr,char mis,char ty,char pa,char pr)

else if (VX == 0x89 && part==1) { // S:CAP+EVA+KIC
if (prog!=2) {
VASqty++;
VVals(plr,1,&Data->P[plr].Misc[0],0,20);
VASqty++;
VVals(plr,1,&Data->P[plr].Misc[1],1,21);
if (mcode !=55) { ///Special Case EOR Lunar Landing
VASqty++;
VVals(plr,1,&Data->P[plr].Misc[0],0,20);
VASqty++;
VVals(plr,1,&Data->P[plr].Misc[1],1,21);
}
else { VASqty++; VVals(plr,1,&Data->P[plr].Misc[1],1,20);}
} else VASqty=1;
// EVA Check
}
Expand Down
2 changes: 1 addition & 1 deletion version.c
Original file line number Diff line number Diff line change
@@ -1 +1 @@
241
242

0 comments on commit 27297b0

Please sign in to comment.