mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-26 06:51:28 +00:00
Initial work on OP_ItemRecastDelay
This commit is contained in:
parent
be52d413db
commit
7800cbbe96
@ -542,4 +542,5 @@ N(OP_ZoneServerInfo),
|
|||||||
N(OP_ZoneServerReady),
|
N(OP_ZoneServerReady),
|
||||||
N(OP_ZoneSpawns),
|
N(OP_ZoneSpawns),
|
||||||
N(OP_ZoneUnavail),
|
N(OP_ZoneUnavail),
|
||||||
|
N(OP_ItemRecastDelay),
|
||||||
// mail and chat opcodes located in ../mail_oplist.h
|
// mail and chat opcodes located in ../mail_oplist.h
|
||||||
|
|||||||
@ -4264,6 +4264,13 @@ struct ItemVerifyReply_Struct {
|
|||||||
/*012*/
|
/*012*/
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct ItemRecastDelay_Struct {
|
||||||
|
/*000*/ uint32 recast_delay; // in seconds
|
||||||
|
/*004*/ uint32 recast_type;
|
||||||
|
/*008*/ uint32 unknown008;
|
||||||
|
/*012*/
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Shroud yourself. For yourself shrouding, this has your spawnId, spawnStruct,
|
* Shroud yourself. For yourself shrouding, this has your spawnId, spawnStruct,
|
||||||
* bits of your charProfileStruct (no checksum, then charProfile up till
|
* bits of your charProfileStruct (no checksum, then charProfile up till
|
||||||
|
|||||||
@ -306,6 +306,7 @@ OUTz(OP_FinishWindow2);
|
|||||||
//OUTv(OP_AdventureMerchantResponse, strlen(msg)+2);
|
//OUTv(OP_AdventureMerchantResponse, strlen(msg)+2);
|
||||||
OUTv(OP_ItemPacket, ItemPacket_Struct);
|
OUTv(OP_ItemPacket, ItemPacket_Struct);
|
||||||
OUTv(OP_ColoredText, ColoredText_Struct);
|
OUTv(OP_ColoredText, ColoredText_Struct);
|
||||||
|
OUTv(OP_ItemRecastDelay, ItemRecastDelay_Struct);
|
||||||
OUTv(OP_FormattedMessage, FormattedMessage_Struct);
|
OUTv(OP_FormattedMessage, FormattedMessage_Struct);
|
||||||
OUTv(OP_GuildMemberList, uint32); //variable length, but nasty
|
OUTv(OP_GuildMemberList, uint32); //variable length, but nasty
|
||||||
OUTv(OP_InterruptCast, InterruptCast_Struct);
|
OUTv(OP_InterruptCast, InterruptCast_Struct);
|
||||||
|
|||||||
@ -653,3 +653,5 @@ OP_RAWOutOfSession=0x0000
|
|||||||
# we need to document the differences between these packets to make identifying them easier
|
# we need to document the differences between these packets to make identifying them easier
|
||||||
OP_Some3ByteHPUpdate=0x0000 # initial HP update for mobs
|
OP_Some3ByteHPUpdate=0x0000 # initial HP update for mobs
|
||||||
OP_InitialHPUpdate=0x0000
|
OP_InitialHPUpdate=0x0000
|
||||||
|
|
||||||
|
OP_ItemRecastDelay=0x57ed
|
||||||
|
|||||||
@ -660,3 +660,5 @@ OP_RAWOutOfSession=0x0000 #
|
|||||||
# we need to document the differences between these packets to make identifying them easier
|
# we need to document the differences between these packets to make identifying them easier
|
||||||
OP_Some3ByteHPUpdate=0x0000 # initial HP update for mobs
|
OP_Some3ByteHPUpdate=0x0000 # initial HP update for mobs
|
||||||
OP_InitialHPUpdate=0x0000 #
|
OP_InitialHPUpdate=0x0000 #
|
||||||
|
|
||||||
|
OP_ItemRecastDelay=0x15c4
|
||||||
|
|||||||
@ -654,3 +654,5 @@ OP_RAWOutOfSession=0x0000 #
|
|||||||
# we need to document the differences between these packets to make identifying them easier
|
# we need to document the differences between these packets to make identifying them easier
|
||||||
OP_Some3ByteHPUpdate=0x0000 # initial HP update for mobs
|
OP_Some3ByteHPUpdate=0x0000 # initial HP update for mobs
|
||||||
OP_InitialHPUpdate=0x0000 #
|
OP_InitialHPUpdate=0x0000 #
|
||||||
|
|
||||||
|
OP_ItemRecastDelay=0x82d7
|
||||||
|
|||||||
@ -484,6 +484,19 @@ bool Mob::DoCastSpell(uint16 spell_id, uint16 target_id, uint16 slot,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This needs a bit more work for saving timer to PP for zoning etc
|
||||||
|
if (IsClient() && item_slot) {
|
||||||
|
ItemInst *itm = CastToClient()->GetInv().GetItem(item_slot);
|
||||||
|
if (itm->GetItem()->RecastDelay) {
|
||||||
|
outapp = new EQApplicationPacket(OP_ItemRecastDelay, sizeof(ItemRecastDelay_Struct));
|
||||||
|
ItemRecastDelay_Struct *ird = (ItemRecastDelay_Struct *)outapp->pBuffer;
|
||||||
|
ird->recast_delay = itm->GetItem()->RecastDelay;
|
||||||
|
ird->recast_type = itm->GetItem()->RecastType;
|
||||||
|
CastToClient()->QueuePacket(outapp);
|
||||||
|
safe_delete(outapp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user