Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
153 lines
5.8 KiB
Plaintext
153 lines
5.8 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Name Hillcrusher maintain script
|
|
//:: FileName wol_m_hillcrus
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
LEGACY ITEM PENALTIES (These do not stack. Highest takes precedence).
|
|
Attack Penalty: -1 at 6th, -2 at 13th, -3 at 18th
|
|
Fortitude Save Penalty: -1 at 7th, -2 at 9th, -3 at 15th, -4 at 20th
|
|
Hit Point Penalty: -2 at 7th, -4 at 8th, -6 at 10th, -8 at 14th, -10 at 16th
|
|
|
|
LEGACY ITEM BONUSES
|
|
6th - +1 Giant Bane heavy flail
|
|
13th - +2 Impact Giant Bane heavy flail
|
|
20th - +4 Impact Giant Bane heavy flail
|
|
|
|
LEGACY ITEM ABILITIES
|
|
Earthen Might (Sp): At 8th level, you can use enlarge person once per day, on yourself only, as a swift action. Caster level 7th.
|
|
Soften Earth (Sp): At 10th level, you can use soften earth and stone twice per day. Caster level 7th.
|
|
Fangs of Stone (Sp): Starting at 16th level, you can use sudden stalagmite twice per day. Caster level 13th.
|
|
Raise the Earth (Sp): At 17th level, you can use bones of the earth twice per day. Caster level 15th.
|
|
Shake the Earth (Sp): At 19th level, you can create an earthquake, as the spell, once per day. Caster level 17th.
|
|
*/
|
|
|
|
#include "prc_inc_template"
|
|
|
|
void main()
|
|
{
|
|
int nEvent = GetRunningEvent();
|
|
if(DEBUG) DoDebug("wol_m_whelm running, event: " + IntToString(nEvent));
|
|
|
|
// Get the PC. This is event-dependent
|
|
object oPC, oItem;
|
|
switch(nEvent)
|
|
{
|
|
case EVENT_ITEM_ONHIT: oPC = OBJECT_SELF; break;
|
|
case EVENT_ONPLAYEREQUIPITEM: oPC = GetItemLastEquippedBy(); break;
|
|
|
|
default:
|
|
oPC = OBJECT_SELF;
|
|
}
|
|
object oSkin = GetPCSkin(oPC);
|
|
int nHD = GetHitDice(oPC);
|
|
int nHPPen = 0;
|
|
object oWOL = GetItemPossessedBy(oPC, "WOL_Hillcrusher");
|
|
|
|
// You get nothing if you aren't wielding the legacy weapon
|
|
if(oWOL != GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC))
|
|
{
|
|
SetCompositeAttackBonus(oPC, "Hillcrusher_Atk", 0, ATTACK_BONUS_MISC);
|
|
SetCompositeBonus(oSkin, "Hillcrusher_SavesF", 0, ITEM_PROPERTY_DECREASED_SAVING_THROWS, IP_CONST_SAVEBASETYPE_FORTITUDE);
|
|
return;
|
|
}
|
|
|
|
// We aren't being called from any event, instead from EvalPRCFeats
|
|
if(nEvent == FALSE)
|
|
{
|
|
// 5th to 10th level abilities
|
|
if (GetHasFeat(FEAT_LEAST_LEGACY, oPC))
|
|
{
|
|
if(nHD >= 6)
|
|
{
|
|
SetCompositeAttackBonus(oPC, "Hillcrusher_Atk", -1, ATTACK_BONUS_MISC);
|
|
IPSafeAddItemProperty(oWOL, ItemPropertyAttackBonusVsRace(IP_CONST_RACIALTYPE_GIANT, 3));
|
|
IPSafeAddItemProperty(oWOL, ItemPropertyDamageBonusVsRace(IP_CONST_RACIALTYPE_GIANT, IP_CONST_DAMAGETYPE_BLUDGEONING, IP_CONST_DAMAGEBONUS_2d6));
|
|
}
|
|
if(nHD >= 7)
|
|
{
|
|
SetCompositeBonus(oSkin, "Hillcrusher_SavesF", 1, ITEM_PROPERTY_DECREASED_SAVING_THROWS, IP_CONST_SAVEBASETYPE_FORTITUDE);
|
|
nHPPen += 2;
|
|
}
|
|
if(nHD >= 8)
|
|
{
|
|
//need earthen might
|
|
IPSafeAddItemProperty(oSkin, PRCItemPropertyBonusFeat(IP_CONST_FEAT_HC_EARTHEN_MIGHT), 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
|
nHPPen += 2;
|
|
|
|
}
|
|
if(nHD >= 9)
|
|
{
|
|
SetCompositeBonus(oSkin, "Hillcrusher_SavesF", 2, ITEM_PROPERTY_DECREASED_SAVING_THROWS, IP_CONST_SAVEBASETYPE_FORTITUDE);
|
|
}
|
|
if(nHD >= 10)
|
|
{
|
|
//need soften earth
|
|
IPSafeAddItemProperty(oSkin, PRCItemPropertyBonusFeat(IP_CONST_FEAT_HC_SOFTEN_EARTH), 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
|
nHPPen += 2;
|
|
}
|
|
}
|
|
|
|
// 11th to 16th level abilities
|
|
if (GetHasFeat(FEAT_LESSER_LEGACY, oPC))
|
|
{
|
|
if(nHD >= 12)
|
|
{
|
|
|
|
}
|
|
if(nHD >= 13)
|
|
{
|
|
IPSafeAddItemProperty(oWOL, ItemPropertyEnhancementBonus(2));
|
|
IPSafeAddItemProperty(oWOL, ItemPropertyAttackBonusVsRace(IP_CONST_RACIALTYPE_GIANT, 4));
|
|
IPSafeAddItemProperty(oWOL, ItemPropertyKeen());
|
|
SetCompositeAttackBonus(oPC, "Hillcrusher_Atk", -2, ATTACK_BONUS_MISC);
|
|
}
|
|
if(nHD >= 14)
|
|
{
|
|
nHPPen += 2;
|
|
}
|
|
if(nHD >= 15)
|
|
{
|
|
SetCompositeBonus(oSkin, "Hillcrusher_SavesF", 3, ITEM_PROPERTY_DECREASED_SAVING_THROWS, IP_CONST_SAVEBASETYPE_FORTITUDE);
|
|
}
|
|
if(nHD >= 16)
|
|
{
|
|
//NEED FANGS OF STONE
|
|
IPSafeAddItemProperty(oSkin, PRCItemPropertyBonusFeat(IP_CONST_FEAT_HC_FANGS_OF_STONE), 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
|
nHPPen += 2;
|
|
}
|
|
|
|
}
|
|
// 17th+ level abilities
|
|
if (GetHasFeat(FEAT_GREATER_LEGACY, oPC))
|
|
{
|
|
if(nHD >= 17)
|
|
{
|
|
//NEED RAISE THE EARTH
|
|
IPSafeAddItemProperty(oSkin, PRCItemPropertyBonusFeat(IP_CONST_FEAT_HC_RAISE_THE_EARTH), 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
|
}
|
|
if(nHD >= 18)
|
|
{
|
|
SetCompositeAttackBonus(oPC, "Hillcrusher_Atk", -3, ATTACK_BONUS_MISC);
|
|
}
|
|
if(nHD >= 19)
|
|
{
|
|
//NEED SHAKE THE EARTH
|
|
IPSafeAddItemProperty(oSkin, PRCItemPropertyBonusFeat(IP_CONST_FEAT_HC_SHAKE_THE_EARTH), 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
|
}
|
|
if(nHD >= 20)
|
|
{
|
|
IPSafeAddItemProperty(oWOL, ItemPropertyEnhancementBonus(4));
|
|
IPSafeAddItemProperty(oWOL, ItemPropertyAttackBonusVsRace(IP_CONST_RACIALTYPE_GIANT, 6));
|
|
SetCompositeBonus(oSkin, "Hillcrusher_SavesF", 4, ITEM_PROPERTY_DECREASED_SAVING_THROWS, IP_CONST_SAVEBASETYPE_FORTITUDE);
|
|
}
|
|
}
|
|
|
|
SetLocalInt(oPC, "WoLHealthPenalty", nHPPen);
|
|
if (!GetLocalInt(oPC, "WoLHealthPenaltyHB") && nHPPen > 0)
|
|
{
|
|
WoLHealthPenaltyHB(oPC);
|
|
SetLocalInt(oPC, "WoLHealthPenaltyHB", TRUE);
|
|
}
|
|
}
|
|
|
|
} |