rendered paste bodyvoid Aura::HandlePeriodicTriggerSpell(bool apply, bool Real)
{
if (m_periodicTimer <= 0)
m_periodicTimer += m_modifier.periodictime;
m_isPeriodic = apply;
m_isTrigger = apply;
if ( Real && apply && GetSpellProto()->Id == 30427 )
{
Unit* caster = GetCaster();
if (!caster)
return;
if( ((Player*)caster)->GetSkillValue(SKILL_ENGINERING)>=305 )
{
uint32 creature_id;
uint32 mote_id;
creature_id = m_target->GetEntry();
switch(creature_id)
{
case 24222: mote_id = 22572; break; //Windy Cloud - Mote of Air
case 17408: mote_id = 22576; break; //Arcane Vortex - Mote of Mana
case 17407: mote_id = 22577; break; //Felmist - Mote of Shadow
case 17378: mote_id = 22578; break; //Swamp Gas - Mote of Water
};
if (creature_id)
{
Item* item = NULL;
ItemPosCountVec dest;
uint8 msg = ((Player*)caster)->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, mote_id, 1);
if(msg == EQUIP_ERR_OK)
{
item = ((Player*)caster)->StoreNewItem(dest, mote_id, true);
((Player*)caster)->SendNewItem(item, 1, true, false);
}
}
}
}
}