|
|
|
|
@ -2848,8 +2848,8 @@ void OperateTrapLvr(int i)
|
|
|
|
|
for (; j < nobjects; j++) { |
|
|
|
|
oi = objectactive[j]; |
|
|
|
|
if (object[oi]._otype == object[i]._oVar2 && object[oi]._oVar1 == object[i]._oVar1) { |
|
|
|
|
object[oi]._oAnimFlag = 0; |
|
|
|
|
object[oi]._oVar2 = 1; |
|
|
|
|
object[oi]._oAnimFlag = 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return; |
|
|
|
|
@ -3602,9 +3602,9 @@ void OperateSkelBook(int pnum, int i, DIABOOL sendmsg)
|
|
|
|
|
if (!deltaload) { |
|
|
|
|
SetRndSeed(object[i]._oRndSeed); |
|
|
|
|
if (random_(161, 5)) |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, FALSE, ITYPE_MISC, 21, sendmsg, FALSE); |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, FALSE, ITYPE_MISC, IMISC_SCROLL, sendmsg, FALSE); |
|
|
|
|
else |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, FALSE, ITYPE_MISC, 24, sendmsg, FALSE); |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, FALSE, ITYPE_MISC, IMISC_BOOK, sendmsg, FALSE); |
|
|
|
|
if (pnum == myplr) |
|
|
|
|
NetSendCmdParam1(FALSE, CMD_OPERATEOBJ, i); |
|
|
|
|
} |
|
|
|
|
@ -3660,16 +3660,16 @@ void OperateArmorStand(int pnum, int i, DIABOOL sendmsg)
|
|
|
|
|
SetRndSeed(object[i]._oRndSeed); |
|
|
|
|
uniqueRnd = random_(0, 2); |
|
|
|
|
if (currlevel <= 5) { |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, TRUE, ITYPE_LARMOR, 0, sendmsg, FALSE); |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, TRUE, ITYPE_LARMOR, IMISC_NONE, sendmsg, FALSE); |
|
|
|
|
} else if (currlevel >= 6 && currlevel <= 9) { |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, uniqueRnd, ITYPE_MARMOR, 0, sendmsg, FALSE); |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, uniqueRnd, ITYPE_MARMOR, IMISC_NONE, sendmsg, FALSE); |
|
|
|
|
} else if (currlevel >= 10 && currlevel <= 12) { |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, FALSE, ITYPE_HARMOR, 0, sendmsg, FALSE); |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, FALSE, ITYPE_HARMOR, IMISC_NONE, sendmsg, FALSE); |
|
|
|
|
} else if (currlevel >= 13 && currlevel <= 16) { |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, TRUE, ITYPE_HARMOR, 0, sendmsg, FALSE); |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, TRUE, ITYPE_HARMOR, IMISC_NONE, sendmsg, FALSE); |
|
|
|
|
#ifdef HELLFIRE |
|
|
|
|
} else if (currlevel >= 17) { |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, TRUE, ITYPE_HARMOR, 0, sendmsg, FALSE); |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, TRUE, ITYPE_HARMOR, IMISC_NONE, sendmsg, FALSE); |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
if (pnum == myplr) |
|
|
|
|
@ -3720,8 +3720,8 @@ void OperateCauldron(int pnum, int i, int sType)
|
|
|
|
|
SetRndSeed(object[i]._oRndSeed); |
|
|
|
|
object[i]._oVar1 = FindValidShrine(i); |
|
|
|
|
OperateShrine(pnum, i, sType); |
|
|
|
|
object[i]._oAnimFlag = 0; |
|
|
|
|
object[i]._oAnimFrame = 3; |
|
|
|
|
object[i]._oAnimFlag = 0; |
|
|
|
|
force_redraw = 255; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -3873,9 +3873,9 @@ void OperateWeaponRack(int pnum, int i, DIABOOL sendmsg)
|
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
if (leveltype > 1) |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, TRUE, weaponType, 0, sendmsg, FALSE); |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, TRUE, weaponType, IMISC_NONE, sendmsg, FALSE); |
|
|
|
|
else |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, FALSE, weaponType, 0, sendmsg, FALSE); |
|
|
|
|
CreateTypeItem(object[i]._ox, object[i]._oy, FALSE, weaponType, IMISC_NONE, sendmsg, FALSE); |
|
|
|
|
if (pnum == myplr) |
|
|
|
|
NetSendCmdParam1(FALSE, CMD_OPERATEOBJ, i); |
|
|
|
|
} |
|
|
|
|
@ -4396,30 +4396,22 @@ void SyncPedistal(int i)
|
|
|
|
|
|
|
|
|
|
void SyncL2Doors(int i) |
|
|
|
|
{ |
|
|
|
|
int val; |
|
|
|
|
int x, y; |
|
|
|
|
|
|
|
|
|
val = object[i]._oVar4; |
|
|
|
|
if (!val) |
|
|
|
|
if (object[i]._oVar4 == 0) |
|
|
|
|
object[i]._oMissFlag = FALSE; |
|
|
|
|
else |
|
|
|
|
object[i]._oMissFlag = TRUE; |
|
|
|
|
x = object[i]._ox; |
|
|
|
|
y = object[i]._oy; |
|
|
|
|
object[i]._oSelFlag = 2; |
|
|
|
|
if (object[i]._otype == OBJ_L2LDOOR && val == 0) { |
|
|
|
|
if (object[i]._otype == OBJ_L2LDOOR && object[i]._oVar4 == 0) { |
|
|
|
|
ObjSetMicro(x, y, 538); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (object[i]._otype == OBJ_L2LDOOR && (val == 1 || val == 2)) { |
|
|
|
|
} else if (object[i]._otype == OBJ_L2LDOOR && (object[i]._oVar4 == 1 || object[i]._oVar4 == 2)) { |
|
|
|
|
ObjSetMicro(x, y, 13); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (object[i]._otype == OBJ_L2RDOOR && val == 0) { |
|
|
|
|
} else if (object[i]._otype == OBJ_L2RDOOR && object[i]._oVar4 == 0) { |
|
|
|
|
ObjSetMicro(x, y, 540); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (object[i]._otype == OBJ_L2RDOOR && (val == 1 || val == 2)) { |
|
|
|
|
} else if (object[i]._otype == OBJ_L2RDOOR && (object[i]._oVar4 == 1 || object[i]._oVar4 == 2)) { |
|
|
|
|
ObjSetMicro(x, y, 17); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -4434,17 +4426,11 @@ void SyncL3Doors(int i)
|
|
|
|
|
object[i]._oSelFlag = 2; |
|
|
|
|
if (object[i]._otype == OBJ_L3LDOOR && object[i]._oVar4 == 0) { |
|
|
|
|
ObjSetMicro(x, y, 531); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (object[i]._otype == OBJ_L3LDOOR && (object[i]._oVar4 == 1 || object[i]._oVar4 == 2)) { |
|
|
|
|
} else if (object[i]._otype == OBJ_L3LDOOR && (object[i]._oVar4 == 1 || object[i]._oVar4 == 2)) { |
|
|
|
|
ObjSetMicro(x, y, 538); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (object[i]._otype == OBJ_L3RDOOR && object[i]._oVar4 == 0) { |
|
|
|
|
} else if (object[i]._otype == OBJ_L3RDOOR && object[i]._oVar4 == 0) { |
|
|
|
|
ObjSetMicro(x, y, 534); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (object[i]._otype == OBJ_L3RDOOR && (object[i]._oVar4 == 1 || object[i]._oVar4 == 2)) { |
|
|
|
|
} else if (object[i]._otype == OBJ_L3RDOOR && (object[i]._oVar4 == 1 || object[i]._oVar4 == 2)) { |
|
|
|
|
ObjSetMicro(x, y, 541); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|