Fixed missing Factions on Animated Statues

Fixed missing Factions on Animated Statues.  Added XP to next level for lvl 40+ characters.  Added Dragon AI for CODI Core AI.  Tweaked Beholders & some Dragons to use CODI Core AI.  Fixed CODI Core NPC onSPawn script to run PRC scripts properly.  Full compile.  Updated release archive.
This commit is contained in:
Jaysyn904
2024-10-30 13:07:27 -04:00
parent c929e2ff75
commit 6aa1491726
59 changed files with 2788 additions and 783 deletions

View File

@@ -109,15 +109,14 @@ void Take1Level(object oTarget)
case 59: nXP = 1653000; break;
case 60: nXP = 1711000; break;
}
SetXP(oTarget, nXP);
SetXP(oTarget, nXP);
}
//The Function Below Give1Level(oTarget); gives the Target one level.
//IMPORTANT: This function cannot be used with Take1Level(oTarget);
//or it will delevel the target!!!!
//I created this exlusively for the purpose of my DM wand
//I created this exlusively for the purose of my DM wand
//and other scripts which only give the PC one level as a reward.
void Give1Level(object oTarget)
{
@@ -187,9 +186,8 @@ void Give1Level(object oTarget)
case 59: nXP = 1770000; break;
case 60: nXP = 1830000; break;
}
SetXP(oTarget, nXP);
}
@@ -212,6 +210,7 @@ void Relevel(object oTarget)
TakeGoldFromCreature(nGold, oTarget, TRUE);
SetXP(oTarget, 0);
DelayCommand(1.0, GiveXPToCreature(oTarget, gXP));
}
else
{
@@ -231,36 +230,34 @@ void Relevel1(object oTarget)
DelayCommand(1.0, SetXP(oTarget, gXP));
}
//The Function Relevel5(oTarget) will take 5 levels from the Target and give
//back their orginal XP. This script does not cause xp loss whatsoever.
//The Function Relevel3(oTarget) will take 3 levels from the Target and give
//back thier orginal XP. This script does not cause xp loss whatsoever.
void Relevel5(object oTarget)
{
int nCCXP;
nCCXP = GetXP(oTarget);
SetLocalInt(oTarget, "pc_exact_xp", nCCXP);
int gXP = GetLocalInt(oTarget, "pc_exact_xp");
Take1Level(oTarget);
Take1Level(oTarget);
Take1Level(oTarget);
Take1Level(oTarget);
Take1Level(oTarget);
DelayCommand(1.0, SetXP(oTarget, gXP));
}
//The Function Relevel10(oTarget) will take 10 levels from the Target and give
//back their orginal XP. This script does not cause xp loss whatsoever.
//The Function Relevel5(oTarget) will take 5 levels from the Target and give
//back thier orginal XP. This script does not cause xp loss whatsoever.
void Relevel10(object oTarget)
{
int nGold = GetHitDice(oTarget) * 50;
if(GetGold(oTarget) >= nGold)
{
int nCCXP;
nCCXP = GetXP(oTarget);
SetLocalInt(oTarget, "pc_exact_xp", nCCXP);
int gXP = GetLocalInt(oTarget, "pc_exact_xp");
Take1Level(oTarget);
Take1Level(oTarget);
Take1Level(oTarget);
@@ -271,7 +268,6 @@ void Relevel10(object oTarget)
Take1Level(oTarget);
Take1Level(oTarget);
Take1Level(oTarget);
DelayCommand(1.0, SetXP(oTarget, gXP));
}
}
@@ -286,6 +282,7 @@ void ApplyRespawnPenalty(object oPlayer)
{
int cLvl = GetHitDice(oPlayer);
int nXP;
//We need this switch to determine what xp they must keep..
switch (cLvl)
{
@@ -373,7 +370,4 @@ void ApplyRespawnPenalty(object oPlayer)
SetXP(oPlayer, nXP); //Set them to the minimum required for level.
TakeGoldFromCreature(pGold, oPlayer, TRUE); //Take 10% of their gold.
}
}
//:: void main (){}
}