Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void equipItem(uint16_t id, uint8_t slot, Stack stack, EContext context) {
- extern Item items[0x8000];
- int eqType = (id >> 13) - 2;
- uint16_t* oldId = (*context)->moreData.playerData.equipped + eqType;
- uint32_t* playerAttrs = (*context)->eh.attrs;
- uint32_t* oldAttrBoosts = items[*oldId].data.equipmentData.attrs;
- uint32_t* newAttrBoosts = items[id].data.equipmentData.attrs;
- int i;
- for (i = 0; i < 4; ++i) {
- playerAttrs[i] += newAttrBoosts[i] - oldAttrBoosts[i];
- }
- uint64_t* playerHM = (uint64_t*) *context;
- uint64_t* oldHM = (uint64_t*) (oldAttrBoosts + 4);
- uint64_t* newHM = (uint64_t*) (newAttrBoosts + 4);
- for (i = 0; i < 2; ++i) {
- playerHM[i] += newHM[i] - oldHM[i];
- }
- uint16_t t = *oldId;
- *oldId = (*context)->moreData.playerData.items[slot].id;
- (*context)->moreData.playerData.items[slot].id = t;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement