2025/05/17 Update

Moved Oozemaster over to DoFortification()
Tweaked Master of Shrouds bonus feat list.
Remain Conscious is not a General feat.
Fixed Alienist's Phobia ability.
This commit is contained in:
Jaysyn904
2025-05-17 19:30:04 -04:00
parent 95480e23dd
commit fe853865ab
11 changed files with 344 additions and 136 deletions

View File

@@ -37,11 +37,11 @@ void main()
AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_ELECTRICAL,IP_CONST_DAMAGERESIST_20), oSkin);
AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyDamageReduction(IP_CONST_DAMAGEREDUCTION_1,IP_CONST_DAMAGESOAK_20_HP), oSkin);
AddEventScript(oPC, EVENT_ONPLAYEREQUIPITEM, "prc_alienist", TRUE, FALSE);
AddEventScript(oPC, EVENT_ONPLAYERUNEQUIPITEM, "prc_alienist", TRUE, FALSE);
/* AddEventScript(oPC, EVENT_ONPLAYEREQUIPITEM, "prc_alienist", TRUE, FALSE);
AddEventScript(oPC, EVENT_ONPLAYERUNEQUIPITEM, "prc_alienist", TRUE, FALSE); */
}
}
else if(nEvent == EVENT_ONPLAYERUNEQUIPITEM)
/* else if(nEvent == EVENT_ONPLAYERUNEQUIPITEM)
{
object oItem = GetItemLastUnequipped();
if(GetBaseItemType(oItem) != BASE_ITEM_HELMET)
@@ -70,5 +70,5 @@ void main()
SetCompositeBonus(oSkin, "Trans_persuade", 0, ITEM_PROPERTY_SKILL_BONUS, SKILL_PERSUADE);
SetCompositeBonus(oSkin, "Trans_umd", 0, ITEM_PROPERTY_SKILL_BONUS, SKILL_USE_MAGIC_DEVICE);
SetCompositeBonus(oSkin, "Trans_iaijutsu", 0, ITEM_PROPERTY_SKILL_BONUS, SKILL_IAIJUTSU_FOCUS);
}
} */
}

View File

@@ -515,7 +515,25 @@ void PRCFeat_AddMagicalBonuses(object oPC, object oSkin)
{
int nPenalty = GetHasFeat(FEAT_INSANE_CERTAINTY, oPC) ? 6 : 2;
int nRace = GetPhobiaRace(GetPhobia(oPC));
effect ePhob = EffectSavingThrowDecrease(SAVING_THROW_TYPE_ALL, nPenalty);
effect ePhobia;
ePhobia = VersusRacialTypeEffect(EffectSkillDecrease(nPenalty, SKILL_INTIMIDATE), nRace);
ePhobia = EffectLinkEffects(ePhobia, VersusRacialTypeEffect(EffectSkillDecrease(nPenalty, SKILL_ANIMAL_EMPATHY), nRace));
ePhobia = EffectLinkEffects(ePhobia, VersusRacialTypeEffect(EffectSkillDecrease(nPenalty, SKILL_BLUFF), nRace));
ePhobia = EffectLinkEffects(ePhobia, VersusRacialTypeEffect(EffectSkillDecrease(nPenalty, SKILL_INTIMIDATE), nRace));
ePhobia = EffectLinkEffects(ePhobia, VersusRacialTypeEffect(EffectSkillDecrease(nPenalty, SKILL_PERFORM), nRace));
ePhobia = EffectLinkEffects(ePhobia, VersusRacialTypeEffect(EffectSkillDecrease(nPenalty, SKILL_PERSUADE), nRace));
ePhobia = EffectLinkEffects(ePhobia, VersusRacialTypeEffect(EffectSkillDecrease(nPenalty, SKILL_USE_MAGIC_DEVICE), nRace));
ePhobia = EffectLinkEffects(ePhobia, VersusRacialTypeEffect(EffectSkillDecrease(nPenalty, SKILL_IAIJUTSU_FOCUS), nRace));
ePhobia = EffectLinkEffects(ePhobia, VersusRacialTypeEffect(EffectSavingThrowDecrease(SAVING_THROW_TYPE_ALL, nPenalty), nRace));
ePhobia = EffectLinkEffects(ePhobia, VersusRacialTypeEffect(EffectAttackDecrease(nPenalty), nRace));
ePhobia = TagEffect(ePhobia, "ALIENIST_PHOBIA");
ePhobia = UnyieldingEffect(ePhobia);
eFeat = EffectLinkEffects(eFeat, ePhobia);
/* effect ePhob = EffectSavingThrowDecrease(SAVING_THROW_TYPE_ALL, nPenalty);
ePhob = EffectLinkEffects(ePhob, EffectAttackDecrease(nPenalty));
ePhob = EffectLinkEffects(ePhob, EffectSkillDecrease(SKILL_ANIMAL_EMPATHY, nPenalty));
ePhob = EffectLinkEffects(ePhob, EffectSkillDecrease(SKILL_INTIMIDATE, nPenalty));
@@ -524,8 +542,9 @@ void PRCFeat_AddMagicalBonuses(object oPC, object oSkin)
ePhob = EffectLinkEffects(ePhob, EffectSkillDecrease(SKILL_USE_MAGIC_DEVICE, nPenalty));
ePhob = EffectLinkEffects(ePhob, EffectSkillDecrease(SKILL_IAIJUTSU_FOCUS, nPenalty));
ePhob = VersusRacialTypeEffect(ePhob, nRace);
eFeat = EffectLinkEffects(eFeat, ePhob);
}
eFeat = EffectLinkEffects(eFeat, ePhob); */
}
if(GetHasFeat(FEAT_SH_IMMUNITY_ABILITY_DECREASE, oPC) && !GetHasFeat(FEAT_SH_IMMUNITY_LEVEL_DRAIN))
eFeat = EffectLinkEffects(eFeat, EffectImmunity(IMMUNITY_TYPE_ABILITY_DECREASE));
if(GetHasFeat(FEAT_SH_IMMUNITY_DISEASE, oPC))//skullclan hunter gets protection from evil at this level

