Exalted update

Updated Vow of Poverty. Added Sanctify Ki Strike, Holy Strike, Fist of Heavens, Vow of Abstinence, Vow of Chastity & Gift of Faith.  (@fenac).  Turned off the Taunt & Parry skills.  Re-disabled AC & save bonuses from Tumble & Spellcraft.   Updated min() & max() to PRCmin() & PRCmax() to not conflict with similarly named NUI adjacent functions.  Set Point Blank Shot to 30' per PnP.  Added icon for Chosen of Evil.  Started work on Hidden Talent.  Created Psionics function cheatsheet.  Updated release archive.
This commit is contained in:
Jaysyn904
2025-01-29 22:46:38 -05:00
parent 370b29e917
commit e641b42f84
209 changed files with 1893 additions and 926 deletions

View File

@@ -123,7 +123,7 @@ void EurynomePoisonBloodDelay(object oBinder, object oTarget, int nDC)
{
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_POISON))
{
int nDice = min(5, GetBinderLevel(oBinder, VESTIGE_EURYNOME)/3);
int nDice = PRCMin(5, GetBinderLevel(oBinder, VESTIGE_EURYNOME)/3);
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_ACID_S), oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(d6(nDice), DAMAGE_TYPE_ACID), oTarget);
}

View File

@@ -15,7 +15,7 @@ void main()
{
object oBinder = OBJECT_SELF;
int nKSSLvl = GetLevelByClass(CLASS_TYPE_KNIGHT_SACRED_SEAL, oBinder);
int nCHAmod = max(1, GetAbilityModifier(ABILITY_CHARISMA, oBinder));
int nCHAmod = PRCMax(1, GetAbilityModifier(ABILITY_CHARISMA, oBinder));
int nSpellID = PRCGetSpellId();
if(GetIsPatronVestigeBound(oBinder))

View File

@@ -29,7 +29,7 @@ void main()
if(!BindAbilCooldown(oBinder, GetSpellId(), VESTIGE_BUER)) return;
object oTarget = PRCGetSpellTargetObject();
int nBinderLevel = GetBinderLevel(oBinder, VESTIGE_BUER);
int nHeal = d8() + min(nBinderLevel, 10);
int nHeal = d8() + PRCMin(nBinderLevel, 10);
if(PRCGetIsAliveCreature(oTarget))
{

View File

@@ -25,7 +25,7 @@ void main()
object oCaster = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int CasterLvl = GetInvokerLevel(oCaster, GetInvokingClass());
int nSkillBonus = GetHasFeat(FEAT_MORPHEME_SAVANT) ? max(GetAbilityModifier(ABILITY_CHARISMA, oCaster) * 2, 6) : 6;
int nSkillBonus = GetHasFeat(FEAT_MORPHEME_SAVANT) ? PRCMax(GetAbilityModifier(ABILITY_CHARISMA, oCaster) * 2, 6) : 6;
effect eVis = EffectVisualEffect(VFX_IMP_IMPROVE_ABILITY_SCORE);
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
effect eSkill = EffectSkillIncrease(SKILL_BLUFF, nSkillBonus);

View File

@@ -40,14 +40,14 @@ void main()
}
if(nSpell == INVOKE_DAMAGE_REDUCTION)
{
int nDur = max(3 + nCha, 1);
int nRedAmt = ((nWarlockLvl + 1) / 4) + (max(nDiscLvl / 2, 1));
int nDur = PRCMax(3 + nCha, 1);
int nRedAmt = ((nWarlockLvl + 1) / 4) + (PRCMax(nDiscLvl / 2, 1));
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectDamageReduction(nRedAmt, DAMAGE_POWER_PLUS_THREE), oPC, RoundsToSeconds(nDur));
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_SUPER_HEROISM), oPC);
}
if(nSpell == INVOKE_FIENDISH_RESISTANCE)
{
int nDur = max(3 + nCha, 1);
int nDur = PRCMax(3 + nCha, 1);
if(GetAlignmentGoodEvil(oPC) == ALIGNMENT_GOOD)
{
FloatingTextStringOnCreature("Your deity must be evil!", oPC, FALSE);
@@ -63,7 +63,7 @@ void main()
}
if(nSpell == INVOKE_PROTECTIVE_AURA)
{
int nDur = max(3 + nCha, 1);
int nDur = PRCMax(3 + nCha, 1);
if(GetAlignmentGoodEvil(oPC) == ALIGNMENT_EVIL)
{
FloatingTextStringOnCreature("Your deity must be good!", oPC, FALSE);
@@ -79,15 +79,15 @@ void main()
}
if(nSpell == INVOKE_STRENGTH_OF_WILL)
{
int nDur = max(3 + nCha, 1);
int nBonus = max(nDiscLvl / 2, 1);
int nDur = PRCMax(3 + nCha, 1);
int nBonus = PRCMax(nDiscLvl / 2, 1);
eGift = EffectLinkEffects(EffectVisualEffect(VFX_DUR_MIND_AFFECTING_POSITIVE), EffectSavingThrowIncrease(SAVING_THROW_WILL, nBonus, SAVING_THROW_TYPE_MIND_SPELLS));
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eGift, oPC, RoundsToSeconds(nDur));
}
if(nSpell == INVOKE_WILD_FRENZY)
{
int nDur = max(3 + nCha, 1);
int nDur = PRCMax(3 + nCha, 1);
int nTempHP = 2 * nDiscLvl;
if(GetAlignmentLawChaos(oPC) == ALIGNMENT_LAWFUL)
{

View File

@@ -41,8 +41,8 @@ void main()
//calculate DC for essence effects
int nInvLevel = GetInvokerLevel(oPC, CLASS_TYPE_WARLOCK);
int nBlastLvl = min((nInvLevel + 1) / 2, 9);
nBlastLvl = max(max(nEssenceData & 0xF, nEssenceData2 & 0xF), nBlastLvl);
int nBlastLvl = PRCMin((nInvLevel + 1) / 2, 9);
nBlastLvl = PRCMax(PRCMax(nEssenceData & 0xF, nEssenceData2 & 0xF), nBlastLvl);
int nDC = 10 + nBlastLvl + GetAbilityModifier(ABILITY_CHARISMA);
if(GetHasFeat(FEAT_LORD_OF_ALL_ESSENCES)) nDC += 2;

View File

@@ -36,8 +36,8 @@ void main()
//calculate DC for essence effects
int nInvLevel = GetInvokerLevel(oPC, CLASS_TYPE_WARLOCK);
int nBlastLvl = min((nInvLevel + 1) / 2, 9);
nBlastLvl = max(4, max(max(nEssenceData & 0xF, nEssenceData2 & 0xF), nBlastLvl));
int nBlastLvl = PRCMin((nInvLevel + 1) / 2, 9);
nBlastLvl = PRCMax(4, PRCMax(PRCMax(nEssenceData & 0xF, nEssenceData2 & 0xF), nBlastLvl));
int nDC = 10 + nBlastLvl + GetAbilityModifier(ABILITY_CHARISMA);
if(GetHasFeat(FEAT_LORD_OF_ALL_ESSENCES)) nDC += 2;

View File

@@ -71,8 +71,8 @@ void main()
//calculate DC for essence effects
int nInvLevel = GetInvokerLevel(oPC, CLASS_TYPE_WARLOCK);
int nBlastLvl = min((nInvLevel + 1) / 2, 9);
nBlastLvl = max(nShapeLevel, max(max(nEssenceData & 0xF, nEssenceData2 & 0xF), nBlastLvl));
int nBlastLvl = PRCMin((nInvLevel + 1) / 2, 9);
nBlastLvl = PRCMax(nShapeLevel, PRCMax(PRCMax(nEssenceData & 0xF, nEssenceData2 & 0xF), nBlastLvl));
int nDC = 10 + nBlastLvl + GetAbilityModifier(ABILITY_CHARISMA);
if(GetHasFeat(FEAT_LORD_OF_ALL_ESSENCES)) nDC += 2;
int nDmgDice = GetBlastDamageDices(oPC, nInvLevel);

View File

@@ -32,8 +32,8 @@ void main()
//calculate DC for essence effects
int nInvLevel = GetInvokerLevel(oPC, CLASS_TYPE_WARLOCK);
int nBlastLvl = min((nInvLevel + 1) / 2, 9);
nBlastLvl = max(max(nEssenceData & 0xF, nEssenceData2 & 0xF), nBlastLvl);
int nBlastLvl = PRCMin((nInvLevel + 1) / 2, 9);
nBlastLvl = PRCMax(PRCMax(nEssenceData & 0xF, nEssenceData2 & 0xF), nBlastLvl);
int nDC = 10 + nBlastLvl + GetAbilityModifier(ABILITY_CHARISMA);
if(GetHasFeat(FEAT_LORD_OF_ALL_ESSENCES)) nDC += 2;

View File

@@ -36,8 +36,8 @@ void main()
//calculate DC for essence effects
int nInvLevel = GetInvokerLevel(oPC, CLASS_TYPE_WARLOCK);
int nBlastLvl = min((nInvLevel + 1) / 2, 9);
nBlastLvl = max(max(nEssenceData & 0xF, nEssenceData2 & 0xF), nBlastLvl);
int nBlastLvl = PRCMin((nInvLevel + 1) / 2, 9);
nBlastLvl = PRCMax(PRCMax(nEssenceData & 0xF, nEssenceData2 & 0xF), nBlastLvl);
int nDC = 10 + nBlastLvl + GetAbilityModifier(ABILITY_CHARISMA);
if(GetHasFeat(FEAT_LORD_OF_ALL_ESSENCES)) nDC += 2;

View File

@@ -79,7 +79,7 @@ void main()
{
int nClass = GetLocalInt(oPC, "SpellType");
int nSpellbookMinLevel = 0;
int nSpellbookMaxLevel = min((GetInvokerLevel(oPC, CLASS_TYPE_WARLOCK) + 1) / 2, 9);
int nSpellbookMaxLevel = PRCMin((GetInvokerLevel(oPC, CLASS_TYPE_WARLOCK) + 1) / 2, 9);
if(DEBUG) DoDebug("inv_imbueitemcon: Spellbook max level: " + IntToString(nSpellbookMaxLevel));
string sFile = GetFileForClass(nClass);
int i;

View File

@@ -30,7 +30,7 @@ void main()
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_M);
//cap the extra damage
nCasterLvl = min(nCasterLvl, 20);
nCasterLvl = PRCMin(nCasterLvl, 20);
object oTarget = GetEnteringObject();
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, oCaster))

View File

@@ -42,7 +42,7 @@ void main()
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_M);
//cap the extra damage
nCasterLvl = min(nCasterLvl, 20);
nCasterLvl = PRCMin(nCasterLvl, 20);
object oTarget = GetFirstInPersistentObject(OBJECT_SELF,OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
//Declare the spell shape, size and the location.

View File

@@ -63,7 +63,7 @@ void main()
if(GetHasFeat(FEAT_PARAGON_VISIONARY))
{
int nSkillBonus = max(2 * GetAbilityModifier(ABILITY_WISDOM, OBJECT_SELF), 6);
int nSkillBonus = PRCMax(2 * GetAbilityModifier(ABILITY_WISDOM, OBJECT_SELF), 6);
effect eLink = EffectLinkEffects(EffectUltravision(), EffectSeeInvisible());
eLink = EffectLinkEffects(eLink, EffectSkillIncrease(SKILL_SPOT, nSkillBonus));
eLink = EffectLinkEffects(eLink, EffectSkillIncrease(SKILL_LISTEN, nSkillBonus));

View File

@@ -392,7 +392,7 @@ void main()
SetHeader("How much do you want to invest into "+GetStringByStrRef(StringToInt(Get2DACache("spells", "Name", nMeld)))+"?");
int i;
for(i = 1; i <= min(GetTotalEssentia(oMeldshaper)-GetTotalEssentiaInvested(oMeldshaper), GetMaxEssentiaCapacity(oMeldshaper, nClass, nMeld)); i++)
for(i = 1; i <= PRCMin(GetTotalEssentia(oMeldshaper)-GetTotalEssentiaInvested(oMeldshaper), GetMaxEssentiaCapacity(oMeldshaper, nClass, nMeld)); i++)
{
AddChoice(IntToString(i), i, oMeldshaper);
}
@@ -409,7 +409,7 @@ void main()
int nMeld = GetLocalInt(oMeldshaper, "nMeld");
SetHeader("How much do you want to invest into "+GetStringByStrRef(StringToInt(Get2DACache("feat", "FEAT", nMeld)))+"?");
int i;
for(i = 1; i <= min(GetTotalEssentia(oMeldshaper)-GetTotalEssentiaInvested(oMeldshaper), GetMaxEssentiaCapacityFeat(oMeldshaper)); i++)
for(i = 1; i <= PRCMin(GetTotalEssentia(oMeldshaper)-GetTotalEssentiaInvested(oMeldshaper), GetMaxEssentiaCapacityFeat(oMeldshaper)); i++)
{
AddChoice(IntToString(i), i, oMeldshaper);
}
@@ -420,7 +420,7 @@ void main()
// Build the confirmation query
int nMeld = GetLocalInt(oMeldshaper, "nMeld");
SetHeader("How much do you want to invest into "+GetStringByStrRef(StringToInt(Get2DACache("spells", "Name", nMeld)))+"?");
int nMax = min(GetTotalEssentia(oMeldshaper)-GetTotalEssentiaInvested(oMeldshaper), GetMaxEssentiaCapacityFeat(oMeldshaper));
int nMax = PRCMin(GetTotalEssentia(oMeldshaper)-GetTotalEssentiaInvested(oMeldshaper), GetMaxEssentiaCapacityFeat(oMeldshaper));
if (nMeld == MELD_SPINE_ENHANCEMENT) nMax = GetLevelByClass(CLASS_TYPE_SPINEMELD_WARRIOR, oMeldshaper)/2;
int i;
for(i = 1; i <= nMax; i++)

View File

@@ -11,5 +11,5 @@ void main()
{
object oMeldshaper = PRCGetSpellTargetObject();
SetIncorporeal(oMeldshaper, RoundsToSeconds(max(GetAbilityModifier(ABILITY_CHARISMA, oMeldshaper),1)), 1);
SetIncorporeal(oMeldshaper, RoundsToSeconds(PRCMax(GetAbilityModifier(ABILITY_CHARISMA, oMeldshaper),1)), 1);
}

View File

@@ -189,7 +189,7 @@ void main()
int nPower = GetLocalInt(oMeldshaper, "nPower");
SetHeader("How much do you want to invest into "+GetStringByStrRef(StringToInt(Get2DACache("spells", "Name", nPower)))+"?");
int i;
int nMin = min(GetMaxEssentiaCapacityFeat(oMeldshaper), StringToInt(Get2DACache("spells", "Innate", nPower)));
int nMin = PRCMin(GetMaxEssentiaCapacityFeat(oMeldshaper), StringToInt(Get2DACache("spells", "Innate", nPower)));
for(i = 1; i <= nMin; i++)
{
AddChoice(IntToString(i), i, oMeldshaper);

View File

@@ -29,7 +29,7 @@ void main()
if(myst.bCanMyst)
{
int nAC = min(4, 1 + myst.nShadowcasterLevel/6);
int nAC = PRCMin(4, 1 + myst.nShadowcasterLevel/6);
myst.eLink = SupernaturalEffect(EffectLinkEffects(EffectACIncrease(nAC, AC_DEFLECTION_BONUS), EffectVisualEffect(VFX_DUR_ENTROPIC_SHIELD)));
myst.fDur = 60.0 * myst.nShadowcasterLevel;

View File

@@ -40,7 +40,7 @@ void main()
// Check Spell Resistance
if(!PRCDoResistSpell(oShadow, oTarget, myst.nPen) || myst.bIgnoreSR)
{
int nDam = MetashadowsDamage(myst, 6, 1, min(5, myst.nShadowcasterLevel/4));
int nDam = MetashadowsDamage(myst, 6, 1, PRCMin(5, myst.nShadowcasterLevel/4));
if (PRCMySavingThrow(SAVING_THROW_WILL, oTarget, GetShadowcasterDC(oShadow), SAVING_THROW_TYPE_MIND_SPELLS))
nDam/2;

View File

@@ -27,7 +27,7 @@ void main()
if(myst.bCanMyst)
{
int nAmount = min(120, myst.nShadowcasterLevel * 10);
int nAmount = PRCMin(120, myst.nShadowcasterLevel * 10);
myst.eLink = EffectLinkEffects(EffectDamageResistance(DAMAGE_TYPE_COLD, nAmount, nAmount), EffectVisualEffect(VFX_DUR_PROTECTION_ENERGY_COLD));
myst.eLink = EffectLinkEffects(myst.eLink, EffectDamageIncrease(DAMAGE_BONUS_1d6, DAMAGE_TYPE_COLD));

View File

@@ -27,7 +27,7 @@ void main()
if(myst.bCanMyst)
{
int nAmount = min(75, GetHitDice(oTarget) * 5);
int nAmount = PRCMin(75, GetHitDice(oTarget) * 5);
myst.eLink = EffectLinkEffects(EffectTemporaryHitpoints(nAmount), EffectVisualEffect(VFX_DUR_CHAOS_CLOAK));
myst.fDur = 600.0 * myst.nShadowcasterLevel;

View File

@@ -24,7 +24,7 @@ void main()
object oShadow = GetAreaOfEffectCreator();
object oAoE = GetAreaOfEffectObject(GetLocalLocation(oShadow, "BlackFire_Loc"), "VFX_PER_CURTAIN_SHADOWS");
struct mystery myst = GetLocalMystery(oShadow, MYST_HOLD_MYST+"3");
int nDice = min(15, myst.nShadowcasterLevel);
int nDice = PRCMin(15, myst.nShadowcasterLevel);
//Capture the first target object in the shape.
object oTarget = GetEnteringObject();

View File

@@ -31,7 +31,7 @@ void main()
int nDamage;
object oAoE = GetAreaOfEffectObject(GetLocalLocation(oShadow, "BlackFire_Loc"), "VFX_PER_CURTAIN_SHADOWS");
struct mystery myst = GetLocalMystery(oShadow, MYST_HOLD_MYST+"3");
int nDice = min(15, myst.nShadowcasterLevel);
int nDice = PRCMin(15, myst.nShadowcasterLevel);
//Capture the first target object in the shape.
object oTarget = GetFirstInPersistentObject(OBJECT_SELF, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);

View File

@@ -23,7 +23,7 @@ void main()
if (!GetLocalInt(oShadow, "FlickerMyst"))
{
int nLevel = max(GetShadowcasterLevel(oShadow), GetLocalInt(oShadow, "TenebrousFlicker"));
int nLevel = PRCMax(GetShadowcasterLevel(oShadow), GetLocalInt(oShadow, "TenebrousFlicker"));
DimensionDoor(oShadow, nLevel);
SetLocalInt(oShadow, "FlickerMyst", TRUE);
DelayCommand(5.5, DeleteLocalInt(oShadow, "FlickerMyst"));

View File

@@ -30,7 +30,7 @@ void main()
if(myst.bCanMyst)
{
int nDie = min(myst.nShadowcasterLevel, 20);
int nDie = PRCMin(myst.nShadowcasterLevel, 20);
location lTargetLocation = PRCGetSpellTargetLocation();
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_VAMPIRIC_DRAIN_PRC), lTargetLocation);

View File

@@ -30,7 +30,7 @@ void main()
if(myst.bCanMyst)
{
int nDie = min(myst.nShadowcasterLevel, 10);
int nDie = PRCMin(myst.nShadowcasterLevel, 10);
//Declare the spell shape, size and the location. Capture the first target object in the shape.
object oTarget = MyFirstObjectInShape(SHAPE_SPELLCONE, FeetToMeters(30.0), lTargetLocation, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);

View File

@@ -30,7 +30,7 @@ void main()
if(myst.bCanMyst)
{
int nDie = min(myst.nShadowcasterLevel, 5);
int nDie = PRCMin(myst.nShadowcasterLevel, 5);
myst.fDur = RoundsToSeconds(myst.nShadowcasterLevel);
if(myst.bExtend) myst.fDur *= 2;
myst.nPen = ShadowSRPen(oShadow, myst.nShadowcasterLevel);

View File

@@ -37,9 +37,9 @@ void main()
//--------------------------------------------------------------------------
// Dispel Magic is capped at caster level 10
//--------------------------------------------------------------------------
int nCasterLevel = min(myst.nShadowcasterLevel, 10);
int nCasterLevel = PRCMin(myst.nShadowcasterLevel, 10);
if (myst.nMystId == MYST_SHADOWS_FADE_GREATER)
nCasterLevel = min(myst.nShadowcasterLevel, 20);
nCasterLevel = PRCMin(myst.nShadowcasterLevel, 20);
if (GetIsObjectValid(oTarget))
{

View File

@@ -33,7 +33,7 @@ void main()
if(myst.bCanMyst)
{
int nDie = min(myst.nShadowcasterLevel, 20);
int nDie = PRCMin(myst.nShadowcasterLevel, 20);
myst.nPen = ShadowSRPen(oShadow, myst.nShadowcasterLevel);
myst.nSaveDC = GetShadowcasterDC(oShadow);
effect eCold = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_COLD);

View File

@@ -62,7 +62,7 @@ void main()
int nDam = d6();
if (GetLocalInt(oShadow, "SharpShadMax")) nDam = 6;
if (GetLocalInt(oShadow, "SharpShadEmp")) nDam += nDam/2;
nDam += min(15, GetShadowcasterLevel(oShadow, CLASS_TYPE_SHADOWCASTER));
nDam += PRCMin(15, GetShadowcasterLevel(oShadow, CLASS_TYPE_SHADOWCASTER));
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_MAGMAG), oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDam, DAMAGE_TYPE_PIERCING), oTarget);
}

View File

@@ -33,7 +33,7 @@ void main()
if (oTarget == oPC) return; // No hitting yourself
if (GetLocalInt(oPC, "CombatLoopProtection")) return; // Stop the damn loop
int nAbi = max(GetAbilityModifier(ABILITY_INTELLIGENCE, oPC), GetAbilityModifier(ABILITY_CHARISMA, oPC));
int nAbi = PRCMax(GetAbilityModifier(ABILITY_INTELLIGENCE, oPC), GetAbilityModifier(ABILITY_CHARISMA, oPC));
SetLocalInt(oPC, "BABOverride", GetShadowcasterLevel(oPC));
DelayCommand(1.0, DeleteLocalInt(oPC, "BABOverride"));

View File

@@ -38,7 +38,7 @@ void TOBAttack(object oTarget, object oInitiator, struct maneuver move)
if(GetAlignmentGoodEvil(oInitiator) != GetAlignmentGoodEvil(oTarget)
|| GetAlignmentLawChaos(oInitiator) != GetAlignmentLawChaos(oTarget))
{
int nHeal = d6() + min(move.nInitiatorLevel, 5);
int nHeal = d6() + PRCMin(move.nInitiatorLevel, 5);
object oHeal = GetCrusaderHealTarget(oInitiator, FeetToMeters(10.0));
SPApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(nHeal), oHeal);
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_HEALING_L_LAW), oHeal);

View File

@@ -39,7 +39,7 @@ void TOBAttack(object oTarget, object oInitiator, struct maneuver move)
if(GetAlignmentGoodEvil(oInitiator) != GetAlignmentGoodEvil(oTarget)
|| GetAlignmentLawChaos(oInitiator) != GetAlignmentLawChaos(oTarget))
{
int nHeal = d6(3) + min(move.nInitiatorLevel, 10);
int nHeal = d6(3) + PRCMin(move.nInitiatorLevel, 10);
object oHeal = GetCrusaderHealTarget(oInitiator, FeetToMeters(10.0));
SPApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(nHeal), oHeal);
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_HEALING_L_LAW), oHeal);

View File

@@ -46,7 +46,7 @@ void TOBAttack(object oTarget, object oInitiator, struct maneuver move)
if(GetIsFriend(oTarget, oInitiator))
{
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, PRCGetSpellId()));
int nHeal = d6(3) + min(move.nInitiatorLevel, 50);
int nHeal = d6(3) + PRCMin(move.nInitiatorLevel, 50);
SPApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(nHeal), oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_HEALING_L_LAW), oTarget);
}

