PRC8/nwn/nwnprc/trunk/ocfixerf/m1q0dchest2.nss
Jaysyn904 6ec137a24e Updated AMS marker feats
Updated AMS marker feats.  Removed arcane & divine marker feats.  Updated Dread Necromancer for epic progression. Updated weapon baseitem models.  Updated new weapons for crafting & npc equip.
 Updated prefix.  Updated release archive.
2024-02-11 14:01:05 -05:00

106 lines
4.3 KiB
Plaintext

// Added compatibility for PRC base classes
#include "inc_debug"
#include "prc_class_const"
void GiveItem(string sTemplate);
void main()
{
if(DEBUG) DoDebug("m1q0dchest2 running");
string sItemTemplate1;
string sItemTemplate2;
string sItemTemplate3;
string sItemTemplate4;
object oPC = GetLastOpenedBy();
if(GetIsObjectValid(oPC) == FALSE)
{
oPC = GetLastAttacker();
}
if(GetLocalInt(oPC,"NW_L_M1Q0Item4") == FALSE)
{
SetLocalInt(oPC,"NW_L_M1Q0Item4",TRUE);
if(GetLevelByClass(CLASS_TYPE_CLERIC,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_FIGHTER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_MYSTIC,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WARBLADE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SWORDSAGE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_CRUSADER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SOHEI,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_KNIGHT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_ANTI_PALADIN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PSYWAR,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_BRAWLER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_MARSHAL,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SOULBORN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PALADIN,oPC) > 0)
{
sItemTemplate1 = "NW_AARCL005"; //Splintmail
}
else if(GetLevelByClass(CLASS_TYPE_BOWMAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_HEXBLADE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WARLOCK,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_FACTOTUM,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_TOTEMIST,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_INCARNATE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_BINDER, oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) > 0)
{
sItemTemplate1 = "NW_IT_MBELT010"; //Brawler's belt
}
else if(GetLevelByClass(CLASS_TYPE_DRUID,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SHAMAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SAMURAI,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_CW_SAMURAI,oPC) > 0)
{
sItemTemplate1 = "NW_AARCL010"; //Breastplate
}
else if(GetLevelByClass(CLASS_TYPE_MONK,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_TRUENAMER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PSION,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WILDER,oPC) > 0)
{
sItemTemplate1 = "NW_IT_MNECK024"; //Amulet of will
}
else if(GetLevelByClass(CLASS_TYPE_ULTIMATE_RANGER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SCOUT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SHUGENJA,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_HEALER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WITCH,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_ARCHIVIST,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_TEMPLAR,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_RANGER,oPC) > 0)
{
sItemTemplate1 = "NW_MAARCL097"; //Cloak of prot vs. evil
}
else if(GetLevelByClass(CLASS_TYPE_ROGUE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_NINJA,oPC) > 0)
{
sItemTemplate1 = "NW_IT_TRAP002"; // average spike trap
sItemTemplate2 = "NW_IT_TRAP029"; // minor cold trap
sItemTemplate3 = "NW_IT_TRAP029"; // minor cold trap
}
else
{
sItemTemplate1 = "NW_IT_SPARSCR108"; //Sleep scoll
sItemTemplate2 = "NW_IT_SPARSCR104"; //Mage Armor
sItemTemplate3 = "NW_IT_SPARSCR110"; //Color spray
sItemTemplate4 = "NW_IT_SPARSCR105"; //Summon creature 1
}
GiveItem(sItemTemplate1);
GiveItem(sItemTemplate2);
GiveItem(sItemTemplate3);
GiveItem(sItemTemplate4);
}
}
void GiveItem(string sTemplate)
{
object oItem = CreateItemOnObject(sTemplate);
SetIdentified(oItem,TRUE);
return;
}