*Merge
--HG-- branch : trunk
This commit is contained in:
+6
-1
@@ -1511,7 +1511,12 @@ void Group::ResetInstances(uint8 method, Player* SendMsgTo)
|
||||
// if the map is loaded, reset it
|
||||
Map *map = MapManager::Instance().FindMap(p->GetMapId(), p->GetInstanceId());
|
||||
if(map && map->IsDungeon())
|
||||
isEmpty = ((InstanceMap*)map)->Reset(method);
|
||||
{
|
||||
if(p->CanReset())
|
||||
isEmpty = ((InstanceMap*)map)->Reset(method);
|
||||
else
|
||||
isEmpty = !map->HavePlayers();
|
||||
}
|
||||
|
||||
if(SendMsgTo)
|
||||
{
|
||||
|
||||
@@ -55,6 +55,15 @@ bool ChatHandler::HandleNpcSayCommand(const char* args)
|
||||
|
||||
pCreature->MonsterSay(args, LANG_UNIVERSAL, 0);
|
||||
|
||||
// make some emotes
|
||||
char lastchar = args[strlen(args) - 1];
|
||||
switch(lastchar)
|
||||
{
|
||||
case '?': pCreature->HandleEmoteCommand(EMOTE_ONESHOT_QUESTION); break;
|
||||
case '!': pCreature->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION); break;
|
||||
default: pCreature->HandleEmoteCommand(EMOTE_ONESHOT_TALK); break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -73,6 +82,9 @@ bool ChatHandler::HandleNpcYellCommand(const char* args)
|
||||
|
||||
pCreature->MonsterYell(args, LANG_UNIVERSAL, 0);
|
||||
|
||||
// make an emote
|
||||
pCreature->HandleEmoteCommand(EMOTE_ONESHOT_SHOUT);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -3251,6 +3251,11 @@ void Spell::SendSpellGo()
|
||||
//sLog.outDebug("Sending SMSG_SPELL_GO id=%u", m_spellInfo->Id);
|
||||
|
||||
uint32 castFlags = CAST_FLAG_UNKNOWN3;
|
||||
|
||||
// triggered spells with spell visual != 0
|
||||
if(m_IsTriggeredSpell || m_triggeredByAuraSpell)
|
||||
castFlags |= CAST_FLAG_UNKNOWN0;
|
||||
|
||||
if(m_spellInfo->Attributes & SPELL_ATTR_REQ_AMMO)
|
||||
castFlags |= CAST_FLAG_AMMO; // arrows/bullets visual
|
||||
if ((m_caster->GetTypeId() == TYPEID_PLAYER ||
|
||||
|
||||
@@ -4157,6 +4157,11 @@ void Spell::EffectTaunt(uint32 /*i*/)
|
||||
unitTarget->getThreatManager().addThreat(m_caster, itsThreat - myThreat);
|
||||
}
|
||||
|
||||
//Set aggro victim to caster
|
||||
if( !unitTarget->getThreatManager().getOnlineContainer().empty() )
|
||||
if(HostilReference* forcedVictim = unitTarget->getThreatManager().getOnlineContainer().getReferenceByTarget(m_caster))
|
||||
unitTarget->getThreatManager().setCurrentVictim(forcedVictim);
|
||||
|
||||
if(((Creature*)unitTarget)->IsAIEnabled && !((Creature*)unitTarget)->HasReactState(REACT_PASSIVE))
|
||||
((Creature*)unitTarget)->AI()->AttackStart(m_caster);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user