| 198 | } |
| 199 | |
| 200 | void PackPlayerTest(PlayerPack *pPack) |
| 201 | { |
| 202 | memset(pPack, 0, 0x4F2); |
| 203 | pPack->destAction = -1; |
| 204 | pPack->destParam1 = 0; |
| 205 | pPack->destParam2 = 0; |
| 206 | pPack->plrlevel = 0; |
| 207 | pPack->pExperience = 1583495809; |
| 208 | pPack->pLevel = 50; |
| 209 | pPack->px = 75; |
| 210 | pPack->py = 68; |
| 211 | pPack->targx = 75; |
| 212 | pPack->targy = 68; |
| 213 | pPack->pGold = 0; |
| 214 | pPack->pStatPts = 0; |
| 215 | pPack->pDiabloKillLevel = 3; |
| 216 | for (auto i = 0; i < 40; i++) |
| 217 | pPack->InvList[i].idx = -1; |
| 218 | for (auto i = 0; i < 7; i++) |
| 219 | pPack->InvBody[i].idx = -1; |
| 220 | for (auto i = 0; i < MaxBeltItems; i++) |
| 221 | PackItemFullRejuv(pPack->SpdList + i, i); |
| 222 | for (auto i = 1; i < 37; i++) { |
| 223 | if (SpellDatVanilla[i] != -1) { |
| 224 | pPack->pMemSpells |= 1ULL << (i - 1); |
| 225 | pPack->pSplLvl[i] = 15; |
| 226 | } |
| 227 | } |
| 228 | for (auto i = 0; i < 7; i++) |
| 229 | pPack->InvBody[i].idx = -1; |
| 230 | strcpy(pPack->pName, "TestPlayer"); |
| 231 | pPack->pClass = static_cast<uint8_t>(HeroClass::Rogue); |
| 232 | pPack->pBaseStr = 20 + 35; |
| 233 | pPack->pBaseMag = 15 + 55; |
| 234 | pPack->pBaseDex = 30 + 220; |
| 235 | pPack->pBaseVit = 20 + 60; |
| 236 | pPack->pHPBase = ((20 + 10) << 6) + ((20 + 10) << 5) + 48 * 128 + (60 << 6); |
| 237 | pPack->pMaxHPBase = pPack->pHPBase; |
| 238 | pPack->pManaBase = (15 << 6) + (15 << 5) + 48 * 128 + (55 << 6); |
| 239 | pPack->pMaxManaBase = pPack->pManaBase; |
| 240 | |
| 241 | PackItemUnique(pPack->InvBody + INVLOC_HEAD, 52); |
| 242 | PackItemRing1(pPack->InvBody + INVLOC_RING_LEFT); |
| 243 | PackItemRing2(pPack->InvBody + INVLOC_RING_RIGHT); |
| 244 | PackItemAmulet(pPack->InvBody + INVLOC_AMULET); |
| 245 | PackItemArmor(pPack->InvBody + INVLOC_CHEST); |
| 246 | PackItemBow(pPack->InvBody + INVLOC_HAND_LEFT); |
| 247 | |
| 248 | PackItemStaff(pPack->InvList + PrepareInvSlot(pPack, 28, 2, 1)); |
| 249 | PackItemSword(pPack->InvList + PrepareInvSlot(pPack, 20, 1)); |
| 250 | |
| 251 | pPack->_pNumInv = 2; |
| 252 | |
| 253 | SwapLE(*pPack); |
| 254 | } |
| 255 | |
| 256 | void AssertPlayer(Player &player) |
| 257 | { |
no test coverage detected