2025/07/08 Afternoon update
Added WotC source for the werewolf class to Notes folder. Eldritch Blast should be unlimited uses per day. Avariel & Feyri should get wings after CharGen. Added Avariel & Feyri to PRCIsFlying(). Maybe fixed Whirling Blade. Updated Superb Dispelling TLK.
This commit is contained in:
parent
ba20411a61
commit
358b36350a
Binary file not shown.
@ -4460,8 +4460,8 @@
|
||||
4456 minstrel_song_wisdom 16823470 16823487 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 23 **** 2154 **** 0.5 **** 105 1 **** **** **** **** **** **** **** **** **** FEAT_MINSTREL_SONG_WISDOM 5 **** **** **** **** **** 0 1
|
||||
4457 minstrel_song_charisma 16823471 16823488 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 23 **** 2155 **** 0.5 **** 105 1 **** **** **** **** **** **** **** **** **** FEAT_MINSTREL_SONG_CHARISMA 5 **** **** **** **** **** 0 1
|
||||
4458 minstrel_song_wound_whisp 16823111 16823489 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 23 **** 2156 **** 0.5 **** 105 1 **** **** **** **** **** **** **** **** **** FEAT_MINSTREL_SONG_WOUND_WHISP 5 **** **** **** **** **** 0 1
|
||||
4459 Warlock_Imbue_Item 16827950 16827951 ife_imbueitem **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 2082 **** 0.5 -1 **** **** **** **** **** **** **** **** **** **** **** FEAT_IMBUE_ITEM 6 1 **** **** **** **** 0 1
|
||||
4460 Warlock_Eldritch_Blast 16827948 16827949 inv_eldrtchblast **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 2083 **** 0.5 -1 **** **** **** **** **** **** **** **** **** **** **** FEAT_ELDRITCH_BLAST 6 1 **** **** **** **** 0 1
|
||||
4459 Warlock_Imbue_Item 16827950 16827951 ife_imbueitem **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 2082 **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_IMBUE_ITEM 6 1 **** **** **** **** 0 1
|
||||
4460 Warlock_Eldritch_Blast 16827948 16827949 inv_eldrtchblast **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 2083 **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_ELDRITCH_BLAST 6 1 **** **** **** **** 0 1
|
||||
4461 Warlock_Resist_Acid 16827938 16827943 ife_X2EnrRsA1 **** **** **** **** **** **** **** **** **** **** 0 0 0 23 **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WARLOCK_RESIST_ACID 5 **** **** **** **** **** 0 1
|
||||
4462 Warlock_Resist_Cold 16827939 16827943 ife_X2EnrRsC1 **** **** **** **** **** **** **** **** **** **** 0 0 0 23 **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WARLOCK_RESIST_COLD 5 **** **** **** **** **** 0 1
|
||||
4463 Warlock_Resist_Elec 16827940 16827943 ife_X2EnrRsE1 **** **** **** **** **** **** **** **** **** **** 0 0 0 23 **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WARLOCK_RESIST_ELEC 5 **** **** **** **** **** 0 1
|
||||
|
@ -246,7 +246,7 @@ int GetSpellFromAbrev(string sAbrev)
|
||||
sAbrev = GetStringLowerCase(sAbrev);
|
||||
if(GetStringLeft(sAbrev, 8) == "epic_sp_")
|
||||
sAbrev = GetStringRight(sAbrev, GetStringLength(sAbrev)-8);
|
||||
if(DEBUG) DoDebug("sAbrew to check vs: " + sAbrev);
|
||||
if(DEBUG) DoDebug("sAbrev to check vs: " + sAbrev);
|
||||
int i = 0;
|
||||
string sLabel = GetStringLowerCase(Get2DACache("epicspells", "LABEL", i));
|
||||
while(sLabel != "")
|
||||
|
@ -375,6 +375,12 @@ int PRCIsFlying(object oCreature)
|
||||
if(GetRacialType(oCreature) == RACIAL_TYPE_GLOURA)
|
||||
bFlying = TRUE;
|
||||
|
||||
if(GetRacialType(oCreature) == RACIAL_TYPE_AVARIEL)
|
||||
bFlying = TRUE;
|
||||
|
||||
if(GetRacialType(oCreature) == RACIAL_TYPE_FEYRI)
|
||||
bFlying = TRUE;
|
||||
|
||||
if(GetRacialType(oCreature) == RACIAL_TYPE_SPIRETOPDRAGON)
|
||||
bFlying = TRUE;
|
||||
|
||||
|
@ -455,6 +455,14 @@ void main()
|
||||
if(GetRacialType(oPC) == RACIAL_TYPE_GLOURA)
|
||||
{
|
||||
SetCreatureWingType(CREATURE_WING_TYPE_BUTTERFLY, oPC);
|
||||
}
|
||||
if(GetRacialType(oPC) == RACIAL_TYPE_AVARIEL)
|
||||
{
|
||||
SetCreatureWingType(CREATURE_WING_TYPE_BIRD, oPC);
|
||||
}
|
||||
if(GetRacialType(oPC) == RACIAL_TYPE_FEYRI)
|
||||
{
|
||||
SetCreatureWingType(CREATURE_WING_TYPE_DEMON, oPC);
|
||||
}
|
||||
if(GetRacialType(oPC) == RACIAL_TYPE_JAEBRIN)
|
||||
{
|
||||
|
@ -45,27 +45,68 @@ Created: 7/6/07
|
||||
//:://////////////////////////////////////////////
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
/* void PerformAttack(object oDefender, object oAttacker,
|
||||
effect eSpecialEffect, float eDuration = 0.0, int iAttackBonusMod = 0,
|
||||
int iDamageModifier = 0, int iDamageType = 0,
|
||||
string sMessageSuccess = "", string sMessageFailure = "",
|
||||
int iTouchAttackType = FALSE,
|
||||
object oRightHandOverride = OBJECT_INVALID, object oLeftHandOverride = OBJECT_INVALID,
|
||||
int nHandednessOverride = 0, int bCombatModeFlags = 0); // motu99: changed default of nHandednessOverride to FALSE (was -1) */
|
||||
|
||||
#include "prc_inc_combat"
|
||||
|
||||
int GetIsSlashingWeapon(object oItem)
|
||||
{
|
||||
int iWeapType = StringToInt(Get2DACache("baseitems", "WeaponType", GetBaseItemType(oItem)));
|
||||
|
||||
if (iWeapType == 3 || iWeapType == 4) // slashing or slashing & piercing
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
if(!X2PreSpellCastCode()) return;
|
||||
|
||||
PRCSetSchool(SPELL_SCHOOL_TRANSMUTATION);
|
||||
|
||||
object oPC = OBJECT_SELF;
|
||||
vector vOrigin = GetPosition(oPC);
|
||||
location lTarget = PRCGetSpellTargetLocation();
|
||||
object oPC = OBJECT_SELF;
|
||||
|
||||
object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
|
||||
|
||||
int bSlashing = GetIsSlashingWeapon(oWeapon);
|
||||
|
||||
if(!bSlashing)
|
||||
{
|
||||
SendMessageToPC(oPC, "This spell requires a slashing weapon in the spellcaster's right hand.");
|
||||
return;
|
||||
}
|
||||
|
||||
int nClass = GetLastSpellCastClass();
|
||||
int nStatMod = GetDCAbilityModForClass(nClass, oPC);
|
||||
int nStatBonus = GetAbilityModifier(nStatMod);
|
||||
|
||||
vector vOrigin = GetPosition(oPC);
|
||||
|
||||
location lTarget = PRCGetSpellTargetLocation();
|
||||
|
||||
float fLength = FeetToMeters(60.0);
|
||||
|
||||
effect eNone;
|
||||
object oTarget = MyFirstObjectInShape(SHAPE_SPELLCYLINDER, FeetToMeters(60.0f), lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE, vOrigin);
|
||||
|
||||
SetLocalInt(oPC, "WhirlingBlade", TRUE);
|
||||
|
||||
object oTarget = MyFirstObjectInShape(SHAPE_SPELLCYLINDER, fLength, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE, vOrigin);
|
||||
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(!GetIsReactionTypeFriendly(oTarget, oPC))
|
||||
if (oTarget != oPC && GetIsReactionTypeHostile(oTarget, oPC))
|
||||
{
|
||||
PerformAttack(oTarget, oPC, eNone);
|
||||
DelayCommand(0.0, PerformAttack(oTarget, oPC, eNone, 0.0, nStatBonus, 0, 0, "Whirling Blade: Hit!", "Whirling Blade: Miss!"));
|
||||
}
|
||||
oTarget = MyNextObjectInShape(SHAPE_SPELLCYLINDER, FeetToMeters(60.0f), lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE, vOrigin);
|
||||
oTarget = MyNextObjectInShape(SHAPE_SPELLCYLINDER, fLength, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE, vOrigin);
|
||||
}
|
||||
DelayCommand(1.0f, DeleteLocalInt(oPC, "WhirlingBlade"));
|
||||
PRCSetSchool();
|
||||
}
|
@ -46467,8 +46467,7 @@ Duration: Instantaneous
|
||||
Saving Throw: None
|
||||
Spell Resistance: No
|
||||
|
||||
Because magic is powerful, so, too, is the ability to dispel magic. You can use Superb Dispelling to end ongoing spells that have been cast on a creature or object, or to end ongoing spells within an area.
|
||||
One object, creature, or affected area is the target of the spell. You make a dispel check against the spell currently in effect on the target. A dispel check is 1d20 + 1 per caster level (maximum +40) against a DC of 11 + the spells caster level. If successful, the target's effects are dispelled.</entry>
|
||||
As greater dispel magic, except that the maximum bonus on the dispel check is +40, and the character takes 10d6 points of backlash damage.</entry>
|
||||
<entry id="56287" lang="en" sex="m">Epic Spell: Symrustar's Spellbinding</entry>
|
||||
<entry id="56288" lang="en" sex="m">Researched Epic Spell: Symrustar's Spellbinding</entry>
|
||||
<entry id="56289" lang="en" sex="m">School: Enchantment
|
||||
|
Loading…
x
Reference in New Issue
Block a user