OperateWeaponRack almost bin exact?
This commit is contained in:
parent
54c73f740c
commit
dbbd6f2700
2 changed files with 31 additions and 54 deletions
|
|
@ -1699,9 +1699,9 @@ void __fastcall AddPurifyingFountain(int i)
|
|||
|
||||
ox = object[i]._ox;
|
||||
oy = object[i]._oy;
|
||||
dObject[ox][oy-1] = -1 - i;
|
||||
dObject[ox-1][oy] = -1 - i;
|
||||
dObject[ox-1][oy - 1] = -1 - i;
|
||||
dObject[ox][oy - 1] = -1 - i;
|
||||
dObject[ox - 1][oy] = -1 - i;
|
||||
dObject[ox - 1][oy - 1] = -1 - i;
|
||||
object[i]._oRndSeed = GetRndSeed();
|
||||
}
|
||||
|
||||
|
|
@ -4586,61 +4586,38 @@ BOOLEAN __fastcall OperateFountains(int pnum, int i)
|
|||
// 52571C: using guessed type int drawpanflag;
|
||||
// 676190: using guessed type int deltaload;
|
||||
|
||||
void __fastcall OperateWeaponRack(int pnum, int i, unsigned char sendmsg)
|
||||
void __fastcall OperateWeaponRack(int pnum, int i, BOOL sendmsg)
|
||||
{
|
||||
unsigned short v3; // di
|
||||
int v4; // esi
|
||||
int v6; // eax
|
||||
int v7; // eax
|
||||
int v8; // eax
|
||||
int v9; // eax
|
||||
BOOLEAN v10; // zf
|
||||
int v11; // ecx
|
||||
int v12; // edx
|
||||
signed int v13; // [esp-4h] [ebp-14h]
|
||||
int v14; // [esp+Ch] [ebp-4h]
|
||||
int weaponType;
|
||||
|
||||
v3 = i;
|
||||
v4 = i;
|
||||
v14 = pnum;
|
||||
if (!object[i]._oSelFlag)
|
||||
return;
|
||||
SetRndSeed(object[v4]._oRndSeed);
|
||||
v6 = random(0, 4);
|
||||
if (v6) {
|
||||
v7 = v6 - 1;
|
||||
if (!v7) {
|
||||
v13 = ITYPE_AXE;
|
||||
goto LABEL_7;
|
||||
}
|
||||
v8 = v7 - 1;
|
||||
if (!v8) {
|
||||
v13 = ITYPE_BOW;
|
||||
goto LABEL_7;
|
||||
}
|
||||
if (v8 == 1) {
|
||||
v13 = ITYPE_MACE;
|
||||
LABEL_7:
|
||||
v9 = v13;
|
||||
goto LABEL_12;
|
||||
}
|
||||
v9 = sendmsg;
|
||||
} else {
|
||||
v9 = ITYPE_SWORD;
|
||||
SetRndSeed(object[i]._oRndSeed);
|
||||
|
||||
switch (random(0, 4)) {
|
||||
case 2:
|
||||
weaponType = ITYPE_BOW;
|
||||
break;
|
||||
case 1:
|
||||
weaponType = ITYPE_AXE;
|
||||
break;
|
||||
case 3:
|
||||
weaponType = ITYPE_MACE;
|
||||
break;
|
||||
case 0:
|
||||
weaponType = ITYPE_SWORD;
|
||||
break;
|
||||
}
|
||||
LABEL_12:
|
||||
++object[v4]._oAnimFrame;
|
||||
v10 = deltaload == 0;
|
||||
object[v4]._oSelFlag = 0;
|
||||
if (v10) {
|
||||
v11 = object[v4]._ox;
|
||||
v12 = object[v4]._oy;
|
||||
if (leveltype <= 1u)
|
||||
CreateTypeItem(v11, v12, 0, v9, 0, sendmsg, 0);
|
||||
|
||||
object[i]._oAnimFrame++;
|
||||
object[i]._oSelFlag = 0;
|
||||
if (!deltaload) {
|
||||
if (leveltype > 1)
|
||||
CreateTypeItem(object[i]._ox, object[i]._oy, 1, weaponType, 0, sendmsg, 0);
|
||||
else
|
||||
CreateTypeItem(v11, v12, 1u, v9, 0, sendmsg, 0);
|
||||
if (v14 == myplr)
|
||||
NetSendCmdParam1(FALSE, CMD_OPERATEOBJ, v3);
|
||||
CreateTypeItem(object[i]._ox, object[i]._oy, 0, weaponType, 0, sendmsg, 0);
|
||||
if (pnum == myplr)
|
||||
NetSendCmdParam1(FALSE, CMD_OPERATEOBJ, i);
|
||||
}
|
||||
}
|
||||
// 676190: using guessed type int deltaload;
|
||||
|
|
@ -4947,7 +4924,7 @@ void __fastcall SyncOpObject(int pnum, int cmd, int i)
|
|||
break;
|
||||
case OBJ_WARWEAP:
|
||||
case OBJ_WEAPONRACK:
|
||||
OperateWeaponRack(pnum, i, 0);
|
||||
OperateWeaponRack(pnum, i, FALSE);
|
||||
break;
|
||||
case OBJ_MUSHPATCH:
|
||||
OperateMushPatch(pnum, i);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue