890 lines
26 KiB
Plaintext
890 lines
26 KiB
Plaintext
#include "prc_inc_racial"
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// This block of code delevels a PC and sets them back to the same xp they had before deleveling
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////
|
|
void Reset_Level(object oPC)
|
|
{
|
|
int iLevel=GetHitDice(oPC);
|
|
int iXPLastLvl = ((iLevel - 1) * 1000) + ((((iLevel - 1) * (iLevel - 2)) / 2) * 1000)-1;
|
|
int iXP=GetXP(oPC);
|
|
string sXPValue;
|
|
SetLocalInt(oPC, "sXPValue", iXP);
|
|
int iNewXP = GetLocalInt(oPC, "sXPValue");
|
|
|
|
SetXP(oPC, iXPLastLvl);
|
|
DelayCommand(0.5, SetXP(oPC, iNewXP));
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////
|
|
// This block of code checks for racial acceptance by the pantheon
|
|
////////////////////////////////////////////////////////////////////////////////////////////
|
|
void Race_Check(object oPC)
|
|
{
|
|
string sDeity = GetLocalString(oPC,"Deity");
|
|
int iRace = MyPRCGetRacialType(oPC);
|
|
|
|
if (sDeity == "Bahamut")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_ELF)||
|
|
(iRace==RACIAL_TYPE_HALFELF)||(iRace==RACIAL_TYPE_DWARF)||
|
|
(iRace==RACIAL_TYPE_GNOME)||(iRace==RACIAL_TYPE_HALFLING)||
|
|
(iRace==RACIAL_TYPE_HALFORC))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Boccob")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_ELF)||
|
|
(iRace==RACIAL_TYPE_HALFELF)||(iRace==RACIAL_TYPE_GNOME)
|
|
||(iRace==RACIAL_TYPE_HALFLING))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Corellon")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_ELF)||(iRace==RACIAL_TYPE_HALFELF))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Ehlonna")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_ELF)||
|
|
(iRace==RACIAL_TYPE_HALFELF)||(iRace==RACIAL_TYPE_GNOME)
|
|
||(iRace==RACIAL_TYPE_HALFLING))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Erythnul")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_DWARF)||
|
|
(iRace==RACIAL_TYPE_HALFORC))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Fharlanghn")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_ELF)||
|
|
(iRace==RACIAL_TYPE_HALFELF)||(iRace==RACIAL_TYPE_GNOME)||
|
|
(iRace==RACIAL_TYPE_HALFLING)||(iRace==RACIAL_TYPE_HALFORC))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Garl Glittergold")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_GNOME))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Gruumsh")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HALFORC))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Heironeous")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_ELF)||
|
|
(iRace==RACIAL_TYPE_HALFELF)||(iRace==RACIAL_TYPE_HALFORC))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Hextor")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_ELF)||
|
|
(iRace==RACIAL_TYPE_HALFELF)||(iRace==RACIAL_TYPE_DWARF)||
|
|
(iRace==RACIAL_TYPE_GNOME)||(iRace==RACIAL_TYPE_HALFLING)||
|
|
(iRace==RACIAL_TYPE_HALFORC))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Kord")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_HALFELF)||
|
|
(iRace==RACIAL_TYPE_DWARF)||(iRace==RACIAL_TYPE_HALFORC))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Lolth")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_DROW_MALE) || (iRace==RACIAL_TYPE_DROW_FEMALE) || (iRace==RACIAL_TYPE_HALFDROW))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Moradin")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_DWARF))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Nerull")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_ELF)||
|
|
(iRace==RACIAL_TYPE_HALFELF))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Obad-Hai")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_ELF)||
|
|
(iRace==RACIAL_TYPE_HALFELF)||(iRace==RACIAL_TYPE_DWARF)||
|
|
(iRace==RACIAL_TYPE_GNOME)||(iRace==RACIAL_TYPE_HALFLING))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Olidammara")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_ELF)||
|
|
(iRace==RACIAL_TYPE_HALFELF)||(iRace==RACIAL_TYPE_GNOME)||
|
|
(iRace==RACIAL_TYPE_HALFLING))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Pelor")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_ELF)||
|
|
(iRace==RACIAL_TYPE_HALFELF)||(iRace==RACIAL_TYPE_HALFORC))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "St. Cuthbert")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_ELF)||
|
|
(iRace==RACIAL_TYPE_HALFELF))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Tiamat")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_ELF)||
|
|
(iRace==RACIAL_TYPE_HALFELF)||(iRace==RACIAL_TYPE_DWARF)||
|
|
(iRace==RACIAL_TYPE_GNOME)||(iRace==RACIAL_TYPE_HALFLING)||
|
|
(iRace==RACIAL_TYPE_HALFORC))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Vecna")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_ELF)||
|
|
(iRace==RACIAL_TYPE_HALFELF))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Wee Jas")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_ELF)||
|
|
(iRace==RACIAL_TYPE_HALFELF))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
if (sDeity == "Yondalla")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HALFLING))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
|
|
if (sDeity == "Vuldrick")
|
|
{
|
|
if ((iRace==RACIAL_TYPE_HUMAN)||(iRace==RACIAL_TYPE_ELF)||
|
|
(iRace==RACIAL_TYPE_HALFELF)||(iRace==RACIAL_TYPE_DWARF)||
|
|
(iRace==RACIAL_TYPE_GNOME)||(iRace==RACIAL_TYPE_HALFLING)||
|
|
(iRace==RACIAL_TYPE_HALFORC))
|
|
{
|
|
SetLocalInt(oPC,"Race",1);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////
|
|
// This block of code checks for alignment acceptance by the pantheon
|
|
////////////////////////////////////////////////////////////////////////////////////////////
|
|
void Align_Check(object oPC)
|
|
{
|
|
string sDeity = GetLocalString(oPC,"Deity");
|
|
int iGoodEvil = GetAlignmentGoodEvil(oPC);
|
|
int iLawChaos = GetAlignmentLawChaos(oPC);
|
|
|
|
if (sDeity == "Bahamut")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_NEUTRAL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Boccob")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_NEUTRAL))||
|
|
((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_NEUTRAL))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_NEUTRAL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Corellon")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_NEUTRAL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Ehlonna")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_NEUTRAL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Erythnul")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_NEUTRAL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Fharlanghn")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_NEUTRAL))||
|
|
((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_NEUTRAL))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_NEUTRAL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Garl Glittergold")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_NEUTRAL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Gruumsh")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_NEUTRAL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Heironeous")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_NEUTRAL))||
|
|
((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_LAWFUL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Hextor")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_NEUTRAL))||
|
|
((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_LAWFUL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Kord")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_NEUTRAL))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_CHAOTIC)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Lolth")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_NEUTRAL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Moradin")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_NEUTRAL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Nerull")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_NEUTRAL))||
|
|
((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_CHAOTIC)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Obad-Hai")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_NEUTRAL))||
|
|
((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_NEUTRAL))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_NEUTRAL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Olidammara")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_CHAOTIC)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Pelor")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_NEUTRAL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "St. Cuthbert")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_LAWFUL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Tiamat")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_NEUTRAL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Vecna")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_NEUTRAL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Wee Jas")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_EVIL)&&(iLawChaos==ALIGNMENT_LAWFUL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
if (sDeity == "Yondalla")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_LAWFUL))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_NEUTRAL))||
|
|
((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_LAWFUL)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
|
|
if (sDeity == "Vuldrick")
|
|
{
|
|
if (((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_CHAOTIC))||
|
|
((iGoodEvil==ALIGNMENT_GOOD)&&(iLawChaos==ALIGNMENT_NEUTRAL))||
|
|
((iGoodEvil==ALIGNMENT_NEUTRAL)&&(iLawChaos==ALIGNMENT_CHAOTIC)))
|
|
{
|
|
SetLocalInt(oPC,"Align",1);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////
|
|
// This block of code checks for clerical domain acceptance by the pantheon
|
|
////////////////////////////////////////////////////////////////////////////////////////////
|
|
void Domain_Check(object oPC)
|
|
{
|
|
string sDeity = GetLocalString(oPC,"Deity");
|
|
|
|
if (sDeity == "Bahamut")
|
|
{
|
|
if ((GetHasFeat(FEAT_AIR_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_GOOD_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Boccob")
|
|
{
|
|
if ((GetHasFeat(FEAT_KNOWLEDGE_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_MAGIC_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Corellon")
|
|
{
|
|
if ((GetHasFeat(FEAT_WAR_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_PROTECTION_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Ehlonna")
|
|
{
|
|
if ((GetHasFeat(FEAT_ANIMAL_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_PLANT_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Erythnul")
|
|
{
|
|
if ((GetHasFeat(FEAT_WAR_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_TRICKERY_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Fharlanghn")
|
|
{
|
|
if ((GetHasFeat(FEAT_PROTECTION_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_TRAVEL_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Garl Glittergold")
|
|
{
|
|
if ((GetHasFeat(FEAT_PROTECTION_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_TRICKERY_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Gruumsh")
|
|
{
|
|
if ((GetHasFeat(FEAT_STRENGTH_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_WAR_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Heironeous")
|
|
{
|
|
if ((GetHasFeat(FEAT_GOOD_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_WAR_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Hextor")
|
|
{
|
|
if ((GetHasFeat(FEAT_DESTRUCTION_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_WAR_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Kord")
|
|
{
|
|
if ((GetHasFeat(FEAT_GOOD_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_STRENGTH_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Lolth")
|
|
{
|
|
if ((GetHasFeat(FEAT_DESTRUCTION_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_EVIL_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Moradin")
|
|
{
|
|
if ((GetHasFeat(FEAT_GOOD_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_EARTH_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Nerull")
|
|
{
|
|
if ((GetHasFeat(FEAT_DEATH_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_EVIL_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Obad-Hai")
|
|
{
|
|
if ((GetHasFeat(FEAT_AIR_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_WATER_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Olidammara")
|
|
{
|
|
if ((GetHasFeat(FEAT_PROTECTION_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_TRICKERY_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Pelor")
|
|
{
|
|
if ((GetHasFeat(FEAT_HEALING_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_SUN_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Tiamat")
|
|
{
|
|
if ((GetHasFeat(FEAT_DESTRUCTION_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_EVIL_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "St. Cuthbert")
|
|
{
|
|
if ((GetHasFeat(FEAT_DESTRUCTION_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_STRENGTH_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Vecna")
|
|
{
|
|
if ((GetHasFeat(FEAT_EVIL_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_KNOWLEDGE_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Wee Jas")
|
|
{
|
|
if ((GetHasFeat(FEAT_DEATH_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_MAGIC_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
if (sDeity == "Yondalla")
|
|
{
|
|
if ((GetHasFeat(FEAT_GOOD_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_PROTECTION_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
|
|
if (sDeity == "Vuldrick")
|
|
{
|
|
if ((GetHasFeat(FEAT_GOOD_DOMAIN_POWER, oPC))&&(GetHasFeat(FEAT_WAR_DOMAIN_POWER, oPC)))
|
|
{
|
|
SetLocalInt(oPC,"Domain",1);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////
|
|
// This block of code shits alignment for tything based on alignment of deity
|
|
// It should be noted that if a deity has some combination of alignment with
|
|
// neutrality that the dominant alignment shift will occur and not the neutral
|
|
// shift. This is because shifting "neutral" cases both good/evil and law/chaos
|
|
// to shift by the increment specified.
|
|
////////////////////////////////////////////////////////////////////////////////////////////
|
|
void Align_Shift(object oPC)
|
|
{
|
|
string sDeity = GetLocalString(oPC,"Deity");
|
|
|
|
if (sDeity == "Bahamut")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_LAWFUL, 1);
|
|
AdjustAlignment(oPC, ALIGNMENT_GOOD, 1);
|
|
}
|
|
if (sDeity == "Boccob")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_NEUTRAL, 1);
|
|
}
|
|
if (sDeity == "Corellon")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_CHAOTIC, 1);
|
|
AdjustAlignment(oPC, ALIGNMENT_GOOD, 1);
|
|
}
|
|
if (sDeity == "Ehlonna")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_GOOD, 1);
|
|
}
|
|
if (sDeity == "Erythnul")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_CHAOTIC, 1);
|
|
AdjustAlignment(oPC, ALIGNMENT_EVIL, 1);
|
|
}
|
|
if (sDeity == "Fharlanghn")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_NEUTRAL, 1);
|
|
}
|
|
if (sDeity == "Garl Glittergold")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_GOOD, 1);
|
|
}
|
|
if (sDeity == "Gruumsh")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_CHAOTIC, 1);
|
|
AdjustAlignment(oPC, ALIGNMENT_EVIL, 1);
|
|
}
|
|
if (sDeity == "Heironeous")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_LAWFUL, 1);
|
|
AdjustAlignment(oPC, ALIGNMENT_GOOD, 1);
|
|
}
|
|
if (sDeity == "Hextor")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_LAWFUL, 1);
|
|
AdjustAlignment(oPC, ALIGNMENT_EVIL, 1);
|
|
}
|
|
if (sDeity == "Kord")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_CHAOTIC, 1);
|
|
AdjustAlignment(oPC, ALIGNMENT_GOOD, 1);
|
|
}
|
|
if (sDeity == "Lolth")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_CHAOTIC, 1);
|
|
AdjustAlignment(oPC, ALIGNMENT_EVIL, 1);
|
|
}
|
|
if (sDeity == "Moradin")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_LAWFUL, 1);
|
|
AdjustAlignment(oPC, ALIGNMENT_GOOD, 1);
|
|
}
|
|
if (sDeity == "Nerull")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_EVIL, 1);
|
|
}
|
|
if (sDeity == "Obad-Hai")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_NEUTRAL, 1);
|
|
}
|
|
if (sDeity == "Olidammara")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_CHAOTIC, 1);
|
|
}
|
|
if (sDeity == "Pelor")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_GOOD, 1);
|
|
}
|
|
if (sDeity == "St. Cuthbert")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_LAWFUL, 1);
|
|
}
|
|
if (sDeity == "Tiamat")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_LAWFUL, 1);
|
|
AdjustAlignment(oPC, ALIGNMENT_EVIL, 1);
|
|
}
|
|
if (sDeity == "Vecna")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_EVIL, 1);
|
|
}
|
|
if (sDeity == "Wee Jas")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_LAWFUL, 1);
|
|
}
|
|
if (sDeity == "Yondalla")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_LAWFUL, 1);
|
|
AdjustAlignment(oPC, ALIGNMENT_GOOD, 1);
|
|
}
|
|
|
|
if (sDeity == "Vuldrick")
|
|
{
|
|
AdjustAlignment(oPC, ALIGNMENT_CHAOTIC, 1);
|
|
AdjustAlignment(oPC, ALIGNMENT_GOOD, 1);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////
|
|
// This block of code will give new clerics their holy symbols.
|
|
// All Holy Symbols need to have a tag of HolySymbol to work with this system.
|
|
// This should make it HCR friendly automatically :)
|
|
////////////////////////////////////////////////////////////////////////////////////////////
|
|
void Create_HolySymbol(object oPC)
|
|
{
|
|
string sDeity = GetLocalString(oPC,"Deity");
|
|
object oItem = GetItemPossessedBy(oPC, "HolySymbol");
|
|
|
|
if (sDeity == "Bahamut")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy012", oPC);
|
|
}
|
|
if (sDeity == "Boccob")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy011", oPC);
|
|
}
|
|
if (sDeity == "Corellon")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy007", oPC);
|
|
}
|
|
if (sDeity == "Ehlonna")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy004", oPC);
|
|
}
|
|
if (sDeity == "Erythnul")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy006", oPC);
|
|
}
|
|
if (sDeity == "Fharlanghn")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy010", oPC);
|
|
}
|
|
if (sDeity == "Garl Glittergold")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy005", oPC);
|
|
}
|
|
if (sDeity == "Gruumsh")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy008", oPC);
|
|
}
|
|
if (sDeity == "Heironeous")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy012", oPC);
|
|
}
|
|
if (sDeity == "Hextor")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("holysymbol002", oPC);
|
|
}
|
|
if (sDeity == "Kord")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy007", oPC);
|
|
}
|
|
if (sDeity == "Lolth")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy008", oPC);
|
|
}
|
|
if (sDeity == "Moradin")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy002", oPC);
|
|
}
|
|
if (sDeity == "Nerull")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy014", oPC);
|
|
}
|
|
if (sDeity == "Obad-Hai")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy015", oPC);
|
|
}
|
|
if (sDeity == "Olidammara")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy003", oPC);
|
|
}
|
|
if (sDeity == "Pelor")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy002", oPC);
|
|
}
|
|
if (sDeity == "St. Cuthbert")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy010", oPC);
|
|
}
|
|
if (sDeity == "Tiamat")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy008", oPC);
|
|
}
|
|
if (sDeity == "Vecna")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy009", oPC);
|
|
}
|
|
if (sDeity == "Wee Jas")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy013", oPC);
|
|
}
|
|
if (sDeity == "Yondalla")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy004", oPC);
|
|
}
|
|
|
|
if (sDeity == "Vuldrick")
|
|
{
|
|
//if (GetIsObjectValid(oItem)) DestroyObject(oItem);
|
|
if (!GetIsObjectValid(oItem))
|
|
CreateItemOnObject("deity_holy015", oPC);
|
|
}
|
|
}
|