2025/08/24 Afternoon Update
Blood in the Water now has proper duration for non-Bloodclaw Masters. GetIsOnHitCastSpell() now tracks if something is a weapon better. Fixed bad line breaks in TLK.
This commit is contained in:
parent
c86a6645b0
commit
79104964db
@ -808,7 +808,24 @@ int GetIsOnHitCastSpell(object oSpellTarget = OBJECT_INVALID, object oSpellCastI
|
||||
if (DEBUG) DoDebug("GetIsOnHitCastSpell: item "+GetName(oSpellCastItem)+" is armor; attacker = "+GetName(oAttacker)+", defender = "+GetName(oDefender));
|
||||
}
|
||||
// is the spell type item a weapon?
|
||||
else if (iWeaponType == StringToInt(Get2DACache("baseitems", "WeaponType", iBaseType)))
|
||||
int nWT = StringToInt(Get2DACache("baseitems", "WeaponType", iBaseType));
|
||||
if (nWT > 0)
|
||||
{
|
||||
if (oSpellTarget == OBJECT_INVALID)
|
||||
oSpellTarget = PRCGetSpellTargetObject(oSpellOrigin);
|
||||
|
||||
oAttacker = oSpellOrigin;
|
||||
oDefender = oSpellTarget;
|
||||
|
||||
if (DEBUG) DoDebug("GetIsOnHitCastSpell: item "+GetName(oSpellCastItem)+" is weapon [WT="+IntToString(nWT)+"]; attacker="+GetName(oAttacker)+", defender="+GetName(oDefender));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (DEBUG) DoDebug("GetIsOnHitCastSpell: item "+GetName(oSpellCastItem)+" is neither weapon nor armor; returning FALSE");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* else if (iWeaponType == StringToInt(Get2DACache("baseitems", "WeaponType", iBaseType)))
|
||||
{
|
||||
// determine the target, if not already given
|
||||
if (oSpellTarget == OBJECT_INVALID)
|
||||
@ -823,7 +840,7 @@ int GetIsOnHitCastSpell(object oSpellTarget = OBJECT_INVALID, object oSpellCastI
|
||||
{
|
||||
if (DEBUG) DoDebug("GetIsOnHitCastSpell: item "+GetName(oSpellCastItem)+" is neither weapon nor armor; returning FALSE");
|
||||
return FALSE;
|
||||
}
|
||||
} */
|
||||
|
||||
|
||||
// the spell origin must possess the item that cast the spell (at least for the aurora engine, in prc_inc_combat that may differ)
|
||||
|
@ -28,6 +28,77 @@
|
||||
//#include "prc_alterations"
|
||||
|
||||
void main()
|
||||
{
|
||||
if (!PreManeuverCastCode())
|
||||
{
|
||||
// If code within the PreManeuverCastCode (i.e. UMD) reports FALSE, do not run this spell
|
||||
return;
|
||||
}
|
||||
|
||||
// End of Spell Cast Hook
|
||||
object oInitiator = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
struct maneuver move = EvaluateManeuver(oInitiator, oTarget);
|
||||
|
||||
if(move.bCanManeuver)
|
||||
{
|
||||
object oItem = IPGetTargetedOrEquippedMeleeWeapon();
|
||||
// Add the OnHit
|
||||
IPSafeAddItemProperty(
|
||||
oItem,
|
||||
ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_ONHIT_UNIQUEPOWER, 1),
|
||||
9999.0,
|
||||
X2_IP_ADDPROP_POLICY_KEEP_EXISTING,
|
||||
FALSE,
|
||||
FALSE
|
||||
);
|
||||
|
||||
// build stance effects
|
||||
effect eDur;
|
||||
effect eTmp;
|
||||
int nHasEffect = 0;
|
||||
|
||||
// --- add harmless anchor so chain persists ---
|
||||
eDur = EffectLinkEffects(EffectAttackIncrease(1), EffectAttackDecrease(1));
|
||||
nHasEffect = 1;
|
||||
|
||||
if (GetHasDefensiveStance(oInitiator, DISCIPLINE_TIGER_CLAW))
|
||||
{
|
||||
eTmp = EffectSavingThrowIncrease(SAVING_THROW_ALL, 2, SAVING_THROW_TYPE_ALL);
|
||||
if (nHasEffect == 0) { eDur = eTmp; nHasEffect = 1; }
|
||||
else eDur = EffectLinkEffects(eDur, eTmp);
|
||||
}
|
||||
|
||||
if (GetLevelByClass(CLASS_TYPE_BLOODCLAW_MASTER, oInitiator) >= 2)
|
||||
{
|
||||
eTmp = EffectMovementSpeedIncrease(33);
|
||||
if (nHasEffect == 0) { eDur = eTmp; nHasEffect = 1; }
|
||||
else eDur = EffectLinkEffects(eDur, eTmp);
|
||||
|
||||
eTmp = EffectACIncrease(1);
|
||||
if (nHasEffect == 0) { eDur = eTmp; nHasEffect = 1; }
|
||||
else eDur = EffectLinkEffects(eDur, eTmp);
|
||||
}
|
||||
|
||||
if (GetLocalInt(oInitiator, "TigerFangSharpClaw"))
|
||||
{
|
||||
eTmp = EffectDamageIncrease(DAMAGE_BONUS_1, DAMAGE_TYPE_BASE_WEAPON);
|
||||
if (nHasEffect == 0) { eDur = eTmp; nHasEffect = 1; }
|
||||
else eDur = EffectLinkEffects(eDur, eTmp);
|
||||
}
|
||||
|
||||
// apply stance bonuses permanently (cleared by your stance removal code elsewhere)
|
||||
if (nHasEffect)
|
||||
SPApplyEffectToObject(DURATION_TYPE_PERMANENT, ExtraordinaryEffect(eDur), oTarget);
|
||||
|
||||
// stance activation VFX, lasts one round only
|
||||
effect eVFX = EffectVisualEffect(VFX_DUR_PROTECTION_EVIL_MAJOR);
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVFX, oTarget, RoundsToSeconds(1));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* void main()
|
||||
{
|
||||
if (!PreManeuverCastCode())
|
||||
{
|
||||
@ -59,4 +130,4 @@ void main()
|
||||
SPApplyEffectToObject(DURATION_TYPE_PERMANENT, ExtraordinaryEffect(eDur), oTarget);
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVFX, oTarget, 6.0f);
|
||||
}
|
||||
}
|
||||
} */
|
@ -73549,8 +73549,7 @@ Badger
|
||||
Dire Rat
|
||||
Dog
|
||||
Hawk
|
||||
Tiny Viper
|
||||
</entry>
|
||||
Tiny Viper</entry>
|
||||
<entry id="199002" lang="en" sex="m">Summon Dire Badger</entry>
|
||||
<entry id="199003" lang="en" sex="m">Summon Dire Rat</entry>
|
||||
<entry id="199004" lang="en" sex="m">Summon Dog</entry>
|
||||
@ -73581,8 +73580,7 @@ Dire Badger
|
||||
Cooshee
|
||||
Wolf
|
||||
Small Viper
|
||||
Black Bear
|
||||
</entry>
|
||||
Black Bear</entry>
|
||||
<entry id="199016" lang="en" sex="m">Summon Dire Boar</entry>
|
||||
<entry id="199017" lang="en" sex="m">Summon Cooshee</entry>
|
||||
<entry id="199018" lang="en" sex="m">Summon Wolf</entry>
|
||||
@ -73612,8 +73610,7 @@ Brown Bear
|
||||
Dire Wolf
|
||||
Large Viper
|
||||
Leopard
|
||||
Satyr [without pipes]
|
||||
</entry>
|
||||
Satyr [without pipes]</entry>
|
||||
<entry id="199030" lang="en" sex="m">Summon Brown Bear</entry>
|
||||
<entry id="199031" lang="en" sex="m">Summon Dire Wolf</entry>
|
||||
<entry id="199032" lang="en" sex="m">Summon Large Viper</entry>
|
||||
@ -73673,8 +73670,7 @@ Medium Air Elemental
|
||||
Medium Earth Elemental
|
||||
Medium Fire Elemental
|
||||
Medium Water Elemental
|
||||
Dire Bear
|
||||
</entry>
|
||||
Dire Bear</entry>
|
||||
<entry id="199058" lang="en" sex="m">Summon Medium Air Elemental</entry>
|
||||
<entry id="199059" lang="en" sex="m">Summon Medum Earth Elemental</entry>
|
||||
<entry id="199060" lang="en" sex="m">Summon Medium Fire Elemental</entry>
|
||||
@ -73704,8 +73700,7 @@ Large Air Elemental
|
||||
Large Earth Elemental
|
||||
Large Fire Elemental
|
||||
Large Water Elemental
|
||||
Dire Tiger
|
||||
</entry>
|
||||
Dire Tiger</entry>
|
||||
<entry id="199072" lang="en" sex="m">Summon Large Air Elemental</entry>
|
||||
<entry id="199073" lang="en" sex="m">Summon Large Earth Elemental</entry>
|
||||
<entry id="199074" lang="en" sex="m">Summon Large Fire Elemental</entry>
|
||||
@ -73718,8 +73713,7 @@ Dire Tiger
|
||||
<entry id="199081" lang="en" sex="m">Summon Nature's Ally VI (15)</entry>
|
||||
<entry id="199082" lang="en" sex="m">Summon Nature's Ally VI (20)</entry>
|
||||
<entry id="199083" lang="en" sex="m">****</entry>
|
||||
<entry id="199084" lang="en" sex="m">Summon Nature's Ally VII
|
||||
</entry>
|
||||
<entry id="199084" lang="en" sex="m">Summon Nature's Ally VII</entry>
|
||||
<entry id="199085" lang="en" sex="m">Conjuration (Summoning)
|
||||
Level: Druid 7, Shaman 7
|
||||
Components: V, S, DF
|
||||
@ -73749,8 +73743,7 @@ Manitcore</entry>
|
||||
<entry id="199095" lang="en" sex="m">Summon Nature's Ally VII (15)</entry>
|
||||
<entry id="199096" lang="en" sex="m">Summon Nature's Ally VII (20)</entry>
|
||||
<entry id="199097" lang="en" sex="m">****</entry>
|
||||
<entry id="199098" lang="en" sex="m">Summon Nature's Ally VIII
|
||||
</entry>
|
||||
<entry id="199098" lang="en" sex="m">Summon Nature's Ally VIII</entry>
|
||||
<entry id="199099" lang="en" sex="m">Conjuration (Summoning)
|
||||
Level: Druid 8, Shaman 8
|
||||
Components: V, S, DF
|
||||
@ -75687,8 +75680,7 @@ Use: Automatic</entry>
|
||||
<entry id="212001" lang="en" sex="m">Type of Feat: Item Creation
|
||||
You store a divine spell within a specially prepared herb
|
||||
Prerequisites: Lore 4 ranks, divine spellcaster level 3rd.
|
||||
Benefit: You create an infusion of any divine spell available to you. Infusing an herb with a spell takes one day. When you create an infusion, you set the caster level,
|
||||
which must be sufficient to cast the spell in question but not higher than your own level. The base price of an infusion is its spell level times its caster level times 50 gp. To create an infusion, you must spend 1/25 of this base price in XP and use up raw materials costing one-half this base price. Any infusion that stores a spell with a costly material component or an XP cost also carries a commensurate cost. In addition to the costs derived from the base price, you must also expend the material component or pay the XP when creating the infusion</entry>
|
||||
Benefit: You create an infusion of any divine spell available to you. Infusing an herb with a spell takes one day. When you create an infusion, you set the caster level, which must be sufficient to cast the spell in question but not higher than your own level. The base price of an infusion is its spell level times its caster level times 50 gp. To create an infusion, you must spend 1/25 of this base price in XP and use up raw materials costing one-half this base price. Any infusion that stores a spell with a costly material component or an XP cost also carries a commensurate cost. In addition to the costs derived from the base price, you must also expend the material component or pay the XP when creating the infusion</entry>
|
||||
<entry id="212002" lang="en" sex="m">Magical Artisian: Create Infusion</entry>
|
||||
<entry id="212003" lang="en" sex="m">****</entry>
|
||||
<entry id="212004" lang="en" sex="m">Mundane Herb</entry>
|
||||
@ -76235,4 +76227,4 @@ Specifics: You gain a +4 perfection bonus on Will saving throws against charm an
|
||||
<entry id="213330" lang="en" sex="m">Type of Feat: Exalted
|
||||
Prerequisite: Wis 13+
|
||||
Specifics: You gain a +2 bonus on saving throws to resist any fear effect, despair effect (such as the crushing despair spell), or similar mind-affecting condition, but not charms or compulsions (such as the charm person and dominate person spells)</entry>
|
||||
</tlk>
|
||||
</tlk>
|
Loading…
x
Reference in New Issue
Block a user