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.
56 lines
1.7 KiB
Plaintext
56 lines
1.7 KiB
Plaintext
/*
|
|
----------------
|
|
Truenamer Passives
|
|
|
|
true_truenamer
|
|
----------------
|
|
|
|
4/9/06 by Stratovarius
|
|
*/ /** @file
|
|
|
|
Gives him the +3 (or greater) Lore bonus at the appropriate levels.
|
|
*/
|
|
|
|
#include "true_inc_trufunc"
|
|
#include "inc_dynconv"
|
|
|
|
void main()
|
|
{
|
|
int nEvent = GetRunningEvent();
|
|
if(DEBUG) DoDebug("true_truenamer running, event: " + IntToString(nEvent));
|
|
|
|
// Get the PC. This is event-dependent
|
|
object oPC;
|
|
switch(nEvent)
|
|
{
|
|
case EVENT_ONPLAYERREST_FINISHED: oPC = GetLastBeingRested(); break;
|
|
|
|
default:
|
|
oPC = OBJECT_SELF;
|
|
}
|
|
object oSkin = GetPCSkin(oPC);
|
|
int nClass = GetLevelByClass(CLASS_TYPE_TRUENAMER, oPC);
|
|
int nLore;
|
|
|
|
// We aren't being called from any event, instead from EvalPRCFeats
|
|
if(nEvent == FALSE)
|
|
{
|
|
// Add eventhook to OnRestFinished to reset the used marker
|
|
AddEventScript(oPC, EVENT_ONPLAYERREST_FINISHED, "true_truenamer", FALSE, FALSE);
|
|
if (nClass >= 14) nLore = 12;
|
|
else if (nClass >= 10 && nClass < 14) nLore = 9;
|
|
else if (nClass >= 7 && nClass < 10) nLore = 6;
|
|
else if (nClass >= 2 && nClass < 7) nLore = 3;
|
|
|
|
SetCompositeBonus(oSkin, "TruenamerLore", nLore, ITEM_PROPERTY_SKILL_BONUS, SKILL_LORE);
|
|
}
|
|
else if(nEvent == EVENT_ONPLAYERREST_FINISHED)
|
|
{
|
|
if ((!GetPersistantLocalInt(oPC, "SilverTongueLesser") && GetGold(oPC) >= 2500) || (!GetPersistantLocalInt(oPC, "SilverTongueGreater") && GetGold(oPC) >= 10000))
|
|
{
|
|
AssignCommand(oPC, ClearAllActions(TRUE));
|
|
StartDynamicConversation("true_tru_silver", oPC, DYNCONV_EXIT_NOT_ALLOWED, FALSE, TRUE, oPC);
|
|
}
|
|
}
|
|
}
|