View File

@@ -8,10 +8,7 @@
//:: Created By: DarkGod (Modified by Aaon Graywolf)
//:: Created On: Jan 7, 2004
//:://////////////////////////////////////////////
#include "prc_class_const"
#include "prc_feat_const"
#include "inc_item_props"
#include "prc_inc_spells"
// * Applies the Oozemasters's immunities on the object's skin.
// * iType = IP_CONST_IMMUNITYMISC_*
@@ -38,24 +35,60 @@ void OozemasterCharismaPenatly(object oPC, object oSkin)
void main()
{
//Declare main variables.
object oPC = OBJECT_SELF;
int nEvent = GetRunningEvent();
object oPC;
switch(nEvent)
{
case EVENT_ONHEARTBEAT: oPC = OBJECT_SELF; break;
default:
oPC = OBJECT_SELF;
}
object oSkin = GetPCSkin(oPC);
AddEventScript(oPC, EVENT_ONHEARTBEAT, "prc_oozemstr", TRUE, FALSE);
//Determine which Oozemaster feats the character has
int bIdAnat = GetHasFeat(FEAT_INDISCERNIBLE_ANATOMY, oPC);
int bChaPen = GetHasFeat(FEAT_CHARISMA_PENALITY, oPC);
int bOneOz = GetHasFeat(FEAT_ONE_WITH_THE_OOZE, oPC);
//Apply bonuses accordingly
if(bIdAnat){
int nClass = GetLevelByClass(CLASS_TYPE_OOZEMASTER, oPC);
if(nEvent == EVENT_ONHEARTBEAT)
{
//Apply bonuses accordingly
if(bIdAnat)
{
if (nClass > 5 && nClass < 10)
{
int bFortification = GetLocalInt(oPC, "LIGHT_FORTIFCATION_ACTIVE");
if (!bFortification)
{
DoFortification(oPC, FORTIFICATION_LIGHT);
SetLocalInt(oPC, "LIGHT_FORTIFCATION_ACTIVE", 1);
if(DEBUG) DoDebug("prc_oozemstr >> DoFortification() activated.");
}
}
}
/* if(bIdAnat){
OozemasterImmunity(oPC, oSkin, IP_CONST_IMMUNITYMISC_CRITICAL_HITS, "IndiscernibleCrit");
OozemasterImmunity(oPC, oSkin, IP_CONST_IMMUNITYMISC_BACKSTAB, "IndiscernibleBS");
}
if(bOneOz){
OozemasterImmunity(oPC, oSkin, IP_CONST_IMMUNITYMISC_MINDSPELLS, "OneOozeMind");
OozemasterImmunity(oPC, oSkin, IP_CONST_IMMUNITYMISC_POISON, "OneOozePoison");
OozemasterImmunity(oPC, oSkin, IP_CONST_IMMUNITYMISC_PARALYSIS, "OneOozePoison");
}
*/
}
else
{
if(bOneOz)
{
OozemasterImmunity(oPC, oSkin, IP_CONST_IMMUNITYMISC_MINDSPELLS, "OneOozeMind");
OozemasterImmunity(oPC, oSkin, IP_CONST_IMMUNITYMISC_POISON, "OneOozePoison");
OozemasterImmunity(oPC, oSkin, IP_CONST_IMMUNITYMISC_PARALYSIS, "OneOozePoison");
OozemasterImmunity(oPC, oSkin, IP_CONST_IMMUNITYMISC_CRITICAL_HITS, "IndiscernibleCrit");
OozemasterImmunity(oPC, oSkin, IP_CONST_IMMUNITYMISC_BACKSTAB, "IndiscernibleBS");
}
//if(bChaPen) OozemasterCharismaPenatly(oPC, oSkin);
}
}
}