Initial Upload
Initial Upload
This commit is contained in:
73
_module/nss/clone_test_ring3.nss
Normal file
73
_module/nss/clone_test_ring3.nss
Normal file
@@ -0,0 +1,73 @@
|
||||
|
||||
void ModifyClone(object oClone)
|
||||
{
|
||||
AssignCommand(oClone, SetIsDestroyable(FALSE, FALSE, FALSE));
|
||||
|
||||
int nHP = GetMaxHitPoints(oClone);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(nHP), oClone);
|
||||
|
||||
object oItem = GetFirstItemInInventory(oClone);
|
||||
while (GetIsObjectValid(oItem) == TRUE)
|
||||
{
|
||||
DestroyObject(oItem);
|
||||
oItem = GetNextItemInInventory(oClone);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#include "NW_I0_GENERIC"
|
||||
void CommandClone(object oClone,object oTarget)
|
||||
{
|
||||
SetIsTemporaryEnemy(oTarget,oClone);
|
||||
AdjustReputation(oTarget,oClone, -100);
|
||||
|
||||
DelayCommand(0.5,AssignCommand(oClone,PlayVoiceChat(VOICE_CHAT_TAUNT, oClone)));
|
||||
DelayCommand(1.5,AssignCommand(oClone,ActionAttack(oTarget,FALSE)));
|
||||
AssignCommand(oClone,DetermineCombatRound(oTarget));
|
||||
}
|
||||
|
||||
void DestroyClone(object oClone)
|
||||
{
|
||||
effect eVis = EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_2);
|
||||
int nHealth = GetMaxHitPoints(oClone);
|
||||
effect eDeath = EffectDamage(nHealth,DAMAGE_TYPE_MAGICAL,DAMAGE_POWER_ENERGY);
|
||||
location lClone = GetLocation(oClone);
|
||||
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis,lClone);
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT,eDeath,oClone);
|
||||
|
||||
|
||||
}
|
||||
|
||||
#include "x2_inc_switches"
|
||||
void main()
|
||||
{
|
||||
int nEvent =GetUserDefinedItemEventNumber();
|
||||
|
||||
if (nEvent ==X2_ITEM_EVENT_UNEQUIP) return;
|
||||
if (nEvent ==X2_ITEM_EVENT_EQUIP) return;
|
||||
|
||||
if (GetTag(GetItemActivated()) == "clone_test_ring3")
|
||||
{
|
||||
|
||||
object oTarget = GetItemActivatedTarget();
|
||||
object oPC = GetItemActivator();
|
||||
|
||||
if ((GetObjectType(GetItemActivatedTarget())!=OBJECT_TYPE_CREATURE))
|
||||
{
|
||||
SendMessageToPC(oPC, "Improper use of item!");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
location lWp = GetLocation(oTarget);
|
||||
object oClone = CopyObject(oPC, lWp);
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_MYSTICAL_EXPLOSION),lWp);
|
||||
|
||||
ModifyClone(oClone);
|
||||
CommandClone(oClone,oTarget);
|
||||
|
||||
DelayCommand(150.0,DestroyClone(oClone));
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user