コード例 #1
0
    void Aggro(Unit *pWho) 
    {
        if (!pInstance) return;
        if (!pWho || pWho->GetTypeId() != TYPEID_PLAYER) 
            return;

        pInstance->SetData(TYPE_PUTRICIDE, IN_PROGRESS);
        DoScriptText(-1631249,m_creature, pWho);

        if (Unit* pTarget = doSelectRandomPlayer(SPELL_SHADOWS_EDGE, true, 100.0f))
            doAura(SHADOW_INFUSION_AURA,pTarget);
    }
コード例 #2
0
    void Aggro(Unit* pWho)
    {
        if (!pInstance) 
            return;

        pInstance->SetData(TYPE_LANATHEL, IN_PROGRESS);

        doCast(SPELL_SHROUD_OF_SORROW);

        DoScriptText(-1631321,m_creature,pWho);

        if (Unit* pTarget = doSelectRandomPlayer(SPELL_BLOOD_MIRROR_MARK, false, 100.0f))
        {
            if (doCast(SPELL_BLOOD_MIRROR_MARK,pTarget) == CAST_OK)
            {
                if (Unit* pTarget1 = doSelectRandomPlayer(SPELL_BLOOD_MIRROR_MARK, false, 100.0f))
                    pTarget->CastSpell(pTarget1,getSpellWithDifficulty(SPELL_BLOOD_MIRROR), true);
            };
        };

        if (Unit* pTarget = doSelectRandomPlayer(SPELL_SHADOWS_EDGE, true, 100.0f))
            doAura(THIRST_QUENCHED_AURA,pTarget);

    }