#include "prc_inc_racial" void main() { { effect eEffect = EffectHeal(1000); object oTarget = GetItemActivatedTarget(); location lTarget = GetLocation(oTarget); object oPC = GetItemActivator(); //SETS MAX NUMBER OF SKELETONS YOU CAN CONTROL if (!GetIsPC(oPC)) return; //Check to make sure the target is dead first if (GetIsObjectValid(oTarget)) { SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_RESURRECTION, FALSE)); if (GetIsDead(oTarget)) { //Effect to be used effect Vfx1 = EffectVisualEffect(VFX_COM_CHUNK_RED_LARGE); //Apply Visual effect Raise ApplyEffectAtLocation(DURATION_TYPE_INSTANT, Vfx1, GetLocation(oTarget)); //Effect to be used effect Vfx2 = EffectVisualEffect(VFX_COM_CHUNK_BONE_MEDIUM); //Apply Visual effect Raise ApplyEffectAtLocation(DURATION_TYPE_INSTANT, Vfx2, GetLocation(oTarget)); effect Vfx3 = EffectVisualEffect(VFX_IMP_HARM); //Apply Visual effect Raise ApplyEffectAtLocation(DURATION_TYPE_INSTANT, Vfx3, GetLocation(oPC)); //Destroy Dead Creature DestroyObject(oTarget, 0.0); { ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oPC); //Check race and apply increase or decrease of skill, ability, AC etc. { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_ABERRATION)) { eEffect = EffectSkillIncrease(SKILL_HIDE, 20); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_ANIMAL)) { eEffect = EffectSkillIncrease(SKILL_ANIMAL_EMPATHY, 20); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_BEAST)) { eEffect = EffectAbilityIncrease(ABILITY_CONSTITUTION, 20); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_CONSTRUCT)) { eEffect = EffectAbilityIncrease(ABILITY_WISDOM, 20); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_DRAGON)) { eEffect = EffectAbilityIncrease(ABILITY_CHARISMA, 20); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_DWARF)) { eEffect = EffectAbilityIncrease(ABILITY_STRENGTH, 20); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_ELEMENTAL)) { eEffect = EffectDamageImmunityIncrease(DAMAGE_TYPE_COLD, 100); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_ELF)) { eEffect = EffectAbilityIncrease(ABILITY_DEXTERITY, 40); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_FEY)) { eEffect = EffectAbilityIncrease(ABILITY_DEXTERITY, 10); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_GIANT)) { eEffect = EffectDamageIncrease(DAMAGE_BONUS_2d12, 20); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_GNOME)) { eEffect = EffectSkillIncrease(SKILL_LORE, 20); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_HALFELF)) { eEffect = EffectSkillIncrease(SKILL_LISTEN, 20); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_HALFLING)) { eEffect = EffectSkillIncrease(SKILL_OPEN_LOCK, 20); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_HALFORC)) { eEffect = EffectSkillIncrease(SKILL_TAUNT, 20); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_HUMAN)) { eEffect = EffectSkillIncrease(SKILL_TUMBLE, 20); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_HUMANOID_GOBLINOID)) { eEffect = EffectAbilityDecrease(ABILITY_INTELLIGENCE, 10); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_HUMANOID_MONSTROUS)) { eEffect = EffectAbilityDecrease(ABILITY_WISDOM, 10); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_HUMANOID_ORC)) { eEffect = EffectAbilityDecrease(ABILITY_INTELLIGENCE, 20); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_HUMANOID_REPTILIAN)) { eEffect = EffectAbilityIncrease(ABILITY_CONSTITUTION, 30); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_MAGICAL_BEAST)) { eEffect = EffectDamageImmunityIncrease(DAMAGE_TYPE_MAGICAL, 100); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_OOZE)) { eEffect = EffectDamageImmunityIncrease(DAMAGE_TYPE_ACID, 100); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_OUTSIDER)) { eEffect = EffectDamageImmunityIncrease(DAMAGE_TYPE_NEGATIVE, 1000); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_SHAPECHANGER)) { eEffect = EffectDamageImmunityIncrease(DAMAGE_TYPE_SLASHING, 100); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_UNDEAD)) { eEffect = EffectDamageImmunityIncrease(DAMAGE_TYPE_BLUDGEONING, 100); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } else { if ((MyPRCGetRacialType(oTarget)==RACIAL_TYPE_VERMIN)) { eEffect = EffectAbilityIncrease(ABILITY_DEXTERITY, 20); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 300.0f); } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }