Skip OP_BeginCast for discs

This commit is contained in:
Michael Cook (mackal) 2016-08-15 15:23:37 -04:00
parent 26772b721c
commit 3d64878e60

View File

@ -457,14 +457,16 @@ bool Mob::DoCastSpell(uint16 spell_id, uint16 target_id, CastingSlot slot,
// now tell the people in the area -- we ALWAYS want to send this, even instant cast spells. // now tell the people in the area -- we ALWAYS want to send this, even instant cast spells.
// The only time this is skipped is for NPC innate procs and weapon procs. Procs from buffs // The only time this is skipped is for NPC innate procs and weapon procs. Procs from buffs
// oddly still send this. Since those cases don't reach here, we don't need to check them // oddly still send this. Since those cases don't reach here, we don't need to check them
auto outapp = new EQApplicationPacket(OP_BeginCast,sizeof(BeginCast_Struct)); if (slot != CastingSlot::Discipline) {
BeginCast_Struct* begincast = (BeginCast_Struct*)outapp->pBuffer; auto outapp = new EQApplicationPacket(OP_BeginCast,sizeof(BeginCast_Struct));
begincast->caster_id = GetID(); BeginCast_Struct* begincast = (BeginCast_Struct*)outapp->pBuffer;
begincast->spell_id = spell_id; begincast->caster_id = GetID();
begincast->cast_time = orgcasttime; // client calculates reduced time by itself begincast->spell_id = spell_id;
outapp->priority = 3; begincast->cast_time = orgcasttime; // client calculates reduced time by itself
entity_list.QueueCloseClients(this, outapp, false, 200, 0, true); //IsClient() ? FILTER_PCSPELLS : FILTER_NPCSPELLS); outapp->priority = 3;
safe_delete(outapp); entity_list.QueueCloseClients(this, outapp, false, 200, 0, true); //IsClient() ? FILTER_PCSPELLS : FILTER_NPCSPELLS);
safe_delete(outapp);
}
// cast time is 0, just finish it right now and be done with it // cast time is 0, just finish it right now and be done with it
if(cast_time == 0) { if(cast_time == 0) {