Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,79 +0,0 @@
|
||||
#include "prc_alterations"
|
||||
#include "prc_feat_const"
|
||||
|
||||
void main()
|
||||
{
|
||||
if (GetIsImmune(PRCGetSpellTargetObject(),IMMUNITY_TYPE_CRITICAL_HIT)) return;
|
||||
|
||||
object oWeap=GetSpellCastItem();
|
||||
|
||||
if (GetBaseItemType(oWeap)!=BASE_ITEM_SHORTSPEAR ) return;
|
||||
|
||||
|
||||
int nThreat = 20;
|
||||
|
||||
if (GetItemHasItemProperty(oWeap, ITEM_PROPERTY_KEEN) == TRUE)
|
||||
{
|
||||
nThreat = nThreat - 1;
|
||||
}
|
||||
|
||||
if (GetHasFeat(FEAT_IMPROVED_CRITICAL_SPEAR) == TRUE)
|
||||
{
|
||||
nThreat = nThreat - 1;
|
||||
}
|
||||
|
||||
int dice=d20();
|
||||
|
||||
int iDiceCritical = 2 + (GetHasFeat(FEAT_WEAPON_OF_CHOICE_SHORTSPEAR) && GetHasFeat(FEAT_INCREASE_MULTIPLIER));
|
||||
|
||||
if (dice>=nThreat)
|
||||
{
|
||||
FloatingTextStringOnCreature("Critical Hit", OBJECT_SELF);
|
||||
|
||||
if (GetHasFeat( FEAT_SHOCKING_WEAPON,OBJECT_SELF))
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(d10(iDiceCritical),DAMAGE_TYPE_ELECTRICAL,DAMAGE_POWER_NORMAL),PRCGetSpellTargetObject());
|
||||
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(d8(iDiceCritical),DAMAGE_TYPE_SONIC,DAMAGE_POWER_NORMAL),PRCGetSpellTargetObject());
|
||||
|
||||
}
|
||||
|
||||
if (GetHasSpellEffect( SPELL_DARKFIRE,oWeap))
|
||||
{
|
||||
|
||||
int nDamageType = GetLocalInt(oWeap, "X2_Wep_Dam_Type");
|
||||
int nAppearanceTypeS = VFX_IMP_FLAME_S;
|
||||
int nAppearanceTypeM = VFX_IMP_FLAME_M;
|
||||
|
||||
switch(nDamageType)
|
||||
{
|
||||
case DAMAGE_TYPE_ACID: nAppearanceTypeS = VFX_IMP_ACID_S; nAppearanceTypeM = VFX_IMP_ACID_L; break;
|
||||
case DAMAGE_TYPE_COLD: nAppearanceTypeS = VFX_IMP_FROST_S; nAppearanceTypeM = VFX_IMP_FROST_L; break;
|
||||
case DAMAGE_TYPE_ELECTRICAL: nAppearanceTypeS = VFX_IMP_LIGHTNING_S; nAppearanceTypeM =VFX_IMP_LIGHTNING_M;break;
|
||||
case DAMAGE_TYPE_SONIC: nAppearanceTypeS = VFX_IMP_SONIC; nAppearanceTypeM = VFX_IMP_SONIC; break;
|
||||
}
|
||||
|
||||
// Get Caster Level
|
||||
int nLevel = GetLocalInt(oWeap, "X2_Wep_Caster_Lvl");
|
||||
|
||||
int nDmg = d6() + (nLevel/2);
|
||||
|
||||
effect eDmg = EffectDamage(nDmg,nDamageType);
|
||||
effect eVis;
|
||||
if (nDmg<10) // if we are doing below 12 point of damage, use small flame
|
||||
{
|
||||
eVis =EffectVisualEffect(nAppearanceTypeS);
|
||||
}
|
||||
else
|
||||
{
|
||||
eVis =EffectVisualEffect(nAppearanceTypeM);
|
||||
}
|
||||
eDmg = EffectLinkEffects (eVis, eDmg);
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
if (GetIsObjectValid(oTarget))
|
||||
{
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDmg, oTarget);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user