Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,123 +0,0 @@
|
||||
/*
|
||||
----------------
|
||||
Deathmark
|
||||
|
||||
tob_dw_dthmrk
|
||||
----------------
|
||||
|
||||
15/07/07 by Stratovarius
|
||||
*/ /** @file
|
||||
|
||||
Deathmark
|
||||
|
||||
Desert Wind (Strike) [Fire]
|
||||
Level: Swordsage 3
|
||||
Initiation Action: 1 Standard Action
|
||||
Range: Melee Attack
|
||||
Target: One Creature
|
||||
Area: Variable.
|
||||
Saving Throw: Reflex half, see text.
|
||||
|
||||
As your weapon strikes your foe, his body convulses as waves of flame run down
|
||||
your blade into his body. The fire causes him to briefly glow with a brilliant
|
||||
internal fire before the flames erupt from his body in a terrible explosion.
|
||||
|
||||
When you strike your foe, all creatures in the area (see table below) take 6d6 fire damage,
|
||||
Reflex save for half. You are immune to this effect.
|
||||
This maneuver is a supernatural maneuver.
|
||||
|
||||
Size Radius
|
||||
Small or Less 5'
|
||||
Medium 10'
|
||||
Large 20'
|
||||
Huge 30'
|
||||
Gargantuan 40'
|
||||
Colossal 50'
|
||||
*/
|
||||
|
||||
#include "tob_inc_move"
|
||||
#include "tob_movehook"
|
||||
|
||||
float DoDeathmarkArea(object oTarget)
|
||||
{
|
||||
float fDist = 0.0;
|
||||
int nSize = PRCGetCreatureSize(oTarget);
|
||||
if (nSize == CREATURE_SIZE_SMALL || nSize == CREATURE_SIZE_TINY || nSize == CREATURE_SIZE_FINE || nSize == CREATURE_SIZE_DIMINUTIVE)
|
||||
fDist = 5.0;
|
||||
else if (nSize == CREATURE_SIZE_MEDIUM)
|
||||
fDist = 10.0;
|
||||
else if (nSize == CREATURE_SIZE_LARGE)
|
||||
fDist = 20.0;
|
||||
else if (nSize == CREATURE_SIZE_HUGE)
|
||||
fDist = 30.0;
|
||||
else if (nSize == CREATURE_SIZE_GARGANTUAN)
|
||||
fDist = 40.0;
|
||||
else if (nSize == CREATURE_SIZE_COLOSSAL)
|
||||
fDist = 50.0;
|
||||
|
||||
return fDist;
|
||||
}
|
||||
|
||||
void Deathmark(object oInitiator, object oTarget)
|
||||
{
|
||||
if (GetLocalInt(oTarget, "PRCCombat_StruckByAttack"))
|
||||
{
|
||||
location lTarget = GetLocation(oTarget);
|
||||
float fDist = DoDeathmarkArea(oTarget);
|
||||
//FloatingTextStringOnCreature("Deathmark Area "+FloatToString(fDist), oInitiator);
|
||||
int nDC = 13 + GetAbilityModifier(ABILITY_WISDOM, oInitiator);
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_S);
|
||||
|
||||
//Get the first target in the radius around the caster
|
||||
oTarget = MyFirstObjectInShape(SHAPE_SPHERE, FeetToMeters(fDist), lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
|
||||
//FloatingTextStringOnCreature("Deathmark First Target "+GetName(oTarget), oInitiator);
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
//FloatingTextStringOnCreature("Deathmark Target is Valid "+GetName(oTarget), oInitiator);
|
||||
if(oTarget != oInitiator)
|
||||
{
|
||||
//FloatingTextStringOnCreature("Deathmark Target isn't Initiator", oInitiator);
|
||||
SignalEvent(oTarget, EventSpellCastAt(oInitiator, GetSpellId()));
|
||||
int nDamage = d6(6);
|
||||
if (GetLocalInt(oInitiator, "DesertFire")) nDamage += d6();
|
||||
//Run the damage through the various reflex save and evasion feats
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_FIRE);
|
||||
if(nDamage > 0)
|
||||
{
|
||||
//FloatingTextStringOnCreature("Deathmark Burning", oInitiator);
|
||||
effect eFire = EffectDamage(nDamage, DAMAGE_TYPE_FIRE);
|
||||
// Apply effects to the currently selected target.
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eFire, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
||||
//Get the next target in the specified area around the caster
|
||||
oTarget = MyNextObjectInShape(SHAPE_SPHERE, FeetToMeters(fDist), lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void TOBAttack(object oTarget, object oInitiator)
|
||||
{
|
||||
//FloatingTextStringOnCreature("Deathmark TOBAttack", oInitiator);
|
||||
effect eNone;
|
||||
PerformAttack(oTarget, oInitiator, eNone, 0.0, 0, 0, 0, "Deathmark Hit", "Deathmark Miss");
|
||||
Deathmark(oInitiator, oTarget);
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
if (!PreManeuverCastCode())
|
||||
{
|
||||
// If code within the PreManeuverCastCode (i.e. UMD) reports FALSE, do not run this spell
|
||||
return;
|
||||
}
|
||||
object oInitiator = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
struct maneuver move = EvaluateManeuver(oInitiator, oTarget);
|
||||
|
||||
if(move.bCanManeuver)
|
||||
{
|
||||
DelayCommand(0.0, TOBAttack(oTarget, oInitiator));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user