Browse Source

Clean up WeaponAutoPlace

pull/88/head
Anders Jenbo 7 years ago
parent
commit
e705511d22
  1. 59
      Source/inv.cpp

59
Source/inv.cpp

@ -760,41 +760,32 @@ int GoldAutoPlace(int pnum)
int WeaponAutoPlace(int pnum)
{
int v1; // edi
int v2; // eax
int v3; // ecx
ItemStruct *v4; // esi
ItemStruct *v5; // edi
int result; // eax
v1 = pnum;
if (plr[pnum].HoldItem._iLoc == ILOC_TWOHAND) {
if (plr[v1].InvBody[INVLOC_HAND_LEFT]._itype != ITYPE_NONE || plr[v1].InvBody[INVLOC_HAND_RIGHT]._itype != ITYPE_NONE)
return 0;
LABEL_12:
NetSendCmdChItem(TRUE, 4u);
v4 = &plr[v1].HoldItem;
v5 = &plr[v1].InvBody[INVLOC_HAND_LEFT];
goto LABEL_13;
}
v2 = plr[v1].InvBody[INVLOC_HAND_LEFT]._itype;
if (v2 != ITYPE_NONE && plr[v1].InvBody[INVLOC_HAND_LEFT]._iClass == 1)
return 0;
v3 = plr[v1].InvBody[INVLOC_HAND_RIGHT]._itype;
if (v3 != ITYPE_NONE && plr[v1].InvBody[INVLOC_HAND_RIGHT]._iClass == 1)
return 0;
if (v2 == ITYPE_NONE)
goto LABEL_12;
if (v3 == ITYPE_NONE && plr[v1].InvBody[INVLOC_HAND_LEFT]._iLoc != ILOC_TWOHAND) {
NetSendCmdChItem(TRUE, 5u);
v4 = &plr[v1].HoldItem;
v5 = &plr[v1].InvBody[INVLOC_HAND_RIGHT];
LABEL_13:
result = 1;
qmemcpy(v5, v4, sizeof(ItemStruct));
return result;
if (plr[pnum].HoldItem._iLoc != ILOC_TWOHAND) {
if (plr[pnum].InvBody[INVLOC_HAND_LEFT]._itype != ITYPE_NONE && plr[pnum].InvBody[INVLOC_HAND_LEFT]._iClass == ICLASS_WEAPON)
return FALSE;
if (plr[pnum].InvBody[INVLOC_HAND_RIGHT]._itype != ITYPE_NONE && plr[pnum].InvBody[INVLOC_HAND_RIGHT]._iClass == ICLASS_WEAPON)
return FALSE;
if (plr[pnum].InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_NONE) {
NetSendCmdChItem(TRUE, INVLOC_HAND_LEFT);
plr[pnum].InvBody[INVLOC_HAND_LEFT] = plr[pnum].HoldItem;
return TRUE;
}
if (plr[pnum].InvBody[INVLOC_HAND_RIGHT]._itype == ITYPE_NONE && plr[pnum].InvBody[INVLOC_HAND_LEFT]._iLoc != ILOC_TWOHAND) {
NetSendCmdChItem(TRUE, INVLOC_HAND_RIGHT);
plr[pnum].InvBody[INVLOC_HAND_RIGHT] = plr[pnum].HoldItem;
return TRUE;
}
} else {
if (plr[pnum].InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_NONE && plr[pnum].InvBody[INVLOC_HAND_RIGHT]._itype == ITYPE_NONE) {
NetSendCmdChItem(TRUE, INVLOC_HAND_LEFT);
plr[pnum].InvBody[INVLOC_HAND_LEFT] = plr[pnum].HoldItem;
return TRUE;
} else {
return FALSE;
}
}
return 0;
return FALSE;
}
int SwapItem(ItemStruct *a, ItemStruct *b)

Loading…
Cancel
Save