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:
@@ -1,5 +1,6 @@
|
||||
#include "X_O2_CONINCLUDE"
|
||||
#include "GSLOOT_LIB"
|
||||
#include "prc_class_const"
|
||||
|
||||
// Modified 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.
|
||||
@@ -2850,13 +2888,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);
|
||||
|
||||
|
Reference in New Issue
Block a user