Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,151 +0,0 @@
|
||||
#include "prc_inc_clsfunc"
|
||||
|
||||
void CleanCopy(object oImage)
|
||||
{
|
||||
SetLootable(oImage, FALSE);
|
||||
object oItem = GetFirstItemInInventory(oImage);
|
||||
while(GetIsObjectValid(oItem))
|
||||
{
|
||||
SetDroppableFlag(oItem, FALSE);
|
||||
SetItemCursedFlag(oItem, TRUE);
|
||||
oItem = GetNextItemInInventory(oImage);
|
||||
}
|
||||
int i;
|
||||
for(i=0;i<NUM_INVENTORY_SLOTS;i++)//equipment
|
||||
{
|
||||
oItem = GetItemInSlot(i, oImage);
|
||||
SetDroppableFlag(oItem, FALSE);
|
||||
SetItemCursedFlag(oItem, TRUE);
|
||||
}
|
||||
TakeGoldFromCreature(GetGold(oImage), oImage, TRUE);
|
||||
}
|
||||
|
||||
void CleanAllCopies()
|
||||
{
|
||||
string sImage1 = "PC_IMAGE"+ObjectToString(OBJECT_SELF)+"mirror";
|
||||
string sImage2 = "PC_IMAGE"+ObjectToString(OBJECT_SELF)+"flurry";
|
||||
|
||||
object oCreature = GetFirstObjectInArea(GetArea(OBJECT_SELF));
|
||||
while (GetIsObjectValid(oCreature))
|
||||
{
|
||||
if(GetTag(oCreature) == sImage1 || GetTag(oCreature) == sImage2)
|
||||
{
|
||||
CleanCopy(oCreature);
|
||||
}
|
||||
oCreature = GetNextObjectInArea(GetArea(OBJECT_SELF));;
|
||||
}
|
||||
}
|
||||
|
||||
void RemoveExtraImages()
|
||||
{
|
||||
string sImage1 = "PC_IMAGE"+ObjectToString(OBJECT_SELF)+"mirror";
|
||||
string sImage2 = "PC_IMAGE"+ObjectToString(OBJECT_SELF)+"flurry";
|
||||
|
||||
object oCreature = GetFirstObjectInArea(GetArea(OBJECT_SELF));
|
||||
while (GetIsObjectValid(oCreature))
|
||||
{
|
||||
if(GetTag(oCreature) == sImage1 || GetTag(oCreature) == sImage2)
|
||||
{
|
||||
DestroyObject(oCreature, 0.0);
|
||||
}
|
||||
oCreature = GetNextObjectInArea(GetArea(OBJECT_SELF));;
|
||||
}
|
||||
}
|
||||
|
||||
void main2()
|
||||
{
|
||||
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int iLevel = GetLevelByClass(CLASS_TYPE_ARCANE_DUELIST, OBJECT_SELF);
|
||||
int iAdd = iLevel/3;
|
||||
int iImages = d4(1) + 3;
|
||||
|
||||
PRCRemoveEffectsFromSpell(OBJECT_SELF, GetSpellId());
|
||||
|
||||
SetLocalObject(OBJECT_SELF, "FLURRY_TARGET", oTarget);
|
||||
|
||||
FlurryEffects(OBJECT_SELF);
|
||||
|
||||
string sImage = "PC_IMAGE"+ObjectToString(OBJECT_SELF)+"flurry";
|
||||
|
||||
effect eImage = EffectCutsceneGhost();
|
||||
eImage = SupernaturalEffect(eImage);
|
||||
effect eNoSpell = EffectSpellFailure(100);
|
||||
eNoSpell = SupernaturalEffect(eNoSpell);
|
||||
|
||||
int iPlus;
|
||||
for (iPlus = 0; iPlus < iImages; iPlus++)
|
||||
{
|
||||
|
||||
object oImage = CopyObject(OBJECT_SELF, GetLocation(OBJECT_SELF), OBJECT_INVALID, sImage);
|
||||
|
||||
AssignCommand(oImage, ActionAttack(oTarget, FALSE));
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eImage, oImage);
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eNoSpell, oImage);
|
||||
|
||||
ChangeToStandardFaction(oImage, STANDARD_FACTION_DEFENDER);
|
||||
SetIsTemporaryFriend(OBJECT_SELF, oImage, FALSE);
|
||||
|
||||
DestroyObject(oImage, iLevel * 60.0); // they dissapear after one minute per level.
|
||||
}
|
||||
|
||||
CleanAllCopies();
|
||||
|
||||
object oCreature = GetFirstObjectInArea(GetArea(OBJECT_SELF));
|
||||
while (GetIsObjectValid(oCreature))
|
||||
{
|
||||
if(GetTag(oCreature) == sImage)
|
||||
{
|
||||
DelayCommand(3.0, SPMakeAttack(oTarget, oCreature));
|
||||
}
|
||||
oCreature = GetNextObjectInArea(GetArea(OBJECT_SELF));;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
// First we'll see if this target is in the flurry list.
|
||||
int i;
|
||||
string sName1 = "FLURRY_TARGET_";
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
for (i = 0 ; i < 10 ; i++)
|
||||
{
|
||||
string sName2 = sName1 + IntToString(i);
|
||||
if (GetLocalObject(OBJECT_SELF, sName2) == oTarget)
|
||||
{
|
||||
IncrementRemainingFeatUses(OBJECT_SELF, 3534); // Flurry of Swords
|
||||
FloatingTextStringOnCreature("This target has already been selected today.", OBJECT_SELF, FALSE);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (oTarget == OBJECT_SELF)
|
||||
{
|
||||
IncrementRemainingFeatUses(OBJECT_SELF, 3534); // Flurry of Swords
|
||||
FloatingTextStringOnCreature("You may not target yourself.", OBJECT_SELF, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!GetIsReactionTypeHostile(oTarget))
|
||||
{
|
||||
IncrementRemainingFeatUses(OBJECT_SELF, 3534); // Flurry of Swords
|
||||
FloatingTextStringOnCreature("You must target an enemy.", OBJECT_SELF, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
// If it's not on the flurry list, add it to the list
|
||||
int iTargets = GetLocalInt(OBJECT_SELF, "FLURRY_TARGET_NUMBER");
|
||||
sName1 = "FLURRY_TARGET_" + IntToString(iTargets);
|
||||
|
||||
SetLocalInt(OBJECT_SELF, "FLURRY_TARGET_NUMBER", iTargets + 1);
|
||||
SetLocalObject(OBJECT_SELF, sName1, oTarget);
|
||||
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, GetSpellId(), TRUE));
|
||||
|
||||
// Continue on...
|
||||
DelayCommand(0.0, RemoveExtraImages());
|
||||
DelayCommand(0.5, main2());
|
||||
}
|
Reference in New Issue
Block a user