View File

@@ -203,7 +203,7 @@ void main()
// Determine maximum maneuver level
// Initiators get new maneuvers at the same levels as wizards
// See ToB p39, table 3-1
int nMaxLevel = min(9, (GetInitiatorLevel(oInitiator, nClass) + 1)/2);
int nMaxLevel = PRCMin(9, (GetInitiatorLevel(oInitiator, nClass) + 1)/2);
// Set the tokens
int i;

View File

@@ -234,7 +234,7 @@ void main()
// Determine maximum maneuver level
// Initiators get new maneuvers at the same levels as wizards
// See ToB p39, table 3-1
int nMaxLevel = min(9, (GetInitiatorLevel(oInitiator, nClass) + 1)/2);
int nMaxLevel = PRCMin(9, (GetInitiatorLevel(oInitiator, nClass) + 1)/2);
// Set the tokens
int i;

View File

@@ -76,7 +76,7 @@ void main()
// Determine maximum maneuver level
// Initiators get new maneuvers at the same levels as wizards
// See ToB p39, table 3-1
int nMaxLevel = min(9, (GetInitiatorLevel(oPC, nClass) + 1)/2);
int nMaxLevel = PRCMin(9, (GetInitiatorLevel(oPC, nClass) + 1)/2);
// Set the tokens
int i;

View File

@@ -71,7 +71,7 @@ void main()
oItem = GetSpellCastItem();
if(GetBaseItemType(oItem) == BASE_ITEM_ARMOR)
{
int nCold = min(10, GetDamageDealtByType(DAMAGE_TYPE_COLD));
int nCold = PRCMin(10, GetDamageDealtByType(DAMAGE_TYPE_COLD));
if(nCold > 0)
{
effect eHeal = EffectHeal(nCold);

View File

@@ -76,7 +76,7 @@ void main()
else /* Effects of UTTER_ARCHERS_EYE_R would be here */
{
// Damage Resistance 10 piercing, max of 100 total
utter.eLink = EffectLinkEffects(EffectDamageResistance(DAMAGE_TYPE_PIERCING, 10, min((10 * utter.nTruespeakerLevel), 100)), EffectVisualEffect(VFX_DUR_PROTECTION_ARROWS));
utter.eLink = EffectLinkEffects(EffectDamageResistance(DAMAGE_TYPE_PIERCING, 10, PRCMin((10 * utter.nTruespeakerLevel), 100)), EffectVisualEffect(VFX_DUR_PROTECTION_ARROWS));
}
// If either of these ApplyEffect isn't needed, delete it.
// Duration Effects