generated from Jaysyn/ModuleTemplate
270 lines
6.6 KiB
Plaintext
270 lines
6.6 KiB
Plaintext
#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);
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|