96 lines
3.2 KiB
Plaintext
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;
|
|
}
|