Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,78 +0,0 @@
|
||||
#include "prc_inc_factotum"
|
||||
#include "inc_dynconv"
|
||||
|
||||
void TriggerInspiration(object oPC, int nCombat);
|
||||
|
||||
void TriggerInspiration(object oPC, int nCombat)
|
||||
{
|
||||
SetLocalInt(oPC, "InspirationHBRunning", TRUE);
|
||||
DelayCommand(0.249, DeleteLocalInt(oPC, "InspirationHBRunning"));
|
||||
int nCurrent = GetIsInCombat(oPC);
|
||||
// We just entered combat
|
||||
if (nCurrent == TRUE && nCombat == FALSE)
|
||||
SetInspiration(oPC);
|
||||
/*else if (nCurrent == FALSE && nCombat == TRUE) // Just left combat
|
||||
ClearInspiration(oPC);*/
|
||||
|
||||
DelayCommand(0.25, TriggerInspiration(oPC, nCurrent));
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
int nEvent = GetRunningEvent();
|
||||
if(DEBUG) DoDebug("prc_factotum running, event: " + IntToString(nEvent));
|
||||
|
||||
// Get the PC. This is event-dependent
|
||||
object oPC;
|
||||
switch(nEvent)
|
||||
{
|
||||
case EVENT_ONPLAYERREST_FINISHED: oPC = GetLastBeingRested(); break;
|
||||
case EVENT_ONCLIENTENTER: oPC = GetEnteringObject(); break;
|
||||
|
||||
default:
|
||||
oPC = OBJECT_SELF;
|
||||
}
|
||||
int nClass = GetLevelByClass(CLASS_TYPE_FACTOTUM, oPC);
|
||||
object oSkin = GetPCSkin(oPC);
|
||||
object oArmour = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC);
|
||||
int nArmour = GetBaseAC(oArmour);
|
||||
int nBonus = GetAbilityModifier(ABILITY_INTELLIGENCE, oPC);
|
||||
if (nClass >= 16 && 3 >= nArmour)
|
||||
SetCompositeBonus(oSkin, "CunningDefense", nBonus, ITEM_PROPERTY_AC_BONUS);
|
||||
else
|
||||
SetCompositeBonus(oSkin, "CunningDefense", 0, ITEM_PROPERTY_AC_BONUS);
|
||||
|
||||
if (nClass >= 3)
|
||||
{
|
||||
SetCompositeBonus(oSkin, "BrainOverBrawn_H", nBonus, ITEM_PROPERTY_SKILL_BONUS, SKILL_HIDE);
|
||||
SetCompositeBonus(oSkin, "BrainOverBrawn_M", nBonus, ITEM_PROPERTY_SKILL_BONUS, SKILL_MOVE_SILENTLY);
|
||||
SetCompositeBonus(oSkin, "BrainOverBrawn_O", nBonus, ITEM_PROPERTY_SKILL_BONUS, SKILL_OPEN_LOCK);
|
||||
SetCompositeBonus(oSkin, "BrainOverBrawn_P", nBonus, ITEM_PROPERTY_SKILL_BONUS, SKILL_PICK_POCKET);
|
||||
SetCompositeBonus(oSkin, "BrainOverBrawn_S", nBonus, ITEM_PROPERTY_SKILL_BONUS, SKILL_SET_TRAP);
|
||||
SetCompositeBonus(oSkin, "BrainOverBrawn_T", nBonus, ITEM_PROPERTY_SKILL_BONUS, SKILL_TUMBLE);
|
||||
SetCompositeBonus(oSkin, "BrainOverBrawn_R", nBonus, ITEM_PROPERTY_SKILL_BONUS, SKILL_RIDE);
|
||||
SetCompositeBonus(oSkin, "BrainOverBrawn_J", nBonus, ITEM_PROPERTY_SKILL_BONUS, SKILL_JUMP);
|
||||
SetCompositeBonus(oSkin, "BrainOverBrawn_B", nBonus, ITEM_PROPERTY_SKILL_BONUS, SKILL_BALANCE);
|
||||
SetCompositeBonus(oSkin, "BrainOverBrawn_C", nBonus, ITEM_PROPERTY_SKILL_BONUS, SKILL_CLIMB);
|
||||
}
|
||||
|
||||
// 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, "prc_factotum", FALSE, FALSE);
|
||||
if (!GetLocalInt(oPC, "InspirationHBRunning")) DeleteLocalInt(oPC, "InspirationHB");
|
||||
if (!GetLocalInt(oPC, "InspirationHB") && !GetLocalInt(oPC, "InspirationHBRunning"))
|
||||
{
|
||||
TriggerInspiration(oPC, FALSE);
|
||||
SetLocalInt(oPC, "InspirationHB", TRUE);
|
||||
}
|
||||
}
|
||||
else if(nEvent == EVENT_ONPLAYERREST_FINISHED && nClass >= 2)
|
||||
{
|
||||
AssignCommand(oPC, ClearAllActions(TRUE));
|
||||
ClearFactotumSlots(oPC);
|
||||
SetLocalInt(oPC, "FactotumArcDil", GetMaxArcDilSpellLevel(oPC));
|
||||
StartDynamicConversation("prc_fact_splconv", oPC, DYNCONV_EXIT_NOT_ALLOWED, FALSE, TRUE, oPC);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user