Browse Source

[hellfire] CreatePlrItems bin exact (#1473)

pull/876/head
qndel 7 years ago committed by Anders Jenbo
parent
commit
936bda539a
  1. 59
      Source/items.cpp

59
Source/items.cpp

@ -871,8 +871,9 @@ void CreatePlrItems(int p)
int i; int i;
ItemStruct *pi = plr[p].InvBody; ItemStruct *pi = plr[p].InvBody;
for (i = 0; i < NUM_INVLOC; i++) { for (i = NUM_INVLOC; i != 0; i--) {
pi[i]._itype = ITYPE_NONE; pi->_itype = ITYPE_NONE;
pi++;
} }
// converting this to a for loop creates a `rep stosd` instruction, // converting this to a for loop creates a `rep stosd` instruction,
@ -880,15 +881,17 @@ void CreatePlrItems(int p)
memset(&plr[p].InvGrid, 0, sizeof(plr[p].InvGrid)); memset(&plr[p].InvGrid, 0, sizeof(plr[p].InvGrid));
pi = plr[p].InvList; pi = plr[p].InvList;
for (i = 0; i < NUM_INV_GRID_ELEM; i++) { for (i = NUM_INV_GRID_ELEM; i != 0; i--) {
pi[i]._itype = ITYPE_NONE; pi->_itype = ITYPE_NONE;
pi++;
} }
plr[p]._pNumInv = 0; plr[p]._pNumInv = 0;
pi = plr[p].SpdList; pi = plr[p].SpdList;
for (i = 0; i < MAXBELTITEMS; i++) { for (i = MAXBELTITEMS; i != 0; i--) {
pi[i]._itype = ITYPE_NONE; pi->_itype = ITYPE_NONE;
pi++;
} }
switch (plr[p]._pClass) { switch (plr[p]._pClass) {
@ -930,11 +933,55 @@ void CreatePlrItems(int p)
SetPlrHandItem(&plr[p].InvBody[INVLOC_HAND_LEFT], IDI_SORCEROR); SetPlrHandItem(&plr[p].InvBody[INVLOC_HAND_LEFT], IDI_SORCEROR);
GetPlrHandSeed(&plr[p].InvBody[INVLOC_HAND_LEFT]); GetPlrHandSeed(&plr[p].InvBody[INVLOC_HAND_LEFT]);
#ifdef HELLFIRE
SetPlrHandItem(&plr[p].SpdList[0], IDI_HEAL);
GetPlrHandSeed(&plr[p].SpdList[0]);
SetPlrHandItem(&plr[p].SpdList[1], IDI_HEAL);
GetPlrHandSeed(&plr[p].SpdList[1]);
#else
SetPlrHandItem(&plr[p].SpdList[0], IDI_MANA); SetPlrHandItem(&plr[p].SpdList[0], IDI_MANA);
GetPlrHandSeed(&plr[p].SpdList[0]); GetPlrHandSeed(&plr[p].SpdList[0]);
SetPlrHandItem(&plr[p].SpdList[1], IDI_MANA); SetPlrHandItem(&plr[p].SpdList[1], IDI_MANA);
GetPlrHandSeed(&plr[p].SpdList[1]); GetPlrHandSeed(&plr[p].SpdList[1]);
#endif
break;
#endif
#ifdef HELLFIRE
case PC_MONK:
SetPlrHandItem(&plr[p].InvBody[INVLOC_HAND_LEFT], 36);
GetPlrHandSeed(&plr[p].InvBody[INVLOC_HAND_LEFT]);
SetPlrHandItem(&plr[p].SpdList[0], IDI_HEAL);
GetPlrHandSeed(&plr[p].SpdList[0]);
SetPlrHandItem(&plr[p].SpdList[1], IDI_HEAL);
GetPlrHandSeed(&plr[p].SpdList[1]);
break;
case PC_BARD:
SetPlrHandItem(&plr[p].InvBody[INVLOC_HAND_LEFT], 37);
GetPlrHandSeed(&plr[p].InvBody[INVLOC_HAND_LEFT]);
SetPlrHandItem(&plr[p].InvBody[INVLOC_HAND_RIGHT], 38);
GetPlrHandSeed(&plr[p].InvBody[INVLOC_HAND_RIGHT]);
SetPlrHandItem(&plr[p].SpdList[0], IDI_HEAL);
GetPlrHandSeed(&plr[p].SpdList[0]);
SetPlrHandItem(&plr[p].SpdList[1], IDI_HEAL);
GetPlrHandSeed(&plr[p].SpdList[1]);
break;
case PC_BARBARIAN:
SetPlrHandItem(&plr[p].InvBody[INVLOC_HAND_LEFT], 139);
GetPlrHandSeed(&plr[p].InvBody[INVLOC_HAND_LEFT]);
SetPlrHandItem(&plr[p].InvBody[INVLOC_HAND_RIGHT], 2);
GetPlrHandSeed(&plr[p].InvBody[INVLOC_HAND_RIGHT]);
SetPlrHandItem(&plr[p].SpdList[0], IDI_HEAL);
GetPlrHandSeed(&plr[p].SpdList[0]);
SetPlrHandItem(&plr[p].SpdList[1], IDI_HEAL);
GetPlrHandSeed(&plr[p].SpdList[1]);
break; break;
#endif #endif
} }

Loading…
Cancel
Save