Further PRC integration

Further PRC integration.  Class & race integration.  Updated PoA loot spawn scripts for PRC classes.  Integrated PRC NPC event scripts.  Full compile.
This commit is contained in:
Jaysyn904
2022-10-09 22:53:12 -04:00
parent 55766b63b5
commit baf0860664
1708 changed files with 1746 additions and 242 deletions

View File

@@ -1,5 +1,6 @@
#include "X_O2_CONINCLUDE"
#include "GSLOOT_LIB"
#include "prc_class_const"
// Modofied by AW Olorin 1-12-2004
// Anti-GS Looting
@@ -2646,6 +2647,43 @@ void CreateWarhammer(object oTarget, object oAdventurer)
if (sItem != "")
dbCreateItemOnObject(sItem, oTarget, 1);
}
void CreateWhip(object oTarget, object oAdventurer)
{
string sItem = "";
int nHD = GetHitDice(oAdventurer);
if (GetRange(1, nHD)) // * 800
{
sItem = "x2_it_wpmwhip1";
}
else if (GetRange(2, nHD)) // * 200 - 2500
{
sItem = "x2_it_wpmwhip1";
}
else if (GetRange(3, nHD)) // * 800 - 10000
{
int nRandom = Random(2) + 1;
switch (nRandom)
{
case 1: sItem = "x2_it_wpmwhip1"; break;
case 2: sItem = "x2_it_wpmwhip2"; break;
}
}
else if (GetRange(4, nHD)) // * 2500 - 16500
{
sItem = "x2_it_wpmwhip2";
}
else if (GetRange(5, nHD)) // * 8000 - 25000
{
sItem = "x2_it_wpmwhip3";
}
else if (GetRange(6, nHD)) // * 16000 and up
{
sItem = "x2_it_wpmwhip3";
}
if (sItem != "")
dbCreateItemOnObject(sItem, oTarget, 1);
}
//::///////////////////////////////////////////////
//:: Prefers
//:: Copyright (c) 2001 Bioware Corp.
@@ -2853,13 +2891,60 @@ location lLoc = GetLocation(OBJECT_SELF);
{
// * if get to this point then the PC did not have Weapon Focus
// * in anything then do additional logic to give an appropriate weapon
if (GetLevelByClass(CLASS_TYPE_ALAGHAR, oLastOpener) >= 1)
{
CreateBattleAxe(oContainer, oLastOpener);
}
else
if (GetLevelByClass(CLASS_TYPE_HEARTWARDER, oLastOpener) >= 1
|| GetLevelByClass(CLASS_TYPE_LASHER, oLastOpener) >= 1)
{
CreateWhip(oContainer, oLastOpener);
}
else
if (GetLevelByClass(CLASS_TYPE_STORMLORD, oLastOpener) >= 1)
{
CreateSpear(oContainer, oLastOpener);
}
else
if (GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oLastOpener) >= 1)
{
CreateHalberd(oContainer, oLastOpener);
}
else
if (GetLevelByClass(CLASS_TYPE_HALFLING_WARSLINGER, oLastOpener) >= 1)
{
CreateSling(oContainer, oLastOpener);
}
else
if (GetLevelByClass(CLASS_TYPE_BOWMAN, oLastOpener) >= 1
|| GetLevelByClass(CLASS_TYPE_BLARCHER, oLastOpener) >= 1)
{
CreateLongbow(oContainer, oLastOpener);
}
else
if (GetLevelByClass(CLASS_TYPE_SAMURAI, oLastOpener) >= 1
|| GetLevelByClass(CLASS_TYPE_CW_SAMURAI, oLastOpener) >= 1)
{
CreateKatana(oContainer, oLastOpener);
}
else
if (GetLevelByClass(CLASS_TYPE_SWASHBUCKLER, oLastOpener) >= 1
|| GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE, oLastOpener) >= 1
|| GetLevelByClass(CLASS_TYPE_DUELIST, oLastOpener) >= 1)
{
CreateRapier(oContainer, oLastOpener);
}
else
if (GetLevelByClass(CLASS_TYPE_DRUID, oLastOpener) >= 1)
{
CreateSpecificDruidWeapon(oContainer, oLastOpener);
}
else
if (GetLevelByClass(CLASS_TYPE_WIZARD, oLastOpener) >= 1)
if (GetLevelByClass(CLASS_TYPE_WIZARD, oLastOpener) >= 1
|| GetLevelByClass(CLASS_TYPE_PSION, oLastOpener) >= 1
|| GetLevelByClass(CLASS_TYPE_SHADOWCASTER, oLastOpener) >= 1)
{
CreateSpecificWizardWeapon(oContainer, oLastOpener);