HiddenTradition_PRC8/_module/nss/sc_pontential_bs.nss
2024-06-20 15:47:42 -04:00

96 lines
3.2 KiB
Plaintext

//::///////////////////////////////////////////////
//:: FileName sc_pontential_bs
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 03/11/28 13:52:44
//:://////////////////////////////////////////////
#include "prc_inc_racial"
int StartingConditional()
{
// Restrict based on the player's class
int iPassed = 0;
if(GetLevelByClass(CLASS_TYPE_WIZARD, GetPCSpeaker()) >= 1)
iPassed = 1;
if((iPassed == 0) && (GetLevelByClass(CLASS_TYPE_SORCERER, GetPCSpeaker()) >= 1))
iPassed = 1;
if((iPassed == 0) && (GetLevelByClass(CLASS_TYPE_BARD, GetPCSpeaker()) >= 3))
iPassed = 1;
if(iPassed == 0)
return FALSE;
// Make sure the player has the required feats
if(!GetHasFeat(FEAT_COMBAT_CASTING, GetPCSpeaker()))
return FALSE;
if(!GetHasFeat(FEAT_DODGE, GetPCSpeaker()))
return FALSE;
if(!GetHasFeat(FEAT_EXPERTISE, GetPCSpeaker()))
return FALSE;
if(!GetHasFeat(FEAT_MOBILITY, GetPCSpeaker()))
return FALSE;
if(!GetHasFeat(FEAT_STILL_SPELL, GetPCSpeaker()))
return FALSE;
// Reject player races
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_DWARF)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_GNOME)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_HALFLING)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_HALFORC)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_HUMAN)
return FALSE;
// Reject other races
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_ABERRATION)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_ANIMAL)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_BEAST)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_CONSTRUCT)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_DRAGON)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_ELEMENTAL)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_FEY)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_GIANT)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_HUMANOID_GOBLINOID)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_MAGICAL_BEAST)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_HUMANOID_MONSTROUS)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_HUMANOID_ORC)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_OUTSIDER)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_HUMANOID_REPTILIAN)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_SHAPECHANGER)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_UNDEAD)
return FALSE;
if(MyPRCGetRacialType(GetPCSpeaker()) == RACIAL_TYPE_VERMIN)
return FALSE;
// Restrict based on the player's alignment
if(GetAlignmentGoodEvil(GetPCSpeaker()) != ALIGNMENT_GOOD)
return FALSE;
// Make sure the player has the required skills
if(!GetHasSkill(SKILL_CONCENTRATION, GetPCSpeaker()))
return FALSE;
if(!GetHasSkill(SKILL_TUMBLE, GetPCSpeaker()))
return FALSE;
return TRUE;
}