From de059ef1c5612133a530ef6e6e545cc467b63442 Mon Sep 17 00:00:00 2001 From: "Crom (Thibaut CHARLES)" Date: Mon, 13 Apr 2015 22:56:36 +0200 Subject: [PATCH] First --- NWScriptActions.cs | 5334 ++++++++++++ NWScriptConstants.cs | 7537 +++++++++++++++++ NWScriptSupport.cs | 1343 +++ NativeScriptUtil.exe | Bin 0 -> 132608 bytes PackageScript.cmd | 5 + README.md | 1 + nwn2_ai_onmoduleload/.gitignore | 2 + .../Properties/AssemblyInfo.cs | 36 + nwn2_ai_onmoduleload/StandardEntrypoints.cs | 150 + nwn2_ai_onmoduleload/nwn2_ai_onmoduleload.cs | 62 + .../nwn2_ai_onmoduleload.csproj | 68 + 11 files changed, 14538 insertions(+) create mode 100644 NWScriptActions.cs create mode 100644 NWScriptConstants.cs create mode 100644 NWScriptSupport.cs create mode 100644 NativeScriptUtil.exe create mode 100644 PackageScript.cmd create mode 100644 README.md create mode 100644 nwn2_ai_onmoduleload/.gitignore create mode 100644 nwn2_ai_onmoduleload/Properties/AssemblyInfo.cs create mode 100644 nwn2_ai_onmoduleload/StandardEntrypoints.cs create mode 100644 nwn2_ai_onmoduleload/nwn2_ai_onmoduleload.cs create mode 100644 nwn2_ai_onmoduleload/nwn2_ai_onmoduleload.csproj diff --git a/NWScriptActions.cs b/NWScriptActions.cs new file mode 100644 index 0000000..2a75cee --- /dev/null +++ b/NWScriptActions.cs @@ -0,0 +1,5334 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Reflection; +using System.Reflection.Emit; +using NWScript; +using NWScript.ManagedInterfaceLayer.NWScriptManagedInterface; + +using NWEffect = NWScript.NWScriptEngineStructure0; +using NWEvent = NWScript.NWScriptEngineStructure1; +using NWLocation = NWScript.NWScriptEngineStructure2; +using NWTalent = NWScript.NWScriptEngineStructure3; +using NWItemProperty = NWScript.NWScriptEngineStructure4; + +namespace CLRScriptFramework +{ + + /// + /// This partial implementation of the sample script includes wrappers for + /// the high level NWScript functions. You should include the wrappers in + /// your script object type. + /// + public partial class CLRScriptBase + { + // + // Begin action service handler wrappers (autogenerated). + // + + public Int32 Random(Int32 nMaxInteger) + { + return ScriptHost.ExecuteActionService_0_1_Random(nMaxInteger); + } + + public void PrintString(String sString) + { + ScriptHost.ExecuteActionService_1_1_PrintString(sString); + } + + public void PrintFloat(float fFloat, Int32 nWidth, Int32 nDecimals) + { + ScriptHost.ExecuteActionService_2_3_PrintFloat((Single)fFloat, nWidth, nDecimals); + } + + public String FloatToString(float fFloat, Int32 nWidth, Int32 nDecimals) + { + return ScriptHost.ExecuteActionService_3_3_FloatToString((Single)fFloat, nWidth, nDecimals); + } + + public void PrintInteger(Int32 nInteger) + { + ScriptHost.ExecuteActionService_4_1_PrintInteger(nInteger); + } + + public void PrintObject(UInt32 oObject) + { + ScriptHost.ExecuteActionService_5_1_PrintObject(oObject); + } + + public void AssignCommand(UInt32 oActionSubject, NWAction aActionToAssign) + { + InternalSaveStateForAction(aActionToAssign); + ScriptHost.ExecuteActionService_6_1_AssignCommand(oActionSubject); + } + + public void DelayCommand(float fSeconds, NWAction aActionToDelay) + { + InternalSaveStateForAction(aActionToDelay); + ScriptHost.ExecuteActionService_7_1_DelayCommand((Single)fSeconds); + } + + public void ExecuteScript(String sScript, UInt32 oTarget) + { + ScriptHost.ExecuteActionService_8_2_ExecuteScript(sScript, oTarget); + } + + public void ClearAllActions(Int32 nClearCombatState) + { + ScriptHost.ExecuteActionService_9_1_ClearAllActions(nClearCombatState); + } + + public void SetFacing(float fDirection, Int32 bLockToThisOrientation) + { + ScriptHost.ExecuteActionService_10_2_SetFacing((Single)fDirection, bLockToThisOrientation); + } + + public void SetCalendar(Int32 nYear, Int32 nMonth, Int32 nDay) + { + ScriptHost.ExecuteActionService_11_3_SetCalendar(nYear, nMonth, nDay); + } + + public void SetTime(Int32 nHour, Int32 nMinute, Int32 nSecond, Int32 nMillisecond) + { + ScriptHost.ExecuteActionService_12_4_SetTime(nHour, nMinute, nSecond, nMillisecond); + } + + public Int32 GetCalendarYear() + { + return ScriptHost.ExecuteActionService_13_0_GetCalendarYear(); + } + + public Int32 GetCalendarMonth() + { + return ScriptHost.ExecuteActionService_14_0_GetCalendarMonth(); + } + + public Int32 GetCalendarDay() + { + return ScriptHost.ExecuteActionService_15_0_GetCalendarDay(); + } + + public Int32 GetTimeHour() + { + return ScriptHost.ExecuteActionService_16_0_GetTimeHour(); + } + + public Int32 GetTimeMinute() + { + return ScriptHost.ExecuteActionService_17_0_GetTimeMinute(); + } + + public Int32 GetTimeSecond() + { + return ScriptHost.ExecuteActionService_18_0_GetTimeSecond(); + } + + public Int32 GetTimeMillisecond() + { + return ScriptHost.ExecuteActionService_19_0_GetTimeMillisecond(); + } + + public void ActionRandomWalk() + { + ScriptHost.ExecuteActionService_20_0_ActionRandomWalk(); + } + + public void ActionMoveToLocation(NWLocation lDestination, Int32 bRun) + { + ScriptHost.ExecuteActionService_21_2_ActionMoveToLocation(lDestination, bRun); + } + + public void ActionMoveToObject(UInt32 oMoveTo, Int32 bRun, float fRange) + { + ScriptHost.ExecuteActionService_22_3_ActionMoveToObject(oMoveTo, bRun, (Single)fRange); + } + + public void ActionMoveAwayFromObject(UInt32 oFleeFrom, Int32 bRun, float fMoveAwayRange) + { + ScriptHost.ExecuteActionService_23_3_ActionMoveAwayFromObject(oFleeFrom, bRun, (Single)fMoveAwayRange); + } + + public UInt32 GetArea(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_24_1_GetArea(oTarget); + } + + public UInt32 GetEnteringObject() + { + return ScriptHost.ExecuteActionService_25_0_GetEnteringObject(); + } + + public UInt32 GetExitingObject() + { + return ScriptHost.ExecuteActionService_26_0_GetExitingObject(); + } + + public NWScript.Vector3 GetPosition(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_27_1_GetPosition(oTarget); + } + + public float GetFacing(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_28_1_GetFacing(oTarget); + } + + public UInt32 GetItemPossessor(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_29_1_GetItemPossessor(oItem); + } + + public UInt32 GetItemPossessedBy(UInt32 oCreature, String sItemTag) + { + return ScriptHost.ExecuteActionService_30_2_GetItemPossessedBy(oCreature, sItemTag); + } + + public UInt32 CreateItemOnObject(String sItemTemplate, UInt32 oTarget, Int32 nStackSize, String sNewTag, Int32 bDisplayFeedback) + { + return ScriptHost.ExecuteActionService_31_5_CreateItemOnObject(sItemTemplate, oTarget, nStackSize, sNewTag, bDisplayFeedback); + } + + public void ActionEquipItem(UInt32 oItem, Int32 nInventorySlot) + { + ScriptHost.ExecuteActionService_32_2_ActionEquipItem(oItem, nInventorySlot); + } + + public void ActionUnequipItem(UInt32 oItem) + { + ScriptHost.ExecuteActionService_33_1_ActionUnequipItem(oItem); + } + + public void ActionPickUpItem(UInt32 oItem) + { + ScriptHost.ExecuteActionService_34_1_ActionPickUpItem(oItem); + } + + public void ActionPutDownItem(UInt32 oItem) + { + ScriptHost.ExecuteActionService_35_1_ActionPutDownItem(oItem); + } + + public UInt32 GetLastAttacker(UInt32 oAttackee) + { + return ScriptHost.ExecuteActionService_36_1_GetLastAttacker(oAttackee); + } + + public void ActionAttack(UInt32 oAttackee, Int32 bPassive) + { + ScriptHost.ExecuteActionService_37_2_ActionAttack(oAttackee, bPassive); + } + + public UInt32 GetNearestCreature(Int32 nFirstCriteriaType, Int32 nFirstCriteriaValue, UInt32 oTarget, Int32 nNth, Int32 nSecondCriteriaType, Int32 nSecondCriteriaValue, Int32 nThirdCriteriaType, Int32 nThirdCriteriaValue) + { + return ScriptHost.ExecuteActionService_38_8_GetNearestCreature(nFirstCriteriaType, nFirstCriteriaValue, oTarget, nNth, nSecondCriteriaType, nSecondCriteriaValue, nThirdCriteriaType, nThirdCriteriaValue); + } + + public void ActionSpeakString(String sStringToSpeak, Int32 nTalkVolume) + { + ScriptHost.ExecuteActionService_39_2_ActionSpeakString(sStringToSpeak, nTalkVolume); + } + + public void ActionPlayAnimation(Int32 nAnimation, float fSpeed, float fDurationSeconds) + { + ScriptHost.ExecuteActionService_40_3_ActionPlayAnimation(nAnimation, (Single)fSpeed, (Single)fDurationSeconds); + } + + public float GetDistanceToObject(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_41_1_GetDistanceToObject(oObject); + } + + public Int32 GetIsObjectValid(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_42_1_GetIsObjectValid(oObject); + } + + public void ActionOpenDoor(UInt32 oDoor) + { + ScriptHost.ExecuteActionService_43_1_ActionOpenDoor(oDoor); + } + + public void ActionCloseDoor(UInt32 oDoor) + { + ScriptHost.ExecuteActionService_44_1_ActionCloseDoor(oDoor); + } + + public void SetCameraFacing(float fDirection, float fDistance, float fPitch, Int32 nTransitionType) + { + ScriptHost.ExecuteActionService_45_4_SetCameraFacing((Single)fDirection, (Single)fDistance, (Single)fPitch, nTransitionType); + } + + public void PlaySound(String sSoundName, Int32 bPlayAs2D) + { + ScriptHost.ExecuteActionService_46_2_PlaySound(sSoundName, bPlayAs2D); + } + + public UInt32 GetSpellTargetObject() + { + return ScriptHost.ExecuteActionService_47_0_GetSpellTargetObject(); + } + + public void ActionCastSpellAtObject(Int32 nSpell, UInt32 oTarget, Int32 nMetaMagic, Int32 bCheat, Int32 nDomainLevel, Int32 nProjectilePathType, Int32 bInstantSpell) + { + ScriptHost.ExecuteActionService_48_7_ActionCastSpellAtObject(nSpell, oTarget, nMetaMagic, bCheat, nDomainLevel, nProjectilePathType, bInstantSpell); + } + + public Int32 GetCurrentHitPoints(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_49_1_GetCurrentHitPoints(oObject); + } + + public Int32 GetMaxHitPoints(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_50_1_GetMaxHitPoints(oObject); + } + + public Int32 GetLocalInt(UInt32 oObject, String sVarName) + { + return ScriptHost.ExecuteActionService_51_2_GetLocalInt(oObject, sVarName); + } + + public float GetLocalFloat(UInt32 oObject, String sVarName) + { + return ScriptHost.ExecuteActionService_52_2_GetLocalFloat(oObject, sVarName); + } + + public String GetLocalString(UInt32 oObject, String sVarName) + { + return ScriptHost.ExecuteActionService_53_2_GetLocalString(oObject, sVarName); + } + + public UInt32 GetLocalObject(UInt32 oObject, String sVarName) + { + return ScriptHost.ExecuteActionService_54_2_GetLocalObject(oObject, sVarName); + } + + public void SetLocalInt(UInt32 oObject, String sVarName, Int32 nValue) + { + ScriptHost.ExecuteActionService_55_3_SetLocalInt(oObject, sVarName, nValue); + } + + public void SetLocalFloat(UInt32 oObject, String sVarName, float fValue) + { + ScriptHost.ExecuteActionService_56_3_SetLocalFloat(oObject, sVarName, (Single)fValue); + } + + public void SetLocalString(UInt32 oObject, String sVarName, String sValue) + { + ScriptHost.ExecuteActionService_57_3_SetLocalString(oObject, sVarName, sValue); + } + + public void SetLocalObject(UInt32 oObject, String sVarName, UInt32 oValue) + { + ScriptHost.ExecuteActionService_58_3_SetLocalObject(oObject, sVarName, oValue); + } + + public Int32 GetStringLength(String sString) + { + return ScriptHost.ExecuteActionService_59_1_GetStringLength(sString); + } + + public String GetStringUpperCase(String sString) + { + return ScriptHost.ExecuteActionService_60_1_GetStringUpperCase(sString); + } + + public String GetStringLowerCase(String sString) + { + return ScriptHost.ExecuteActionService_61_1_GetStringLowerCase(sString); + } + + public String GetStringRight(String sString, Int32 nCount) + { + return ScriptHost.ExecuteActionService_62_2_GetStringRight(sString, nCount); + } + + public String GetStringLeft(String sString, Int32 nCount) + { + return ScriptHost.ExecuteActionService_63_2_GetStringLeft(sString, nCount); + } + + public String InsertString(String sDestination, String sString, Int32 nPosition) + { + return ScriptHost.ExecuteActionService_64_3_InsertString(sDestination, sString, nPosition); + } + + public String GetSubString(String sString, Int32 nStart, Int32 nCount) + { + return ScriptHost.ExecuteActionService_65_3_GetSubString(sString, nStart, nCount); + } + + public Int32 FindSubString(String sString, String sSubString, Int32 nStart) + { + return ScriptHost.ExecuteActionService_66_3_FindSubString(sString, sSubString, nStart); + } + + public float fabs(float fValue) + { + return ScriptHost.ExecuteActionService_67_1_fabs((Single)fValue); + } + + public float cos(float fValue) + { + return ScriptHost.ExecuteActionService_68_1_cos((Single)fValue); + } + + public float sin(float fValue) + { + return ScriptHost.ExecuteActionService_69_1_sin((Single)fValue); + } + + public float tan(float fValue) + { + return ScriptHost.ExecuteActionService_70_1_tan((Single)fValue); + } + + public float acos(float fValue) + { + return ScriptHost.ExecuteActionService_71_1_acos((Single)fValue); + } + + public float asin(float fValue) + { + return ScriptHost.ExecuteActionService_72_1_asin((Single)fValue); + } + + public float atan(float fValue) + { + return ScriptHost.ExecuteActionService_73_1_atan((Single)fValue); + } + + public float log(float fValue) + { + return ScriptHost.ExecuteActionService_74_1_log((Single)fValue); + } + + public float pow(float fValue, float fExponent) + { + return ScriptHost.ExecuteActionService_75_2_pow((Single)fValue, (Single)fExponent); + } + + public float sqrt(float fValue) + { + return ScriptHost.ExecuteActionService_76_1_sqrt((Single)fValue); + } + + public Int32 abs(Int32 nValue) + { + return ScriptHost.ExecuteActionService_77_1_abs(nValue); + } + + public NWEffect EffectHeal(Int32 nDamageToHeal) + { + return ScriptHost.ExecuteActionService_78_1_EffectHeal(nDamageToHeal); + } + + public NWEffect EffectDamage(Int32 nDamageAmount, Int32 nDamageType, Int32 nDamagePower, Int32 nIgnoreResistances) + { + return ScriptHost.ExecuteActionService_79_4_EffectDamage(nDamageAmount, nDamageType, nDamagePower, nIgnoreResistances); + } + + public NWEffect EffectAbilityIncrease(Int32 nAbilityToIncrease, Int32 nModifyBy) + { + return ScriptHost.ExecuteActionService_80_2_EffectAbilityIncrease(nAbilityToIncrease, nModifyBy); + } + + public NWEffect EffectDamageResistance(Int32 nDamageType, Int32 nAmount, Int32 nLimit) + { + return ScriptHost.ExecuteActionService_81_3_EffectDamageResistance(nDamageType, nAmount, nLimit); + } + + public NWEffect EffectResurrection() + { + return ScriptHost.ExecuteActionService_82_0_EffectResurrection(); + } + + public NWEffect EffectSummonCreature(String sCreatureResref, Int32 nVisualEffectId, float fDelaySeconds, Int32 nUseAppearAnimation) + { + return ScriptHost.ExecuteActionService_83_4_EffectSummonCreature(sCreatureResref, nVisualEffectId, (Single)fDelaySeconds, nUseAppearAnimation); + } + + public Int32 GetCasterLevel(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_84_1_GetCasterLevel(oCreature); + } + + public NWEffect GetFirstEffect(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_85_1_GetFirstEffect(oCreature); + } + + public NWEffect GetNextEffect(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_86_1_GetNextEffect(oCreature); + } + + public void RemoveEffect(UInt32 oCreature, NWEffect eEffect) + { + ScriptHost.ExecuteActionService_87_2_RemoveEffect(oCreature, eEffect); + } + + public Int32 GetIsEffectValid(NWEffect eEffect) + { + return ScriptHost.ExecuteActionService_88_1_GetIsEffectValid(eEffect); + } + + public Int32 GetEffectDurationType(NWEffect eEffect) + { + return ScriptHost.ExecuteActionService_89_1_GetEffectDurationType(eEffect); + } + + public Int32 GetEffectSubType(NWEffect eEffect) + { + return ScriptHost.ExecuteActionService_90_1_GetEffectSubType(eEffect); + } + + public UInt32 GetEffectCreator(NWEffect eEffect) + { + return ScriptHost.ExecuteActionService_91_1_GetEffectCreator(eEffect); + } + + public String IntToString(Int32 nInteger) + { + return ScriptHost.ExecuteActionService_92_1_IntToString(nInteger); + } + + public UInt32 GetFirstObjectInArea(UInt32 oArea) + { + return ScriptHost.ExecuteActionService_93_1_GetFirstObjectInArea(oArea); + } + + public UInt32 GetNextObjectInArea(UInt32 oArea) + { + return ScriptHost.ExecuteActionService_94_1_GetNextObjectInArea(oArea); + } + + public Int32 d2(Int32 nNumDice) + { + return ScriptHost.ExecuteActionService_95_1_d2(nNumDice); + } + + public Int32 d3(Int32 nNumDice) + { + return ScriptHost.ExecuteActionService_96_1_d3(nNumDice); + } + + public Int32 d4(Int32 nNumDice) + { + return ScriptHost.ExecuteActionService_97_1_d4(nNumDice); + } + + public Int32 d6(Int32 nNumDice) + { + return ScriptHost.ExecuteActionService_98_1_d6(nNumDice); + } + + public Int32 d8(Int32 nNumDice) + { + return ScriptHost.ExecuteActionService_99_1_d8(nNumDice); + } + + public Int32 d10(Int32 nNumDice) + { + return ScriptHost.ExecuteActionService_100_1_d10(nNumDice); + } + + public Int32 d12(Int32 nNumDice) + { + return ScriptHost.ExecuteActionService_101_1_d12(nNumDice); + } + + public Int32 d20(Int32 nNumDice) + { + return ScriptHost.ExecuteActionService_102_1_d20(nNumDice); + } + + public Int32 d100(Int32 nNumDice) + { + return ScriptHost.ExecuteActionService_103_1_d100(nNumDice); + } + + public float VectorMagnitude(NWScript.Vector3 vVector) + { + return ScriptHost.ExecuteActionService_104_3_VectorMagnitude(vVector.z, vVector.y, vVector.x); + } + + public Int32 GetMetaMagicFeat() + { + return ScriptHost.ExecuteActionService_105_0_GetMetaMagicFeat(); + } + + public Int32 GetObjectType(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_106_1_GetObjectType(oTarget); + } + + public Int32 GetRacialType(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_107_1_GetRacialType(oCreature); + } + + public Int32 FortitudeSave(UInt32 oCreature, Int32 nDC, Int32 nSaveType, UInt32 oSaveVersus) + { + return ScriptHost.ExecuteActionService_108_4_FortitudeSave(oCreature, nDC, nSaveType, oSaveVersus); + } + + public Int32 ReflexSave(UInt32 oCreature, Int32 nDC, Int32 nSaveType, UInt32 oSaveVersus) + { + return ScriptHost.ExecuteActionService_109_4_ReflexSave(oCreature, nDC, nSaveType, oSaveVersus); + } + + public Int32 WillSave(UInt32 oCreature, Int32 nDC, Int32 nSaveType, UInt32 oSaveVersus) + { + return ScriptHost.ExecuteActionService_110_4_WillSave(oCreature, nDC, nSaveType, oSaveVersus); + } + + public Int32 GetSpellSaveDC() + { + return ScriptHost.ExecuteActionService_111_0_GetSpellSaveDC(); + } + + public NWEffect MagicalEffect(NWEffect eEffect) + { + return ScriptHost.ExecuteActionService_112_1_MagicalEffect(eEffect); + } + + public NWEffect SupernaturalEffect(NWEffect eEffect) + { + return ScriptHost.ExecuteActionService_113_1_SupernaturalEffect(eEffect); + } + + public NWEffect ExtraordinaryEffect(NWEffect eEffect) + { + return ScriptHost.ExecuteActionService_114_1_ExtraordinaryEffect(eEffect); + } + + public NWEffect EffectACIncrease(Int32 nValue, Int32 nModifyType, Int32 nDamageType, Int32 bVsSpiritsOnly) + { + return ScriptHost.ExecuteActionService_115_4_EffectACIncrease(nValue, nModifyType, nDamageType, bVsSpiritsOnly); + } + + public Int32 GetAC(UInt32 oObject, Int32 nForFutureUse) + { + return ScriptHost.ExecuteActionService_116_2_GetAC(oObject, nForFutureUse); + } + + public NWEffect EffectSavingThrowIncrease(Int32 nSave, Int32 nValue, Int32 nSaveType, Int32 bVsSpiritsOnly) + { + return ScriptHost.ExecuteActionService_117_4_EffectSavingThrowIncrease(nSave, nValue, nSaveType, bVsSpiritsOnly); + } + + public NWEffect EffectAttackIncrease(Int32 nBonus, Int32 nModifierType) + { + return ScriptHost.ExecuteActionService_118_2_EffectAttackIncrease(nBonus, nModifierType); + } + + public NWEffect EffectDamageReduction(Int32 nAmount, Int32 nDRSubType, Int32 nLimit, Int32 nDRType) + { + return ScriptHost.ExecuteActionService_119_4_EffectDamageReduction(nAmount, nDRSubType, nLimit, nDRType); + } + + public NWEffect EffectDamageIncrease(Int32 nBonus, Int32 nDamageType, Int32 nVersusRace) + { + return ScriptHost.ExecuteActionService_120_3_EffectDamageIncrease(nBonus, nDamageType, nVersusRace); + } + + public float RoundsToSeconds(Int32 nRounds) + { + return ScriptHost.ExecuteActionService_121_1_RoundsToSeconds(nRounds); + } + + public float HoursToSeconds(Int32 nHours) + { + return ScriptHost.ExecuteActionService_122_1_HoursToSeconds(nHours); + } + + public float TurnsToSeconds(Int32 nTurns) + { + return ScriptHost.ExecuteActionService_123_1_TurnsToSeconds(nTurns); + } + + public Int32 GetLawChaosValue(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_124_1_GetLawChaosValue(oCreature); + } + + public Int32 GetGoodEvilValue(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_125_1_GetGoodEvilValue(oCreature); + } + + public Int32 GetAlignmentLawChaos(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_126_1_GetAlignmentLawChaos(oCreature); + } + + public Int32 GetAlignmentGoodEvil(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_127_1_GetAlignmentGoodEvil(oCreature); + } + + public UInt32 GetFirstObjectInShape(Int32 nShape, float fSize, NWLocation lTarget, Int32 bLineOfSight, Int32 nObjectFilter, NWScript.Vector3 vOrigin) + { + return ScriptHost.ExecuteActionService_128_8_GetFirstObjectInShape(nShape, (Single)fSize, lTarget, bLineOfSight, nObjectFilter, vOrigin.z, vOrigin.y, vOrigin.x); + } + + public UInt32 GetNextObjectInShape(Int32 nShape, float fSize, NWLocation lTarget, Int32 bLineOfSight, Int32 nObjectFilter, NWScript.Vector3 vOrigin) + { + return ScriptHost.ExecuteActionService_129_8_GetNextObjectInShape(nShape, (Single)fSize, lTarget, bLineOfSight, nObjectFilter, vOrigin.z, vOrigin.y, vOrigin.x); + } + + public NWEffect EffectEntangle() + { + return ScriptHost.ExecuteActionService_130_0_EffectEntangle(); + } + + public void SignalEvent(UInt32 oObject, NWEvent evToRun) + { + ScriptHost.ExecuteActionService_131_2_SignalEvent(oObject, evToRun); + } + + public NWEvent EventUserDefined(Int32 nUserDefinedEventNumber) + { + return ScriptHost.ExecuteActionService_132_1_EventUserDefined(nUserDefinedEventNumber); + } + + public NWEffect EffectDeath(Int32 nSpectacularDeath, Int32 nDisplayFeedback, Int32 nIgnoreDeathImmunity, Int32 bPurgeEffects) + { + return ScriptHost.ExecuteActionService_133_4_EffectDeath(nSpectacularDeath, nDisplayFeedback, nIgnoreDeathImmunity, bPurgeEffects); + } + + public NWEffect EffectKnockdown() + { + return ScriptHost.ExecuteActionService_134_0_EffectKnockdown(); + } + + public void ActionGiveItem(UInt32 oItem, UInt32 oGiveTo, Int32 bDisplayFeedback) + { + ScriptHost.ExecuteActionService_135_3_ActionGiveItem(oItem, oGiveTo, bDisplayFeedback); + } + + public void ActionTakeItem(UInt32 oItem, UInt32 oTakeFrom, Int32 bDisplayFeedback) + { + ScriptHost.ExecuteActionService_136_3_ActionTakeItem(oItem, oTakeFrom, bDisplayFeedback); + } + + public NWScript.Vector3 VectorNormalize(NWScript.Vector3 vVector) + { + return ScriptHost.ExecuteActionService_137_3_VectorNormalize(vVector.z, vVector.y, vVector.x); + } + + public NWEffect EffectCurse(Int32 nStrMod, Int32 nDexMod, Int32 nConMod, Int32 nIntMod, Int32 nWisMod, Int32 nChaMod) + { + return ScriptHost.ExecuteActionService_138_6_EffectCurse(nStrMod, nDexMod, nConMod, nIntMod, nWisMod, nChaMod); + } + + public Int32 GetAbilityScore(UInt32 oCreature, Int32 nAbilityType, Int32 nBaseAttribute) + { + return ScriptHost.ExecuteActionService_139_3_GetAbilityScore(oCreature, nAbilityType, nBaseAttribute); + } + + public Int32 GetIsDead(UInt32 oCreature, Int32 bIgnoreDying) + { + return ScriptHost.ExecuteActionService_140_2_GetIsDead(oCreature, bIgnoreDying); + } + + public void PrintVector(NWScript.Vector3 vVector, Int32 bPrepend) + { + ScriptHost.ExecuteActionService_141_4_PrintVector(vVector.z, vVector.y, vVector.x, bPrepend); + } + + public NWScript.Vector3 Vector(float x, float y, float z) + { + return ScriptHost.ExecuteActionService_142_3_Vector((Single)x, (Single)y, (Single)z); + } + + public void SetFacingPoint(NWScript.Vector3 vTarget, Int32 bLockToThisOrientation) + { + ScriptHost.ExecuteActionService_143_4_SetFacingPoint(vTarget.z, vTarget.y, vTarget.x, bLockToThisOrientation); + } + + public NWScript.Vector3 AngleToVector(float fAngle) + { + return ScriptHost.ExecuteActionService_144_1_AngleToVector((Single)fAngle); + } + + public float VectorToAngle(NWScript.Vector3 vVector) + { + return ScriptHost.ExecuteActionService_145_3_VectorToAngle(vVector.z, vVector.y, vVector.x); + } + + public Int32 TouchAttackMelee(UInt32 oTarget, Int32 bDisplayFeedback, Int32 nBonus) + { + return ScriptHost.ExecuteActionService_146_3_TouchAttackMelee(oTarget, bDisplayFeedback, nBonus); + } + + public Int32 TouchAttackRanged(UInt32 oTarget, Int32 bDisplayFeedback, Int32 nBonus) + { + return ScriptHost.ExecuteActionService_147_3_TouchAttackRanged(oTarget, bDisplayFeedback, nBonus); + } + + public NWEffect EffectParalyze(Int32 nSaveDC, Int32 nSave, Int32 bSaveEveryRound) + { + return ScriptHost.ExecuteActionService_148_3_EffectParalyze(nSaveDC, nSave, bSaveEveryRound); + } + + public NWEffect EffectSpellImmunity(Int32 nImmunityToSpell) + { + return ScriptHost.ExecuteActionService_149_1_EffectSpellImmunity(nImmunityToSpell); + } + + public NWEffect EffectDeaf() + { + return ScriptHost.ExecuteActionService_150_0_EffectDeaf(); + } + + public float GetDistanceBetween(UInt32 oObjectA, UInt32 oObjectB) + { + return ScriptHost.ExecuteActionService_151_2_GetDistanceBetween(oObjectA, oObjectB); + } + + public void SetLocalLocation(UInt32 oObject, String sVarName, NWLocation lValue) + { + ScriptHost.ExecuteActionService_152_3_SetLocalLocation(oObject, sVarName, lValue); + } + + public NWLocation GetLocalLocation(UInt32 oObject, String sVarName) + { + return ScriptHost.ExecuteActionService_153_2_GetLocalLocation(oObject, sVarName); + } + + public NWEffect EffectSleep() + { + return ScriptHost.ExecuteActionService_154_0_EffectSleep(); + } + + public UInt32 GetItemInSlot(Int32 nInventorySlot, UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_155_2_GetItemInSlot(nInventorySlot, oCreature); + } + + public NWEffect EffectCharmed() + { + return ScriptHost.ExecuteActionService_156_0_EffectCharmed(); + } + + public NWEffect EffectConfused() + { + return ScriptHost.ExecuteActionService_157_0_EffectConfused(); + } + + public NWEffect EffectFrightened() + { + return ScriptHost.ExecuteActionService_158_0_EffectFrightened(); + } + + public NWEffect EffectDominated() + { + return ScriptHost.ExecuteActionService_159_0_EffectDominated(); + } + + public NWEffect EffectDazed() + { + return ScriptHost.ExecuteActionService_160_0_EffectDazed(); + } + + public NWEffect EffectStunned() + { + return ScriptHost.ExecuteActionService_161_0_EffectStunned(); + } + + public void SetCommandable(Int32 bCommandable, UInt32 oTarget) + { + ScriptHost.ExecuteActionService_162_2_SetCommandable(bCommandable, oTarget); + } + + public Int32 GetCommandable(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_163_1_GetCommandable(oTarget); + } + + public NWEffect EffectRegenerate(Int32 nAmount, float fIntervalSeconds) + { + return ScriptHost.ExecuteActionService_164_2_EffectRegenerate(nAmount, (Single)fIntervalSeconds); + } + + public NWEffect EffectMovementSpeedIncrease(Int32 nPercentChange) + { + return ScriptHost.ExecuteActionService_165_1_EffectMovementSpeedIncrease(nPercentChange); + } + + public Int32 GetHitDice(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_166_1_GetHitDice(oCreature); + } + + public void ActionForceFollowObject(UInt32 oFollow, float fFollowDistance, Int32 iFollowPosition) + { + ScriptHost.ExecuteActionService_167_3_ActionForceFollowObject(oFollow, (Single)fFollowDistance, iFollowPosition); + } + + public String GetTag(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_168_1_GetTag(oObject); + } + + public Int32 ResistSpell(UInt32 oCaster, UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_169_2_ResistSpell(oCaster, oTarget); + } + + public Int32 GetEffectType(NWEffect eEffect) + { + return ScriptHost.ExecuteActionService_170_1_GetEffectType(eEffect); + } + + public NWEffect EffectAreaOfEffect(Int32 nAreaEffectId, String sOnEnterScript, String sHeartbeatScript, String sOnExitScript, String sEffectTag) + { + return ScriptHost.ExecuteActionService_171_5_EffectAreaOfEffect(nAreaEffectId, sOnEnterScript, sHeartbeatScript, sOnExitScript, sEffectTag); + } + + public Int32 GetFactionEqual(UInt32 oFirstObject, UInt32 oSecondObject) + { + return ScriptHost.ExecuteActionService_172_2_GetFactionEqual(oFirstObject, oSecondObject); + } + + public void ChangeFaction(UInt32 oObjectToChangeFaction, UInt32 oMemberOfFactionToJoin) + { + ScriptHost.ExecuteActionService_173_2_ChangeFaction(oObjectToChangeFaction, oMemberOfFactionToJoin); + } + + public Int32 GetIsListening(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_174_1_GetIsListening(oObject); + } + + public void SetListening(UInt32 oObject, Int32 bValue) + { + ScriptHost.ExecuteActionService_175_2_SetListening(oObject, bValue); + } + + public void SetListenPattern(UInt32 oObject, String sPattern, Int32 nNumber) + { + ScriptHost.ExecuteActionService_176_3_SetListenPattern(oObject, sPattern, nNumber); + } + + public Int32 TestStringAgainstPattern(String sPattern, String sStringToTest) + { + return ScriptHost.ExecuteActionService_177_2_TestStringAgainstPattern(sPattern, sStringToTest); + } + + public String GetMatchedSubstring(Int32 nString) + { + return ScriptHost.ExecuteActionService_178_1_GetMatchedSubstring(nString); + } + + public Int32 GetMatchedSubstringsCount() + { + return ScriptHost.ExecuteActionService_179_0_GetMatchedSubstringsCount(); + } + + public NWEffect EffectVisualEffect(Int32 nVisualEffectId, Int32 nMissEffect) + { + return ScriptHost.ExecuteActionService_180_2_EffectVisualEffect(nVisualEffectId, nMissEffect); + } + + public UInt32 GetFactionWeakestMember(UInt32 oFactionMember, Int32 bMustBeVisible) + { + return ScriptHost.ExecuteActionService_181_2_GetFactionWeakestMember(oFactionMember, bMustBeVisible); + } + + public UInt32 GetFactionStrongestMember(UInt32 oFactionMember, Int32 bMustBeVisible) + { + return ScriptHost.ExecuteActionService_182_2_GetFactionStrongestMember(oFactionMember, bMustBeVisible); + } + + public UInt32 GetFactionMostDamagedMember(UInt32 oFactionMember, Int32 bMustBeVisible) + { + return ScriptHost.ExecuteActionService_183_2_GetFactionMostDamagedMember(oFactionMember, bMustBeVisible); + } + + public UInt32 GetFactionLeastDamagedMember(UInt32 oFactionMember, Int32 bMustBeVisible) + { + return ScriptHost.ExecuteActionService_184_2_GetFactionLeastDamagedMember(oFactionMember, bMustBeVisible); + } + + public Int32 GetFactionGold(UInt32 oFactionMember) + { + return ScriptHost.ExecuteActionService_185_1_GetFactionGold(oFactionMember); + } + + public Int32 GetFactionAverageReputation(UInt32 oSourceFactionMember, UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_186_2_GetFactionAverageReputation(oSourceFactionMember, oTarget); + } + + public Int32 GetFactionAverageGoodEvilAlignment(UInt32 oFactionMember) + { + return ScriptHost.ExecuteActionService_187_1_GetFactionAverageGoodEvilAlignment(oFactionMember); + } + + public Int32 GetFactionAverageLawChaosAlignment(UInt32 oFactionMember) + { + return ScriptHost.ExecuteActionService_188_1_GetFactionAverageLawChaosAlignment(oFactionMember); + } + + public Int32 GetFactionAverageLevel(UInt32 oFactionMember) + { + return ScriptHost.ExecuteActionService_189_1_GetFactionAverageLevel(oFactionMember); + } + + public Int32 GetFactionAverageXP(UInt32 oFactionMember) + { + return ScriptHost.ExecuteActionService_190_1_GetFactionAverageXP(oFactionMember); + } + + public Int32 GetFactionMostFrequentClass(UInt32 oFactionMember) + { + return ScriptHost.ExecuteActionService_191_1_GetFactionMostFrequentClass(oFactionMember); + } + + public UInt32 GetFactionWorstAC(UInt32 oFactionMember, Int32 bMustBeVisible) + { + return ScriptHost.ExecuteActionService_192_2_GetFactionWorstAC(oFactionMember, bMustBeVisible); + } + + public UInt32 GetFactionBestAC(UInt32 oFactionMember, Int32 bMustBeVisible) + { + return ScriptHost.ExecuteActionService_193_2_GetFactionBestAC(oFactionMember, bMustBeVisible); + } + + public void ActionSit(UInt32 oChair) + { + ScriptHost.ExecuteActionService_194_1_ActionSit(oChair); + } + + public Int32 GetListenPatternNumber() + { + return ScriptHost.ExecuteActionService_195_0_GetListenPatternNumber(); + } + + public void ActionJumpToObject(UInt32 oToJumpTo, Int32 bWalkStraightLineToPoint) + { + ScriptHost.ExecuteActionService_196_2_ActionJumpToObject(oToJumpTo, bWalkStraightLineToPoint); + } + + public UInt32 GetWaypointByTag(String sWaypointTag) + { + return ScriptHost.ExecuteActionService_197_1_GetWaypointByTag(sWaypointTag); + } + + public UInt32 GetTransitionTarget(UInt32 oTransition) + { + return ScriptHost.ExecuteActionService_198_1_GetTransitionTarget(oTransition); + } + + public NWEffect EffectLinkEffects(NWEffect eChildEffect, NWEffect eParentEffect) + { + return ScriptHost.ExecuteActionService_199_2_EffectLinkEffects(eChildEffect, eParentEffect); + } + + public UInt32 GetObjectByTag(String sTag, Int32 nNth) + { + return ScriptHost.ExecuteActionService_200_2_GetObjectByTag(sTag, nNth); + } + + public void AdjustAlignment(UInt32 oSubject, Int32 nAlignment, Int32 nShift) + { + ScriptHost.ExecuteActionService_201_3_AdjustAlignment(oSubject, nAlignment, nShift); + } + + public void ActionWait(float fSeconds) + { + ScriptHost.ExecuteActionService_202_1_ActionWait((Single)fSeconds); + } + + public void SetAreaTransitionBMP(Int32 nPredefinedAreaTransition, String sCustomAreaTransitionBMP) + { + ScriptHost.ExecuteActionService_203_2_SetAreaTransitionBMP(nPredefinedAreaTransition, sCustomAreaTransitionBMP); + } + + public void ActionStartConversation(UInt32 oObjectToConverseWith, String sDialogResRef, Int32 bPrivateConversation, Int32 bPlayHello, Int32 bIgnoreStartDistance, Int32 bDisableCutsceneBars) + { + ScriptHost.ExecuteActionService_204_6_ActionStartConversation(oObjectToConverseWith, sDialogResRef, bPrivateConversation, bPlayHello, bIgnoreStartDistance, bDisableCutsceneBars); + } + + public void ActionPauseConversation() + { + ScriptHost.ExecuteActionService_205_0_ActionPauseConversation(); + } + + public void ActionResumeConversation() + { + ScriptHost.ExecuteActionService_206_0_ActionResumeConversation(); + } + + public NWEffect EffectBeam(Int32 nBeamVisualEffect, UInt32 oEffector, Int32 nBodyPart, Int32 bMissEffect) + { + return ScriptHost.ExecuteActionService_207_4_EffectBeam(nBeamVisualEffect, oEffector, nBodyPart, bMissEffect); + } + + public Int32 GetReputation(UInt32 oSource, UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_208_2_GetReputation(oSource, oTarget); + } + + public void AdjustReputation(UInt32 oTarget, UInt32 oSourceFactionMember, Int32 nAdjustment) + { + ScriptHost.ExecuteActionService_209_3_AdjustReputation(oTarget, oSourceFactionMember, nAdjustment); + } + + public UInt32 GetSittingCreature(UInt32 oChair) + { + return ScriptHost.ExecuteActionService_210_1_GetSittingCreature(oChair); + } + + public UInt32 GetGoingToBeAttackedBy(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_211_1_GetGoingToBeAttackedBy(oTarget); + } + + public NWEffect EffectSpellResistanceIncrease(Int32 nValue, Int32 nUses) + { + return ScriptHost.ExecuteActionService_212_2_EffectSpellResistanceIncrease(nValue, nUses); + } + + public NWLocation GetLocation(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_213_1_GetLocation(oObject); + } + + public void ActionJumpToLocation(NWLocation lLocation) + { + ScriptHost.ExecuteActionService_214_1_ActionJumpToLocation(lLocation); + } + + public NWLocation Location(UInt32 oArea, NWScript.Vector3 vPosition, float fOrientation) + { + return ScriptHost.ExecuteActionService_215_5_Location(oArea, vPosition.z, vPosition.y, vPosition.x, (Single)fOrientation); + } + + public void ApplyEffectAtLocation(Int32 nDurationType, NWEffect eEffect, NWLocation lLocation, float fDuration) + { + ScriptHost.ExecuteActionService_216_4_ApplyEffectAtLocation(nDurationType, eEffect, lLocation, (Single)fDuration); + } + + public Int32 GetIsPC(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_217_1_GetIsPC(oCreature); + } + + public float FeetToMeters(float fFeet) + { + return ScriptHost.ExecuteActionService_218_1_FeetToMeters((Single)fFeet); + } + + public float YardsToMeters(float fYards) + { + return ScriptHost.ExecuteActionService_219_1_YardsToMeters((Single)fYards); + } + + public void ApplyEffectToObject(Int32 nDurationType, NWEffect eEffect, UInt32 oTarget, float fDuration) + { + ScriptHost.ExecuteActionService_220_4_ApplyEffectToObject(nDurationType, eEffect, oTarget, (Single)fDuration); + } + + public void SpeakString(String sStringToSpeak, Int32 nTalkVolume) + { + ScriptHost.ExecuteActionService_221_2_SpeakString(sStringToSpeak, nTalkVolume); + } + + public NWLocation GetSpellTargetLocation() + { + return ScriptHost.ExecuteActionService_222_0_GetSpellTargetLocation(); + } + + public NWScript.Vector3 GetPositionFromLocation(NWLocation lLocation) + { + return ScriptHost.ExecuteActionService_223_1_GetPositionFromLocation(lLocation); + } + + public UInt32 GetAreaFromLocation(NWLocation lLocation) + { + return ScriptHost.ExecuteActionService_224_1_GetAreaFromLocation(lLocation); + } + + public float GetFacingFromLocation(NWLocation lLocation) + { + return ScriptHost.ExecuteActionService_225_1_GetFacingFromLocation(lLocation); + } + + public UInt32 GetNearestCreatureToLocation(Int32 nFirstCriteriaType, Int32 nFirstCriteriaValue, NWLocation lLocation, Int32 nNth, Int32 nSecondCriteriaType, Int32 nSecondCriteriaValue, Int32 nThirdCriteriaType, Int32 nThirdCriteriaValue) + { + return ScriptHost.ExecuteActionService_226_8_GetNearestCreatureToLocation(nFirstCriteriaType, nFirstCriteriaValue, lLocation, nNth, nSecondCriteriaType, nSecondCriteriaValue, nThirdCriteriaType, nThirdCriteriaValue); + } + + public UInt32 GetNearestObject(Int32 nObjectType, UInt32 oTarget, Int32 nNth) + { + return ScriptHost.ExecuteActionService_227_3_GetNearestObject(nObjectType, oTarget, nNth); + } + + public UInt32 GetNearestObjectToLocation(Int32 nObjectType, NWLocation lLocation, Int32 nNth) + { + return ScriptHost.ExecuteActionService_228_3_GetNearestObjectToLocation(nObjectType, lLocation, nNth); + } + + public UInt32 GetNearestObjectByTag(String sTag, UInt32 oTarget, Int32 nNth) + { + return ScriptHost.ExecuteActionService_229_3_GetNearestObjectByTag(sTag, oTarget, nNth); + } + + public float IntToFloat(Int32 nInteger) + { + return ScriptHost.ExecuteActionService_230_1_IntToFloat(nInteger); + } + + public Int32 FloatToInt(float fFloat) + { + return ScriptHost.ExecuteActionService_231_1_FloatToInt((Single)fFloat); + } + + public Int32 StringToInt(String sNumber) + { + return ScriptHost.ExecuteActionService_232_1_StringToInt(sNumber); + } + + public float StringToFloat(String sNumber) + { + return ScriptHost.ExecuteActionService_233_1_StringToFloat(sNumber); + } + + public void ActionCastSpellAtLocation(Int32 nSpell, NWLocation lTargetLocation, Int32 nMetaMagic, Int32 bCheat, Int32 nProjectilePathType, Int32 bInstantSpell, Int32 nDomainLevel) + { + ScriptHost.ExecuteActionService_234_7_ActionCastSpellAtLocation(nSpell, lTargetLocation, nMetaMagic, bCheat, nProjectilePathType, bInstantSpell, nDomainLevel); + } + + public Int32 GetIsEnemy(UInt32 oTarget, UInt32 oSource) + { + return ScriptHost.ExecuteActionService_235_2_GetIsEnemy(oTarget, oSource); + } + + public Int32 GetIsFriend(UInt32 oTarget, UInt32 oSource) + { + return ScriptHost.ExecuteActionService_236_2_GetIsFriend(oTarget, oSource); + } + + public Int32 GetIsNeutral(UInt32 oTarget, UInt32 oSource) + { + return ScriptHost.ExecuteActionService_237_2_GetIsNeutral(oTarget, oSource); + } + + public UInt32 GetPCSpeaker() + { + return ScriptHost.ExecuteActionService_238_0_GetPCSpeaker(); + } + + public String GetStringByStrRef(Int32 nStrRef, Int32 nGender) + { + return ScriptHost.ExecuteActionService_239_2_GetStringByStrRef(nStrRef, nGender); + } + + public void ActionSpeakStringByStrRef(Int32 nStrRef, Int32 nTalkVolume) + { + ScriptHost.ExecuteActionService_240_2_ActionSpeakStringByStrRef(nStrRef, nTalkVolume); + } + + public void DestroyObject(UInt32 oDestroy, float fDelay, Int32 nDisplayFeedback) + { + ScriptHost.ExecuteActionService_241_3_DestroyObject(oDestroy, (Single)fDelay, nDisplayFeedback); + } + + public UInt32 GetModule() + { + return ScriptHost.ExecuteActionService_242_0_GetModule(); + } + + public UInt32 CreateObject(Int32 nObjectType, String sTemplate, NWLocation lLocation, Int32 bUseAppearAnimation, String sNewTag) + { + return ScriptHost.ExecuteActionService_243_5_CreateObject(nObjectType, sTemplate, lLocation, bUseAppearAnimation, sNewTag); + } + + public NWEvent EventSpellCastAt(UInt32 oCaster, Int32 nSpell, Int32 bHarmful) + { + return ScriptHost.ExecuteActionService_244_3_EventSpellCastAt(oCaster, nSpell, bHarmful); + } + + public UInt32 GetLastSpellCaster() + { + return ScriptHost.ExecuteActionService_245_0_GetLastSpellCaster(); + } + + public Int32 GetLastSpell() + { + return ScriptHost.ExecuteActionService_246_0_GetLastSpell(); + } + + public Int32 GetUserDefinedEventNumber() + { + return ScriptHost.ExecuteActionService_247_0_GetUserDefinedEventNumber(); + } + + public Int32 GetSpellId() + { + return ScriptHost.ExecuteActionService_248_0_GetSpellId(); + } + + public String RandomName() + { + return ScriptHost.ExecuteActionService_249_0_RandomName(); + } + + public NWEffect EffectPoison(Int32 nPoisonType) + { + return ScriptHost.ExecuteActionService_250_1_EffectPoison(nPoisonType); + } + + public NWEffect EffectDisease(Int32 nDiseaseType) + { + return ScriptHost.ExecuteActionService_251_1_EffectDisease(nDiseaseType); + } + + public NWEffect EffectSilence() + { + return ScriptHost.ExecuteActionService_252_0_EffectSilence(); + } + + public String GetName(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_253_1_GetName(oObject); + } + + public UInt32 GetLastSpeaker() + { + return ScriptHost.ExecuteActionService_254_0_GetLastSpeaker(); + } + + public Int32 BeginConversation(String sResRef, UInt32 oObjectToDialog, Int32 bPreventHello) + { + return ScriptHost.ExecuteActionService_255_3_BeginConversation(sResRef, oObjectToDialog, bPreventHello); + } + + public UInt32 GetLastPerceived() + { + return ScriptHost.ExecuteActionService_256_0_GetLastPerceived(); + } + + public Int32 GetLastPerceptionHeard() + { + return ScriptHost.ExecuteActionService_257_0_GetLastPerceptionHeard(); + } + + public Int32 GetLastPerceptionInaudible() + { + return ScriptHost.ExecuteActionService_258_0_GetLastPerceptionInaudible(); + } + + public Int32 GetLastPerceptionSeen() + { + return ScriptHost.ExecuteActionService_259_0_GetLastPerceptionSeen(); + } + + public UInt32 GetLastClosedBy() + { + return ScriptHost.ExecuteActionService_260_0_GetLastClosedBy(); + } + + public Int32 GetLastPerceptionVanished() + { + return ScriptHost.ExecuteActionService_261_0_GetLastPerceptionVanished(); + } + + public UInt32 GetFirstInPersistentObject(UInt32 oPersistentObject, Int32 nResidentObjectType, Int32 nPersistentZone) + { + return ScriptHost.ExecuteActionService_262_3_GetFirstInPersistentObject(oPersistentObject, nResidentObjectType, nPersistentZone); + } + + public UInt32 GetNextInPersistentObject(UInt32 oPersistentObject, Int32 nResidentObjectType, Int32 nPersistentZone) + { + return ScriptHost.ExecuteActionService_263_3_GetNextInPersistentObject(oPersistentObject, nResidentObjectType, nPersistentZone); + } + + public UInt32 GetAreaOfEffectCreator(UInt32 oAreaOfEffectObject) + { + return ScriptHost.ExecuteActionService_264_1_GetAreaOfEffectCreator(oAreaOfEffectObject); + } + + public void DeleteLocalInt(UInt32 oObject, String sVarName) + { + ScriptHost.ExecuteActionService_265_2_DeleteLocalInt(oObject, sVarName); + } + + public void DeleteLocalFloat(UInt32 oObject, String sVarName) + { + ScriptHost.ExecuteActionService_266_2_DeleteLocalFloat(oObject, sVarName); + } + + public void DeleteLocalString(UInt32 oObject, String sVarName) + { + ScriptHost.ExecuteActionService_267_2_DeleteLocalString(oObject, sVarName); + } + + public void DeleteLocalObject(UInt32 oObject, String sVarName) + { + ScriptHost.ExecuteActionService_268_2_DeleteLocalObject(oObject, sVarName); + } + + public void DeleteLocalLocation(UInt32 oObject, String sVarName) + { + ScriptHost.ExecuteActionService_269_2_DeleteLocalLocation(oObject, sVarName); + } + + public NWEffect EffectHaste() + { + return ScriptHost.ExecuteActionService_270_0_EffectHaste(); + } + + public NWEffect EffectSlow() + { + return ScriptHost.ExecuteActionService_271_0_EffectSlow(); + } + + public String ObjectToString(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_272_1_ObjectToString(oObject); + } + + public NWEffect EffectImmunity(Int32 nImmunityType) + { + return ScriptHost.ExecuteActionService_273_1_EffectImmunity(nImmunityType); + } + + public Int32 GetIsImmune(UInt32 oCreature, Int32 nImmunityType, UInt32 oVersus) + { + return ScriptHost.ExecuteActionService_274_3_GetIsImmune(oCreature, nImmunityType, oVersus); + } + + public NWEffect EffectDamageImmunityIncrease(Int32 nDamageType, Int32 nPercentImmunity) + { + return ScriptHost.ExecuteActionService_275_2_EffectDamageImmunityIncrease(nDamageType, nPercentImmunity); + } + + public Int32 GetEncounterActive(UInt32 oEncounter) + { + return ScriptHost.ExecuteActionService_276_1_GetEncounterActive(oEncounter); + } + + public void SetEncounterActive(Int32 nNewValue, UInt32 oEncounter) + { + ScriptHost.ExecuteActionService_277_2_SetEncounterActive(nNewValue, oEncounter); + } + + public Int32 GetEncounterSpawnsMax(UInt32 oEncounter) + { + return ScriptHost.ExecuteActionService_278_1_GetEncounterSpawnsMax(oEncounter); + } + + public void SetEncounterSpawnsMax(Int32 nNewValue, UInt32 oEncounter) + { + ScriptHost.ExecuteActionService_279_2_SetEncounterSpawnsMax(nNewValue, oEncounter); + } + + public Int32 GetEncounterSpawnsCurrent(UInt32 oEncounter) + { + return ScriptHost.ExecuteActionService_280_1_GetEncounterSpawnsCurrent(oEncounter); + } + + public void SetEncounterSpawnsCurrent(Int32 nNewValue, UInt32 oEncounter) + { + ScriptHost.ExecuteActionService_281_2_SetEncounterSpawnsCurrent(nNewValue, oEncounter); + } + + public UInt32 GetModuleItemAcquired() + { + return ScriptHost.ExecuteActionService_282_0_GetModuleItemAcquired(); + } + + public UInt32 GetModuleItemAcquiredFrom() + { + return ScriptHost.ExecuteActionService_283_0_GetModuleItemAcquiredFrom(); + } + + public void SetCustomToken(Int32 nCustomTokenNumber, String sTokenValue) + { + ScriptHost.ExecuteActionService_284_2_SetCustomToken(nCustomTokenNumber, sTokenValue); + } + + public Int32 GetHasFeat(Int32 nFeat, UInt32 oCreature, Int32 nIgnoreUses) + { + return ScriptHost.ExecuteActionService_285_3_GetHasFeat(nFeat, oCreature, nIgnoreUses); + } + + public Int32 GetHasSkill(Int32 nSkill, UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_286_2_GetHasSkill(nSkill, oCreature); + } + + public void ActionUseFeat(Int32 nFeat, UInt32 oTarget) + { + ScriptHost.ExecuteActionService_287_2_ActionUseFeat(nFeat, oTarget); + } + + public Int32 ActionUseSkill(Int32 nSkill, UInt32 oTarget, Int32 nSubSkill, UInt32 oItemUsed) + { + return ScriptHost.ExecuteActionService_288_4_ActionUseSkill(nSkill, oTarget, nSubSkill, oItemUsed); + } + + public Int32 GetObjectSeen(UInt32 oTarget, UInt32 oSource) + { + return ScriptHost.ExecuteActionService_289_2_GetObjectSeen(oTarget, oSource); + } + + public Int32 GetObjectHeard(UInt32 oTarget, UInt32 oSource) + { + return ScriptHost.ExecuteActionService_290_2_GetObjectHeard(oTarget, oSource); + } + + public UInt32 GetLastPlayerDied() + { + return ScriptHost.ExecuteActionService_291_0_GetLastPlayerDied(); + } + + public UInt32 GetModuleItemLost() + { + return ScriptHost.ExecuteActionService_292_0_GetModuleItemLost(); + } + + public UInt32 GetModuleItemLostBy() + { + return ScriptHost.ExecuteActionService_293_0_GetModuleItemLostBy(); + } + + public void ActionDoCommand(NWAction aActionToDo) + { + InternalSaveStateForAction(aActionToDo); + ScriptHost.ExecuteActionService_294_0_ActionDoCommand(); + } + + public NWEvent EventConversation() + { + return ScriptHost.ExecuteActionService_295_0_EventConversation(); + } + + public void SetEncounterDifficulty(Int32 nEncounterDifficulty, UInt32 oEncounter) + { + ScriptHost.ExecuteActionService_296_2_SetEncounterDifficulty(nEncounterDifficulty, oEncounter); + } + + public Int32 GetEncounterDifficulty(UInt32 oEncounter) + { + return ScriptHost.ExecuteActionService_297_1_GetEncounterDifficulty(oEncounter); + } + + public float GetDistanceBetweenLocations(NWLocation lLocationA, NWLocation lLocationB) + { + return ScriptHost.ExecuteActionService_298_2_GetDistanceBetweenLocations(lLocationA, lLocationB); + } + + public Int32 GetReflexAdjustedDamage(Int32 nDamage, UInt32 oTarget, Int32 nDC, Int32 nSaveType, UInt32 oSaveVersus) + { + return ScriptHost.ExecuteActionService_299_5_GetReflexAdjustedDamage(nDamage, oTarget, nDC, nSaveType, oSaveVersus); + } + + public void PlayAnimation(Int32 nAnimation, float fSpeed, float fSeconds) + { + ScriptHost.ExecuteActionService_300_3_PlayAnimation(nAnimation, (Single)fSpeed, (Single)fSeconds); + } + + public NWTalent TalentSpell(Int32 nSpell) + { + return ScriptHost.ExecuteActionService_301_1_TalentSpell(nSpell); + } + + public NWTalent TalentFeat(Int32 nFeat) + { + return ScriptHost.ExecuteActionService_302_1_TalentFeat(nFeat); + } + + public NWTalent TalentSkill(Int32 nSkill) + { + return ScriptHost.ExecuteActionService_303_1_TalentSkill(nSkill); + } + + public Int32 GetHasSpellEffect(Int32 nSpell, UInt32 oObject) + { + return ScriptHost.ExecuteActionService_304_2_GetHasSpellEffect(nSpell, oObject); + } + + public Int32 GetEffectSpellId(NWEffect eSpellEffect) + { + return ScriptHost.ExecuteActionService_305_1_GetEffectSpellId(eSpellEffect); + } + + public Int32 GetCreatureHasTalent(NWTalent tTalent, UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_306_2_GetCreatureHasTalent(tTalent, oCreature); + } + + public NWTalent GetCreatureTalentRandom(Int32 nCategory, UInt32 oCreature, Int32 iExcludedTalentsFlag) + { + return ScriptHost.ExecuteActionService_307_3_GetCreatureTalentRandom(nCategory, oCreature, iExcludedTalentsFlag); + } + + public NWTalent GetCreatureTalentBest(Int32 nCategory, Int32 nCRMax, UInt32 oCreature, Int32 iExcludedTalentsFlag) + { + return ScriptHost.ExecuteActionService_308_4_GetCreatureTalentBest(nCategory, nCRMax, oCreature, iExcludedTalentsFlag); + } + + public void ActionUseTalentOnObject(NWTalent tChosenTalent, UInt32 oTarget) + { + ScriptHost.ExecuteActionService_309_2_ActionUseTalentOnObject(tChosenTalent, oTarget); + } + + public void ActionUseTalentAtLocation(NWTalent tChosenTalent, NWLocation lTargetLocation) + { + ScriptHost.ExecuteActionService_310_2_ActionUseTalentAtLocation(tChosenTalent, lTargetLocation); + } + + public Int32 GetGoldPieceValue(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_311_1_GetGoldPieceValue(oItem); + } + + public Int32 GetIsPlayableRacialType(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_312_1_GetIsPlayableRacialType(oCreature); + } + + public void JumpToLocation(NWLocation lDestination) + { + ScriptHost.ExecuteActionService_313_1_JumpToLocation(lDestination); + } + + public NWEffect EffectTemporaryHitpoints(Int32 nHitPoints) + { + return ScriptHost.ExecuteActionService_314_1_EffectTemporaryHitpoints(nHitPoints); + } + + public Int32 GetSkillRank(Int32 nSkill, UInt32 oTarget, Int32 bBaseOnly) + { + return ScriptHost.ExecuteActionService_315_3_GetSkillRank(nSkill, oTarget, bBaseOnly); + } + + public UInt32 GetAttackTarget(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_316_1_GetAttackTarget(oCreature); + } + + public Int32 GetLastAttackType(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_317_1_GetLastAttackType(oCreature); + } + + public Int32 GetLastAttackMode(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_318_1_GetLastAttackMode(oCreature); + } + + public UInt32 GetMaster(UInt32 oAssociate) + { + return ScriptHost.ExecuteActionService_319_1_GetMaster(oAssociate); + } + + public Int32 GetIsInCombat(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_320_1_GetIsInCombat(oCreature); + } + + public Int32 GetLastAssociateCommand(UInt32 oAssociate) + { + return ScriptHost.ExecuteActionService_321_1_GetLastAssociateCommand(oAssociate); + } + + public void GiveGoldToCreature(UInt32 oCreature, Int32 nGP, Int32 bDisplayFeedback) + { + ScriptHost.ExecuteActionService_322_3_GiveGoldToCreature(oCreature, nGP, bDisplayFeedback); + } + + public void SetIsDestroyable(Int32 bDestroyable, Int32 bRaiseable, Int32 bSelectableWhenDead) + { + ScriptHost.ExecuteActionService_323_3_SetIsDestroyable(bDestroyable, bRaiseable, bSelectableWhenDead); + } + + public void SetLocked(UInt32 oTarget, Int32 bLocked) + { + ScriptHost.ExecuteActionService_324_2_SetLocked(oTarget, bLocked); + } + + public Int32 GetLocked(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_325_1_GetLocked(oTarget); + } + + public UInt32 GetClickingObject() + { + return ScriptHost.ExecuteActionService_326_0_GetClickingObject(); + } + + public void SetAssociateListenPatterns(UInt32 oTarget) + { + ScriptHost.ExecuteActionService_327_1_SetAssociateListenPatterns(oTarget); + } + + public UInt32 GetLastWeaponUsed(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_328_1_GetLastWeaponUsed(oCreature); + } + + public void ActionInteractObject(UInt32 oPlaceable) + { + ScriptHost.ExecuteActionService_329_1_ActionInteractObject(oPlaceable); + } + + public UInt32 GetLastUsedBy() + { + return ScriptHost.ExecuteActionService_330_0_GetLastUsedBy(); + } + + public Int32 GetAbilityModifier(Int32 nAbility, UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_331_2_GetAbilityModifier(nAbility, oCreature); + } + + public Int32 GetIdentified(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_332_1_GetIdentified(oItem); + } + + public void SetIdentified(UInt32 oItem, Int32 bIdentified) + { + ScriptHost.ExecuteActionService_333_2_SetIdentified(oItem, bIdentified); + } + + public void SummonAnimalCompanion(UInt32 oMaster, String sResRef) + { + ScriptHost.ExecuteActionService_334_2_SummonAnimalCompanion(oMaster, sResRef); + } + + public void SummonFamiliar(UInt32 oMaster, String sResRef) + { + ScriptHost.ExecuteActionService_335_2_SummonFamiliar(oMaster, sResRef); + } + + public UInt32 GetBlockingDoor() + { + return ScriptHost.ExecuteActionService_336_0_GetBlockingDoor(); + } + + public Int32 GetIsDoorActionPossible(UInt32 oTargetDoor, Int32 nDoorAction) + { + return ScriptHost.ExecuteActionService_337_2_GetIsDoorActionPossible(oTargetDoor, nDoorAction); + } + + public void DoDoorAction(UInt32 oTargetDoor, Int32 nDoorAction) + { + ScriptHost.ExecuteActionService_338_2_DoDoorAction(oTargetDoor, nDoorAction); + } + + public UInt32 GetFirstItemInInventory(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_339_1_GetFirstItemInInventory(oTarget); + } + + public UInt32 GetNextItemInInventory(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_340_1_GetNextItemInInventory(oTarget); + } + + public Int32 GetClassByPosition(Int32 nClassPosition, UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_341_2_GetClassByPosition(nClassPosition, oCreature); + } + + public Int32 GetLevelByPosition(Int32 nClassPosition, UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_342_2_GetLevelByPosition(nClassPosition, oCreature); + } + + public Int32 GetLevelByClass(Int32 nClassType, UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_343_2_GetLevelByClass(nClassType, oCreature); + } + + public Int32 GetDamageDealtByType(Int32 nDamageType) + { + return ScriptHost.ExecuteActionService_344_1_GetDamageDealtByType(nDamageType); + } + + public Int32 GetTotalDamageDealt() + { + return ScriptHost.ExecuteActionService_345_0_GetTotalDamageDealt(); + } + + public UInt32 GetLastDamager(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_346_1_GetLastDamager(oObject); + } + + public UInt32 GetLastDisarmed() + { + return ScriptHost.ExecuteActionService_347_0_GetLastDisarmed(); + } + + public UInt32 GetLastDisturbed() + { + return ScriptHost.ExecuteActionService_348_0_GetLastDisturbed(); + } + + public UInt32 GetLastLocked() + { + return ScriptHost.ExecuteActionService_349_0_GetLastLocked(); + } + + public UInt32 GetLastUnlocked() + { + return ScriptHost.ExecuteActionService_350_0_GetLastUnlocked(); + } + + public NWEffect EffectSkillIncrease(Int32 nSkill, Int32 nValue) + { + return ScriptHost.ExecuteActionService_351_2_EffectSkillIncrease(nSkill, nValue); + } + + public Int32 GetInventoryDisturbType() + { + return ScriptHost.ExecuteActionService_352_0_GetInventoryDisturbType(); + } + + public UInt32 GetInventoryDisturbItem() + { + return ScriptHost.ExecuteActionService_353_0_GetInventoryDisturbItem(); + } + + public UInt32 GetHenchman(UInt32 oMaster, Int32 nNth) + { + return ScriptHost.ExecuteActionService_354_2_GetHenchman(oMaster, nNth); + } + + public NWEffect VersusAlignmentEffect(NWEffect eEffect, Int32 nLawChaos, Int32 nGoodEvil) + { + return ScriptHost.ExecuteActionService_355_3_VersusAlignmentEffect(eEffect, nLawChaos, nGoodEvil); + } + + public NWEffect VersusRacialTypeEffect(NWEffect eEffect, Int32 nRacialType) + { + return ScriptHost.ExecuteActionService_356_2_VersusRacialTypeEffect(eEffect, nRacialType); + } + + public NWEffect VersusTrapEffect(NWEffect eEffect) + { + return ScriptHost.ExecuteActionService_357_1_VersusTrapEffect(eEffect); + } + + public Int32 GetGender(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_358_1_GetGender(oCreature); + } + + public Int32 GetIsTalentValid(NWTalent tTalent) + { + return ScriptHost.ExecuteActionService_359_1_GetIsTalentValid(tTalent); + } + + public void ActionMoveAwayFromLocation(NWLocation lMoveAwayFrom, Int32 bRun, float fMoveAwayRange) + { + ScriptHost.ExecuteActionService_360_3_ActionMoveAwayFromLocation(lMoveAwayFrom, bRun, (Single)fMoveAwayRange); + } + + public UInt32 GetAttemptedAttackTarget() + { + return ScriptHost.ExecuteActionService_361_0_GetAttemptedAttackTarget(); + } + + public Int32 GetTypeFromTalent(NWTalent tTalent) + { + return ScriptHost.ExecuteActionService_362_1_GetTypeFromTalent(tTalent); + } + + public Int32 GetIdFromTalent(NWTalent tTalent) + { + return ScriptHost.ExecuteActionService_363_1_GetIdFromTalent(tTalent); + } + + public UInt32 GetAssociate(Int32 nAssociateType, UInt32 oMaster, Int32 nTh) + { + return ScriptHost.ExecuteActionService_364_3_GetAssociate(nAssociateType, oMaster, nTh); + } + + public void AddHenchman(UInt32 oMaster, UInt32 oHenchman) + { + ScriptHost.ExecuteActionService_365_2_AddHenchman(oMaster, oHenchman); + } + + public void RemoveHenchman(UInt32 oMaster, UInt32 oHenchman) + { + ScriptHost.ExecuteActionService_366_2_RemoveHenchman(oMaster, oHenchman); + } + + public void AddJournalQuestEntry(String szPlotID, Int32 nState, UInt32 oCreature, Int32 bAllPartyMembers, Int32 bAllPlayers, Int32 bAllowOverrideHigher) + { + ScriptHost.ExecuteActionService_367_6_AddJournalQuestEntry(szPlotID, nState, oCreature, bAllPartyMembers, bAllPlayers, bAllowOverrideHigher); + } + + public void RemoveJournalQuestEntry(String szPlotID, UInt32 oCreature, Int32 bAllPartyMembers, Int32 bAllPlayers) + { + ScriptHost.ExecuteActionService_368_4_RemoveJournalQuestEntry(szPlotID, oCreature, bAllPartyMembers, bAllPlayers); + } + + public String GetPCPublicCDKey(UInt32 oPlayer) + { + return ScriptHost.ExecuteActionService_369_1_GetPCPublicCDKey(oPlayer); + } + + public String GetPCIPAddress(UInt32 oPlayer) + { + return ScriptHost.ExecuteActionService_370_1_GetPCIPAddress(oPlayer); + } + + public String GetPCPlayerName(UInt32 oPlayer) + { + return ScriptHost.ExecuteActionService_371_1_GetPCPlayerName(oPlayer); + } + + public void SetPCLike(UInt32 oPlayer, UInt32 oTarget) + { + ScriptHost.ExecuteActionService_372_2_SetPCLike(oPlayer, oTarget); + } + + public void SetPCDislike(UInt32 oPlayer, UInt32 oTarget) + { + ScriptHost.ExecuteActionService_373_2_SetPCDislike(oPlayer, oTarget); + } + + public void SendMessageToPC(UInt32 oPlayer, String szMessage) + { + ScriptHost.ExecuteActionService_374_2_SendMessageToPC(oPlayer, szMessage); + } + + public UInt32 GetAttemptedSpellTarget() + { + return ScriptHost.ExecuteActionService_375_0_GetAttemptedSpellTarget(); + } + + public UInt32 GetLastOpenedBy() + { + return ScriptHost.ExecuteActionService_376_0_GetLastOpenedBy(); + } + + public Int32 GetHasSpell(Int32 nSpell, UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_377_2_GetHasSpell(nSpell, oCreature); + } + + public void OpenStore(UInt32 oStore, UInt32 oPC, Int32 nBonusMarkUp, Int32 nBonusMarkDown) + { + ScriptHost.ExecuteActionService_378_4_OpenStore(oStore, oPC, nBonusMarkUp, nBonusMarkDown); + } + + public NWEffect EffectTurned() + { + return ScriptHost.ExecuteActionService_379_0_EffectTurned(); + } + + public UInt32 GetFirstFactionMember(UInt32 oMemberOfFaction, Int32 bPCOnly) + { + return ScriptHost.ExecuteActionService_380_2_GetFirstFactionMember(oMemberOfFaction, bPCOnly); + } + + public UInt32 GetNextFactionMember(UInt32 oMemberOfFaction, Int32 bPCOnly) + { + return ScriptHost.ExecuteActionService_381_2_GetNextFactionMember(oMemberOfFaction, bPCOnly); + } + + public void ActionForceMoveToLocation(NWLocation lDestination, Int32 bRun, float fTimeout) + { + ScriptHost.ExecuteActionService_382_3_ActionForceMoveToLocation(lDestination, bRun, (Single)fTimeout); + } + + public void ActionForceMoveToObject(UInt32 oMoveTo, Int32 bRun, float fRange, float fTimeout) + { + ScriptHost.ExecuteActionService_383_4_ActionForceMoveToObject(oMoveTo, bRun, (Single)fRange, (Single)fTimeout); + } + + public Int32 GetJournalQuestExperience(String szPlotID) + { + return ScriptHost.ExecuteActionService_384_1_GetJournalQuestExperience(szPlotID); + } + + public void JumpToObject(UInt32 oToJumpTo, Int32 nWalkStraightLineToPoint) + { + ScriptHost.ExecuteActionService_385_2_JumpToObject(oToJumpTo, nWalkStraightLineToPoint); + } + + public void SetMapPinEnabled(UInt32 oMapPin, Int32 nEnabled) + { + ScriptHost.ExecuteActionService_386_2_SetMapPinEnabled(oMapPin, nEnabled); + } + + public NWEffect EffectHitPointChangeWhenDying(float fHitPointChangePerRound) + { + return ScriptHost.ExecuteActionService_387_1_EffectHitPointChangeWhenDying((Single)fHitPointChangePerRound); + } + + public void PopUpGUIPanel(UInt32 oPC, Int32 nGUIPanel) + { + ScriptHost.ExecuteActionService_388_2_PopUpGUIPanel(oPC, nGUIPanel); + } + + public void ClearPersonalReputation(UInt32 oTarget, UInt32 oSource) + { + ScriptHost.ExecuteActionService_389_2_ClearPersonalReputation(oTarget, oSource); + } + + public void SetIsTemporaryFriend(UInt32 oTarget, UInt32 oSource, Int32 bDecays, float fDurationInSeconds) + { + ScriptHost.ExecuteActionService_390_4_SetIsTemporaryFriend(oTarget, oSource, bDecays, (Single)fDurationInSeconds); + } + + public void SetIsTemporaryEnemy(UInt32 oTarget, UInt32 oSource, Int32 bDecays, float fDurationInSeconds) + { + ScriptHost.ExecuteActionService_391_4_SetIsTemporaryEnemy(oTarget, oSource, bDecays, (Single)fDurationInSeconds); + } + + public void SetIsTemporaryNeutral(UInt32 oTarget, UInt32 oSource, Int32 bDecays, float fDurationInSeconds) + { + ScriptHost.ExecuteActionService_392_4_SetIsTemporaryNeutral(oTarget, oSource, bDecays, (Single)fDurationInSeconds); + } + + public void GiveXPToCreature(UInt32 oCreature, Int32 nXpAmount) + { + ScriptHost.ExecuteActionService_393_2_GiveXPToCreature(oCreature, nXpAmount); + } + + public void SetXP(UInt32 oCreature, Int32 nXpAmount) + { + ScriptHost.ExecuteActionService_394_2_SetXP(oCreature, nXpAmount); + } + + public Int32 GetXP(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_395_1_GetXP(oCreature); + } + + public String IntToHexString(Int32 nInteger) + { + return ScriptHost.ExecuteActionService_396_1_IntToHexString(nInteger); + } + + public Int32 GetBaseItemType(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_397_1_GetBaseItemType(oItem); + } + + public Int32 GetItemHasItemProperty(UInt32 oItem, Int32 nProperty) + { + return ScriptHost.ExecuteActionService_398_2_GetItemHasItemProperty(oItem, nProperty); + } + + public void ActionEquipMostDamagingMelee(UInt32 oVersus, Int32 bOffHand) + { + ScriptHost.ExecuteActionService_399_2_ActionEquipMostDamagingMelee(oVersus, bOffHand); + } + + public void ActionEquipMostDamagingRanged(UInt32 oVersus) + { + ScriptHost.ExecuteActionService_400_1_ActionEquipMostDamagingRanged(oVersus); + } + + public Int32 GetItemACValue(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_401_1_GetItemACValue(oItem); + } + + public void ActionRest(Int32 bIgnoreNoRestFlag) + { + ScriptHost.ExecuteActionService_402_1_ActionRest(bIgnoreNoRestFlag); + } + + public void ExploreAreaForPlayer(UInt32 oArea, UInt32 oPlayer, Int32 nExplored) + { + ScriptHost.ExecuteActionService_403_3_ExploreAreaForPlayer(oArea, oPlayer, nExplored); + } + + public void ActionEquipMostEffectiveArmor() + { + ScriptHost.ExecuteActionService_404_0_ActionEquipMostEffectiveArmor(); + } + + public Int32 GetIsDay() + { + return ScriptHost.ExecuteActionService_405_0_GetIsDay(); + } + + public Int32 GetIsNight() + { + return ScriptHost.ExecuteActionService_406_0_GetIsNight(); + } + + public Int32 GetIsDawn() + { + return ScriptHost.ExecuteActionService_407_0_GetIsDawn(); + } + + public Int32 GetIsDusk() + { + return ScriptHost.ExecuteActionService_408_0_GetIsDusk(); + } + + public Int32 GetIsEncounterCreature(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_409_1_GetIsEncounterCreature(oCreature); + } + + public UInt32 GetLastPlayerDying() + { + return ScriptHost.ExecuteActionService_410_0_GetLastPlayerDying(); + } + + public NWLocation GetStartingLocation() + { + return ScriptHost.ExecuteActionService_411_0_GetStartingLocation(); + } + + public void ChangeToStandardFaction(UInt32 oCreatureToChange, Int32 nStandardFaction) + { + ScriptHost.ExecuteActionService_412_2_ChangeToStandardFaction(oCreatureToChange, nStandardFaction); + } + + public void SoundObjectPlay(UInt32 oSound) + { + ScriptHost.ExecuteActionService_413_1_SoundObjectPlay(oSound); + } + + public void SoundObjectStop(UInt32 oSound) + { + ScriptHost.ExecuteActionService_414_1_SoundObjectStop(oSound); + } + + public void SoundObjectSetVolume(UInt32 oSound, Int32 nVolume) + { + ScriptHost.ExecuteActionService_415_2_SoundObjectSetVolume(oSound, nVolume); + } + + public void SoundObjectSetPosition(UInt32 oSound, NWScript.Vector3 vPosition) + { + ScriptHost.ExecuteActionService_416_4_SoundObjectSetPosition(oSound, vPosition.z, vPosition.y, vPosition.x); + } + + public void SpeakOneLinerConversation(String sDialogResRef, UInt32 oTokenTarget, Int32 nTalkVolume) + { + ScriptHost.ExecuteActionService_417_3_SpeakOneLinerConversation(sDialogResRef, oTokenTarget, nTalkVolume); + } + + public Int32 GetGold(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_418_1_GetGold(oTarget); + } + + public UInt32 GetLastRespawnButtonPresser() + { + return ScriptHost.ExecuteActionService_419_0_GetLastRespawnButtonPresser(); + } + + public Int32 GetIsDM(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_420_1_GetIsDM(oCreature); + } + + public void PlayVoiceChat(Int32 nVoiceChatID, UInt32 oTarget) + { + ScriptHost.ExecuteActionService_421_2_PlayVoiceChat(nVoiceChatID, oTarget); + } + + public Int32 GetIsWeaponEffective(UInt32 oVersus, Int32 bOffHand) + { + return ScriptHost.ExecuteActionService_422_2_GetIsWeaponEffective(oVersus, bOffHand); + } + + public Int32 GetLastSpellHarmful() + { + return ScriptHost.ExecuteActionService_423_0_GetLastSpellHarmful(); + } + + public NWEvent EventActivateItem(UInt32 oItem, NWLocation lTarget, UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_424_3_EventActivateItem(oItem, lTarget, oTarget); + } + + public void MusicBackgroundPlay(UInt32 oArea) + { + ScriptHost.ExecuteActionService_425_1_MusicBackgroundPlay(oArea); + } + + public void MusicBackgroundStop(UInt32 oArea) + { + ScriptHost.ExecuteActionService_426_1_MusicBackgroundStop(oArea); + } + + public void MusicBackgroundSetDelay(UInt32 oArea, Int32 nDelay) + { + ScriptHost.ExecuteActionService_427_2_MusicBackgroundSetDelay(oArea, nDelay); + } + + public void MusicBackgroundChangeDay(UInt32 oArea, Int32 nTrack) + { + ScriptHost.ExecuteActionService_428_2_MusicBackgroundChangeDay(oArea, nTrack); + } + + public void MusicBackgroundChangeNight(UInt32 oArea, Int32 nTrack) + { + ScriptHost.ExecuteActionService_429_2_MusicBackgroundChangeNight(oArea, nTrack); + } + + public void MusicBattlePlay(UInt32 oArea) + { + ScriptHost.ExecuteActionService_430_1_MusicBattlePlay(oArea); + } + + public void MusicBattleStop(UInt32 oArea) + { + ScriptHost.ExecuteActionService_431_1_MusicBattleStop(oArea); + } + + public void MusicBattleChange(UInt32 oArea, Int32 nTrack) + { + ScriptHost.ExecuteActionService_432_2_MusicBattleChange(oArea, nTrack); + } + + public void AmbientSoundPlay(UInt32 oArea) + { + ScriptHost.ExecuteActionService_433_1_AmbientSoundPlay(oArea); + } + + public void AmbientSoundStop(UInt32 oArea) + { + ScriptHost.ExecuteActionService_434_1_AmbientSoundStop(oArea); + } + + public void AmbientSoundChangeDay(UInt32 oArea, Int32 nTrack) + { + ScriptHost.ExecuteActionService_435_2_AmbientSoundChangeDay(oArea, nTrack); + } + + public void AmbientSoundChangeNight(UInt32 oArea, Int32 nTrack) + { + ScriptHost.ExecuteActionService_436_2_AmbientSoundChangeNight(oArea, nTrack); + } + + public UInt32 GetLastKiller() + { + return ScriptHost.ExecuteActionService_437_0_GetLastKiller(); + } + + public UInt32 GetSpellCastItem() + { + return ScriptHost.ExecuteActionService_438_0_GetSpellCastItem(); + } + + public UInt32 GetItemActivated() + { + return ScriptHost.ExecuteActionService_439_0_GetItemActivated(); + } + + public UInt32 GetItemActivator() + { + return ScriptHost.ExecuteActionService_440_0_GetItemActivator(); + } + + public NWLocation GetItemActivatedTargetLocation() + { + return ScriptHost.ExecuteActionService_441_0_GetItemActivatedTargetLocation(); + } + + public UInt32 GetItemActivatedTarget() + { + return ScriptHost.ExecuteActionService_442_0_GetItemActivatedTarget(); + } + + public Int32 GetIsOpen(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_443_1_GetIsOpen(oObject); + } + + public void TakeGoldFromCreature(Int32 nAmount, UInt32 oCreatureToTakeFrom, Int32 bDestroy, Int32 bDisplayFeedback) + { + ScriptHost.ExecuteActionService_444_4_TakeGoldFromCreature(nAmount, oCreatureToTakeFrom, bDestroy, bDisplayFeedback); + } + + public Int32 IsInConversation(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_445_1_IsInConversation(oObject); + } + + public NWEffect EffectAbilityDecrease(Int32 nAbility, Int32 nModifyBy) + { + return ScriptHost.ExecuteActionService_446_2_EffectAbilityDecrease(nAbility, nModifyBy); + } + + public NWEffect EffectAttackDecrease(Int32 nPenalty, Int32 nModifierType) + { + return ScriptHost.ExecuteActionService_447_2_EffectAttackDecrease(nPenalty, nModifierType); + } + + public NWEffect EffectDamageDecrease(Int32 nPenalty, Int32 nDamageType) + { + return ScriptHost.ExecuteActionService_448_2_EffectDamageDecrease(nPenalty, nDamageType); + } + + public NWEffect EffectDamageImmunityDecrease(Int32 nDamageType, Int32 nPercentImmunity) + { + return ScriptHost.ExecuteActionService_449_2_EffectDamageImmunityDecrease(nDamageType, nPercentImmunity); + } + + public NWEffect EffectACDecrease(Int32 nValue, Int32 nModifyType, Int32 nDamageType) + { + return ScriptHost.ExecuteActionService_450_3_EffectACDecrease(nValue, nModifyType, nDamageType); + } + + public NWEffect EffectMovementSpeedDecrease(Int32 nPercentChange) + { + return ScriptHost.ExecuteActionService_451_1_EffectMovementSpeedDecrease(nPercentChange); + } + + public NWEffect EffectSavingThrowDecrease(Int32 nSave, Int32 nValue, Int32 nSaveType) + { + return ScriptHost.ExecuteActionService_452_3_EffectSavingThrowDecrease(nSave, nValue, nSaveType); + } + + public NWEffect EffectSkillDecrease(Int32 nSkill, Int32 nValue) + { + return ScriptHost.ExecuteActionService_453_2_EffectSkillDecrease(nSkill, nValue); + } + + public NWEffect EffectSpellResistanceDecrease(Int32 nValue) + { + return ScriptHost.ExecuteActionService_454_1_EffectSpellResistanceDecrease(nValue); + } + + public Int32 GetPlotFlag(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_455_1_GetPlotFlag(oTarget); + } + + public void SetPlotFlag(UInt32 oTarget, Int32 nPlotFlag) + { + ScriptHost.ExecuteActionService_456_2_SetPlotFlag(oTarget, nPlotFlag); + } + + public NWEffect EffectInvisibility(Int32 nInvisibilityType) + { + return ScriptHost.ExecuteActionService_457_1_EffectInvisibility(nInvisibilityType); + } + + public NWEffect EffectConcealment(Int32 nPercentage, Int32 nMissType) + { + return ScriptHost.ExecuteActionService_458_2_EffectConcealment(nPercentage, nMissType); + } + + public NWEffect EffectDarkness() + { + return ScriptHost.ExecuteActionService_459_0_EffectDarkness(); + } + + public NWEffect EffectDispelMagicAll(Int32 nCasterLevel, NWAction aOnDispelEffect) + { + InternalSaveStateForAction(aOnDispelEffect); + return ScriptHost.ExecuteActionService_460_1_EffectDispelMagicAll(nCasterLevel); + } + + public NWEffect EffectUltravision() + { + return ScriptHost.ExecuteActionService_461_0_EffectUltravision(); + } + + public NWEffect EffectNegativeLevel(Int32 nNumLevels, Int32 bHPBonus) + { + return ScriptHost.ExecuteActionService_462_2_EffectNegativeLevel(nNumLevels, bHPBonus); + } + + public NWEffect EffectPolymorph(Int32 nPolymorphSelection, Int32 nLocked, Int32 bWildshape) + { + return ScriptHost.ExecuteActionService_463_3_EffectPolymorph(nPolymorphSelection, nLocked, bWildshape); + } + + public NWEffect EffectSanctuary(Int32 nDifficultyClass) + { + return ScriptHost.ExecuteActionService_464_1_EffectSanctuary(nDifficultyClass); + } + + public NWEffect EffectTrueSeeing() + { + return ScriptHost.ExecuteActionService_465_0_EffectTrueSeeing(); + } + + public NWEffect EffectSeeInvisible() + { + return ScriptHost.ExecuteActionService_466_0_EffectSeeInvisible(); + } + + public NWEffect EffectTimeStop() + { + return ScriptHost.ExecuteActionService_467_0_EffectTimeStop(); + } + + public NWEffect EffectBlindness() + { + return ScriptHost.ExecuteActionService_468_0_EffectBlindness(); + } + + public Int32 GetIsReactionTypeFriendly(UInt32 oTarget, UInt32 oSource) + { + return ScriptHost.ExecuteActionService_469_2_GetIsReactionTypeFriendly(oTarget, oSource); + } + + public Int32 GetIsReactionTypeNeutral(UInt32 oTarget, UInt32 oSource) + { + return ScriptHost.ExecuteActionService_470_2_GetIsReactionTypeNeutral(oTarget, oSource); + } + + public Int32 GetIsReactionTypeHostile(UInt32 oTarget, UInt32 oSource) + { + return ScriptHost.ExecuteActionService_471_2_GetIsReactionTypeHostile(oTarget, oSource); + } + + public NWEffect EffectSpellLevelAbsorption(Int32 nMaxSpellLevelAbsorbed, Int32 nTotalSpellLevelsAbsorbed, Int32 nSpellSchool) + { + return ScriptHost.ExecuteActionService_472_3_EffectSpellLevelAbsorption(nMaxSpellLevelAbsorbed, nTotalSpellLevelsAbsorbed, nSpellSchool); + } + + public NWEffect EffectDispelMagicBest(Int32 nCasterLevel, NWAction aOnDispelEffect) + { + InternalSaveStateForAction(aOnDispelEffect); + return ScriptHost.ExecuteActionService_473_1_EffectDispelMagicBest(nCasterLevel); + } + + public void ActivatePortal(UInt32 oTarget, String sIPaddress, String sPassword, String sWaypointTag, Int32 bSeemless) + { + ScriptHost.ExecuteActionService_474_5_ActivatePortal(oTarget, sIPaddress, sPassword, sWaypointTag, bSeemless); + } + + public Int32 GetNumStackedItems(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_475_1_GetNumStackedItems(oItem); + } + + public void SurrenderToEnemies() + { + ScriptHost.ExecuteActionService_476_0_SurrenderToEnemies(); + } + + public NWEffect EffectMissChance(Int32 nPercentage, Int32 nMissChanceType) + { + return ScriptHost.ExecuteActionService_477_2_EffectMissChance(nPercentage, nMissChanceType); + } + + public Int32 GetTurnResistanceHD(UInt32 oUndead) + { + return ScriptHost.ExecuteActionService_478_1_GetTurnResistanceHD(oUndead); + } + + public Int32 GetCreatureSize(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_479_1_GetCreatureSize(oCreature); + } + + public NWEffect EffectDisappearAppear(NWLocation lLocation, Int32 nAnimation) + { + return ScriptHost.ExecuteActionService_480_2_EffectDisappearAppear(lLocation, nAnimation); + } + + public NWEffect EffectDisappear(Int32 nAnimation) + { + return ScriptHost.ExecuteActionService_481_1_EffectDisappear(nAnimation); + } + + public NWEffect EffectAppear(Int32 nAnimation) + { + return ScriptHost.ExecuteActionService_482_1_EffectAppear(nAnimation); + } + + public void ActionUnlockObject(UInt32 oTarget) + { + ScriptHost.ExecuteActionService_483_1_ActionUnlockObject(oTarget); + } + + public void ActionLockObject(UInt32 oTarget) + { + ScriptHost.ExecuteActionService_484_1_ActionLockObject(oTarget); + } + + public NWEffect EffectModifyAttacks(Int32 nAttacks) + { + return ScriptHost.ExecuteActionService_485_1_EffectModifyAttacks(nAttacks); + } + + public UInt32 GetLastTrapDetected(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_486_1_GetLastTrapDetected(oTarget); + } + + public NWEffect EffectDamageShield(Int32 nDamageAmount, Int32 nRandomAmount, Int32 nDamageType) + { + return ScriptHost.ExecuteActionService_487_3_EffectDamageShield(nDamageAmount, nRandomAmount, nDamageType); + } + + public UInt32 GetNearestTrapToObject(UInt32 oTarget, Int32 nTrapDetected) + { + return ScriptHost.ExecuteActionService_488_2_GetNearestTrapToObject(oTarget, nTrapDetected); + } + + public String GetDeity(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_489_1_GetDeity(oCreature); + } + + public Int32 GetSubRace(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_490_1_GetSubRace(oTarget); + } + + public Int32 GetFortitudeSavingThrow(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_491_1_GetFortitudeSavingThrow(oTarget); + } + + public Int32 GetWillSavingThrow(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_492_1_GetWillSavingThrow(oTarget); + } + + public Int32 GetReflexSavingThrow(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_493_1_GetReflexSavingThrow(oTarget); + } + + public float GetChallengeRating(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_494_1_GetChallengeRating(oCreature); + } + + public Int32 GetAge(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_495_1_GetAge(oCreature); + } + + public Int32 GetMovementRate(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_496_1_GetMovementRate(oCreature); + } + + public Int32 GetAnimalCompanionCreatureType(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_497_1_GetAnimalCompanionCreatureType(oCreature); + } + + public Int32 GetFamiliarCreatureType(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_498_1_GetFamiliarCreatureType(oCreature); + } + + public String GetAnimalCompanionName(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_499_1_GetAnimalCompanionName(oTarget); + } + + public String GetFamiliarName(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_500_1_GetFamiliarName(oCreature); + } + + public void ActionCastFakeSpellAtObject(Int32 nSpell, UInt32 oTarget, Int32 nProjectilePathType) + { + ScriptHost.ExecuteActionService_501_3_ActionCastFakeSpellAtObject(nSpell, oTarget, nProjectilePathType); + } + + public void ActionCastFakeSpellAtLocation(Int32 nSpell, NWLocation lTarget, Int32 nProjectilePathType) + { + ScriptHost.ExecuteActionService_502_3_ActionCastFakeSpellAtLocation(nSpell, lTarget, nProjectilePathType); + } + + public void RemoveSummonedAssociate(UInt32 oMaster, UInt32 oAssociate) + { + ScriptHost.ExecuteActionService_503_2_RemoveSummonedAssociate(oMaster, oAssociate); + } + + public void SetCameraMode(UInt32 oPlayer, Int32 nCameraMode) + { + ScriptHost.ExecuteActionService_504_2_SetCameraMode(oPlayer, nCameraMode); + } + + public Int32 GetIsResting(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_505_1_GetIsResting(oCreature); + } + + public UInt32 GetLastPCRested() + { + return ScriptHost.ExecuteActionService_506_0_GetLastPCRested(); + } + + public void SetWeather(UInt32 oTarget, Int32 nWeatherType, Int32 nPower) + { + ScriptHost.ExecuteActionService_507_3_SetWeather(oTarget, nWeatherType, nPower); + } + + public Int32 GetLastRestEventType() + { + return ScriptHost.ExecuteActionService_508_0_GetLastRestEventType(); + } + + public void StartNewModule(String sModuleName, String sWaypoint) + { + ScriptHost.ExecuteActionService_509_2_StartNewModule(sModuleName, sWaypoint); + } + + public NWEffect EffectSwarm(Int32 nLooping, String sCreatureTemplate1, String sCreatureTemplate2, String sCreatureTemplate3, String sCreatureTemplate4) + { + return ScriptHost.ExecuteActionService_510_5_EffectSwarm(nLooping, sCreatureTemplate1, sCreatureTemplate2, sCreatureTemplate3, sCreatureTemplate4); + } + + public Int32 GetWeaponRanged(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_511_1_GetWeaponRanged(oItem); + } + + public void DoSinglePlayerAutoSave() + { + ScriptHost.ExecuteActionService_512_0_DoSinglePlayerAutoSave(); + } + + public Int32 GetGameDifficulty() + { + return ScriptHost.ExecuteActionService_513_0_GetGameDifficulty(); + } + + public void SetTileMainLightColor(NWLocation lTileLocation, Int32 nMainLight1Color, Int32 nMainLight2Color) + { + ScriptHost.ExecuteActionService_514_3_SetTileMainLightColor(lTileLocation, nMainLight1Color, nMainLight2Color); + } + + public void SetTileSourceLightColor(NWLocation lTileLocation, Int32 nSourceLight1Color, Int32 nSourceLight2Color) + { + ScriptHost.ExecuteActionService_515_3_SetTileSourceLightColor(lTileLocation, nSourceLight1Color, nSourceLight2Color); + } + + public void RecomputeStaticLighting(UInt32 oArea) + { + ScriptHost.ExecuteActionService_516_1_RecomputeStaticLighting(oArea); + } + + public Int32 GetTileMainLight1Color(NWLocation lTile) + { + return ScriptHost.ExecuteActionService_517_1_GetTileMainLight1Color(lTile); + } + + public Int32 GetTileMainLight2Color(NWLocation lTile) + { + return ScriptHost.ExecuteActionService_518_1_GetTileMainLight2Color(lTile); + } + + public Int32 GetTileSourceLight1Color(NWLocation lTile) + { + return ScriptHost.ExecuteActionService_519_1_GetTileSourceLight1Color(lTile); + } + + public Int32 GetTileSourceLight2Color(NWLocation lTile) + { + return ScriptHost.ExecuteActionService_520_1_GetTileSourceLight2Color(lTile); + } + + public void SetPanelButtonFlash(UInt32 oPlayer, Int32 nButton, Int32 nEnableFlash) + { + ScriptHost.ExecuteActionService_521_3_SetPanelButtonFlash(oPlayer, nButton, nEnableFlash); + } + + public Int32 GetCurrentAction(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_522_1_GetCurrentAction(oObject); + } + + public void SetStandardFactionReputation(Int32 nStandardFaction, Int32 nNewReputation, UInt32 oCreature) + { + ScriptHost.ExecuteActionService_523_3_SetStandardFactionReputation(nStandardFaction, nNewReputation, oCreature); + } + + public Int32 GetStandardFactionReputation(Int32 nStandardFaction, UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_524_2_GetStandardFactionReputation(nStandardFaction, oCreature); + } + + public void FloatingTextStrRefOnCreature(Int32 nStrRefToDisplay, UInt32 oCreatureToFloatAbove, Int32 bBroadcastToFaction, float fDuration, Int32 nStartColor, Int32 nEndColor, float fSpeed, NWScript.Vector3 vDirection) + { + ScriptHost.ExecuteActionService_525_10_FloatingTextStrRefOnCreature(nStrRefToDisplay, oCreatureToFloatAbove, bBroadcastToFaction, (Single)fDuration, nStartColor, nEndColor, (Single)fSpeed, vDirection.z, vDirection.y, vDirection.x); + } + + public void FloatingTextStringOnCreature(String sStringToDisplay, UInt32 oCreatureToFloatAbove, Int32 bBroadcastToFaction, float fDuration, Int32 nStartColor, Int32 nEndColor, float fSpeed, NWScript.Vector3 vDirection) + { + ScriptHost.ExecuteActionService_526_10_FloatingTextStringOnCreature(sStringToDisplay, oCreatureToFloatAbove, bBroadcastToFaction, (Single)fDuration, nStartColor, nEndColor, (Single)fSpeed, vDirection.z, vDirection.y, vDirection.x); + } + + public Int32 GetTrapDisarmable(UInt32 oTrapObject) + { + return ScriptHost.ExecuteActionService_527_1_GetTrapDisarmable(oTrapObject); + } + + public Int32 GetTrapDetectable(UInt32 oTrapObject) + { + return ScriptHost.ExecuteActionService_528_1_GetTrapDetectable(oTrapObject); + } + + public Int32 GetTrapDetectedBy(UInt32 oTrapObject, UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_529_2_GetTrapDetectedBy(oTrapObject, oCreature); + } + + public Int32 GetTrapFlagged(UInt32 oTrapObject) + { + return ScriptHost.ExecuteActionService_530_1_GetTrapFlagged(oTrapObject); + } + + public Int32 GetTrapBaseType(UInt32 oTrapObject) + { + return ScriptHost.ExecuteActionService_531_1_GetTrapBaseType(oTrapObject); + } + + public Int32 GetTrapOneShot(UInt32 oTrapObject) + { + return ScriptHost.ExecuteActionService_532_1_GetTrapOneShot(oTrapObject); + } + + public UInt32 GetTrapCreator(UInt32 oTrapObject) + { + return ScriptHost.ExecuteActionService_533_1_GetTrapCreator(oTrapObject); + } + + public String GetTrapKeyTag(UInt32 oTrapObject) + { + return ScriptHost.ExecuteActionService_534_1_GetTrapKeyTag(oTrapObject); + } + + public Int32 GetTrapDisarmDC(UInt32 oTrapObject) + { + return ScriptHost.ExecuteActionService_535_1_GetTrapDisarmDC(oTrapObject); + } + + public Int32 GetTrapDetectDC(UInt32 oTrapObject) + { + return ScriptHost.ExecuteActionService_536_1_GetTrapDetectDC(oTrapObject); + } + + public Int32 GetLockKeyRequired(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_537_1_GetLockKeyRequired(oObject); + } + + public String GetLockKeyTag(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_538_1_GetLockKeyTag(oObject); + } + + public Int32 GetLockLockable(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_539_1_GetLockLockable(oObject); + } + + public Int32 GetLockUnlockDC(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_540_1_GetLockUnlockDC(oObject); + } + + public Int32 GetLockLockDC(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_541_1_GetLockLockDC(oObject); + } + + public UInt32 GetPCLevellingUp() + { + return ScriptHost.ExecuteActionService_542_0_GetPCLevellingUp(); + } + + public Int32 GetHasFeatEffect(Int32 nFeat, UInt32 oObject) + { + return ScriptHost.ExecuteActionService_543_2_GetHasFeatEffect(nFeat, oObject); + } + + public void SetPlaceableIllumination(UInt32 oPlaceable, Int32 bIlluminate) + { + ScriptHost.ExecuteActionService_544_2_SetPlaceableIllumination(oPlaceable, bIlluminate); + } + + public Int32 GetPlaceableIllumination(UInt32 oPlaceable) + { + return ScriptHost.ExecuteActionService_545_1_GetPlaceableIllumination(oPlaceable); + } + + public Int32 GetIsPlaceableObjectActionPossible(UInt32 oPlaceable, Int32 nPlaceableAction) + { + return ScriptHost.ExecuteActionService_546_2_GetIsPlaceableObjectActionPossible(oPlaceable, nPlaceableAction); + } + + public void DoPlaceableObjectAction(UInt32 oPlaceable, Int32 nPlaceableAction) + { + ScriptHost.ExecuteActionService_547_2_DoPlaceableObjectAction(oPlaceable, nPlaceableAction); + } + + public UInt32 GetFirstPC(Int32 bOwnedCharacter) + { + return ScriptHost.ExecuteActionService_548_1_GetFirstPC(bOwnedCharacter); + } + + public UInt32 GetNextPC(Int32 bOwnedCharacter) + { + return ScriptHost.ExecuteActionService_549_1_GetNextPC(bOwnedCharacter); + } + + public Int32 SetTrapDetectedBy(UInt32 oTrap, UInt32 oDetector) + { + return ScriptHost.ExecuteActionService_550_2_SetTrapDetectedBy(oTrap, oDetector); + } + + public Int32 GetIsTrapped(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_551_1_GetIsTrapped(oObject); + } + + public NWEffect EffectTurnResistanceDecrease(Int32 nHitDice) + { + return ScriptHost.ExecuteActionService_552_1_EffectTurnResistanceDecrease(nHitDice); + } + + public NWEffect EffectTurnResistanceIncrease(Int32 nHitDice) + { + return ScriptHost.ExecuteActionService_553_1_EffectTurnResistanceIncrease(nHitDice); + } + + public void PopUpDeathGUIPanel(UInt32 oPC, Int32 bRespawnButtonEnabled, Int32 bWaitForHelpButtonEnabled, Int32 nHelpStringReference, String sHelpString) + { + ScriptHost.ExecuteActionService_554_5_PopUpDeathGUIPanel(oPC, bRespawnButtonEnabled, bWaitForHelpButtonEnabled, nHelpStringReference, sHelpString); + } + + public void SetTrapDisabled(UInt32 oTrap) + { + ScriptHost.ExecuteActionService_555_1_SetTrapDisabled(oTrap); + } + + public UInt32 GetLastHostileActor(UInt32 oVictim) + { + return ScriptHost.ExecuteActionService_556_1_GetLastHostileActor(oVictim); + } + + public void ExportAllCharacters() + { + ScriptHost.ExecuteActionService_557_0_ExportAllCharacters(); + } + + public Int32 MusicBackgroundGetDayTrack(UInt32 oArea) + { + return ScriptHost.ExecuteActionService_558_1_MusicBackgroundGetDayTrack(oArea); + } + + public Int32 MusicBackgroundGetNightTrack(UInt32 oArea) + { + return ScriptHost.ExecuteActionService_559_1_MusicBackgroundGetNightTrack(oArea); + } + + public void WriteTimestampedLogEntry(String sLogEntry) + { + ScriptHost.ExecuteActionService_560_1_WriteTimestampedLogEntry(sLogEntry); + } + + public String GetModuleName() + { + return ScriptHost.ExecuteActionService_561_0_GetModuleName(); + } + + public UInt32 GetFactionLeader(UInt32 oMemberOfFaction) + { + return ScriptHost.ExecuteActionService_562_1_GetFactionLeader(oMemberOfFaction); + } + + public void SendMessageToAllDMs(String szMessage) + { + ScriptHost.ExecuteActionService_563_1_SendMessageToAllDMs(szMessage); + } + + public void EndGame(String sEndMovie) + { + ScriptHost.ExecuteActionService_564_1_EndGame(sEndMovie); + } + + public void BootPC(UInt32 oPlayer) + { + ScriptHost.ExecuteActionService_565_1_BootPC(oPlayer); + } + + public void ActionCounterSpell(UInt32 oCounterSpellTarget) + { + ScriptHost.ExecuteActionService_566_1_ActionCounterSpell(oCounterSpellTarget); + } + + public void AmbientSoundSetDayVolume(UInt32 oArea, Int32 nVolume) + { + ScriptHost.ExecuteActionService_567_2_AmbientSoundSetDayVolume(oArea, nVolume); + } + + public void AmbientSoundSetNightVolume(UInt32 oArea, Int32 nVolume) + { + ScriptHost.ExecuteActionService_568_2_AmbientSoundSetNightVolume(oArea, nVolume); + } + + public Int32 MusicBackgroundGetBattleTrack(UInt32 oArea) + { + return ScriptHost.ExecuteActionService_569_1_MusicBackgroundGetBattleTrack(oArea); + } + + public Int32 GetHasInventory(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_570_1_GetHasInventory(oObject); + } + + public float GetStrRefSoundDuration(Int32 nStrRef) + { + return ScriptHost.ExecuteActionService_571_1_GetStrRefSoundDuration(nStrRef); + } + + public void AddToParty(UInt32 oPC, UInt32 oPartyLeader) + { + ScriptHost.ExecuteActionService_572_2_AddToParty(oPC, oPartyLeader); + } + + public void RemoveFromParty(UInt32 oPC) + { + ScriptHost.ExecuteActionService_573_1_RemoveFromParty(oPC); + } + + public Int32 GetStealthMode(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_574_1_GetStealthMode(oCreature); + } + + public Int32 GetDetectMode(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_575_1_GetDetectMode(oCreature); + } + + public Int32 GetDefensiveCastingMode(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_576_1_GetDefensiveCastingMode(oCreature); + } + + public Int32 GetAppearanceType(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_577_1_GetAppearanceType(oCreature); + } + + public void SpawnScriptDebugger() + { + ScriptHost.ExecuteActionService_578_0_SpawnScriptDebugger(); + } + + public Int32 GetModuleItemAcquiredStackSize() + { + return ScriptHost.ExecuteActionService_579_0_GetModuleItemAcquiredStackSize(); + } + + public void DecrementRemainingFeatUses(UInt32 oCreature, Int32 nFeat) + { + ScriptHost.ExecuteActionService_580_2_DecrementRemainingFeatUses(oCreature, nFeat); + } + + public void DecrementRemainingSpellUses(UInt32 oCreature, Int32 nSpell) + { + ScriptHost.ExecuteActionService_581_2_DecrementRemainingSpellUses(oCreature, nSpell); + } + + public String GetResRef(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_582_1_GetResRef(oObject); + } + + public NWEffect EffectPetrify() + { + return ScriptHost.ExecuteActionService_583_0_EffectPetrify(); + } + + public UInt32 CopyItem(UInt32 oItem, UInt32 oTargetInventory, Int32 bCopyVars) + { + return ScriptHost.ExecuteActionService_584_3_CopyItem(oItem, oTargetInventory, bCopyVars); + } + + public NWEffect EffectCutsceneParalyze() + { + return ScriptHost.ExecuteActionService_585_0_EffectCutsceneParalyze(); + } + + public Int32 GetDroppableFlag(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_586_1_GetDroppableFlag(oItem); + } + + public Int32 GetUseableFlag(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_587_1_GetUseableFlag(oObject); + } + + public Int32 GetStolenFlag(UInt32 oStolen) + { + return ScriptHost.ExecuteActionService_588_1_GetStolenFlag(oStolen); + } + + public void SetCampaignFloat(String sCampaignName, String sVarName, float flFloat, UInt32 oPlayer) + { + ScriptHost.ExecuteActionService_589_4_SetCampaignFloat(sCampaignName, sVarName, (Single)flFloat, oPlayer); + } + + public void SetCampaignInt(String sCampaignName, String sVarName, Int32 nInt, UInt32 oPlayer) + { + ScriptHost.ExecuteActionService_590_4_SetCampaignInt(sCampaignName, sVarName, nInt, oPlayer); + } + + public void SetCampaignVector(String sCampaignName, String sVarName, NWScript.Vector3 vVector, UInt32 oPlayer) + { + ScriptHost.ExecuteActionService_591_6_SetCampaignVector(sCampaignName, sVarName, vVector.z, vVector.y, vVector.x, oPlayer); + } + + public void SetCampaignLocation(String sCampaignName, String sVarName, NWLocation locLocation, UInt32 oPlayer) + { + ScriptHost.ExecuteActionService_592_4_SetCampaignLocation(sCampaignName, sVarName, locLocation, oPlayer); + } + + public void SetCampaignString(String sCampaignName, String sVarName, String sString, UInt32 oPlayer) + { + ScriptHost.ExecuteActionService_593_4_SetCampaignString(sCampaignName, sVarName, sString, oPlayer); + } + + public void DestroyCampaignDatabase(String sCampaignName) + { + ScriptHost.ExecuteActionService_594_1_DestroyCampaignDatabase(sCampaignName); + } + + public float GetCampaignFloat(String sCampaignName, String sVarName, UInt32 oPlayer) + { + return ScriptHost.ExecuteActionService_595_3_GetCampaignFloat(sCampaignName, sVarName, oPlayer); + } + + public Int32 GetCampaignInt(String sCampaignName, String sVarName, UInt32 oPlayer) + { + return ScriptHost.ExecuteActionService_596_3_GetCampaignInt(sCampaignName, sVarName, oPlayer); + } + + public NWScript.Vector3 GetCampaignVector(String sCampaignName, String sVarName, UInt32 oPlayer) + { + return ScriptHost.ExecuteActionService_597_3_GetCampaignVector(sCampaignName, sVarName, oPlayer); + } + + public NWLocation GetCampaignLocation(String sCampaignName, String sVarName, UInt32 oPlayer) + { + return ScriptHost.ExecuteActionService_598_3_GetCampaignLocation(sCampaignName, sVarName, oPlayer); + } + + public String GetCampaignString(String sCampaignName, String sVarName, UInt32 oPlayer) + { + return ScriptHost.ExecuteActionService_599_3_GetCampaignString(sCampaignName, sVarName, oPlayer); + } + + public UInt32 CopyObject(UInt32 oSource, NWLocation locLocation, UInt32 oOwner, String sNewTag) + { + return ScriptHost.ExecuteActionService_600_4_CopyObject(oSource, locLocation, oOwner, sNewTag); + } + + public void DeleteCampaignVariable(String sCampaignName, String sVarName, UInt32 oPlayer) + { + ScriptHost.ExecuteActionService_601_3_DeleteCampaignVariable(sCampaignName, sVarName, oPlayer); + } + + public Int32 StoreCampaignObject(String sCampaignName, String sVarName, UInt32 oObject, UInt32 oPlayer) + { + return ScriptHost.ExecuteActionService_602_4_StoreCampaignObject(sCampaignName, sVarName, oObject, oPlayer); + } + + public UInt32 RetrieveCampaignObject(String sCampaignName, String sVarName, NWLocation locLocation, UInt32 oOwner, UInt32 oPlayer) + { + return ScriptHost.ExecuteActionService_603_5_RetrieveCampaignObject(sCampaignName, sVarName, locLocation, oOwner, oPlayer); + } + + public NWEffect EffectCutsceneDominated() + { + return ScriptHost.ExecuteActionService_604_0_EffectCutsceneDominated(); + } + + public Int32 GetItemStackSize(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_605_1_GetItemStackSize(oItem); + } + + public void SetItemStackSize(UInt32 oItem, Int32 nSize, Int32 bDisplayFeedback) + { + ScriptHost.ExecuteActionService_606_3_SetItemStackSize(oItem, nSize, bDisplayFeedback); + } + + public Int32 GetItemCharges(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_607_1_GetItemCharges(oItem); + } + + public void SetItemCharges(UInt32 oItem, Int32 nCharges) + { + ScriptHost.ExecuteActionService_608_2_SetItemCharges(oItem, nCharges); + } + + public void AddItemProperty(Int32 nDurationType, NWItemProperty ipProperty, UInt32 oItem, float fDuration) + { + ScriptHost.ExecuteActionService_609_4_AddItemProperty(nDurationType, ipProperty, oItem, (Single)fDuration); + } + + public void RemoveItemProperty(UInt32 oItem, NWItemProperty ipProperty) + { + ScriptHost.ExecuteActionService_610_2_RemoveItemProperty(oItem, ipProperty); + } + + public Int32 GetIsItemPropertyValid(NWItemProperty ipProperty) + { + return ScriptHost.ExecuteActionService_611_1_GetIsItemPropertyValid(ipProperty); + } + + public NWItemProperty GetFirstItemProperty(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_612_1_GetFirstItemProperty(oItem); + } + + public NWItemProperty GetNextItemProperty(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_613_1_GetNextItemProperty(oItem); + } + + public Int32 GetItemPropertyType(NWItemProperty ip) + { + return ScriptHost.ExecuteActionService_614_1_GetItemPropertyType(ip); + } + + public Int32 GetItemPropertyDurationType(NWItemProperty ip) + { + return ScriptHost.ExecuteActionService_615_1_GetItemPropertyDurationType(ip); + } + + public NWItemProperty ItemPropertyAbilityBonus(Int32 nAbility, Int32 nBonus) + { + return ScriptHost.ExecuteActionService_616_2_ItemPropertyAbilityBonus(nAbility, nBonus); + } + + public NWItemProperty ItemPropertyACBonus(Int32 nBonus) + { + return ScriptHost.ExecuteActionService_617_1_ItemPropertyACBonus(nBonus); + } + + public NWItemProperty ItemPropertyACBonusVsAlign(Int32 nAlignGroup, Int32 nACBonus) + { + return ScriptHost.ExecuteActionService_618_2_ItemPropertyACBonusVsAlign(nAlignGroup, nACBonus); + } + + public NWItemProperty ItemPropertyACBonusVsDmgType(Int32 nDamageType, Int32 nACBonus) + { + return ScriptHost.ExecuteActionService_619_2_ItemPropertyACBonusVsDmgType(nDamageType, nACBonus); + } + + public NWItemProperty ItemPropertyACBonusVsRace(Int32 nRace, Int32 nACBonus) + { + return ScriptHost.ExecuteActionService_620_2_ItemPropertyACBonusVsRace(nRace, nACBonus); + } + + public NWItemProperty ItemPropertyACBonusVsSAlign(Int32 nAlign, Int32 nACBonus) + { + return ScriptHost.ExecuteActionService_621_2_ItemPropertyACBonusVsSAlign(nAlign, nACBonus); + } + + public NWItemProperty ItemPropertyEnhancementBonus(Int32 nEnhancementBonus) + { + return ScriptHost.ExecuteActionService_622_1_ItemPropertyEnhancementBonus(nEnhancementBonus); + } + + public NWItemProperty ItemPropertyEnhancementBonusVsAlign(Int32 nAlignGroup, Int32 nBonus) + { + return ScriptHost.ExecuteActionService_623_2_ItemPropertyEnhancementBonusVsAlign(nAlignGroup, nBonus); + } + + public NWItemProperty ItemPropertyEnhancementBonusVsRace(Int32 nRace, Int32 nBonus) + { + return ScriptHost.ExecuteActionService_624_2_ItemPropertyEnhancementBonusVsRace(nRace, nBonus); + } + + public NWItemProperty ItemPropertyEnhancementBonusVsSAlign(Int32 nAlign, Int32 nBonus) + { + return ScriptHost.ExecuteActionService_625_2_ItemPropertyEnhancementBonusVsSAlign(nAlign, nBonus); + } + + public NWItemProperty ItemPropertyEnhancementPenalty(Int32 nPenalty) + { + return ScriptHost.ExecuteActionService_626_1_ItemPropertyEnhancementPenalty(nPenalty); + } + + public NWItemProperty ItemPropertyWeightReduction(Int32 nReduction) + { + return ScriptHost.ExecuteActionService_627_1_ItemPropertyWeightReduction(nReduction); + } + + public NWItemProperty ItemPropertyBonusFeat(Int32 nFeat) + { + return ScriptHost.ExecuteActionService_628_1_ItemPropertyBonusFeat(nFeat); + } + + public NWItemProperty ItemPropertyBonusLevelSpell(Int32 nClass, Int32 nSpellLevel) + { + return ScriptHost.ExecuteActionService_629_2_ItemPropertyBonusLevelSpell(nClass, nSpellLevel); + } + + public NWItemProperty ItemPropertyCastSpell(Int32 nSpell, Int32 nNumUses) + { + return ScriptHost.ExecuteActionService_630_2_ItemPropertyCastSpell(nSpell, nNumUses); + } + + public NWItemProperty ItemPropertyDamageBonus(Int32 nDamageType, Int32 nDamage) + { + return ScriptHost.ExecuteActionService_631_2_ItemPropertyDamageBonus(nDamageType, nDamage); + } + + public NWItemProperty ItemPropertyDamageBonusVsAlign(Int32 nAlignGroup, Int32 nDamageType, Int32 nDamage) + { + return ScriptHost.ExecuteActionService_632_3_ItemPropertyDamageBonusVsAlign(nAlignGroup, nDamageType, nDamage); + } + + public NWItemProperty ItemPropertyDamageBonusVsRace(Int32 nRace, Int32 nDamageType, Int32 nDamage) + { + return ScriptHost.ExecuteActionService_633_3_ItemPropertyDamageBonusVsRace(nRace, nDamageType, nDamage); + } + + public NWItemProperty ItemPropertyDamageBonusVsSAlign(Int32 nAlign, Int32 nDamageType, Int32 nDamage) + { + return ScriptHost.ExecuteActionService_634_3_ItemPropertyDamageBonusVsSAlign(nAlign, nDamageType, nDamage); + } + + public NWItemProperty ItemPropertyDamageImmunity(Int32 nDamageType, Int32 nImmuneBonus) + { + return ScriptHost.ExecuteActionService_635_2_ItemPropertyDamageImmunity(nDamageType, nImmuneBonus); + } + + public NWItemProperty ItemPropertyDamagePenalty(Int32 nPenalty) + { + return ScriptHost.ExecuteActionService_636_1_ItemPropertyDamagePenalty(nPenalty); + } + + public NWItemProperty ItemPropertyDamageReduction(Int32 nAmount, Int32 nDRSubType, Int32 nLimit, Int32 nDRType) + { + return ScriptHost.ExecuteActionService_637_4_ItemPropertyDamageReduction(nAmount, nDRSubType, nLimit, nDRType); + } + + public NWItemProperty ItemPropertyDamageResistance(Int32 nDamageType, Int32 nHPResist) + { + return ScriptHost.ExecuteActionService_638_2_ItemPropertyDamageResistance(nDamageType, nHPResist); + } + + public NWItemProperty ItemPropertyDamageVulnerability(Int32 nDamageType, Int32 nVulnerability) + { + return ScriptHost.ExecuteActionService_639_2_ItemPropertyDamageVulnerability(nDamageType, nVulnerability); + } + + public NWItemProperty ItemPropertyDarkvision() + { + return ScriptHost.ExecuteActionService_640_0_ItemPropertyDarkvision(); + } + + public NWItemProperty ItemPropertyDecreaseAbility(Int32 nAbility, Int32 nModifier) + { + return ScriptHost.ExecuteActionService_641_2_ItemPropertyDecreaseAbility(nAbility, nModifier); + } + + public NWItemProperty ItemPropertyDecreaseAC(Int32 nModifierType, Int32 nPenalty) + { + return ScriptHost.ExecuteActionService_642_2_ItemPropertyDecreaseAC(nModifierType, nPenalty); + } + + public NWItemProperty ItemPropertyDecreaseSkill(Int32 nSkill, Int32 nPenalty) + { + return ScriptHost.ExecuteActionService_643_2_ItemPropertyDecreaseSkill(nSkill, nPenalty); + } + + public NWItemProperty ItemPropertyContainerReducedWeight(Int32 nContainerType) + { + return ScriptHost.ExecuteActionService_644_1_ItemPropertyContainerReducedWeight(nContainerType); + } + + public NWItemProperty ItemPropertyExtraMeleeDamageType(Int32 nDamageType) + { + return ScriptHost.ExecuteActionService_645_1_ItemPropertyExtraMeleeDamageType(nDamageType); + } + + public NWItemProperty ItemPropertyExtraRangeDamageType(Int32 nDamageType) + { + return ScriptHost.ExecuteActionService_646_1_ItemPropertyExtraRangeDamageType(nDamageType); + } + + public NWItemProperty ItemPropertyHaste() + { + return ScriptHost.ExecuteActionService_647_0_ItemPropertyHaste(); + } + + public NWItemProperty ItemPropertyHolyAvenger() + { + return ScriptHost.ExecuteActionService_648_0_ItemPropertyHolyAvenger(); + } + + public NWItemProperty ItemPropertyImmunityMisc(Int32 nImmunityType) + { + return ScriptHost.ExecuteActionService_649_1_ItemPropertyImmunityMisc(nImmunityType); + } + + public NWItemProperty ItemPropertyImprovedEvasion() + { + return ScriptHost.ExecuteActionService_650_0_ItemPropertyImprovedEvasion(); + } + + public NWItemProperty ItemPropertyBonusSpellResistance(Int32 nBonus) + { + return ScriptHost.ExecuteActionService_651_1_ItemPropertyBonusSpellResistance(nBonus); + } + + public NWItemProperty ItemPropertyBonusSavingThrowVsX(Int32 nBonusType, Int32 nBonus) + { + return ScriptHost.ExecuteActionService_652_2_ItemPropertyBonusSavingThrowVsX(nBonusType, nBonus); + } + + public NWItemProperty ItemPropertyBonusSavingThrow(Int32 nBaseSaveType, Int32 nBonus) + { + return ScriptHost.ExecuteActionService_653_2_ItemPropertyBonusSavingThrow(nBaseSaveType, nBonus); + } + + public NWItemProperty ItemPropertyKeen() + { + return ScriptHost.ExecuteActionService_654_0_ItemPropertyKeen(); + } + + public NWItemProperty ItemPropertyLight(Int32 nBrightness, Int32 nColor) + { + return ScriptHost.ExecuteActionService_655_2_ItemPropertyLight(nBrightness, nColor); + } + + public NWItemProperty ItemPropertyMaxRangeStrengthMod(Int32 nModifier) + { + return ScriptHost.ExecuteActionService_656_1_ItemPropertyMaxRangeStrengthMod(nModifier); + } + + public NWItemProperty ItemPropertyNoDamage() + { + return ScriptHost.ExecuteActionService_657_0_ItemPropertyNoDamage(); + } + + public NWItemProperty ItemPropertyOnHitProps(Int32 nProperty, Int32 nSaveDC, Int32 nSpecial) + { + return ScriptHost.ExecuteActionService_658_3_ItemPropertyOnHitProps(nProperty, nSaveDC, nSpecial); + } + + public NWItemProperty ItemPropertyReducedSavingThrowVsX(Int32 nBaseSaveType, Int32 nPenalty) + { + return ScriptHost.ExecuteActionService_659_2_ItemPropertyReducedSavingThrowVsX(nBaseSaveType, nPenalty); + } + + public NWItemProperty ItemPropertyReducedSavingThrow(Int32 nBonusType, Int32 nPenalty) + { + return ScriptHost.ExecuteActionService_660_2_ItemPropertyReducedSavingThrow(nBonusType, nPenalty); + } + + public NWItemProperty ItemPropertyRegeneration(Int32 nRegenAmount) + { + return ScriptHost.ExecuteActionService_661_1_ItemPropertyRegeneration(nRegenAmount); + } + + public NWItemProperty ItemPropertySkillBonus(Int32 nSkill, Int32 nBonus) + { + return ScriptHost.ExecuteActionService_662_2_ItemPropertySkillBonus(nSkill, nBonus); + } + + public NWItemProperty ItemPropertySpellImmunitySpecific(Int32 nSpell) + { + return ScriptHost.ExecuteActionService_663_1_ItemPropertySpellImmunitySpecific(nSpell); + } + + public NWItemProperty ItemPropertySpellImmunitySchool(Int32 nSchool) + { + return ScriptHost.ExecuteActionService_664_1_ItemPropertySpellImmunitySchool(nSchool); + } + + public NWItemProperty ItemPropertyThievesTools(Int32 nModifier) + { + return ScriptHost.ExecuteActionService_665_1_ItemPropertyThievesTools(nModifier); + } + + public NWItemProperty ItemPropertyAttackBonus(Int32 nBonus) + { + return ScriptHost.ExecuteActionService_666_1_ItemPropertyAttackBonus(nBonus); + } + + public NWItemProperty ItemPropertyAttackBonusVsAlign(Int32 nAlignGroup, Int32 nBonus) + { + return ScriptHost.ExecuteActionService_667_2_ItemPropertyAttackBonusVsAlign(nAlignGroup, nBonus); + } + + public NWItemProperty ItemPropertyAttackBonusVsRace(Int32 nRace, Int32 nBonus) + { + return ScriptHost.ExecuteActionService_668_2_ItemPropertyAttackBonusVsRace(nRace, nBonus); + } + + public NWItemProperty ItemPropertyAttackBonusVsSAlign(Int32 nAlignment, Int32 nBonus) + { + return ScriptHost.ExecuteActionService_669_2_ItemPropertyAttackBonusVsSAlign(nAlignment, nBonus); + } + + public NWItemProperty ItemPropertyAttackPenalty(Int32 nPenalty) + { + return ScriptHost.ExecuteActionService_670_1_ItemPropertyAttackPenalty(nPenalty); + } + + public NWItemProperty ItemPropertyUnlimitedAmmo(Int32 nAmmoDamage) + { + return ScriptHost.ExecuteActionService_671_1_ItemPropertyUnlimitedAmmo(nAmmoDamage); + } + + public NWItemProperty ItemPropertyLimitUseByAlign(Int32 nAlignGroup) + { + return ScriptHost.ExecuteActionService_672_1_ItemPropertyLimitUseByAlign(nAlignGroup); + } + + public NWItemProperty ItemPropertyLimitUseByClass(Int32 nClass) + { + return ScriptHost.ExecuteActionService_673_1_ItemPropertyLimitUseByClass(nClass); + } + + public NWItemProperty ItemPropertyLimitUseByRace(Int32 nRace) + { + return ScriptHost.ExecuteActionService_674_1_ItemPropertyLimitUseByRace(nRace); + } + + public NWItemProperty ItemPropertyLimitUseBySAlign(Int32 nAlignment) + { + return ScriptHost.ExecuteActionService_675_1_ItemPropertyLimitUseBySAlign(nAlignment); + } + + public NWItemProperty ItemPropertyBonusHitpoints(Int32 nBonusType) + { + return ScriptHost.ExecuteActionService_676_1_ItemPropertyBonusHitpoints(nBonusType); + } + + public NWItemProperty ItemPropertyVampiricRegeneration(Int32 nRegenAmount) + { + return ScriptHost.ExecuteActionService_677_1_ItemPropertyVampiricRegeneration(nRegenAmount); + } + + public NWItemProperty ItemPropertyTrap(Int32 nTrapLevel, Int32 nTrapType) + { + return ScriptHost.ExecuteActionService_678_2_ItemPropertyTrap(nTrapLevel, nTrapType); + } + + public NWItemProperty ItemPropertyTrueSeeing() + { + return ScriptHost.ExecuteActionService_679_0_ItemPropertyTrueSeeing(); + } + + public NWItemProperty ItemPropertyOnMonsterHitProperties(Int32 nProperty, Int32 nSpecial) + { + return ScriptHost.ExecuteActionService_680_2_ItemPropertyOnMonsterHitProperties(nProperty, nSpecial); + } + + public NWItemProperty ItemPropertyTurnResistance(Int32 nModifier) + { + return ScriptHost.ExecuteActionService_681_1_ItemPropertyTurnResistance(nModifier); + } + + public NWItemProperty ItemPropertyMassiveCritical(Int32 nDamage) + { + return ScriptHost.ExecuteActionService_682_1_ItemPropertyMassiveCritical(nDamage); + } + + public NWItemProperty ItemPropertyFreeAction() + { + return ScriptHost.ExecuteActionService_683_0_ItemPropertyFreeAction(); + } + + public NWItemProperty ItemPropertyMonsterDamage(Int32 nDamage) + { + return ScriptHost.ExecuteActionService_684_1_ItemPropertyMonsterDamage(nDamage); + } + + public NWItemProperty ItemPropertyImmunityToSpellLevel(Int32 nLevel) + { + return ScriptHost.ExecuteActionService_685_1_ItemPropertyImmunityToSpellLevel(nLevel); + } + + public NWItemProperty ItemPropertySpecialWalk(Int32 nWalkType) + { + return ScriptHost.ExecuteActionService_686_1_ItemPropertySpecialWalk(nWalkType); + } + + public NWItemProperty ItemPropertyHealersKit(Int32 nModifier) + { + return ScriptHost.ExecuteActionService_687_1_ItemPropertyHealersKit(nModifier); + } + + public NWItemProperty ItemPropertyWeightIncrease(Int32 nWeight) + { + return ScriptHost.ExecuteActionService_688_1_ItemPropertyWeightIncrease(nWeight); + } + + public Int32 GetIsSkillSuccessful(UInt32 oTarget, Int32 nSkill, Int32 nDifficulty, Int32 bDisplayFeedback) + { + return ScriptHost.ExecuteActionService_689_4_GetIsSkillSuccessful(oTarget, nSkill, nDifficulty, bDisplayFeedback); + } + + public NWEffect EffectSpellFailure(Int32 nPercent, Int32 nSpellSchool) + { + return ScriptHost.ExecuteActionService_690_2_EffectSpellFailure(nPercent, nSpellSchool); + } + + public void SpeakStringByStrRef(Int32 nStrRef, Int32 nTalkVolume) + { + ScriptHost.ExecuteActionService_691_2_SpeakStringByStrRef(nStrRef, nTalkVolume); + } + + public void SetCutsceneMode(UInt32 oCreature, Int32 nInCutscene) + { + ScriptHost.ExecuteActionService_692_2_SetCutsceneMode(oCreature, nInCutscene); + } + + public UInt32 GetLastPCToCancelCutscene() + { + return ScriptHost.ExecuteActionService_693_0_GetLastPCToCancelCutscene(); + } + + public float GetDialogSoundLength(Int32 nStrRef) + { + return ScriptHost.ExecuteActionService_694_1_GetDialogSoundLength(nStrRef); + } + + public void FadeFromBlack(UInt32 oCreature, float fSpeed) + { + ScriptHost.ExecuteActionService_695_2_FadeFromBlack(oCreature, (Single)fSpeed); + } + + public void FadeToBlack(UInt32 oCreature, float fSpeed, float fFailsafe, Int32 nColor) + { + ScriptHost.ExecuteActionService_696_4_FadeToBlack(oCreature, (Single)fSpeed, (Single)fFailsafe, nColor); + } + + public void StopFade(UInt32 oCreature) + { + ScriptHost.ExecuteActionService_697_1_StopFade(oCreature); + } + + public void BlackScreen(UInt32 oCreature, Int32 nColor) + { + ScriptHost.ExecuteActionService_698_2_BlackScreen(oCreature, nColor); + } + + public Int32 GetBaseAttackBonus(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_699_1_GetBaseAttackBonus(oCreature); + } + + public void SetImmortal(UInt32 oCreature, Int32 bImmortal) + { + ScriptHost.ExecuteActionService_700_2_SetImmortal(oCreature, bImmortal); + } + + public void OpenInventory(UInt32 oCreature, UInt32 oPlayer) + { + ScriptHost.ExecuteActionService_701_2_OpenInventory(oCreature, oPlayer); + } + + public void StoreCameraFacing() + { + ScriptHost.ExecuteActionService_702_0_StoreCameraFacing(); + } + + public void RestoreCameraFacing() + { + ScriptHost.ExecuteActionService_703_0_RestoreCameraFacing(); + } + + public Int32 LevelUpHenchman(UInt32 oCreature, Int32 nClass, Int32 bReadyAllSpells, Int32 nPackage) + { + return ScriptHost.ExecuteActionService_704_4_LevelUpHenchman(oCreature, nClass, bReadyAllSpells, nPackage); + } + + public void SetDroppableFlag(UInt32 oItem, Int32 bDroppable) + { + ScriptHost.ExecuteActionService_705_2_SetDroppableFlag(oItem, bDroppable); + } + + public Int32 GetWeight(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_706_1_GetWeight(oTarget); + } + + public UInt32 GetModuleItemAcquiredBy() + { + return ScriptHost.ExecuteActionService_707_0_GetModuleItemAcquiredBy(); + } + + public Int32 GetImmortal(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_708_1_GetImmortal(oTarget); + } + + public void DoWhirlwindAttack(Int32 bDisplayFeedback, Int32 bImproved) + { + ScriptHost.ExecuteActionService_709_2_DoWhirlwindAttack(bDisplayFeedback, bImproved); + } + + public String Get2DAString(String s2DA, String sColumn, Int32 nRow) + { + return ScriptHost.ExecuteActionService_710_3_Get2DAString(s2DA, sColumn, nRow); + } + + public NWEffect EffectEthereal() + { + return ScriptHost.ExecuteActionService_711_0_EffectEthereal(); + } + + public Int32 GetAILevel(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_712_1_GetAILevel(oTarget); + } + + public void SetAILevel(UInt32 oTarget, Int32 nAILevel) + { + ScriptHost.ExecuteActionService_713_2_SetAILevel(oTarget, nAILevel); + } + + public Int32 GetIsPossessedFamiliar(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_714_1_GetIsPossessedFamiliar(oCreature); + } + + public void UnpossessFamiliar(UInt32 oCreature) + { + ScriptHost.ExecuteActionService_715_1_UnpossessFamiliar(oCreature); + } + + public Int32 GetIsAreaInterior(UInt32 oArea) + { + return ScriptHost.ExecuteActionService_716_1_GetIsAreaInterior(oArea); + } + + public void SendMessageToPCByStrRef(UInt32 oPlayer, Int32 nStrRef) + { + ScriptHost.ExecuteActionService_717_2_SendMessageToPCByStrRef(oPlayer, nStrRef); + } + + public void IncrementRemainingFeatUses(UInt32 oCreature, Int32 nFeat) + { + ScriptHost.ExecuteActionService_718_2_IncrementRemainingFeatUses(oCreature, nFeat); + } + + public void ExportSingleCharacter(UInt32 oPlayer) + { + ScriptHost.ExecuteActionService_719_1_ExportSingleCharacter(oPlayer); + } + + public void PlaySoundByStrRef(Int32 nStrRef, Int32 nRunAsAction) + { + ScriptHost.ExecuteActionService_720_2_PlaySoundByStrRef(nStrRef, nRunAsAction); + } + + public void SetSubRace(UInt32 oCreature, String sSubRace) + { + ScriptHost.ExecuteActionService_721_2_SetSubRace(oCreature, sSubRace); + } + + public void SetDeity(UInt32 oCreature, String sDeity) + { + ScriptHost.ExecuteActionService_722_2_SetDeity(oCreature, sDeity); + } + + public Int32 GetIsDMPossessed(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_723_1_GetIsDMPossessed(oCreature); + } + + public Int32 GetWeather(UInt32 oArea, Int32 nWeatherType) + { + return ScriptHost.ExecuteActionService_724_2_GetWeather(oArea, nWeatherType); + } + + public Int32 GetIsAreaNatural(UInt32 oArea) + { + return ScriptHost.ExecuteActionService_725_1_GetIsAreaNatural(oArea); + } + + public Int32 GetIsAreaAboveGround(UInt32 oArea) + { + return ScriptHost.ExecuteActionService_726_1_GetIsAreaAboveGround(oArea); + } + + public UInt32 GetPCItemLastEquipped() + { + return ScriptHost.ExecuteActionService_727_0_GetPCItemLastEquipped(); + } + + public UInt32 GetPCItemLastEquippedBy() + { + return ScriptHost.ExecuteActionService_728_0_GetPCItemLastEquippedBy(); + } + + public UInt32 GetPCItemLastUnequipped() + { + return ScriptHost.ExecuteActionService_729_0_GetPCItemLastUnequipped(); + } + + public UInt32 GetPCItemLastUnequippedBy() + { + return ScriptHost.ExecuteActionService_730_0_GetPCItemLastUnequippedBy(); + } + + public UInt32 CopyItemAndModify(UInt32 oItem, Int32 nType, Int32 nIndex, Int32 nNewValue, Int32 bCopyVars) + { + return ScriptHost.ExecuteActionService_731_5_CopyItemAndModify(oItem, nType, nIndex, nNewValue, bCopyVars); + } + + public Int32 GetItemAppearance(UInt32 oItem, Int32 nType, Int32 nIndex) + { + return ScriptHost.ExecuteActionService_732_3_GetItemAppearance(oItem, nType, nIndex); + } + + public NWItemProperty ItemPropertyOnHitCastSpell(Int32 nSpell, Int32 nLevel) + { + return ScriptHost.ExecuteActionService_733_2_ItemPropertyOnHitCastSpell(nSpell, nLevel); + } + + public Int32 GetItemPropertySubType(NWItemProperty iProperty) + { + return ScriptHost.ExecuteActionService_734_1_GetItemPropertySubType(iProperty); + } + + public Int32 GetActionMode(UInt32 oCreature, Int32 nMode) + { + return ScriptHost.ExecuteActionService_735_2_GetActionMode(oCreature, nMode); + } + + public void SetActionMode(UInt32 oCreature, Int32 nMode, Int32 nStatus) + { + ScriptHost.ExecuteActionService_736_3_SetActionMode(oCreature, nMode, nStatus); + } + + public Int32 GetArcaneSpellFailure(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_737_1_GetArcaneSpellFailure(oCreature); + } + + public void ActionExamine(UInt32 oExamine) + { + ScriptHost.ExecuteActionService_738_1_ActionExamine(oExamine); + } + + public NWItemProperty ItemPropertyVisualEffect(Int32 nEffect) + { + return ScriptHost.ExecuteActionService_739_1_ItemPropertyVisualEffect(nEffect); + } + + public void SetLootable(UInt32 oCreature, Int32 bLootable) + { + ScriptHost.ExecuteActionService_740_2_SetLootable(oCreature, bLootable); + } + + public Int32 GetLootable(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_741_1_GetLootable(oCreature); + } + + public float GetCutsceneCameraMoveRate(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_742_1_GetCutsceneCameraMoveRate(oCreature); + } + + public void SetCutsceneCameraMoveRate(UInt32 oCreature, float fRate) + { + ScriptHost.ExecuteActionService_743_2_SetCutsceneCameraMoveRate(oCreature, (Single)fRate); + } + + public Int32 GetItemCursedFlag(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_744_1_GetItemCursedFlag(oItem); + } + + public void SetItemCursedFlag(UInt32 oItem, Int32 nCursed) + { + ScriptHost.ExecuteActionService_745_2_SetItemCursedFlag(oItem, nCursed); + } + + public void SetMaxHenchmen(Int32 nNumHenchmen) + { + ScriptHost.ExecuteActionService_746_1_SetMaxHenchmen(nNumHenchmen); + } + + public Int32 GetMaxHenchmen() + { + return ScriptHost.ExecuteActionService_747_0_GetMaxHenchmen(); + } + + public Int32 GetAssociateType(UInt32 oAssociate) + { + return ScriptHost.ExecuteActionService_748_1_GetAssociateType(oAssociate); + } + + public Int32 GetSpellResistance(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_749_1_GetSpellResistance(oCreature); + } + + public void DayToNight(UInt32 oPlayer, float fTransitionTime) + { + ScriptHost.ExecuteActionService_750_2_DayToNight(oPlayer, (Single)fTransitionTime); + } + + public void NightToDay(UInt32 oPlayer, float fTransitionTime) + { + ScriptHost.ExecuteActionService_751_2_NightToDay(oPlayer, (Single)fTransitionTime); + } + + public Int32 LineOfSightObject(UInt32 oSource, UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_752_2_LineOfSightObject(oSource, oTarget); + } + + public Int32 LineOfSightVector(NWScript.Vector3 vSource, NWScript.Vector3 vTarget) + { + return ScriptHost.ExecuteActionService_753_6_LineOfSightVector(vSource.z, vSource.y, vSource.x, vTarget.z, vTarget.y, vTarget.x); + } + + public Int32 GetLastSpellCastClass() + { + return ScriptHost.ExecuteActionService_754_0_GetLastSpellCastClass(); + } + + public void SetBaseAttackBonus(Int32 nBaseAttackBonus, UInt32 oCreature) + { + ScriptHost.ExecuteActionService_755_2_SetBaseAttackBonus(nBaseAttackBonus, oCreature); + } + + public void RestoreBaseAttackBonus(UInt32 oCreature) + { + ScriptHost.ExecuteActionService_756_1_RestoreBaseAttackBonus(oCreature); + } + + public NWEffect EffectCutsceneGhost() + { + return ScriptHost.ExecuteActionService_757_0_EffectCutsceneGhost(); + } + + public NWItemProperty ItemPropertyArcaneSpellFailure(Int32 nModLevel) + { + return ScriptHost.ExecuteActionService_758_1_ItemPropertyArcaneSpellFailure(nModLevel); + } + + public Int32 GetStoreGold(UInt32 oidStore) + { + return ScriptHost.ExecuteActionService_759_1_GetStoreGold(oidStore); + } + + public void SetStoreGold(UInt32 oidStore, Int32 nGold) + { + ScriptHost.ExecuteActionService_760_2_SetStoreGold(oidStore, nGold); + } + + public Int32 GetStoreMaxBuyPrice(UInt32 oidStore) + { + return ScriptHost.ExecuteActionService_761_1_GetStoreMaxBuyPrice(oidStore); + } + + public void SetStoreMaxBuyPrice(UInt32 oidStore, Int32 nMaxBuy) + { + ScriptHost.ExecuteActionService_762_2_SetStoreMaxBuyPrice(oidStore, nMaxBuy); + } + + public Int32 GetStoreIdentifyCost(UInt32 oidStore) + { + return ScriptHost.ExecuteActionService_763_1_GetStoreIdentifyCost(oidStore); + } + + public void SetStoreIdentifyCost(UInt32 oidStore, Int32 nCost) + { + ScriptHost.ExecuteActionService_764_2_SetStoreIdentifyCost(oidStore, nCost); + } + + public void SetCreatureAppearanceType(UInt32 oCreature, Int32 nAppearanceType) + { + ScriptHost.ExecuteActionService_765_2_SetCreatureAppearanceType(oCreature, nAppearanceType); + } + + public Int32 GetCreatureStartingPackage(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_766_1_GetCreatureStartingPackage(oCreature); + } + + public NWEffect EffectCutsceneImmobilize() + { + return ScriptHost.ExecuteActionService_767_0_EffectCutsceneImmobilize(); + } + + public Int32 GetIsInSubArea(UInt32 oCreature, UInt32 oSubArea) + { + return ScriptHost.ExecuteActionService_768_2_GetIsInSubArea(oCreature, oSubArea); + } + + public Int32 GetItemPropertyCostTable(NWItemProperty iProp) + { + return ScriptHost.ExecuteActionService_769_1_GetItemPropertyCostTable(iProp); + } + + public Int32 GetItemPropertyCostTableValue(NWItemProperty iProp) + { + return ScriptHost.ExecuteActionService_770_1_GetItemPropertyCostTableValue(iProp); + } + + public Int32 GetItemPropertyParam1(NWItemProperty iProp) + { + return ScriptHost.ExecuteActionService_771_1_GetItemPropertyParam1(iProp); + } + + public Int32 GetItemPropertyParam1Value(NWItemProperty iProp) + { + return ScriptHost.ExecuteActionService_772_1_GetItemPropertyParam1Value(iProp); + } + + public Int32 GetIsCreatureDisarmable(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_773_1_GetIsCreatureDisarmable(oCreature); + } + + public void SetStolenFlag(UInt32 oItem, Int32 nStolenFlag) + { + ScriptHost.ExecuteActionService_774_2_SetStolenFlag(oItem, nStolenFlag); + } + + public void ForceRest(UInt32 oCreature) + { + ScriptHost.ExecuteActionService_775_1_ForceRest(oCreature); + } + + public void SetCameraHeight(UInt32 oPlayer, float fHeight) + { + ScriptHost.ExecuteActionService_776_2_SetCameraHeight(oPlayer, (Single)fHeight); + } + + public Int32 SetGlobalInt(String sName, Int32 nValue) + { + return ScriptHost.ExecuteActionService_777_2_SetGlobalInt(sName, nValue); + } + + public Int32 SetGlobalBool(String sName, Int32 bValue) + { + return ScriptHost.ExecuteActionService_778_2_SetGlobalBool(sName, bValue); + } + + public Int32 SetGlobalString(String sName, String sValue) + { + return ScriptHost.ExecuteActionService_779_2_SetGlobalString(sName, sValue); + } + + public Int32 SetGlobalFloat(String sName, float fValue) + { + return ScriptHost.ExecuteActionService_780_2_SetGlobalFloat(sName, (Single)fValue); + } + + public Int32 GetGlobalInt(String sName) + { + return ScriptHost.ExecuteActionService_781_1_GetGlobalInt(sName); + } + + public Int32 GetGlobalBool(String sName) + { + return ScriptHost.ExecuteActionService_782_1_GetGlobalBool(sName); + } + + public String GetGlobalString(String sName) + { + return ScriptHost.ExecuteActionService_783_1_GetGlobalString(sName); + } + + public float GetGlobalFloat(String sName) + { + return ScriptHost.ExecuteActionService_784_1_GetGlobalFloat(sName); + } + + public Int32 SaveGlobalVariables(String sSaveName) + { + return ScriptHost.ExecuteActionService_785_1_SaveGlobalVariables(sSaveName); + } + + public Int32 LoadGlobalVariables(String sLoadName) + { + return ScriptHost.ExecuteActionService_786_1_LoadGlobalVariables(sLoadName); + } + + public void MountObject(UInt32 oMountingObject, UInt32 oObjectToMount) + { + ScriptHost.ExecuteActionService_787_2_MountObject(oMountingObject, oObjectToMount); + } + + public void DismountObject(UInt32 oDismountingObject, UInt32 oObjectToDismount) + { + ScriptHost.ExecuteActionService_788_2_DismountObject(oDismountingObject, oObjectToDismount); + } + + public Int32 GetJournalEntry(String szPlotID, UInt32 oObjectJournal) + { + return ScriptHost.ExecuteActionService_789_2_GetJournalEntry(szPlotID, oObjectJournal); + } + + public NWEffect EffectNWN2ParticleEffect() + { + return ScriptHost.ExecuteActionService_790_0_EffectNWN2ParticleEffect(); + } + + public NWEffect EffectNWN2ParticleEffectFile(String sDefinitionFile) + { + return ScriptHost.ExecuteActionService_791_1_EffectNWN2ParticleEffectFile(sDefinitionFile); + } + + public NWEffect EffectNWN2SpecialEffectFile(String sFileName, UInt32 oTarget, NWScript.Vector3 vTargetPosition) + { + return ScriptHost.ExecuteActionService_792_5_EffectNWN2SpecialEffectFile(sFileName, oTarget, vTargetPosition.z, vTargetPosition.y, vTargetPosition.x); + } + + public Int32 GetSpellLevel(Int32 nSpellID) + { + return ScriptHost.ExecuteActionService_793_1_GetSpellLevel(nSpellID); + } + + public void RemoveSEFFromObject(UInt32 oObject, String sSEFName) + { + ScriptHost.ExecuteActionService_794_2_RemoveSEFFromObject(oObject, sSEFName); + } + + public void ActionPauseCutscene(Int32 nTimeoutSecs, Int32 bPurgeCutsceneActionsOnTimeout) + { + ScriptHost.ExecuteActionService_795_2_ActionPauseCutscene(nTimeoutSecs, bPurgeCutsceneActionsOnTimeout); + } + + public void AssignCutsceneActionToObject(UInt32 oObject, NWAction aAction) + { + InternalSaveStateForAction(aAction); + ScriptHost.ExecuteActionService_796_1_AssignCutsceneActionToObject(oObject); + } + + public Int32 GetCharBackground(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_797_1_GetCharBackground(oCreature); + } + + public void SetTrapActive(UInt32 oTrap, Int32 bActive) + { + ScriptHost.ExecuteActionService_798_2_SetTrapActive(oTrap, bActive); + } + + public void SetOrientOnDialog(UInt32 oCreature, Int32 bActive) + { + ScriptHost.ExecuteActionService_799_2_SetOrientOnDialog(oCreature, bActive); + } + + public NWEffect EffectDetectUndead() + { + return ScriptHost.ExecuteActionService_800_0_EffectDetectUndead(); + } + + public NWEffect EffectLowLightVision() + { + return ScriptHost.ExecuteActionService_801_0_EffectLowLightVision(); + } + + public NWEffect EffectSetScale(float fScaleX, float fScaleY, float fScaleZ) + { + return ScriptHost.ExecuteActionService_802_3_EffectSetScale((Single)fScaleX, (Single)fScaleY, (Single)fScaleZ); + } + + public NWEffect EffectShareDamage(UInt32 oHelper, Int32 nAmtShared, Int32 nAmtCasterShared) + { + return ScriptHost.ExecuteActionService_803_3_EffectShareDamage(oHelper, nAmtShared, nAmtCasterShared); + } + + public NWEffect EffectAssayResistance(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_804_1_EffectAssayResistance(oTarget); + } + + public NWEffect EffectSeeTrueHPs() + { + return ScriptHost.ExecuteActionService_805_0_EffectSeeTrueHPs(); + } + + public Int32 GetNumCutsceneActionsPending() + { + return ScriptHost.ExecuteActionService_806_0_GetNumCutsceneActionsPending(); + } + + public NWEffect EffectDamageOverTime(Int32 nAmount, float fIntervalSeconds, Int32 nDamageType, Int32 nIgnoreResistances) + { + return ScriptHost.ExecuteActionService_807_4_EffectDamageOverTime(nAmount, (Single)fIntervalSeconds, nDamageType, nIgnoreResistances); + } + + public NWEffect EffectAbsorbDamage(Int32 nACTest) + { + return ScriptHost.ExecuteActionService_808_1_EffectAbsorbDamage(nACTest); + } + + public NWEffect EffectHideousBlow(Int32 nMetamagic) + { + return ScriptHost.ExecuteActionService_809_1_EffectHideousBlow(nMetamagic); + } + + public NWEffect EffectMesmerize(Int32 nBreakFlags, float fBreakDist) + { + return ScriptHost.ExecuteActionService_810_2_EffectMesmerize(nBreakFlags, (Single)fBreakDist); + } + + public Int32 GetSpellFeatId() + { + return ScriptHost.ExecuteActionService_811_0_GetSpellFeatId(); + } + + public void SetFog(UInt32 oTarget, Int32 nFogType, Int32 nColor, float fFogStart, float fFogEnd, float fFarClipPlaneDistance) + { + ScriptHost.ExecuteActionService_812_6_SetFog(oTarget, nFogType, nColor, (Single)fFogStart, (Single)fFogEnd, (Single)fFarClipPlaneDistance); + } + + public NWEffect EffectDarkVision() + { + return ScriptHost.ExecuteActionService_813_0_EffectDarkVision(); + } + + public void DebugPostString(UInt32 oTarget, String sMesg, Int32 nX, Int32 nY, float fDuration, Int32 nColor) + { + ScriptHost.ExecuteActionService_814_6_DebugPostString(oTarget, sMesg, nX, nY, (Single)fDuration, nColor); + } + + public Int32 GetHasAnySpellEffect(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_815_1_GetHasAnySpellEffect(oObject); + } + + public NWEffect EffectArmorCheckPenaltyIncrease(UInt32 oTarget, Int32 nPenaltyAmt) + { + return ScriptHost.ExecuteActionService_816_2_EffectArmorCheckPenaltyIncrease(oTarget, nPenaltyAmt); + } + + public NWEffect EffectDisintegrate(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_817_1_EffectDisintegrate(oTarget); + } + + public NWEffect EffectHealOnZeroHP(UInt32 oTarget, Int32 nDmgToHeal) + { + return ScriptHost.ExecuteActionService_818_2_EffectHealOnZeroHP(oTarget, nDmgToHeal); + } + + public NWEffect EffectBreakEnchantment(Int32 nLevel) + { + return ScriptHost.ExecuteActionService_819_1_EffectBreakEnchantment(nLevel); + } + + public UInt32 GetFirstEnteringPC() + { + return ScriptHost.ExecuteActionService_820_0_GetFirstEnteringPC(); + } + + public UInt32 GetNextEnteringPC() + { + return ScriptHost.ExecuteActionService_821_0_GetNextEnteringPC(); + } + + public Int32 AddRosterMemberByTemplate(String sRosterName, String sTemplate) + { + return ScriptHost.ExecuteActionService_822_2_AddRosterMemberByTemplate(sRosterName, sTemplate); + } + + public Int32 AddRosterMemberByCharacter(String sRosterName, UInt32 oCharacter) + { + return ScriptHost.ExecuteActionService_823_2_AddRosterMemberByCharacter(sRosterName, oCharacter); + } + + public Int32 RemoveRosterMember(String sRosterName) + { + return ScriptHost.ExecuteActionService_824_1_RemoveRosterMember(sRosterName); + } + + public Int32 GetIsRosterMemberAvailable(String sRosterName) + { + return ScriptHost.ExecuteActionService_825_1_GetIsRosterMemberAvailable(sRosterName); + } + + public Int32 GetIsRosterMemberSelectable(String sRosterName) + { + return ScriptHost.ExecuteActionService_826_1_GetIsRosterMemberSelectable(sRosterName); + } + + public Int32 SetIsRosterMemberSelectable(String sRosterName, Int32 bSelectable) + { + return ScriptHost.ExecuteActionService_827_2_SetIsRosterMemberSelectable(sRosterName, bSelectable); + } + + public UInt32 GetObjectFromRosterName(String sRosterName) + { + return ScriptHost.ExecuteActionService_828_1_GetObjectFromRosterName(sRosterName); + } + + public String GetRosterNameFromObject(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_829_1_GetRosterNameFromObject(oCreature); + } + + public UInt32 SpawnRosterMember(String sRosterName, NWLocation lLocation) + { + return ScriptHost.ExecuteActionService_830_2_SpawnRosterMember(sRosterName, lLocation); + } + + public Int32 DespawnRosterMember(String sRosterName) + { + return ScriptHost.ExecuteActionService_831_1_DespawnRosterMember(sRosterName); + } + + public Int32 AddRosterMemberToParty(String sRosterName, UInt32 oPC) + { + return ScriptHost.ExecuteActionService_832_2_AddRosterMemberToParty(sRosterName, oPC); + } + + public void RemoveRosterMemberFromParty(String sRosterName, UInt32 oPC, Int32 bDespawnNPC) + { + ScriptHost.ExecuteActionService_833_3_RemoveRosterMemberFromParty(sRosterName, oPC, bDespawnNPC); + } + + public String GetFirstRosterMember() + { + return ScriptHost.ExecuteActionService_834_0_GetFirstRosterMember(); + } + + public String GetNextRosterMember() + { + return ScriptHost.ExecuteActionService_835_0_GetNextRosterMember(); + } + + public void SpawnSpellProjectile(UInt32 oSource, UInt32 oTaget, NWLocation lSource, NWLocation lTarget, Int32 nSpellID, Int32 nProjectilePathType) + { + ScriptHost.ExecuteActionService_836_6_SpawnSpellProjectile(oSource, oTaget, lSource, lTarget, nSpellID, nProjectilePathType); + } + + public void SpawnItemProjectile(UInt32 oSource, UInt32 oTaget, NWLocation lSource, NWLocation lTarget, Int32 nBaseItemID, Int32 nProjectilePathType, Int32 nAttackType, Int32 nDamageTypeFlag) + { + ScriptHost.ExecuteActionService_837_8_SpawnItemProjectile(oSource, oTaget, lSource, lTarget, nBaseItemID, nProjectilePathType, nAttackType, nDamageTypeFlag); + } + + public Int32 GetIsOwnedByPlayer(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_838_1_GetIsOwnedByPlayer(oCreature); + } + + public UInt32 SetOwnersControlledCompanion(UInt32 oCurrentCreature, UInt32 oTargetCreature) + { + return ScriptHost.ExecuteActionService_839_2_SetOwnersControlledCompanion(oCurrentCreature, oTargetCreature); + } + + public void SetCreatureScriptsToSet(UInt32 oCreature, Int32 nScriptSet) + { + ScriptHost.ExecuteActionService_840_2_SetCreatureScriptsToSet(oCreature, nScriptSet); + } + + public float GetProjectileTravelTime(NWLocation lSource, NWLocation lTarget, Int32 nProjectilePathType, Int32 nSpellID) + { + return ScriptHost.ExecuteActionService_841_4_GetProjectileTravelTime(lSource, lTarget, nProjectilePathType, nSpellID); + } + + public void SetRosterNPCPartyLimit(Int32 nLimit) + { + ScriptHost.ExecuteActionService_842_1_SetRosterNPCPartyLimit(nLimit); + } + + public Int32 GetRosterNPCPartyLimit() + { + return ScriptHost.ExecuteActionService_843_0_GetRosterNPCPartyLimit(); + } + + public Int32 SetIsRosterMemberCampaignNPC(String sRosterName, Int32 nCampaignNPC) + { + return ScriptHost.ExecuteActionService_844_2_SetIsRosterMemberCampaignNPC(sRosterName, nCampaignNPC); + } + + public Int32 GetIsRosterMemberCampaignNPC(String sRosterName) + { + return ScriptHost.ExecuteActionService_845_1_GetIsRosterMemberCampaignNPC(sRosterName); + } + + public Int32 GetIsRosterMember(UInt32 oMember) + { + return ScriptHost.ExecuteActionService_846_1_GetIsRosterMember(oMember); + } + + public void ShowWorldMap(String sWorldMap, UInt32 oPlayer, String sTag) + { + ScriptHost.ExecuteActionService_847_3_ShowWorldMap(sWorldMap, oPlayer, sTag); + } + + public void TriggerEncounter(UInt32 oEncounter, UInt32 oPlayer, Int32 iCRFlag, float fCR) + { + ScriptHost.ExecuteActionService_848_4_TriggerEncounter(oEncounter, oPlayer, iCRFlag, (Single)fCR); + } + + public Int32 GetIsSinglePlayer() + { + return ScriptHost.ExecuteActionService_849_0_GetIsSinglePlayer(); + } + + public void DisplayGuiScreen(UInt32 oPlayer, String sScreenName, Int32 bModal, String sFileName, Int32 bOverrideOptions) + { + ScriptHost.ExecuteActionService_850_5_DisplayGuiScreen(oPlayer, sScreenName, bModal, sFileName, bOverrideOptions); + } + + public NWEffect EffectOnDispel(float fDelay, NWAction aOnDispelEffect) + { + InternalSaveStateForAction(aOnDispelEffect); + return ScriptHost.ExecuteActionService_851_1_EffectOnDispel((Single)fDelay); + } + + public void LoadNewModule(String sModuleName, String sWaypoint) + { + ScriptHost.ExecuteActionService_852_2_LoadNewModule(sModuleName, sWaypoint); + } + + public void SetScriptHidden(UInt32 oCreature, Int32 bHidden, Int32 bDisableUI) + { + ScriptHost.ExecuteActionService_853_3_SetScriptHidden(oCreature, bHidden, bDisableUI); + } + + public void SetIsCompanionPossessionBlocked(UInt32 oCreature, Int32 bBlocked) + { + ScriptHost.ExecuteActionService_854_2_SetIsCompanionPossessionBlocked(oCreature, bBlocked); + } + + public void SetEventHandler(UInt32 oObject, Int32 iEventID, String sScriptName) + { + ScriptHost.ExecuteActionService_855_3_SetEventHandler(oObject, iEventID, sScriptName); + } + + public String GetEventHandler(UInt32 oObject, Int32 iEventID) + { + return ScriptHost.ExecuteActionService_856_2_GetEventHandler(oObject, iEventID); + } + + public Int32 GetIsPartyTransition(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_857_1_GetIsPartyTransition(oObject); + } + + public void JumpPartyToArea(UInt32 oPartyMember, UInt32 oDestination) + { + ScriptHost.ExecuteActionService_858_2_JumpPartyToArea(oPartyMember, oDestination); + } + + public Int32 GetNumActions(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_859_1_GetNumActions(oObject); + } + + public void DisplayMessageBox(UInt32 oPC, Int32 nMessageStrRef, String sMessage, String sOkCB, String sCancelCB, Int32 bShowCancel, String sScreenName, Int32 nOkStrRef, String sOkString, Int32 nCancelStrRef, String sCancelString) + { + ScriptHost.ExecuteActionService_860_11_DisplayMessageBox(oPC, nMessageStrRef, sMessage, sOkCB, sCancelCB, bShowCancel, sScreenName, nOkStrRef, sOkString, nCancelStrRef, sCancelString); + } + + public Int32 StringCompare(String sString1, String sString2, Int32 nCaseSensitive) + { + return ScriptHost.ExecuteActionService_861_3_StringCompare(sString1, sString2, nCaseSensitive); + } + + public Int32 CharToASCII(String sString) + { + return ScriptHost.ExecuteActionService_862_1_CharToASCII(sString); + } + + public UInt32 GetOwnedCharacter(UInt32 oControlled) + { + return ScriptHost.ExecuteActionService_863_1_GetOwnedCharacter(oControlled); + } + + public UInt32 GetControlledCharacter(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_864_1_GetControlledCharacter(oCreature); + } + + public Int32 FeatAdd(UInt32 oCreature, Int32 iFeatId, Int32 bCheckRequirements, Int32 bFeedback, Int32 bNotice) + { + return ScriptHost.ExecuteActionService_865_5_FeatAdd(oCreature, iFeatId, bCheckRequirements, bFeedback, bNotice); + } + + public void FeatRemove(UInt32 oCreature, Int32 iFeatIds) + { + ScriptHost.ExecuteActionService_866_2_FeatRemove(oCreature, iFeatIds); + } + + public void SetCanTalkToNonPlayerOwnedCreatures(UInt32 oObject, Int32 bCanTalk) + { + ScriptHost.ExecuteActionService_867_2_SetCanTalkToNonPlayerOwnedCreatures(oObject, bCanTalk); + } + + public Int32 GetCanTalkToNonPlayerOwnedCreatures(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_868_1_GetCanTalkToNonPlayerOwnedCreatures(oObject); + } + + public void SetLevelUpPackage(UInt32 oCreature, Int32 nPackage) + { + ScriptHost.ExecuteActionService_869_2_SetLevelUpPackage(oCreature, nPackage); + } + + public Int32 GetLevelUpPackage(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_870_1_GetLevelUpPackage(oCreature); + } + + public void SetCombatOverrides(UInt32 oCreature, UInt32 oTarget, Int32 nOnHandAttacks, Int32 nOffHandAttacks, Int32 nAttackResult, Int32 nMinDamage, Int32 nMaxDamage, Int32 bSuppressBroadcastAOO, Int32 bSuppressMakeAOO, Int32 bIgnoreTargetReaction, Int32 bSuppressFeedbackText) + { + ScriptHost.ExecuteActionService_871_11_SetCombatOverrides(oCreature, oTarget, nOnHandAttacks, nOffHandAttacks, nAttackResult, nMinDamage, nMaxDamage, bSuppressBroadcastAOO, bSuppressMakeAOO, bIgnoreTargetReaction, bSuppressFeedbackText); + } + + public void ClearCombatOverrides(UInt32 oCreature) + { + ScriptHost.ExecuteActionService_872_1_ClearCombatOverrides(oCreature); + } + + public void ResetCreatureLevelForXP(UInt32 oTargetCreature, Int32 nExperience, Int32 bUseXPMods) + { + ScriptHost.ExecuteActionService_873_3_ResetCreatureLevelForXP(oTargetCreature, nExperience, bUseXPMods); + } + + public NWLocation CalcPointAwayFromPoint(NWLocation lPoint, NWLocation lAwayFromPoint, float fDistance, float fAngularVariance, Int32 bComputeDistFromStart) + { + return ScriptHost.ExecuteActionService_874_5_CalcPointAwayFromPoint(lPoint, lAwayFromPoint, (Single)fDistance, (Single)fAngularVariance, bComputeDistFromStart); + } + + public NWLocation CalcSafeLocation(UInt32 oCreature, NWLocation lTestPosition, float fSearchRadius, Int32 bWalkStraighLineRequired, Int32 bIgnoreTestPosition) + { + return ScriptHost.ExecuteActionService_875_5_CalcSafeLocation(oCreature, lTestPosition, (Single)fSearchRadius, bWalkStraighLineRequired, bIgnoreTestPosition); + } + + public Int32 GetTotalLevels(UInt32 oCreature, Int32 bIncludeNegativeLevels) + { + return ScriptHost.ExecuteActionService_876_2_GetTotalLevels(oCreature, bIncludeNegativeLevels); + } + + public void ResetFeatUses(UInt32 oCreature, Int32 nFeatID, Int32 bResetDailyUses, Int32 bResetLastUseTime) + { + ScriptHost.ExecuteActionService_877_4_ResetFeatUses(oCreature, nFeatID, bResetDailyUses, bResetLastUseTime); + } + + public void SetNWN2Fog(UInt32 oTarget, Int32 nFogType, Int32 nColor, float fFogStart, float fFogEnd) + { + ScriptHost.ExecuteActionService_878_5_SetNWN2Fog(oTarget, nFogType, nColor, (Single)fFogStart, (Single)fFogEnd); + } + + public void ResetNWN2Fog(UInt32 oTarget, Int32 nFogType) + { + ScriptHost.ExecuteActionService_879_2_ResetNWN2Fog(oTarget, nFogType); + } + + public NWEffect EffectBonusHitpoints(Int32 nHitpoints) + { + return ScriptHost.ExecuteActionService_880_1_EffectBonusHitpoints(nHitpoints); + } + + public void SetGUIObjectHidden(UInt32 oPlayer, String sScreenName, String sUIObjectName, Int32 bHidden) + { + ScriptHost.ExecuteActionService_881_4_SetGUIObjectHidden(oPlayer, sScreenName, sUIObjectName, bHidden); + } + + public void CloseGUIScreen(UInt32 oPlayer, String sScreenName) + { + ScriptHost.ExecuteActionService_882_2_CloseGUIScreen(oPlayer, sScreenName); + } + + public Int32 FiredFromPartyTransition() + { + return ScriptHost.ExecuteActionService_883_0_FiredFromPartyTransition(); + } + + public Int32 GetScriptHidden(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_884_1_GetScriptHidden(oObject); + } + + public String GetNodeSpeaker() + { + return ScriptHost.ExecuteActionService_885_0_GetNodeSpeaker(); + } + + public void SetLocalGUIVariable(UInt32 oPlayer, String sScreenName, Int32 nVarIndex, String sVarValue) + { + ScriptHost.ExecuteActionService_886_4_SetLocalGUIVariable(oPlayer, sScreenName, nVarIndex, sVarValue); + } + + public void SetGUIObjectDisabled(UInt32 oPlayer, String sScreenName, String sUIObjectName, Int32 bDisabled) + { + ScriptHost.ExecuteActionService_887_4_SetGUIObjectDisabled(oPlayer, sScreenName, sUIObjectName, bDisabled); + } + + public void SetGUIObjectText(UInt32 oPlayer, String sScreenName, String sUIObjectName, Int32 nStrRef, String sText) + { + ScriptHost.ExecuteActionService_888_5_SetGUIObjectText(oPlayer, sScreenName, sUIObjectName, nStrRef, sText); + } + + public Int32 GetIsCompanionPossessionBlocked(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_889_1_GetIsCompanionPossessionBlocked(oCreature); + } + + public NWEffect EffectBardSongSinging(Int32 nSpellId) + { + return ScriptHost.ExecuteActionService_890_1_EffectBardSongSinging(nSpellId); + } + + public NWEffect EffectJarring() + { + return ScriptHost.ExecuteActionService_891_0_EffectJarring(); + } + + public Int32 GetEffectInteger(NWEffect eTest, Int32 nIdx) + { + return ScriptHost.ExecuteActionService_892_2_GetEffectInteger(eTest, nIdx); + } + + public void RefreshSpellEffectDurations(UInt32 oTarget, Int32 nSpellId, float fDuration) + { + ScriptHost.ExecuteActionService_893_3_RefreshSpellEffectDurations(oTarget, nSpellId, (Single)fDuration); + } + + public NWEffect SetEffectSpellId(NWEffect eTest, Int32 nSpellId) + { + return ScriptHost.ExecuteActionService_894_2_SetEffectSpellId(eTest, nSpellId); + } + + public NWEffect EffectBABMinimum(Int32 nBABMin) + { + return ScriptHost.ExecuteActionService_895_1_EffectBABMinimum(nBABMin); + } + + public Int32 GetTRUEBaseAttackBonus(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_896_1_GetTRUEBaseAttackBonus(oTarget); + } + + public void SetFirstName(UInt32 oTarget, String sFirstName) + { + ScriptHost.ExecuteActionService_897_2_SetFirstName(oTarget, sFirstName); + } + + public void SetLastName(UInt32 oTarget, String sLastName) + { + ScriptHost.ExecuteActionService_898_2_SetLastName(oTarget, sLastName); + } + + public void SetDescription(UInt32 oTarget, String sDescription) + { + ScriptHost.ExecuteActionService_899_2_SetDescription(oTarget, sDescription); + } + + public String GetFirstName(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_900_1_GetFirstName(oTarget); + } + + public String GetLastName(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_901_1_GetLastName(oTarget); + } + + public String GetDescription(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_902_1_GetDescription(oTarget); + } + + public Int32 IsInMultiplayerConversation(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_903_1_IsInMultiplayerConversation(oObject); + } + + public Int32 PlayCustomAnimation(UInt32 oObject, String sAnimationName, Int32 nLooping, float fSpeed) + { + return ScriptHost.ExecuteActionService_904_4_PlayCustomAnimation(oObject, sAnimationName, nLooping, (Single)fSpeed); + } + + public NWEffect EffectMaxDamage() + { + return ScriptHost.ExecuteActionService_905_0_EffectMaxDamage(); + } + + public void DisplayInputBox(UInt32 oPC, Int32 nMessageStrRef, String sMessage, String sOkCB, String sCancelCB, Int32 bShowCancel, String sScreenName, Int32 nOkStrRef, String sOkString, Int32 nCancelStrRef, String sCancelString, String sDefaultString, String sUnusedString) + { + ScriptHost.ExecuteActionService_906_13_DisplayInputBox(oPC, nMessageStrRef, sMessage, sOkCB, sCancelCB, bShowCancel, sScreenName, nOkStrRef, sOkString, nCancelStrRef, sCancelString, sDefaultString, sUnusedString); + } + + public Int32 SetWeaponVisibility(UInt32 oObject, Int32 nVisibile, Int32 nType) + { + return ScriptHost.ExecuteActionService_907_3_SetWeaponVisibility(oObject, nVisibile, nType); + } + + public void SetLookAtTarget(UInt32 oObject, NWScript.Vector3 vTarget, Int32 nType) + { + ScriptHost.ExecuteActionService_908_5_SetLookAtTarget(oObject, vTarget.z, vTarget.y, vTarget.x, nType); + } + + public Int32 GetBumpState(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_909_1_GetBumpState(oCreature); + } + + public void SetBumpState(UInt32 oCreature, Int32 nBumpState) + { + ScriptHost.ExecuteActionService_910_2_SetBumpState(oCreature, nBumpState); + } + + public Int32 GetOnePartyMode() + { + return ScriptHost.ExecuteActionService_911_0_GetOnePartyMode(); + } + + public UInt32 GetPrimaryPlayer() + { + return ScriptHost.ExecuteActionService_912_0_GetPrimaryPlayer(); + } + + public NWEffect EffectArcaneSpellFailure(Int32 nPercent) + { + return ScriptHost.ExecuteActionService_913_1_EffectArcaneSpellFailure(nPercent); + } + + public void SpawnBloodHit(UInt32 oCreature, Int32 bCriticalHit, UInt32 oAttacker) + { + ScriptHost.ExecuteActionService_914_3_SpawnBloodHit(oCreature, bCriticalHit, oAttacker); + } + + public UInt32 GetFirstArea() + { + return ScriptHost.ExecuteActionService_915_0_GetFirstArea(); + } + + public UInt32 GetNextArea() + { + return ScriptHost.ExecuteActionService_916_0_GetNextArea(); + } + + public Int32 GetArmorRank(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_917_1_GetArmorRank(oItem); + } + + public Int32 GetWeaponType(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_918_1_GetWeaponType(oItem); + } + + public UInt32 GetPlayerCurrentTarget(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_919_1_GetPlayerCurrentTarget(oCreature); + } + + public NWEffect EffectWildshape() + { + return ScriptHost.ExecuteActionService_920_0_EffectWildshape(); + } + + public Int32 GetEncumbranceState(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_921_1_GetEncumbranceState(oCreature); + } + + public void PackCampaignDatabase(String sCampaignName) + { + ScriptHost.ExecuteActionService_922_1_PackCampaignDatabase(sCampaignName); + } + + public void UnlinkDoor(UInt32 oDoor) + { + ScriptHost.ExecuteActionService_923_1_UnlinkDoor(oDoor); + } + + public UInt32 GetPlayerCreatureExamineTarget(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_924_1_GetPlayerCreatureExamineTarget(oCreature); + } + + public void Clear2DACache(String s2DAName) + { + ScriptHost.ExecuteActionService_925_1_Clear2DACache(s2DAName); + } + + public Int32 NWNXGetInt(String sPlugin, String sFunction, String sParam1, Int32 nParam2) + { + return ScriptHost.ExecuteActionService_926_4_NWNXGetInt(sPlugin, sFunction, sParam1, nParam2); + } + + public float NWNXGetFloat(String sPlugin, String sFunction, String sParam1, Int32 nParam2) + { + return ScriptHost.ExecuteActionService_927_4_NWNXGetFloat(sPlugin, sFunction, sParam1, nParam2); + } + + public String NWNXGetString(String sPlugin, String sFunction, String sParam1, Int32 nParam2) + { + return ScriptHost.ExecuteActionService_928_4_NWNXGetString(sPlugin, sFunction, sParam1, nParam2); + } + + public void NWNXSetInt(String sPlugin, String sFunction, String sParam1, Int32 nParam2, Int32 nValue) + { + ScriptHost.ExecuteActionService_929_5_NWNXSetInt(sPlugin, sFunction, sParam1, nParam2, nValue); + } + + public void NWNXSetFloat(String sPlugin, String sFunction, String sParam1, Int32 nParam2, float fValue) + { + ScriptHost.ExecuteActionService_930_5_NWNXSetFloat(sPlugin, sFunction, sParam1, nParam2, (Single)fValue); + } + + public void NWNXSetString(String sPlugin, String sFunction, String sParam1, Int32 nParam2, String sValue) + { + ScriptHost.ExecuteActionService_931_5_NWNXSetString(sPlugin, sFunction, sParam1, nParam2, sValue); + } + + public NWEffect EffectEffectIcon(Int32 nEffectIconId) + { + return ScriptHost.ExecuteActionService_932_1_EffectEffectIcon(nEffectIconId); + } + + public void SetGUIProgressBarPosition(UInt32 oPlayer, String sScreenName, String sUIObjectName, float fPosition) + { + ScriptHost.ExecuteActionService_933_4_SetGUIProgressBarPosition(oPlayer, sScreenName, sUIObjectName, (Single)fPosition); + } + + public void SetGUITexture(UInt32 oPlayer, String sScreenName, String sUIObjectName, String sTexture) + { + ScriptHost.ExecuteActionService_934_4_SetGUITexture(oPlayer, sScreenName, sUIObjectName, sTexture); + } + + public NWEffect EffectRescue(Int32 nSpellId) + { + return ScriptHost.ExecuteActionService_935_1_EffectRescue(nSpellId); + } + + public UInt32 IntToObject(Int32 nInt) + { + return ScriptHost.ExecuteActionService_936_1_IntToObject(nInt); + } + + public Int32 ObjectToInt(UInt32 oObj) + { + return ScriptHost.ExecuteActionService_937_1_ObjectToInt(oObj); + } + + public UInt32 StringToObject(String sString) + { + return ScriptHost.ExecuteActionService_938_1_StringToObject(sString); + } + + public Int32 GetIsSpirit(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_939_1_GetIsSpirit(oCreature); + } + + public NWEffect EffectDetectSpirits() + { + return ScriptHost.ExecuteActionService_940_0_EffectDetectSpirits(); + } + + public NWEffect EffectDamageReductionNegated() + { + return ScriptHost.ExecuteActionService_941_0_EffectDamageReductionNegated(); + } + + public NWEffect EffectConcealmentNegated() + { + return ScriptHost.ExecuteActionService_942_0_EffectConcealmentNegated(); + } + + public Int32 GetInfiniteFlag(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_943_1_GetInfiniteFlag(oItem); + } + + public String GetKeyRequiredFeedbackMessage(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_944_1_GetKeyRequiredFeedbackMessage(oObject); + } + + public void SetKeyRequiredFeedbackMessage(UInt32 oObject, String sFeedback) + { + ScriptHost.ExecuteActionService_945_2_SetKeyRequiredFeedbackMessage(oObject, sFeedback); + } + + public void SetInfiniteFlag(UInt32 oItem, Int32 bInfinite) + { + ScriptHost.ExecuteActionService_946_2_SetInfiniteFlag(oItem, bInfinite); + } + + public Int32 GetPickpocketableFlag(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_947_1_GetPickpocketableFlag(oItem); + } + + public void SetPickpocketableFlag(UInt32 oItem, Int32 bPickpocketable) + { + ScriptHost.ExecuteActionService_948_2_SetPickpocketableFlag(oItem, bPickpocketable); + } + + public Int32 GetTrapActive(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_949_1_GetTrapActive(oObject); + } + + public void SetWillSavingThrow(UInt32 oObject, Int32 nNewWillSave) + { + ScriptHost.ExecuteActionService_950_2_SetWillSavingThrow(oObject, nNewWillSave); + } + + public void SetReflexSavingThrow(UInt32 oObject, Int32 nNewReflexSave) + { + ScriptHost.ExecuteActionService_951_2_SetReflexSavingThrow(oObject, nNewReflexSave); + } + + public void SetFortitudeSavingThrow(UInt32 oObject, Int32 nNewFortSave) + { + ScriptHost.ExecuteActionService_952_2_SetFortitudeSavingThrow(oObject, nNewFortSave); + } + + public void SetLockKeyRequired(UInt32 oObject, Int32 nKeyRequired) + { + ScriptHost.ExecuteActionService_953_2_SetLockKeyRequired(oObject, nKeyRequired); + } + + public void SetLockKeyTag(UInt32 oObject, String sKeyTag) + { + ScriptHost.ExecuteActionService_954_2_SetLockKeyTag(oObject, sKeyTag); + } + + public void SetLockLockDC(UInt32 oObject, Int32 nNewLockDC) + { + ScriptHost.ExecuteActionService_955_2_SetLockLockDC(oObject, nNewLockDC); + } + + public void SetLockUnlockDC(UInt32 oObject, Int32 nNewLockDC) + { + ScriptHost.ExecuteActionService_956_2_SetLockUnlockDC(oObject, nNewLockDC); + } + + public void SetLockLockable(UInt32 oObject, Int32 nLockable) + { + ScriptHost.ExecuteActionService_957_2_SetLockLockable(oObject, nLockable); + } + + public void SetHardness(Int32 nHardness, UInt32 oObject) + { + ScriptHost.ExecuteActionService_958_2_SetHardness(nHardness, oObject); + } + + public Int32 GetHardness(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_959_1_GetHardness(oObject); + } + + public Int32 GetModuleXPScale() + { + return ScriptHost.ExecuteActionService_960_0_GetModuleXPScale(); + } + + public void SetModuleXPScale(Int32 nXPScale) + { + ScriptHost.ExecuteActionService_961_1_SetModuleXPScale(nXPScale); + } + + public void SetTrapDetectable(UInt32 oTrap, Int32 nDetectable) + { + ScriptHost.ExecuteActionService_962_2_SetTrapDetectable(oTrap, nDetectable); + } + + public void SetTrapDetectDC(UInt32 oTrap, Int32 nDetectDC) + { + ScriptHost.ExecuteActionService_963_2_SetTrapDetectDC(oTrap, nDetectDC); + } + + public void SetTrapDisarmable(UInt32 oTrap, Int32 nDisarmable) + { + ScriptHost.ExecuteActionService_964_2_SetTrapDisarmable(oTrap, nDisarmable); + } + + public void SetTrapDisarmDC(UInt32 oTrap, Int32 nDisarmDC) + { + ScriptHost.ExecuteActionService_965_2_SetTrapDisarmDC(oTrap, nDisarmDC); + } + + public void SetTrapKeyTag(UInt32 oTrap, String sKeyTag) + { + ScriptHost.ExecuteActionService_966_2_SetTrapKeyTag(oTrap, sKeyTag); + } + + public void SetTrapOneShot(UInt32 oTrap, Int32 nOneShot) + { + ScriptHost.ExecuteActionService_967_2_SetTrapOneShot(oTrap, nOneShot); + } + + public UInt32 CreateTrapAtLocation(Int32 nTrapType, NWLocation lLocation, float fSize, String sTag, Int32 nFaction, String sOnDisarmScript, String sOnTrapTriggeredScript) + { + return ScriptHost.ExecuteActionService_968_7_CreateTrapAtLocation(nTrapType, lLocation, (Single)fSize, sTag, nFaction, sOnDisarmScript, sOnTrapTriggeredScript); + } + + public void CreateTrapOnObject(Int32 nTrapType, UInt32 oObject, Int32 nFaction, String sOnDisarmScript, String sOnTrapTriggeredScript) + { + ScriptHost.ExecuteActionService_969_5_CreateTrapOnObject(nTrapType, oObject, nFaction, sOnDisarmScript, sOnTrapTriggeredScript); + } + + public Int32 GetAreaSize(Int32 nAreaDimension, UInt32 oArea) + { + return ScriptHost.ExecuteActionService_970_2_GetAreaSize(nAreaDimension, oArea); + } + + public Int32 GetTrapRecoverable(UInt32 oTrap) + { + return ScriptHost.ExecuteActionService_971_1_GetTrapRecoverable(oTrap); + } + + public void SetTrapRecoverable(UInt32 oTrap, Int32 nRecoverable) + { + ScriptHost.ExecuteActionService_972_2_SetTrapRecoverable(oTrap, nRecoverable); + } + + public void SetUseableFlag(UInt32 oPlaceable, Int32 nUseableFlag) + { + ScriptHost.ExecuteActionService_973_2_SetUseableFlag(oPlaceable, nUseableFlag); + } + + public UInt32 GetPlaceableLastClickedBy() + { + return ScriptHost.ExecuteActionService_974_0_GetPlaceableLastClickedBy(); + } + + public void SetRenderWaterInArea(UInt32 oArea, Int32 bRender) + { + ScriptHost.ExecuteActionService_975_2_SetRenderWaterInArea(oArea, bRender); + } + + public NWEffect EffectInsane() + { + return ScriptHost.ExecuteActionService_976_0_EffectInsane(); + } + + public void SetPlayerGUIHidden(UInt32 oPlayer, Int32 bHidden) + { + ScriptHost.ExecuteActionService_977_2_SetPlayerGUIHidden(oPlayer, bHidden); + } + + public String GetSelectedMapPointTag() + { + return ScriptHost.ExecuteActionService_978_0_GetSelectedMapPointTag(); + } + + public void SetNoticeText(UInt32 oPlayer, String sText) + { + ScriptHost.ExecuteActionService_979_2_SetNoticeText(oPlayer, sText); + } + + public void SetLightActive(UInt32 oLight, Int32 bActive) + { + ScriptHost.ExecuteActionService_980_2_SetLightActive(oLight, bActive); + } + + public NWEffect EffectSummonCopy(UInt32 oSource, Int32 nVisualEffectId, float fDelaySeconds, String sNewTag, Int32 nNewHP, String sScript) + { + return ScriptHost.ExecuteActionService_981_6_EffectSummonCopy(oSource, nVisualEffectId, (Single)fDelaySeconds, sNewTag, nNewHP, sScript); + } + + public Int32 GetPolymorphLocked(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_982_1_GetPolymorphLocked(oCreature); + } + + public void SetSoundSet(UInt32 oCreature, Int32 nSoundSet) + { + ScriptHost.ExecuteActionService_983_2_SetSoundSet(oCreature, nSoundSet); + } + + public void SetScale(UInt32 oObject, float fX, float fY, float fZ) + { + ScriptHost.ExecuteActionService_984_4_SetScale(oObject, (Single)fX, (Single)fY, (Single)fZ); + } + + public float GetScale(UInt32 oObject, Int32 nAxis) + { + return ScriptHost.ExecuteActionService_985_2_GetScale(oObject, nAxis); + } + + public Int32 GetNum2DARows(String s2DAName) + { + return ScriptHost.ExecuteActionService_986_1_GetNum2DARows(s2DAName); + } + + public Int32 GetNum2DAColumns(String s2DAName) + { + return ScriptHost.ExecuteActionService_987_1_GetNum2DAColumns(s2DAName); + } + + public void SetCustomHeartbeat(UInt32 oTarget, Int32 nMSeconds) + { + ScriptHost.ExecuteActionService_988_2_SetCustomHeartbeat(oTarget, nMSeconds); + } + + public Int32 GetCustomHeartbeat(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_989_1_GetCustomHeartbeat(oTarget); + } + + public void SetScrollBarRanges(UInt32 oPlayer, String sScreenName, String sScrollBarName, Int32 nMinSize, Int32 nMaxSize, Int32 nMinValue, Int32 nMaxValue) + { + ScriptHost.ExecuteActionService_990_7_SetScrollBarRanges(oPlayer, sScreenName, sScrollBarName, nMinSize, nMaxSize, nMinValue, nMaxValue); + } + + public void ClearListBox(UInt32 oPlayer, String sScreenName, String sListBox) + { + ScriptHost.ExecuteActionService_991_3_ClearListBox(oPlayer, sScreenName, sListBox); + } + + public void AddListBoxRow(UInt32 oPlayer, String sScreenName, String sListBox, String sRowName, String sTextFields, String sTextures, String sVariables, String sHideUnhide) + { + ScriptHost.ExecuteActionService_992_8_AddListBoxRow(oPlayer, sScreenName, sListBox, sRowName, sTextFields, sTextures, sVariables, sHideUnhide); + } + + public void RemoveListBoxRow(UInt32 oPlayer, String sScreenName, String sListBox, String sRowName) + { + ScriptHost.ExecuteActionService_993_4_RemoveListBoxRow(oPlayer, sScreenName, sListBox, sRowName); + } + + public Int32 GetItemPropActivation(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_994_1_GetItemPropActivation(oItem); + } + + public void SetItemPropActivation(UInt32 oItem, Int32 nPref) + { + ScriptHost.ExecuteActionService_995_2_SetItemPropActivation(oItem, nPref); + } + + public void ModifyListBoxRow(UInt32 oPlayer, String sScreenName, String sListBox, String sRowName, String sTextFields, String sTextures, String sVariables, String sHideUnhide) + { + ScriptHost.ExecuteActionService_996_8_ModifyListBoxRow(oPlayer, sScreenName, sListBox, sRowName, sTextFields, sTextures, sVariables, sHideUnhide); + } + + public void SetFactionLeader(UInt32 oNewLeader) + { + ScriptHost.ExecuteActionService_997_1_SetFactionLeader(oNewLeader); + } + + public UInt32 GetFirstSubArea(UInt32 oArea, NWScript.Vector3 vPosition) + { + return ScriptHost.ExecuteActionService_998_4_GetFirstSubArea(oArea, vPosition.z, vPosition.y, vPosition.x); + } + + public UInt32 GetNextSubArea(UInt32 oArea) + { + return ScriptHost.ExecuteActionService_999_1_GetNextSubArea(oArea); + } + + public float GetMovementRateFactor(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_1000_1_GetMovementRateFactor(oCreature); + } + + public void SetMovementRateFactor(UInt32 oCreature, float fFactor) + { + ScriptHost.ExecuteActionService_1001_2_SetMovementRateFactor(oCreature, (Single)fFactor); + } + + public String GetBicFileName(UInt32 oPC) + { + return ScriptHost.ExecuteActionService_1002_1_GetBicFileName(oPC); + } + + public Int32 GetCollision(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_1003_1_GetCollision(oTarget); + } + + public void SetCollision(UInt32 oTarget, Int32 bCollision) + { + ScriptHost.ExecuteActionService_1004_2_SetCollision(oTarget, bCollision); + } + + public Int32 GetItemIcon(UInt32 oTarget) + { + return ScriptHost.ExecuteActionService_1005_1_GetItemIcon(oTarget); + } + + public String GetVariableName(UInt32 oTarget, Int32 nPosition) + { + return ScriptHost.ExecuteActionService_1006_2_GetVariableName(oTarget, nPosition); + } + + public Int32 GetVariableType(UInt32 oTarget, Int32 nPosition) + { + return ScriptHost.ExecuteActionService_1007_2_GetVariableType(oTarget, nPosition); + } + + public Int32 GetAreaOfEffectDuration(UInt32 oAreaOfEffectObject) + { + return ScriptHost.ExecuteActionService_1008_1_GetAreaOfEffectDuration(oAreaOfEffectObject); + } + + public Int32 GetIsPlayerCreated(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_1009_1_GetIsPlayerCreated(oCreature); + } + + public String GetPartyName() + { + return ScriptHost.ExecuteActionService_1010_0_GetPartyName(); + } + + public String GetPartyMotto() + { + return ScriptHost.ExecuteActionService_1011_0_GetPartyMotto(); + } + + public Int32 GetIsOverlandMap(UInt32 oArea) + { + return ScriptHost.ExecuteActionService_1012_1_GetIsOverlandMap(oArea); + } + + public Int32 SetUnrestrictedLevelUp(UInt32 oCreature) + { + return ScriptHost.ExecuteActionService_1013_1_SetUnrestrictedLevelUp(oCreature); + } + + public Int32 GetSoundFileDuration(String sSoundFile) + { + return ScriptHost.ExecuteActionService_1014_1_GetSoundFileDuration(sSoundFile); + } + + public Int32 GetPartyMembersDyingFlag() + { + return ScriptHost.ExecuteActionService_1015_0_GetPartyMembersDyingFlag(); + } + + public void SetListBoxRowSelected(UInt32 oPlayer, String sScreenName, String sListBox, String sRowName) + { + ScriptHost.ExecuteActionService_1016_4_SetListBoxRowSelected(oPlayer, sScreenName, sListBox, sRowName); + } + + public Int32 GetTalkTableLanguage() + { + return ScriptHost.ExecuteActionService_1017_0_GetTalkTableLanguage(); + } + + public void SetScrollBarValue(UInt32 oPlayer, String sScreenName, String sScrollBarName, Int32 nValue) + { + ScriptHost.ExecuteActionService_1018_4_SetScrollBarValue(oPlayer, sScreenName, sScrollBarName, nValue); + } + + public void SetPause(Int32 bState) + { + ScriptHost.ExecuteActionService_1019_1_SetPause(bState); + } + + public Int32 GetPause() + { + return ScriptHost.ExecuteActionService_1020_0_GetPause(); + } + + public Int32 GetAreaOfEffectSpellId(UInt32 oAreaOfEffectObject) + { + return ScriptHost.ExecuteActionService_1021_1_GetAreaOfEffectSpellId(oAreaOfEffectObject); + } + + public void SetGlobalGUIVariable(UInt32 oPlayer, Int32 nVarIndex, String sVarValue) + { + ScriptHost.ExecuteActionService_1022_3_SetGlobalGUIVariable(oPlayer, nVarIndex, sVarValue); + } + + public UInt32 CreateInstancedAreaFromSource(UInt32 oArea) + { + return ScriptHost.ExecuteActionService_1023_1_CreateInstancedAreaFromSource(oArea); + } + + public Int32 GetVariableValueInt(UInt32 oObject, Int32 nIndex) + { + return ScriptHost.ExecuteActionService_1024_2_GetVariableValueInt(oObject, nIndex); + } + + public String GetVariableValueString(UInt32 oObject, Int32 nIndex) + { + return ScriptHost.ExecuteActionService_1025_2_GetVariableValueString(oObject, nIndex); + } + + public float GetVariableValueFloat(UInt32 oObject, Int32 nIndex) + { + return ScriptHost.ExecuteActionService_1026_2_GetVariableValueFloat(oObject, nIndex); + } + + public NWLocation GetVariableValueLocation(UInt32 oObject, Int32 nIndex) + { + return ScriptHost.ExecuteActionService_1027_2_GetVariableValueLocation(oObject, nIndex); + } + + public UInt32 GetVariableValueObject(UInt32 oObject, Int32 nIndex) + { + return ScriptHost.ExecuteActionService_1028_2_GetVariableValueObject(oObject, nIndex); + } + + public Int32 GetVariableCount(UInt32 oObject) + { + return ScriptHost.ExecuteActionService_1029_1_GetVariableCount(oObject); + } + + public void SetBaseAbilityScore(UInt32 oCreature, Int32 nAbilityType, Int32 nScore) + { + ScriptHost.ExecuteActionService_1030_3_SetBaseAbilityScore(oCreature, nAbilityType, nScore); + } + + public void SetBaseSkillRank(UInt32 oCreature, Int32 nSkill, Int32 nRank, Int32 bTrackWithLevel) + { + ScriptHost.ExecuteActionService_1031_4_SetBaseSkillRank(oCreature, nSkill, nRank, bTrackWithLevel); + } + + public void SendChatMessage(UInt32 oSender, UInt32 oReceiver, Int32 nChannel, String sMessage, Int32 bInvokeCallback) + { + ScriptHost.ExecuteActionService_1032_5_SendChatMessage(oSender, oReceiver, nChannel, sMessage, bInvokeCallback); + } + + public Int32 GetIsLocationValid(NWLocation lLocation) + { + return ScriptHost.ExecuteActionService_1033_1_GetIsLocationValid(lLocation); + } + + public Int32 GetSurfaceMaterialsAtLocation(NWLocation lLocation) + { + return ScriptHost.ExecuteActionService_1034_1_GetSurfaceMaterialsAtLocation(lLocation); + } + + public Int32 GetSpellKnown(UInt32 oCreature, Int32 nSpell) + { + return ScriptHost.ExecuteActionService_1035_2_GetSpellKnown(oCreature, nSpell); + } + + public Int32 GetItemBaseMaterialType(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_1036_1_GetItemBaseMaterialType(oItem); + } + + public void SetItemBaseMaterialType(UInt32 oItem, Int32 nMaterialType) + { + ScriptHost.ExecuteActionService_1037_2_SetItemBaseMaterialType(oItem, nMaterialType); + } + + public void SetSpellKnown(UInt32 oCreature, Int32 nClassPosition, Int32 nSpell, Int32 bKnown, Int32 bTrackWithLevel) + { + ScriptHost.ExecuteActionService_1038_5_SetSpellKnown(oCreature, nClassPosition, nSpell, bKnown, bTrackWithLevel); + } + + public Int32 GetLimboCreatureCount() + { + return ScriptHost.ExecuteActionService_1039_0_GetLimboCreatureCount(); + } + + public UInt32 GetCreatureInLimbo(Int32 nTh) + { + return ScriptHost.ExecuteActionService_1040_1_GetCreatureInLimbo(nTh); + } + + public void SendCreatureToLimbo(UInt32 oCreature) + { + ScriptHost.ExecuteActionService_1041_1_SendCreatureToLimbo(oCreature); + } + + public void AddScriptParameterInt(Int32 nParam) + { + ScriptHost.ExecuteActionService_1042_1_AddScriptParameterInt(nParam); + } + + public void AddScriptParameterString(String sParam) + { + ScriptHost.ExecuteActionService_1043_1_AddScriptParameterString(sParam); + } + + public void AddScriptParameterFloat(float fParam) + { + ScriptHost.ExecuteActionService_1044_1_AddScriptParameterFloat((Single)fParam); + } + + public void AddScriptParameterObject(UInt32 oParam) + { + ScriptHost.ExecuteActionService_1045_1_AddScriptParameterObject(oParam); + } + + public Int32 ExecuteScriptEnhanced(String sScript, UInt32 oTarget, Int32 bClearParams) + { + return ScriptHost.ExecuteActionService_1046_3_ExecuteScriptEnhanced(sScript, oTarget, bClearParams); + } + + public void ClearScriptParams() + { + ScriptHost.ExecuteActionService_1047_0_ClearScriptParams(); + } + + public void SetSkillPointsRemaining(UInt32 oPC, Int32 nPoints) + { + ScriptHost.ExecuteActionService_1048_2_SetSkillPointsRemaining(oPC, nPoints); + } + + public Int32 GetSkillPointsRemaining(UInt32 oPC) + { + return ScriptHost.ExecuteActionService_1049_1_GetSkillPointsRemaining(oPC); + } + + public Int32 GetCasterClassSpellSchool(UInt32 oPC, Int32 nClassPos) + { + return ScriptHost.ExecuteActionService_1050_2_GetCasterClassSpellSchool(oPC, nClassPos); + } + + public void SetGender(UInt32 oCreature, Int32 nGender) + { + ScriptHost.ExecuteActionService_1051_2_SetGender(oCreature, nGender); + } + + public void SetTag(UInt32 oObject, String sNewTag) + { + ScriptHost.ExecuteActionService_1052_2_SetTag(oObject, sNewTag); + } + + public Int32 GetArmorRulesType(UInt32 oItem) + { + return ScriptHost.ExecuteActionService_1053_1_GetArmorRulesType(oItem); + } + + public void SetArmorRulesType(UInt32 oItem, Int32 nType) + { + ScriptHost.ExecuteActionService_1054_2_SetArmorRulesType(oItem, nType); + } + + public void SetItemIcon(UInt32 oItem, Int32 nIcon) + { + ScriptHost.ExecuteActionService_1055_2_SetItemIcon(oItem, nIcon); + } + + public UInt32 GetObjectByTagAndType(String sTag, Int32 nObjectType, Int32 nTh) + { + return ScriptHost.ExecuteActionService_1056_3_GetObjectByTagAndType(sTag, nObjectType, nTh); + } + + public void RecallCreatureFromLimboToLocation(UInt32 oCreature, NWLocation loc) + { + ScriptHost.ExecuteActionService_1057_2_RecallCreatureFromLimboToLocation(oCreature, loc); + } + + + // + // End action service handler wrappers (autogenerated). + // + + + } +} diff --git a/NWScriptConstants.cs b/NWScriptConstants.cs new file mode 100644 index 0000000..d150533 --- /dev/null +++ b/NWScriptConstants.cs @@ -0,0 +1,7537 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Reflection; +using System.Reflection.Emit; +using NWScript; +using NWScript.ManagedInterfaceLayer.NWScriptManagedInterface; + +using NWEffect = NWScript.NWScriptEngineStructure0; +using NWEvent = NWScript.NWScriptEngineStructure1; +using NWLocation = NWScript.NWScriptEngineStructure2; +using NWTalent = NWScript.NWScriptEngineStructure3; +using NWItemProperty = NWScript.NWScriptEngineStructure4; + +namespace CLRScriptFramework +{ + + /// + /// This partial implementation of the sample script includes wrappers for + /// the high level NWScript functions. You should include the wrappers in + /// your script object type. + /// + public partial class CLRScriptBase + { + // + // Begin NWScript.nss constants. + // + + // Constants + + public const int NUM_INVENTORY_SLOTS = 18; + + public const int TRUE = 1; + public const int FALSE = 0; + + public const float DIRECTION_EAST = 0.0f; + public const float DIRECTION_NORTH = 90.0f; + public const float DIRECTION_WEST = 180.0f; + public const float DIRECTION_SOUTH = 270.0f; + public const float PI = 3.141592f; + + public const int ATTITUDE_NEUTRAL = 0; + public const int ATTITUDE_AGGRESSIVE = 1; + public const int ATTITUDE_DEFENSIVE = 2; + public const int ATTITUDE_SPECIAL = 3; + + public const int TALKVOLUME_TALK = 0; + public const int TALKVOLUME_WHISPER = 1; + public const int TALKVOLUME_SHOUT = 2; + public const int TALKVOLUME_SILENT_TALK = 3; + public const int TALKVOLUME_SILENT_SHOUT = 4; + + public const int INVENTORY_SLOT_HEAD = 0; + public const int INVENTORY_SLOT_CHEST = 1; + public const int INVENTORY_SLOT_BOOTS = 2; + public const int INVENTORY_SLOT_ARMS = 3; + public const int INVENTORY_SLOT_RIGHTHAND = 4; + public const int INVENTORY_SLOT_LEFTHAND = 5; + public const int INVENTORY_SLOT_CLOAK = 6; + public const int INVENTORY_SLOT_LEFTRING = 7; + public const int INVENTORY_SLOT_RIGHTRING = 8; + public const int INVENTORY_SLOT_NECK = 9; + public const int INVENTORY_SLOT_BELT = 10; + public const int INVENTORY_SLOT_ARROWS = 11; + public const int INVENTORY_SLOT_BULLETS = 12; + public const int INVENTORY_SLOT_BOLTS = 13; + public const int INVENTORY_SLOT_CWEAPON_L = 14; + public const int INVENTORY_SLOT_CWEAPON_R = 15; + public const int INVENTORY_SLOT_CWEAPON_B = 16; + public const int INVENTORY_SLOT_CARMOUR = 17; + + //Effect type constants + public const int DURATION_TYPE_INSTANT = 0; + public const int DURATION_TYPE_TEMPORARY = 1; + public const int DURATION_TYPE_PERMANENT = 2; + + public const int SUBTYPE_MAGICAL = 8; + public const int SUBTYPE_SUPERNATURAL = 16; + public const int SUBTYPE_EXTRAORDINARY = 24; + + public const int ABILITY_STRENGTH = 0; // should be the same as in nwseffectlist.cpp + public const int ABILITY_DEXTERITY = 1; + public const int ABILITY_CONSTITUTION = 2; + public const int ABILITY_INTELLIGENCE = 3; + public const int ABILITY_WISDOM = 4; + public const int ABILITY_CHARISMA = 5; + + public const int SHAPE_SPELLCYLINDER = 0; + public const int SHAPE_CONE = 1; + public const int SHAPE_CUBE = 2; + public const int SHAPE_SPELLCONE = 3; + public const int SHAPE_SPHERE = 4; + + public const int METAMAGIC_NONE = 0; + public const int METAMAGIC_EMPOWER = 1; + public const int METAMAGIC_EXTEND = 2; + public const int METAMAGIC_MAXIMIZE = 4; + public const int METAMAGIC_QUICKEN = 8; + public const int METAMAGIC_SILENT = 16; + public const int METAMAGIC_STILL = 32; + // JLR - OEI 08/19/05 -- New Metamagic Types + public const int METAMAGIC_PERSISTENT = 64; + public const int METAMAGIC_PERMANENT = 128; + public const int METAMAGIC_INVOC_DRAINING_BLAST = 256; + public const int METAMAGIC_INVOC_ELDRITCH_SPEAR = 512; + public const int METAMAGIC_INVOC_FRIGHTFUL_BLAST = 1024; + public const int METAMAGIC_INVOC_HIDEOUS_BLOW = 2048; + public const int METAMAGIC_INVOC_BESHADOWED_BLAST = 4096; + public const int METAMAGIC_INVOC_BRIMSTONE_BLAST = 8192; + public const int METAMAGIC_INVOC_ELDRITCH_CHAIN = 16384; + public const int METAMAGIC_INVOC_HELLRIME_BLAST = 32768; + public const int METAMAGIC_INVOC_BEWITCHING_BLAST = 65536; + public const int METAMAGIC_INVOC_ELDRITCH_CONE = 131072; + public const int METAMAGIC_INVOC_NOXIOUS_BLAST = 262144; + public const int METAMAGIC_INVOC_VITRIOLIC_BLAST = 524288; + public const int METAMAGIC_INVOC_ELDRITCH_DOOM = 1048576; + public const int METAMAGIC_INVOC_UTTERDARK_BLAST = 2097152; + public const int METAMAGIC_INVOC_HINDERING_BLAST = 4194304; // AFW-OEI 05/07/2007 + public const int METAMAGIC_INVOC_BINDING_BLAST = 8388608; // AFW-OEI 05/07/2007 + public const int METAMAGIC_ANY = unchecked((int)(uint)4294967295); + //public const int METAMAGIC_ANY = 255; + + + public const int OBJECT_TYPE_CREATURE = 1; + public const int OBJECT_TYPE_ITEM = 2; + public const int OBJECT_TYPE_TRIGGER = 4; + public const int OBJECT_TYPE_DOOR = 8; + public const int OBJECT_TYPE_AREA_OF_EFFECT = 16; + public const int OBJECT_TYPE_WAYPOINT = 32; + public const int OBJECT_TYPE_PLACEABLE = 64; + public const int OBJECT_TYPE_STORE = 128; + public const int OBJECT_TYPE_ENCOUNTER = 256; + public const int OBJECT_TYPE_LIGHT = 512; + public const int OBJECT_TYPE_PLACED_EFFECT = 1024; + public const int OBJECT_TYPE_ALL = 32767; + + public const int OBJECT_TYPE_INVALID = 32767; + + public const int GENDER_MALE = 0; + public const int GENDER_FEMALE = 1; + public const int GENDER_BOTH = 2; + public const int GENDER_OTHER = 3; + public const int GENDER_NONE = 4; + + + // Damage Reduction Types (3.5) + public const int DR_TYPE_NONE = 0; + public const int DR_TYPE_DMGTYPE = 1; + public const int DR_TYPE_MAGICBONUS = 2; + public const int DR_TYPE_EPIC = 3; + public const int DR_TYPE_GMATERIAL = 4; + public const int DR_TYPE_ALIGNMENT = 5; + public const int DR_TYPE_NON_RANGED = 6; + + + // Material Types (3.5) -- For Damage Reduction + public const int GMATERIAL_NONSPECIFIC = 0; + public const int GMATERIAL_METAL_ADAMANTINE = 1; + public const int GMATERIAL_METAL_COLD_IRON = 2; + public const int GMATERIAL_METAL_DARKSTEEL = 3; + public const int GMATERIAL_METAL_IRON = 4; + public const int GMATERIAL_METAL_MITHRAL = 5; + public const int GMATERIAL_METAL_ALCHEMICAL_SILVER = 6; + public const int GMATERIAL_WOOD_DUSKWOOD = 7; + public const int GMATERIAL_WOOD_DARKWOOD = 8; + public const int GMATERIAL_CREATURE_RED_DRAGON = 9; + public const int GMATERIAL_CREATURE_SALAMANDER = 10; + public const int GMATERIAL_CREATURE_UMBER_HULK = 11; + public const int GMATERIAL_CREATURE_WYVERN = 12; + + + // Damage Types + public const int DAMAGE_TYPE_ALL = 0; // AFW-OEI 06/07/2007: Deprecated. May function correctly for EffectDamage(); results are undefined for EffectDamageImmunity() and EffectDamageResistance(). + public const int DAMAGE_TYPE_BLUDGEONING = 1; + public const int DAMAGE_TYPE_PIERCING = 2; + public const int DAMAGE_TYPE_SLASHING = 4; + public const int DAMAGE_TYPE_MAGICAL = 8; + public const int DAMAGE_TYPE_ACID = 16; + public const int DAMAGE_TYPE_COLD = 32; + public const int DAMAGE_TYPE_DIVINE = 64; + public const int DAMAGE_TYPE_ELECTRICAL = 128; + public const int DAMAGE_TYPE_FIRE = 256; + public const int DAMAGE_TYPE_NEGATIVE = 512; + public const int DAMAGE_TYPE_POSITIVE = 1024; + public const int DAMAGE_TYPE_SONIC = 2048; + + // Special versus flag just for AC effects + public const int AC_VS_DAMAGE_TYPE_ALL = 4103; + + public const int DAMAGE_BONUS_1 = 1; + public const int DAMAGE_BONUS_2 = 2; + public const int DAMAGE_BONUS_3 = 3; + public const int DAMAGE_BONUS_4 = 4; + public const int DAMAGE_BONUS_5 = 5; + public const int DAMAGE_BONUS_1d4 = 6; + public const int DAMAGE_BONUS_1d6 = 7; + public const int DAMAGE_BONUS_1d8 = 8; + public const int DAMAGE_BONUS_1d10 = 9; + public const int DAMAGE_BONUS_2d6 = 10; + public const int DAMAGE_BONUS_2d8 = 11; + public const int DAMAGE_BONUS_2d4 = 12; + public const int DAMAGE_BONUS_2d10 = 13; + public const int DAMAGE_BONUS_1d12 = 14; + public const int DAMAGE_BONUS_2d12 = 15; + public const int DAMAGE_BONUS_6 = 16; + public const int DAMAGE_BONUS_7 = 17; + public const int DAMAGE_BONUS_8 = 18; + public const int DAMAGE_BONUS_9 = 19; + public const int DAMAGE_BONUS_10 = 20; + public const int DAMAGE_BONUS_11 = 21; + public const int DAMAGE_BONUS_12 = 22; + public const int DAMAGE_BONUS_13 = 23; + public const int DAMAGE_BONUS_14 = 24; + public const int DAMAGE_BONUS_15 = 25; + public const int DAMAGE_BONUS_16 = 26; + public const int DAMAGE_BONUS_17 = 27; + public const int DAMAGE_BONUS_18 = 28; + public const int DAMAGE_BONUS_19 = 29; + public const int DAMAGE_BONUS_20 = 30; + public const int DAMAGE_BONUS_21 = 31; // AFW-OEI 02/08/2007: Need more damage bonus numbers. + public const int DAMAGE_BONUS_22 = 32; + public const int DAMAGE_BONUS_23 = 33; + public const int DAMAGE_BONUS_24 = 34; + public const int DAMAGE_BONUS_25 = 35; + public const int DAMAGE_BONUS_26 = 36; + public const int DAMAGE_BONUS_27 = 37; + public const int DAMAGE_BONUS_28 = 38; + public const int DAMAGE_BONUS_29 = 39; + public const int DAMAGE_BONUS_30 = 40; + public const int DAMAGE_BONUS_31 = 41; + public const int DAMAGE_BONUS_32 = 42; + public const int DAMAGE_BONUS_33 = 43; + public const int DAMAGE_BONUS_34 = 44; + public const int DAMAGE_BONUS_35 = 45; + public const int DAMAGE_BONUS_36 = 46; + public const int DAMAGE_BONUS_37 = 47; + public const int DAMAGE_BONUS_38 = 48; + public const int DAMAGE_BONUS_39 = 49; + public const int DAMAGE_BONUS_40 = 50; + + + public const int DAMAGE_POWER_NORMAL = 0; + public const int DAMAGE_POWER_PLUS_ONE = 1; + public const int DAMAGE_POWER_PLUS_TWO = 2; + public const int DAMAGE_POWER_PLUS_THREE = 3; + public const int DAMAGE_POWER_PLUS_FOUR = 4; + public const int DAMAGE_POWER_PLUS_FIVE = 5; + public const int DAMAGE_POWER_ENERGY = 6; + public const int DAMAGE_POWER_PLUS_SIX = 7; + public const int DAMAGE_POWER_PLUS_SEVEN = 8; + public const int DAMAGE_POWER_PLUS_EIGHT = 9; + public const int DAMAGE_POWER_PLUS_NINE = 10; + public const int DAMAGE_POWER_PLUS_TEN = 11; + public const int DAMAGE_POWER_PLUS_ELEVEN = 12; + public const int DAMAGE_POWER_PLUS_TWELVE = 13; + public const int DAMAGE_POWER_PLUS_THIRTEEN = 14; + public const int DAMAGE_POWER_PLUS_FOURTEEN = 15; + public const int DAMAGE_POWER_PLUS_FIFTEEN = 16; + public const int DAMAGE_POWER_PLUS_SIXTEEN = 17; + public const int DAMAGE_POWER_PLUS_SEVENTEEN = 18; + public const int DAMAGE_POWER_PLUS_EIGHTEEN = 19; + public const int DAMAGE_POWER_PLUS_NINTEEN = 20; + public const int DAMAGE_POWER_PLUS_TWENTY = 21; + + public const int ATTACK_BONUS_MISC = 0; + public const int ATTACK_BONUS_ONHAND = 1; + public const int ATTACK_BONUS_OFFHAND = 2; + + public const int AC_DODGE_BONUS = 0; + public const int AC_NATURAL_BONUS = 1; + public const int AC_ARMOUR_ENCHANTMENT_BONUS = 2; + public const int AC_SHIELD_ENCHANTMENT_BONUS = 3; + public const int AC_DEFLECTION_BONUS = 4; + + public const int MISS_CHANCE_TYPE_NORMAL = 0; + public const int MISS_CHANCE_TYPE_VS_RANGED = 1; + public const int MISS_CHANCE_TYPE_VS_MELEE = 2; + + public const int DOOR_ACTION_OPEN = 0; + public const int DOOR_ACTION_UNLOCK = 1; + public const int DOOR_ACTION_BASH = 2; + public const int DOOR_ACTION_IGNORE = 3; + public const int DOOR_ACTION_KNOCK = 4; + + public const int PLACEABLE_ACTION_USE = 0; + public const int PLACEABLE_ACTION_UNLOCK = 1; + public const int PLACEABLE_ACTION_BASH = 2; + public const int PLACEABLE_ACTION_KNOCK = 4; + + + public const int RACIAL_TYPE_DWARF = 0; + public const int RACIAL_TYPE_ELF = 1; + public const int RACIAL_TYPE_GNOME = 2; + public const int RACIAL_TYPE_HALFLING = 3; + public const int RACIAL_TYPE_HALFELF = 4; + public const int RACIAL_TYPE_HALFORC = 5; + public const int RACIAL_TYPE_HUMAN = 6; + public const int RACIAL_TYPE_ABERRATION = 7; + public const int RACIAL_TYPE_ANIMAL = 8; + public const int RACIAL_TYPE_BEAST = 9; + public const int RACIAL_TYPE_CONSTRUCT = 10; + public const int RACIAL_TYPE_DRAGON = 11; + public const int RACIAL_TYPE_HUMANOID_GOBLINOID = 12; + public const int RACIAL_TYPE_HUMANOID_MONSTROUS = 13; + public const int RACIAL_TYPE_HUMANOID_ORC = 14; + public const int RACIAL_TYPE_HUMANOID_REPTILIAN = 15; + public const int RACIAL_TYPE_ELEMENTAL = 16; + public const int RACIAL_TYPE_FEY = 17; + public const int RACIAL_TYPE_GIANT = 18; + public const int RACIAL_TYPE_MAGICAL_BEAST = 19; + public const int RACIAL_TYPE_OUTSIDER = 20; + public const int RACIAL_TYPE_SHAPECHANGER = 23; + public const int RACIAL_TYPE_UNDEAD = 24; + public const int RACIAL_TYPE_VERMIN = 25; + public const int RACIAL_TYPE_ALL = 28; + public const int RACIAL_TYPE_INVALID = 28; + public const int RACIAL_TYPE_OOZE = 29; + public const int RACIAL_TYPE_INCORPOREAL = 30; // AFW-OEI 04/18/2006 + public const int RACIAL_TYPE_YUANTI = 31; // JWR-OEI 07/28/2008 + public const int RACIAL_TYPE_GRAYORC = 32; // JWR-OEI 07/28/2008 + + + // FAK - OEI 6/24/04 added subrace defines + public const int RACIAL_SUBTYPE_GOLD_DWARF = 0; + public const int RACIAL_SUBTYPE_GRAY_DWARF = 1; + public const int RACIAL_SUBTYPE_SHIELD_DWARF = 2; + public const int RACIAL_SUBTYPE_DROW = 3; + public const int RACIAL_SUBTYPE_MOON_ELF = 4; + public const int RACIAL_SUBTYPE_SUN_ELF = 5; + public const int RACIAL_SUBTYPE_WILD_ELF = 6; + public const int RACIAL_SUBTYPE_WOOD_ELF = 7; + public const int RACIAL_SUBTYPE_SVIRFNEBLIN = 8; + public const int RACIAL_SUBTYPE_ROCK_GNOME = 9; + public const int RACIAL_SUBTYPE_GHOSTWISE_HALF = 10; + public const int RACIAL_SUBTYPE_LIGHTFOOT_HALF = 11; + public const int RACIAL_SUBTYPE_STRONGHEART_HALF = 12; + public const int RACIAL_SUBTYPE_AASIMAR = 13; + public const int RACIAL_SUBTYPE_TIEFLING = 14; + public const int RACIAL_SUBTYPE_HALFELF = 15; + public const int RACIAL_SUBTYPE_HALFORC = 16; + public const int RACIAL_SUBTYPE_HUMAN = 17; + public const int RACIAL_SUBTYPE_AIR_GENASI = 18; + public const int RACIAL_SUBTYPE_EARTH_GENASI = 19; + public const int RACIAL_SUBTYPE_FIRE_GENASI = 20; + public const int RACIAL_SUBTYPE_WATER_GENASI = 21; + public const int RACIAL_SUBTYPE_ABERRATION = 22; + public const int RACIAL_SUBTYPE_ANIMAL = 23; + public const int RACIAL_SUBTYPE_BEAST = 24; + public const int RACIAL_SUBTYPE_CONSTRUCT = 25; + public const int RACIAL_SUBTYPE_HUMANOID_GOBLINOID = 26; + public const int RACIAL_SUBTYPE_HUMANOID_MONSTROUS = 27; + public const int RACIAL_SUBTYPE_HUMANOID_ORC = 28; + public const int RACIAL_SUBTYPE_HUMANOID_REPTILIAN = 29; + public const int RACIAL_SUBTYPE_ELEMENTAL = 30; + public const int RACIAL_SUBTYPE_FEY = 31; + public const int RACIAL_SUBTYPE_GIANT = 32; + public const int RACIAL_SUBTYPE_OUTSIDER = 33; + public const int RACIAL_SUBTYPE_SHAPECHANGER = 34; + public const int RACIAL_SUBTYPE_UNDEAD = 35; + public const int RACIAL_SUBTYPE_VERMIN = 36; + public const int RACIAL_SUBTYPE_OOZE = 37; + public const int RACIAL_SUBTYPE_DRAGON = 38; + public const int RACIAL_SUBTYPE_MAGICAL_BEAST = 39; + public const int RACIAL_SUBTYPE_INCORPOREAL = 40; // AFW-OEI 04/18/2006 + public const int RACIAL_SUBTYPE_GITHYANKI = 41; // BMA-OEI 09/11/2006 + public const int RACIAL_SUBTYPE_GITHZERAI = 42; + public const int RACIAL_SUBTYPE_HALFDROW = 43; // AFW-OEI 05/16/2007 + public const int RACIAL_SUBTYPE_PLANT = 44; // AFW-OEI 05/16/2007 + public const int RACIAL_SUBTYPE_HAGSPAWN = 45; // AFW-OEI 05/16/2007 + public const int RACIAL_SUBTYPE_HALFCELESTIAL = 46; // AFW-OEI 05/16/2007 + public const int RACIAL_SUBTYPE_YUANTI = 47; // JWR-OEI 06/29/2008 + public const int RACIAL_SUBTYPE_GRAYORC = 48; // JWR-OEI 07/01/2008 + + + public const int ALIGNMENT_ALL = 0; + public const int ALIGNMENT_NEUTRAL = 1; + public const int ALIGNMENT_LAWFUL = 2; + public const int ALIGNMENT_CHAOTIC = 3; + public const int ALIGNMENT_GOOD = 4; + public const int ALIGNMENT_EVIL = 5; + + public const int SAVING_THROW_ALL = 0; + public const int SAVING_THROW_FORT = 1; + public const int SAVING_THROW_REFLEX = 2; + public const int SAVING_THROW_WILL = 3; + + public const int SAVING_THROW_CHECK_FAILED = 0; + public const int SAVING_THROW_CHECK_SUCCEEDED = 1; + public const int SAVING_THROW_CHECK_IMMUNE = 2; + + + public const int SAVING_THROW_TYPE_ALL = 0; + public const int SAVING_THROW_TYPE_NONE = 0; + public const int SAVING_THROW_TYPE_MIND_SPELLS = 1; + public const int SAVING_THROW_TYPE_POISON = 2; + public const int SAVING_THROW_TYPE_DISEASE = 3; + public const int SAVING_THROW_TYPE_FEAR = 4; + public const int SAVING_THROW_TYPE_SONIC = 5; + public const int SAVING_THROW_TYPE_ACID = 6; + public const int SAVING_THROW_TYPE_FIRE = 7; + public const int SAVING_THROW_TYPE_ELECTRICITY = 8; + public const int SAVING_THROW_TYPE_POSITIVE = 9; + public const int SAVING_THROW_TYPE_NEGATIVE = 10; + public const int SAVING_THROW_TYPE_DEATH = 11; + public const int SAVING_THROW_TYPE_COLD = 12; + public const int SAVING_THROW_TYPE_DIVINE = 13; + public const int SAVING_THROW_TYPE_TRAP = 14; + public const int SAVING_THROW_TYPE_SPELL = 15; + public const int SAVING_THROW_TYPE_GOOD = 16; + public const int SAVING_THROW_TYPE_EVIL = 17; + public const int SAVING_THROW_TYPE_LAW = 18; + public const int SAVING_THROW_TYPE_CHAOS = 19; + + public const int IMMUNITY_TYPE_NONE = 0; + public const int IMMUNITY_TYPE_MIND_SPELLS = 1; + public const int IMMUNITY_TYPE_POISON = 2; + public const int IMMUNITY_TYPE_DISEASE = 3; + public const int IMMUNITY_TYPE_FEAR = 4; + public const int IMMUNITY_TYPE_TRAP = 5; + public const int IMMUNITY_TYPE_PARALYSIS = 6; + public const int IMMUNITY_TYPE_BLINDNESS = 7; + public const int IMMUNITY_TYPE_DEAFNESS = 8; + public const int IMMUNITY_TYPE_SLOW = 9; + public const int IMMUNITY_TYPE_ENTANGLE = 10; + public const int IMMUNITY_TYPE_SILENCE = 11; + public const int IMMUNITY_TYPE_STUN = 12; + public const int IMMUNITY_TYPE_SLEEP = 13; + public const int IMMUNITY_TYPE_CHARM = 14; + public const int IMMUNITY_TYPE_DOMINATE = 15; + public const int IMMUNITY_TYPE_CONFUSED = 16; + public const int IMMUNITY_TYPE_CURSED = 17; + public const int IMMUNITY_TYPE_DAZED = 18; + public const int IMMUNITY_TYPE_ABILITY_DECREASE = 19; + public const int IMMUNITY_TYPE_ATTACK_DECREASE = 20; + public const int IMMUNITY_TYPE_DAMAGE_DECREASE = 21; + public const int IMMUNITY_TYPE_DAMAGE_IMMUNITY_DECREASE = 22; + public const int IMMUNITY_TYPE_AC_DECREASE = 23; + public const int IMMUNITY_TYPE_MOVEMENT_SPEED_DECREASE = 24; + public const int IMMUNITY_TYPE_SAVING_THROW_DECREASE = 25; + public const int IMMUNITY_TYPE_SPELL_RESISTANCE_DECREASE = 26; + public const int IMMUNITY_TYPE_SKILL_DECREASE = 27; + public const int IMMUNITY_TYPE_KNOCKDOWN = 28; + public const int IMMUNITY_TYPE_NEGATIVE_LEVEL = 29; + public const int IMMUNITY_TYPE_SNEAK_ATTACK = 30; + public const int IMMUNITY_TYPE_CRITICAL_HIT = 31; + public const int IMMUNITY_TYPE_DEATH = 32; + + public const int AREA_TRANSITION_RANDOM = 0; + public const int AREA_TRANSITION_USER_DEFINED = 1; + public const int AREA_TRANSITION_CITY_01 = 2; + public const int AREA_TRANSITION_CITY_02 = 3; + public const int AREA_TRANSITION_CITY_03 = 4; + public const int AREA_TRANSITION_CITY_04 = 5; + public const int AREA_TRANSITION_CITY_05 = 6; + public const int AREA_TRANSITION_CRYPT_01 = 7; + public const int AREA_TRANSITION_CRYPT_02 = 8; + public const int AREA_TRANSITION_CRYPT_03 = 9; + public const int AREA_TRANSITION_CRYPT_04 = 10; + public const int AREA_TRANSITION_CRYPT_05 = 11; + public const int AREA_TRANSITION_DUNGEON_01 = 12; + public const int AREA_TRANSITION_DUNGEON_02 = 13; + public const int AREA_TRANSITION_DUNGEON_03 = 14; + public const int AREA_TRANSITION_DUNGEON_04 = 15; + public const int AREA_TRANSITION_DUNGEON_05 = 16; + public const int AREA_TRANSITION_DUNGEON_06 = 17; + public const int AREA_TRANSITION_DUNGEON_07 = 18; + public const int AREA_TRANSITION_DUNGEON_08 = 19; + public const int AREA_TRANSITION_MINES_01 = 20; + public const int AREA_TRANSITION_MINES_02 = 21; + public const int AREA_TRANSITION_MINES_03 = 22; + public const int AREA_TRANSITION_MINES_04 = 23; + public const int AREA_TRANSITION_MINES_05 = 24; + public const int AREA_TRANSITION_MINES_06 = 25; + public const int AREA_TRANSITION_MINES_07 = 26; + public const int AREA_TRANSITION_MINES_08 = 27; + public const int AREA_TRANSITION_MINES_09 = 28; + public const int AREA_TRANSITION_SEWER_01 = 29; + public const int AREA_TRANSITION_SEWER_02 = 30; + public const int AREA_TRANSITION_SEWER_03 = 31; + public const int AREA_TRANSITION_SEWER_04 = 32; + public const int AREA_TRANSITION_SEWER_05 = 33; + public const int AREA_TRANSITION_CASTLE_01 = 34; + public const int AREA_TRANSITION_CASTLE_02 = 35; + public const int AREA_TRANSITION_CASTLE_03 = 36; + public const int AREA_TRANSITION_CASTLE_04 = 37; + public const int AREA_TRANSITION_CASTLE_05 = 38; + public const int AREA_TRANSITION_CASTLE_06 = 39; + public const int AREA_TRANSITION_CASTLE_07 = 40; + public const int AREA_TRANSITION_CASTLE_08 = 41; + public const int AREA_TRANSITION_INTERIOR_01 = 42; + public const int AREA_TRANSITION_INTERIOR_02 = 43; + public const int AREA_TRANSITION_INTERIOR_03 = 44; + public const int AREA_TRANSITION_INTERIOR_04 = 45; + public const int AREA_TRANSITION_INTERIOR_05 = 46; + public const int AREA_TRANSITION_INTERIOR_06 = 47; + public const int AREA_TRANSITION_INTERIOR_07 = 48; + public const int AREA_TRANSITION_INTERIOR_08 = 49; + public const int AREA_TRANSITION_INTERIOR_09 = 50; + public const int AREA_TRANSITION_INTERIOR_10 = 51; + public const int AREA_TRANSITION_INTERIOR_11 = 52; + public const int AREA_TRANSITION_INTERIOR_12 = 53; + public const int AREA_TRANSITION_INTERIOR_13 = 54; + public const int AREA_TRANSITION_INTERIOR_14 = 55; + public const int AREA_TRANSITION_INTERIOR_15 = 56; + public const int AREA_TRANSITION_INTERIOR_16 = 57; + public const int AREA_TRANSITION_FOREST_01 = 58; + public const int AREA_TRANSITION_FOREST_02 = 59; + public const int AREA_TRANSITION_FOREST_03 = 60; + public const int AREA_TRANSITION_FOREST_04 = 61; + public const int AREA_TRANSITION_FOREST_05 = 62; + public const int AREA_TRANSITION_RURAL_01 = 63; + public const int AREA_TRANSITION_RURAL_02 = 64; + public const int AREA_TRANSITION_RURAL_03 = 65; + public const int AREA_TRANSITION_RURAL_04 = 66; + public const int AREA_TRANSITION_RURAL_05 = 67; + public const int AREA_TRANSITION_WRURAL_01 = 68; + public const int AREA_TRANSITION_WRURAL_02 = 69; + public const int AREA_TRANSITION_WRURAL_03 = 70; + public const int AREA_TRANSITION_WRURAL_04 = 71; + public const int AREA_TRANSITION_WRURAL_05 = 72; + public const int AREA_TRANSITION_DESERT_01 = 73; + public const int AREA_TRANSITION_DESERT_02 = 74; + public const int AREA_TRANSITION_DESERT_03 = 75; + public const int AREA_TRANSITION_DESERT_04 = 76; + public const int AREA_TRANSITION_DESERT_05 = 77; + public const int AREA_TRANSITION_RUINS_01 = 78; + public const int AREA_TRANSITION_RUINS_02 = 79; + public const int AREA_TRANSITION_RUINS_03 = 80; + public const int AREA_TRANSITION_RUINS_04 = 81; + public const int AREA_TRANSITION_RUINS_05 = 82; + public const int AREA_TRANSITION_CARAVAN_WINTER = 83; + public const int AREA_TRANSITION_CARAVAN_DESERT = 84; + public const int AREA_TRANSITION_CARAVAN_RURAL = 85; + public const int AREA_TRANSITION_MAGICAL_01 = 86; + public const int AREA_TRANSITION_MAGICAL_02 = 87; + public const int AREA_TRANSITION_UNDERDARK_01 = 88; + public const int AREA_TRANSITION_UNDERDARK_02 = 89; + public const int AREA_TRANSITION_UNDERDARK_03 = 90; + public const int AREA_TRANSITION_UNDERDARK_04 = 91; + public const int AREA_TRANSITION_UNDERDARK_05 = 92; + public const int AREA_TRANSITION_UNDERDARK_06 = 93; + public const int AREA_TRANSITION_UNDERDARK_07 = 94; + public const int AREA_TRANSITION_BEHOLDER_01 = 95; + public const int AREA_TRANSITION_BEHOLDER_02 = 96; + public const int AREA_TRANSITION_DROW_01 = 97; + public const int AREA_TRANSITION_DROW_02 = 98; + public const int AREA_TRANSITION_ILLITHID_01 = 99; + public const int AREA_TRANSITION_ILLITHID_02 = 100; + public const int AREA_TRANSITION_WASTELAND_01 = 101; + public const int AREA_TRANSITION_WASTELAND_02 = 102; + public const int AREA_TRANSITION_WASTELAND_03 = 103; + public const int AREA_TRANSITION_DROW_03 = 104; + public const int AREA_TRANSITION_DROW_04 = 105; + + + + // Legacy area-transition constants. Do not delete these. + public const int AREA_TRANSITION_CITY = 2; + public const int AREA_TRANSITION_CRYPT = 7; + public const int AREA_TRANSITION_FOREST = 58; + public const int AREA_TRANSITION_RURAL = 63; + + public const int BODY_NODE_HAND = 0; + public const int BODY_NODE_CHEST = 1; + public const int BODY_NODE_MONSTER_0 = 2; + public const int BODY_NODE_MONSTER_1 = 3; + public const int BODY_NODE_MONSTER_2 = 4; + public const int BODY_NODE_MONSTER_3 = 5; + public const int BODY_NODE_MONSTER_4 = 6; + public const int BODY_NODE_MONSTER_5 = 7; + public const int BODY_NODE_MONSTER_6 = 8; + public const int BODY_NODE_MONSTER_7 = 9; + public const int BODY_NODE_MONSTER_8 = 10; + public const int BODY_NODE_MONSTER_9 = 11; + + // Brock H. OEI 12/09/05 -- converted these to use meters, + // which are the native distance units of the engine + // 1 meter = 3.2808 feet, 0.3047 feet = 1 meter + public const float RADIUS_SIZE_SMALL = 1.524f; // ~5 feet + public const float RADIUS_SIZE_MEDIUM = 3.048f; // ~10 feet + public const float RADIUS_SIZE_LARGE = 4.572f; // ~15 feet + public const float RADIUS_SIZE_HUGE = 6.069f; // ~20 feet + public const float RADIUS_SIZE_GARGANTUAN = 7.620f; // ~25 feet + public const float RADIUS_SIZE_COLOSSAL = 9.144f; // ~30 feet + public const float RADIUS_SIZE_TREMENDOUS = 12.191f; // ~40 feet CG-OEI 7/16/2006 + public const float RADIUS_SIZE_GINORMOUS = 15.240f; // ~50 feet AFW-OEI 04/24/2006 + public const float RADIUS_SIZE_VAST = 18.288f; // ~60 feet CG-OEI 7/16/2006 + public const float RADIUS_SIZE_ASTRONOMIC = 24.384f; // ~80 feet CG-OEI 7/16/2006 + + // these are magic numbers. they should correspond to the values layed out in ExecuteCommandGetEffectType + public const int EFFECT_TYPE_INVALIDEFFECT = 0; + public const int EFFECT_TYPE_DAMAGE_RESISTANCE = 1; + //public const int EFFECT_TYPE_ABILITY_BONUS = 2; + public const int EFFECT_TYPE_REGENERATE = 3; + //public const int EFFECT_TYPE_SAVING_THROW_BONUS = 4; + //public const int EFFECT_TYPE_MODIFY_AC = 5; + //public const int EFFECT_TYPE_ATTACK_BONUS = 6; + public const int EFFECT_TYPE_DAMAGE_REDUCTION = 7; + //public const int EFFECT_TYPE_DAMAGE_BONUS = 8; + public const int EFFECT_TYPE_TEMPORARY_HITPOINTS = 9; + //public const int EFFECT_TYPE_DAMAGE_IMMUNITY = 10; + public const int EFFECT_TYPE_ENTANGLE = 11; + public const int EFFECT_TYPE_INVULNERABLE = 12; + public const int EFFECT_TYPE_DEAF = 13; + public const int EFFECT_TYPE_RESURRECTION = 14; + public const int EFFECT_TYPE_IMMUNITY = 15; + //public const int EFFECT_TYPE_BLIND = 16; + public const int EFFECT_TYPE_ENEMY_ATTACK_BONUS = 17; + public const int EFFECT_TYPE_ARCANE_SPELL_FAILURE = 18; + //public const int EFFECT_TYPE_MOVEMENT_SPEED = 19; + public const int EFFECT_TYPE_AREA_OF_EFFECT = 20; + public const int EFFECT_TYPE_BEAM = 21; + //public const int EFFECT_TYPE_SPELL_RESISTANCE = 22; + public const int EFFECT_TYPE_CHARMED = 23; + public const int EFFECT_TYPE_CONFUSED = 24; + public const int EFFECT_TYPE_FRIGHTENED = 25; + public const int EFFECT_TYPE_DOMINATED = 26; + public const int EFFECT_TYPE_PARALYZE = 27; + public const int EFFECT_TYPE_DAZED = 28; + public const int EFFECT_TYPE_STUNNED = 29; + public const int EFFECT_TYPE_SLEEP = 30; + public const int EFFECT_TYPE_POISON = 31; + public const int EFFECT_TYPE_DISEASE = 32; + public const int EFFECT_TYPE_CURSE = 33; + public const int EFFECT_TYPE_SILENCE = 34; + public const int EFFECT_TYPE_TURNED = 35; + public const int EFFECT_TYPE_HASTE = 36; + public const int EFFECT_TYPE_SLOW = 37; + public const int EFFECT_TYPE_ABILITY_INCREASE = 38; + public const int EFFECT_TYPE_ABILITY_DECREASE = 39; + public const int EFFECT_TYPE_ATTACK_INCREASE = 40; + public const int EFFECT_TYPE_ATTACK_DECREASE = 41; + public const int EFFECT_TYPE_DAMAGE_INCREASE = 42; + public const int EFFECT_TYPE_DAMAGE_DECREASE = 43; + public const int EFFECT_TYPE_DAMAGE_IMMUNITY_INCREASE = 44; + public const int EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE = 45; + public const int EFFECT_TYPE_AC_INCREASE = 46; + public const int EFFECT_TYPE_AC_DECREASE = 47; + public const int EFFECT_TYPE_MOVEMENT_SPEED_INCREASE = 48; + public const int EFFECT_TYPE_MOVEMENT_SPEED_DECREASE = 49; + public const int EFFECT_TYPE_SAVING_THROW_INCREASE = 50; + public const int EFFECT_TYPE_SAVING_THROW_DECREASE = 51; + public const int EFFECT_TYPE_SPELL_RESISTANCE_INCREASE = 52; + public const int EFFECT_TYPE_SPELL_RESISTANCE_DECREASE = 53; + public const int EFFECT_TYPE_SKILL_INCREASE = 54; + public const int EFFECT_TYPE_SKILL_DECREASE = 55; + public const int EFFECT_TYPE_INVISIBILITY = 56; + public const int EFFECT_TYPE_GREATERINVISIBILITY = 57; // JLR - OEI 07/11/05 -- Name Changed + public const int EFFECT_TYPE_DARKNESS = 58; + public const int EFFECT_TYPE_DISPELMAGICALL = 59; + public const int EFFECT_TYPE_ELEMENTALSHIELD = 60; + public const int EFFECT_TYPE_NEGATIVELEVEL = 61; + public const int EFFECT_TYPE_POLYMORPH = 62; + public const int EFFECT_TYPE_SANCTUARY = 63; + public const int EFFECT_TYPE_TRUESEEING = 64; + public const int EFFECT_TYPE_SEEINVISIBLE = 65; + public const int EFFECT_TYPE_TIMESTOP = 66; + public const int EFFECT_TYPE_BLINDNESS = 67; + public const int EFFECT_TYPE_SPELLLEVELABSORPTION = 68; + public const int EFFECT_TYPE_DISPELMAGICBEST = 69; + public const int EFFECT_TYPE_ULTRAVISION = 70; + public const int EFFECT_TYPE_MISS_CHANCE = 71; + public const int EFFECT_TYPE_CONCEALMENT = 72; + public const int EFFECT_TYPE_SPELL_IMMUNITY = 73; + public const int EFFECT_TYPE_VISUALEFFECT = 74; + public const int EFFECT_TYPE_DISAPPEARAPPEAR = 75; + public const int EFFECT_TYPE_SWARM = 76; + public const int EFFECT_TYPE_TURN_RESISTANCE_DECREASE = 77; + public const int EFFECT_TYPE_TURN_RESISTANCE_INCREASE = 78; + public const int EFFECT_TYPE_PETRIFY = 79; + public const int EFFECT_TYPE_CUTSCENE_PARALYZE = 80; + public const int EFFECT_TYPE_ETHEREAL = 81; + public const int EFFECT_TYPE_SPELL_FAILURE = 82; + public const int EFFECT_TYPE_CUTSCENEGHOST = 83; + public const int EFFECT_TYPE_CUTSCENEIMMOBILIZE = 84; + public const int EFFECT_TYPE_BARDSONG_SINGING = 85; // JLR-OEI 04/07/06: Bards + public const int EFFECT_TYPE_HIDEOUS_BLOW = 86; // AFW-OEI 06/07/2006: Warlocks + public const int EFFECT_TYPE_NWN2_DEX_ACMOD_DISABLE = 87; // AFW-OEI 08/18/2006 + public const int EFFECT_TYPE_DETECTUNDEAD = 88; // AFW-OEI 08/18/2006 + public const int EFFECT_TYPE_SHAREDDAMAGE = 89; // AFW-OEI 08/18/2006 + public const int EFFECT_TYPE_ASSAYRESISTANCE = 90; // AFW-OEI 08/18/2006 + public const int EFFECT_TYPE_DAMAGEOVERTIME = 91; // AFW-OEI 08/18/2006 + public const int EFFECT_TYPE_ABSORBDAMAGE = 92; // AFW-OEI 08/18/2006 + public const int EFFECT_TYPE_AMORPENALTYINC = 93; // AFW-OEI 08/18/2006 + public const int EFFECT_TYPE_DISINTEGRATE = 94; // AFW-OEI 08/18/2006 + public const int EFFECT_TYPE_HEAL_ON_ZERO_HP = 95; // AFW-OEI 08/18/2006 + public const int EFFECT_TYPE_BREAK_ENCHANTMENT = 96; // AFW-OEI 08/18/2006 + public const int EFFECT_TYPE_MESMERIZE = 97; // AFW-OEI 08/18/2006 + public const int EFFECT_TYPE_ON_DISPEL = 98; // AFW-OEI 08/18/2006 + public const int EFFECT_TYPE_BONUS_HITPOINTS = 99; // AFW-OEI 08/18/2006 + public const int EFFECT_TYPE_JARRING = 100; // AFW-OEI 08/18/2006 + public const int EFFECT_TYPE_MAX_DAMAGE = 101; // AFW-OEI 08/18/2006 + public const int EFFECT_TYPE_WOUNDING = 102; // AFW-OEI 09/05/2006 + public const int EFFECT_TYPE_WILDSHAPE = 103; // AFW-OEI 10/30/2006 + public const int EFFECT_TYPE_EFFECT_ICON = 104; // AFW-OEI 02/12/2007 + public const int EFFECT_TYPE_RESCUE = 105; // AFW-OEI 02/27/2007 + public const int EFFECT_TYPE_DETECT_SPIRITS = 106; // AFW-OEI 03/13/2007 + public const int EFFECT_TYPE_DAMAGE_REDUCTION_NEGATED = 107; // AFW-OEI 03/19/2007 + public const int EFFECT_TYPE_CONCEALMENT_NEGATED = 108; // AFW-OEI 03/19/2007 + public const int EFFECT_TYPE_INSANE = 109; // AFW-OEI 04/16/2007 + public const int EFFECT_TYPE_HITPOINT_CHANGE_WHEN_DYING = 110; // NLC-OEI 09/4/2008 + + + public const int ITEM_APPR_TYPE_SIMPLE_MODEL = 0; + public const int ITEM_APPR_TYPE_WEAPON_COLOR = 1; + public const int ITEM_APPR_TYPE_WEAPON_MODEL = 2; + public const int ITEM_APPR_TYPE_ARMOR_MODEL = 3; + public const int ITEM_APPR_TYPE_ARMOR_COLOR = 4; + public const int ITEM_APPR_NUM_TYPES = 5; + + public const int ITEM_APPR_ARMOR_COLOR_LEATHER1 = 0; + public const int ITEM_APPR_ARMOR_COLOR_LEATHER2 = 1; + public const int ITEM_APPR_ARMOR_COLOR_CLOTH1 = 2; + public const int ITEM_APPR_ARMOR_COLOR_CLOTH2 = 3; + public const int ITEM_APPR_ARMOR_COLOR_METAL1 = 4; + public const int ITEM_APPR_ARMOR_COLOR_METAL2 = 5; + public const int ITEM_APPR_ARMOR_NUM_COLORS = 6; + + public const int ITEM_APPR_ARMOR_MODEL_RFOOT = 0; + public const int ITEM_APPR_ARMOR_MODEL_LFOOT = 1; + public const int ITEM_APPR_ARMOR_MODEL_RSHIN = 2; + public const int ITEM_APPR_ARMOR_MODEL_LSHIN = 3; + public const int ITEM_APPR_ARMOR_MODEL_LTHIGH = 4; + public const int ITEM_APPR_ARMOR_MODEL_RTHIGH = 5; + public const int ITEM_APPR_ARMOR_MODEL_PELVIS = 6; + public const int ITEM_APPR_ARMOR_MODEL_TORSO = 7; + public const int ITEM_APPR_ARMOR_MODEL_BELT = 8; + public const int ITEM_APPR_ARMOR_MODEL_NECK = 9; + public const int ITEM_APPR_ARMOR_MODEL_RFOREARM = 10; + public const int ITEM_APPR_ARMOR_MODEL_LFOREARM = 11; + public const int ITEM_APPR_ARMOR_MODEL_RBICEP = 12; + public const int ITEM_APPR_ARMOR_MODEL_LBICEP = 13; + public const int ITEM_APPR_ARMOR_MODEL_RSHOULDER = 14; + public const int ITEM_APPR_ARMOR_MODEL_LSHOULDER = 15; + public const int ITEM_APPR_ARMOR_MODEL_RHAND = 16; + public const int ITEM_APPR_ARMOR_MODEL_LHAND = 17; + public const int ITEM_APPR_ARMOR_MODEL_ROBE = 18; + public const int ITEM_APPR_ARMOR_NUM_MODELS = 19; + + public const int ITEM_APPR_WEAPON_MODEL_BOTTOM = 0; + public const int ITEM_APPR_WEAPON_MODEL_MIDDLE = 1; + public const int ITEM_APPR_WEAPON_MODEL_TOP = 2; + + public const int ITEM_APPR_WEAPON_COLOR_BOTTOM = 0; + public const int ITEM_APPR_WEAPON_COLOR_MIDDLE = 1; + public const int ITEM_APPR_WEAPON_COLOR_TOP = 2; + + public const int ITEM_PROPERTY_ABILITY_BONUS = 0; + public const int ITEM_PROPERTY_AC_BONUS = 1; + public const int ITEM_PROPERTY_AC_BONUS_VS_ALIGNMENT_GROUP = 2; + public const int ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE = 3; + public const int ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP = 4; + public const int ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT = 5; + public const int ITEM_PROPERTY_ENHANCEMENT_BONUS = 6; + public const int ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_ALIGNMENT_GROUP = 7; + public const int ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_RACIAL_GROUP = 8; + public const int ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_SPECIFIC_ALIGNEMENT = 9; + public const int ITEM_PROPERTY_DECREASED_ENHANCEMENT_MODIFIER = 10; + public const int ITEM_PROPERTY_BASE_ITEM_WEIGHT_REDUCTION = 11; + public const int ITEM_PROPERTY_BONUS_FEAT = 12; + public const int ITEM_PROPERTY_BONUS_SPELL_SLOT_OF_LEVEL_N = 13; + + public const int ITEM_PROPERTY_CAST_SPELL = 15; + public const int ITEM_PROPERTY_DAMAGE_BONUS = 16; + public const int ITEM_PROPERTY_DAMAGE_BONUS_VS_ALIGNMENT_GROUP = 17; + public const int ITEM_PROPERTY_DAMAGE_BONUS_VS_RACIAL_GROUP = 18; + public const int ITEM_PROPERTY_DAMAGE_BONUS_VS_SPECIFIC_ALIGNMENT = 19; + public const int ITEM_PROPERTY_IMMUNITY_DAMAGE_TYPE = 20; + public const int ITEM_PROPERTY_DECREASED_DAMAGE = 21; + // JLR-OEI 04/03/06: This version is DEPRECATED. New version found below... + public const int ITEM_PROPERTY_DAMAGE_REDUCTION_DEPRECATED = 22; + public const int ITEM_PROPERTY_DAMAGE_RESISTANCE = 23; + public const int ITEM_PROPERTY_DAMAGE_VULNERABILITY = 24; + + public const int ITEM_PROPERTY_DARKVISION = 26; + public const int ITEM_PROPERTY_DECREASED_ABILITY_SCORE = 27; + public const int ITEM_PROPERTY_DECREASED_AC = 28; + public const int ITEM_PROPERTY_DECREASED_SKILL_MODIFIER = 29; + + + public const int ITEM_PROPERTY_ENHANCED_CONTAINER_REDUCED_WEIGHT = 32; + public const int ITEM_PROPERTY_EXTRA_MELEE_DAMAGE_TYPE = 33; + public const int ITEM_PROPERTY_EXTRA_RANGED_DAMAGE_TYPE = 34; + public const int ITEM_PROPERTY_HASTE = 35; + public const int ITEM_PROPERTY_HOLY_AVENGER = 36; + public const int ITEM_PROPERTY_IMMUNITY_MISCELLANEOUS = 37; + public const int ITEM_PROPERTY_IMPROVED_EVASION = 38; + public const int ITEM_PROPERTY_SPELL_RESISTANCE = 39; + public const int ITEM_PROPERTY_SAVING_THROW_BONUS = 40; + public const int ITEM_PROPERTY_SAVING_THROW_BONUS_SPECIFIC = 41; + public const int ITEM_PROPERTY_KEEN = 43; + public const int ITEM_PROPERTY_LIGHT = 44; + public const int ITEM_PROPERTY_MIGHTY = 45; + public const int ITEM_PROPERTY_MIND_BLANK = 46; + public const int ITEM_PROPERTY_NO_DAMAGE = 47; + public const int ITEM_PROPERTY_ON_HIT_PROPERTIES = 48; + public const int ITEM_PROPERTY_DECREASED_SAVING_THROWS = 49; + public const int ITEM_PROPERTY_DECREASED_SAVING_THROWS_SPECIFIC = 50; + public const int ITEM_PROPERTY_REGENERATION = 51; + public const int ITEM_PROPERTY_SKILL_BONUS = 52; + public const int ITEM_PROPERTY_IMMUNITY_SPECIFIC_SPELL = 53; + public const int ITEM_PROPERTY_IMMUNITY_SPELL_SCHOOL = 54; + public const int ITEM_PROPERTY_THIEVES_TOOLS = 55; + public const int ITEM_PROPERTY_ATTACK_BONUS = 56; + public const int ITEM_PROPERTY_ATTACK_BONUS_VS_ALIGNMENT_GROUP = 57; + public const int ITEM_PROPERTY_ATTACK_BONUS_VS_RACIAL_GROUP = 58; + public const int ITEM_PROPERTY_ATTACK_BONUS_VS_SPECIFIC_ALIGNMENT = 59; + public const int ITEM_PROPERTY_DECREASED_ATTACK_MODIFIER = 60; + public const int ITEM_PROPERTY_UNLIMITED_AMMUNITION = 61; + public const int ITEM_PROPERTY_USE_LIMITATION_ALIGNMENT_GROUP = 62; + public const int ITEM_PROPERTY_USE_LIMITATION_CLASS = 63; + public const int ITEM_PROPERTY_USE_LIMITATION_RACIAL_TYPE = 64; + public const int ITEM_PROPERTY_USE_LIMITATION_SPECIFIC_ALIGNMENT = 65; + public const int ITEM_PROPERTY_BONUS_HITPOINTS = 66; + public const int ITEM_PROPERTY_REGENERATION_VAMPIRIC = 67; + + public const int ITEM_PROPERTY_TRAP = 70; + public const int ITEM_PROPERTY_TRUE_SEEING = 71; + public const int ITEM_PROPERTY_ON_MONSTER_HIT = 72; + public const int ITEM_PROPERTY_TURN_RESISTANCE = 73; + public const int ITEM_PROPERTY_MASSIVE_CRITICALS = 74; + public const int ITEM_PROPERTY_FREEDOM_OF_MOVEMENT = 75; + + // no longer working, poison is now a on_hit subtype + public const int ITEM_PROPERTY_POISON = 76; + + public const int ITEM_PROPERTY_MONSTER_DAMAGE = 77; + public const int ITEM_PROPERTY_IMMUNITY_SPELLS_BY_LEVEL = 78; + + public const int ITEM_PROPERTY_SPECIAL_WALK = 79; + public const int ITEM_PROPERTY_HEALERS_KIT = 80; + public const int ITEM_PROPERTY_WEIGHT_INCREASE = 81; + public const int ITEM_PROPERTY_ONHITCASTSPELL = 82; + public const int ITEM_PROPERTY_VISUALEFFECT = 83; + public const int ITEM_PROPERTY_ARCANE_SPELL_FAILURE = 84; + // JLR-OEI 04/03/06: This version is replacing the above DEPRECATED one (#22). + public const int ITEM_PROPERTY_DAMAGE_REDUCTION = 90; + + + public const int BASE_ITEM_SHORTSWORD = 0; + public const int BASE_ITEM_LONGSWORD = 1; + public const int BASE_ITEM_BATTLEAXE = 2; + public const int BASE_ITEM_BASTARDSWORD = 3; + public const int BASE_ITEM_LIGHTFLAIL = 4; + public const int BASE_ITEM_WARHAMMER = 5; + public const int BASE_ITEM_HEAVYCROSSBOW = 6; + public const int BASE_ITEM_LIGHTCROSSBOW = 7; + public const int BASE_ITEM_LONGBOW = 8; + public const int BASE_ITEM_LIGHTMACE = 9; + public const int BASE_ITEM_HALBERD = 10; + public const int BASE_ITEM_SHORTBOW = 11; + public const int BASE_ITEM_TWOBLADEDSWORD = 12; + public const int BASE_ITEM_GREATSWORD = 13; + public const int BASE_ITEM_SMALLSHIELD = 14; + public const int BASE_ITEM_TORCH = 15; + public const int BASE_ITEM_ARMOR = 16; + public const int BASE_ITEM_HELMET = 17; + public const int BASE_ITEM_GREATAXE = 18; + public const int BASE_ITEM_AMULET = 19; + public const int BASE_ITEM_ARROW = 20; + public const int BASE_ITEM_BELT = 21; + public const int BASE_ITEM_DAGGER = 22; + public const int BASE_ITEM_MISCSMALL = 24; + public const int BASE_ITEM_BOLT = 25; + public const int BASE_ITEM_BOOTS = 26; + public const int BASE_ITEM_BULLET = 27; + public const int BASE_ITEM_CLUB = 28; + public const int BASE_ITEM_MISCMEDIUM = 29; + public const int BASE_ITEM_DART = 31; + public const int BASE_ITEM_DIREMACE = 32; + public const int BASE_ITEM_DOUBLEAXE = 33; + public const int BASE_ITEM_MISCLARGE = 34; + public const int BASE_ITEM_HEAVYFLAIL = 35; + public const int BASE_ITEM_GLOVES = 36; + public const int BASE_ITEM_LIGHTHAMMER = 37; + public const int BASE_ITEM_HANDAXE = 38; + public const int BASE_ITEM_HEALERSKIT = 39; + public const int BASE_ITEM_KAMA = 40; + public const int BASE_ITEM_KATANA = 41; + public const int BASE_ITEM_KUKRI = 42; + public const int BASE_ITEM_MISCTALL = 43; + public const int BASE_ITEM_MAGICROD = 44; + public const int BASE_ITEM_MAGICSTAFF = 45; + public const int BASE_ITEM_MAGICWAND = 46; + public const int BASE_ITEM_MORNINGSTAR = 47; + + + public const int BASE_ITEM_POTIONS = 49; + public const int BASE_ITEM_QUARTERSTAFF = 50; + public const int BASE_ITEM_RAPIER = 51; + public const int BASE_ITEM_RING = 52; + public const int BASE_ITEM_SCIMITAR = 53; + public const int BASE_ITEM_SCROLL = 54; + public const int BASE_ITEM_SCYTHE = 55; + public const int BASE_ITEM_LARGESHIELD = 56; + public const int BASE_ITEM_TOWERSHIELD = 57; + public const int BASE_ITEM_SHORTSPEAR = 58; + public const int BASE_ITEM_SHURIKEN = 59; + public const int BASE_ITEM_SICKLE = 60; + public const int BASE_ITEM_SLING = 61; + public const int BASE_ITEM_THIEVESTOOLS = 62; + public const int BASE_ITEM_THROWINGAXE = 63; + public const int BASE_ITEM_TRAPKIT = 64; + public const int BASE_ITEM_KEY = 65; + public const int BASE_ITEM_LARGEBOX = 66; + public const int BASE_ITEM_MISCWIDE = 68; + public const int BASE_ITEM_CSLASHWEAPON = 69; + public const int BASE_ITEM_CPIERCWEAPON = 70; + public const int BASE_ITEM_CBLUDGWEAPON = 71; + public const int BASE_ITEM_CSLSHPRCWEAP = 72; + public const int BASE_ITEM_CREATUREITEM = 73; + public const int BASE_ITEM_BOOK = 74; + public const int BASE_ITEM_SPELLSCROLL = 75; + public const int BASE_ITEM_GOLD = 76; + public const int BASE_ITEM_GEM = 77; + public const int BASE_ITEM_BRACER = 78; + public const int BASE_ITEM_MISCTHIN = 79; + public const int BASE_ITEM_CLOAK = 80; + public const int BASE_ITEM_GRENADE = 81; + + public const int BASE_ITEM_BLANK_POTION = 101; + public const int BASE_ITEM_BLANK_SCROLL = 102; + public const int BASE_ITEM_BLANK_WAND = 103; + + public const int BASE_ITEM_ENCHANTED_POTION = 104; + public const int BASE_ITEM_ENCHANTED_SCROLL = 105; + public const int BASE_ITEM_ENCHANTED_WAND = 106; + + public const int BASE_ITEM_DWARVENWARAXE = 108; + public const int BASE_ITEM_CRAFTMATERIALMED = 109; + public const int BASE_ITEM_CRAFTMATERIALSML = 110; + public const int BASE_ITEM_WHIP = 111; + public const int BASE_ITEM_MACE = 113; + public const int BASE_ITEM_FALCHION = 114; + public const int BASE_ITEM_FLAIL = 116; + public const int BASE_ITEM_SPEAR = 119; + public const int BASE_ITEM_GREATCLUB = 120; + public const int BASE_ITEM_TRAINING_CLUB = 124; + public const int BASE_ITEM_WARMACE = 126; + + public const int BASE_ITEM_DRUM = 128; + public const int BASE_ITEM_FLUTE = 129; + public const int BASE_ITEM_MANDOLIN = 132; + public const int BASE_ITEM_CGIANT_SWORD = 140; + public const int BASE_ITEM_CGIANT_AXE = 141; + public const int BASE_ITEM_ALLUSE_SWORD = 142; + + + public const int BASE_ITEM_INVALID = 256; + + public const int VFX_NONE = -1; + public const int VFX_DUR_BLUR = 0; + public const int VFX_DUR_DARKNESS = 1; + public const int VFX_DUR_ENTANGLE = 2; + public const int VFX_DUR_FREEDOM_OF_MOVEMENT = 3; + public const int VFX_DUR_GLOBE_INVULNERABILITY = 4; + //public const int VFX_DUR_BLACKOUT = 5; // AFW-OEI 07/14/2007: Deprecated + public const int VFX_DUR_INVISIBILITY = 6; + public const int VFX_DUR_MIND_AFFECTING_NEGATIVE = 7; + public const int VFX_DUR_MIND_AFFECTING_POSITIVE = 8; + public const int VFX_DUR_GHOSTLY_VISAGE = 9; + public const int VFX_DUR_ETHEREAL_VISAGE = 10; + public const int VFX_DUR_PROT_BARKSKIN = 11; + public const int VFX_DUR_PROT_GREATER_STONESKIN = 12; + public const int VFX_DUR_PROT_PREMONITION = 13; + public const int VFX_DUR_PROT_SHADOW_ARMOR = 14; + public const int VFX_DUR_PROT_STONESKIN = 15; + public const int VFX_DUR_SANCTUARY = 16; + public const int VFX_DUR_WEB = 17; + //public const int VFX_FNF_BLINDDEAF = 18; // AFW-OEI 07/14/2007: Deprecated + public const int VFX_FNF_DISPEL = 19; + public const int VFX_FNF_DISPEL_DISJUNCTION = 20; + public const int VFX_FNF_DISPEL_GREATER = 21; + public const int VFX_FNF_FIREBALL = 22; + public const int VFX_FNF_FIRESTORM = 23; + public const int VFX_FNF_IMPLOSION = 24; + //public const int VFX_FNF_MASS_HASTE = 25 ; + public const int VFX_FNF_MASS_HEAL = 26; + public const int VFX_FNF_MASS_MIND_AFFECTING = 27; + public const int VFX_FNF_METEOR_SWARM = 28; + public const int VFX_FNF_NATURES_BALANCE = 29; + //public const int VFX_FNF_PWKILL = 30 ; // AFW-OEI 07/14/2007: Deprecated + public const int VFX_FNF_PWSTUN = 31; + public const int VFX_FNF_SUMMON_GATE = 32; + public const int VFX_FNF_SUMMON_MONSTER_1 = 33; + public const int VFX_FNF_SUMMON_MONSTER_2 = 34; + public const int VFX_FNF_SUMMON_MONSTER_3 = 35; + public const int VFX_FNF_SUMMON_UNDEAD = 36; + public const int VFX_FNF_SUNBEAM = 37; + public const int VFX_FNF_TIME_STOP = 38; + //public const int VFX_FNF_WAIL_O_BANSHEES = 39 ; // AFW-OEI 07/14/2007: Deprecated + public const int VFX_FNF_WEIRD = 40; + public const int VFX_FNF_WORD = 41; + public const int VFX_IMP_AC_BONUS = 42; + public const int VFX_IMP_ACID_L = 43; + public const int VFX_IMP_ACID_S = 44; + //public const int VFX_IMP_ALTER_WEAPON = 45 ; + public const int VFX_IMP_BLIND_DEAF_M = 46; + public const int VFX_IMP_BREACH = 47; + public const int VFX_IMP_CONFUSION_S = 48; + public const int VFX_IMP_DAZED_S = 49; + public const int VFX_IMP_DEATH = 50; + public const int VFX_IMP_DISEASE_S = 51; + public const int VFX_IMP_DISPEL = 52; + public const int VFX_IMP_DISPEL_DISJUNCTION = 53; + public const int VFX_IMP_DIVINE_STRIKE_FIRE = 54; + public const int VFX_IMP_DIVINE_STRIKE_HOLY = 55; + public const int VFX_IMP_DOMINATE_S = 56; + public const int VFX_IMP_DOOM = 57; + public const int VFX_IMP_FEAR_S = 58; + //public const int VFX_IMP_FLAME_L = 59 ; + public const int VFX_IMP_FLAME_M = 60; + public const int VFX_IMP_FLAME_S = 61; + public const int VFX_IMP_FROST_L = 62; + public const int VFX_IMP_FROST_S = 63; + public const int VFX_IMP_GREASE = 64; + public const int VFX_IMP_HASTE = 65; + public const int VFX_IMP_HEALING_G = 66; + public const int VFX_IMP_HEALING_L = 67; + public const int VFX_IMP_HEALING_M = 68; + public const int VFX_IMP_HEALING_S = 69; + public const int VFX_IMP_HEALING_X = 70; + public const int VFX_IMP_HOLY_AID = 71; + public const int VFX_IMP_KNOCK = 72; + //public const int VFX_BEAM_LIGHTNING = 73 ; + public const int VFX_IMP_LIGHTNING_M = 74; + public const int VFX_IMP_LIGHTNING_S = 75; + public const int VFX_IMP_MAGBLUE = 76; + //public const int VFX_IMP_MAGBLUE2 = 77 ; + //public const int VFX_IMP_MAGBLUE3 = 78 ; + //public const int VFX_IMP_MAGBLUE4 = 79 ; + //public const int VFX_IMP_MAGBLUE5 = 80 ; + public const int VFX_IMP_NEGATIVE_ENERGY = 81; + public const int VFX_DUR_PARALYZE_HOLD = 82; + public const int VFX_IMP_POISON_L = 83; + public const int VFX_IMP_POISON_S = 84; + public const int VFX_IMP_POLYMORPH = 85; + public const int VFX_IMP_PULSE_COLD = 86; + public const int VFX_IMP_PULSE_FIRE = 87; + public const int VFX_IMP_PULSE_HOLY = 88; + public const int VFX_IMP_PULSE_NEGATIVE = 89; + public const int VFX_IMP_RAISE_DEAD = 90; + public const int VFX_IMP_REDUCE_ABILITY_SCORE = 91; + public const int VFX_IMP_REMOVE_CONDITION = 92; + public const int VFX_IMP_SILENCE = 93; + public const int VFX_IMP_SLEEP = 94; + public const int VFX_IMP_SLOW = 95; + public const int VFX_IMP_SONIC = 96; + public const int VFX_IMP_STUN = 97; + public const int VFX_IMP_SUNSTRIKE = 98; + public const int VFX_IMP_UNSUMMON = 99; + public const int VFX_COM_SPECIAL_BLUE_RED = 100; + public const int VFX_COM_SPECIAL_PINK_ORANGE = 101; + public const int VFX_COM_SPECIAL_RED_WHITE = 102; + public const int VFX_COM_SPECIAL_RED_ORANGE = 103; + public const int VFX_COM_SPECIAL_WHITE_BLUE = 104; + public const int VFX_COM_SPECIAL_WHITE_ORANGE = 105; + public const int VFX_COM_BLOOD_REG_WIMP = 106; + public const int VFX_COM_BLOOD_LRG_WIMP = 107; + public const int VFX_COM_BLOOD_CRT_WIMP = 108; + public const int VFX_COM_BLOOD_REG_RED = 109; + public const int VFX_COM_BLOOD_REG_GREEN = 110; + public const int VFX_COM_BLOOD_REG_YELLOW = 111; + public const int VFX_COM_BLOOD_LRG_RED = 112; + public const int VFX_COM_BLOOD_LRG_GREEN = 113; + public const int VFX_COM_BLOOD_LRG_YELLOW = 114; + public const int VFX_COM_BLOOD_CRT_RED = 115; + public const int VFX_COM_BLOOD_CRT_GREEN = 116; + public const int VFX_COM_BLOOD_CRT_YELLOW = 117; + public const int VFX_COM_SPARKS_PARRY = 118; + //public const int VFX_COM_GIB = 119 ; + public const int VFX_COM_UNLOAD_MODEL = 120; + public const int VFX_COM_CHUNK_RED_SMALL = 121; + public const int VFX_COM_CHUNK_RED_MEDIUM = 122; + public const int VFX_COM_CHUNK_GREEN_SMALL = 123; + public const int VFX_COM_CHUNK_GREEN_MEDIUM = 124; + public const int VFX_COM_CHUNK_YELLOW_SMALL = 125; + public const int VFX_COM_CHUNK_YELLOW_MEDIUM = 126; + //public const int VFX_ITM_ACID = 127 ; + //public const int VFX_ITM_FIRE = 128 ; + //public const int VFX_ITM_FROST = 129 ; + //public const int VFX_ITM_ILLUMINATED_BLUE = 130 ; + //public const int VFX_ITM_ILLUMINATED_PURPLE = 131 ; + //public const int VFX_ITM_ILLUMINATED_RED = 132 ; + //public const int VFX_ITM_LIGHTNING = 133 ; + //public const int VFX_ITM_PULSING_BLUE = 134 ; + //public const int VFX_ITM_PULSING_PURPLE = 135 ; + //public const int VFX_ITM_PULSING_RED = 136 ; + //public const int VFX_ITM_SMOKING = 137 ; + public const int VFX_DUR_SPELLTURNING = 138; + public const int VFX_IMP_IMPROVE_ABILITY_SCORE = 139; + public const int VFX_IMP_CHARM = 140; + public const int VFX_IMP_MAGICAL_VISION = 141; + //public const int VFX_IMP_LAW_HELP = 142; + //public const int VFX_IMP_CHAOS_HELP = 143; + public const int VFX_IMP_EVIL_HELP = 144; + public const int VFX_IMP_GOOD_HELP = 145; + public const int VFX_IMP_DEATH_WARD = 146; + public const int VFX_DUR_ELEMENTAL_SHIELD = 147; + public const int VFX_DUR_LIGHT = 148; + public const int VFX_IMP_MAGIC_PROTECTION = 149; + public const int VFX_IMP_SUPER_HEROISM = 150; + public const int VFX_FNF_STORM = 151; + public const int VFX_IMP_ELEMENTAL_PROTECTION = 152; + public const int VFX_DUR_LIGHT_BLUE_5 = 153; + public const int VFX_DUR_LIGHT_BLUE_10 = 154; + public const int VFX_DUR_LIGHT_BLUE_15 = 155; + public const int VFX_DUR_LIGHT_BLUE_20 = 156; + public const int VFX_DUR_LIGHT_YELLOW_5 = 157; + public const int VFX_DUR_LIGHT_YELLOW_10 = 158; + public const int VFX_DUR_LIGHT_YELLOW_15 = 159; + public const int VFX_DUR_LIGHT_YELLOW_20 = 160; + public const int VFX_DUR_LIGHT_PURPLE_5 = 161; + public const int VFX_DUR_LIGHT_PURPLE_10 = 162; + public const int VFX_DUR_LIGHT_PURPLE_15 = 163; + public const int VFX_DUR_LIGHT_PURPLE_20 = 164; + public const int VFX_DUR_LIGHT_RED_5 = 165; + public const int VFX_DUR_LIGHT_RED_10 = 166; + public const int VFX_DUR_LIGHT_RED_15 = 167; + public const int VFX_DUR_LIGHT_RED_20 = 168; + public const int VFX_DUR_LIGHT_ORANGE_5 = 169; + public const int VFX_DUR_LIGHT_ORANGE_10 = 170; + public const int VFX_DUR_LIGHT_ORANGE_15 = 171; + public const int VFX_DUR_LIGHT_ORANGE_20 = 172; + public const int VFX_DUR_LIGHT_WHITE_5 = 173; + public const int VFX_DUR_LIGHT_WHITE_10 = 174; + public const int VFX_DUR_LIGHT_WHITE_15 = 175; + public const int VFX_DUR_LIGHT_WHITE_20 = 176; + public const int VFX_DUR_LIGHT_GREY_5 = 177; + public const int VFX_DUR_LIGHT_GREY_10 = 178; + public const int VFX_DUR_LIGHT_GREY_15 = 179; + public const int VFX_DUR_LIGHT_GREY_20 = 180; + public const int VFX_IMP_MIRV = 181; + public const int VFX_DUR_DARKVISION = 182; + public const int VFX_FNF_SOUND_BURST = 183; + public const int VFX_FNF_STRIKE_HOLY = 184; + public const int VFX_FNF_LOS_EVIL_10 = 185; + public const int VFX_FNF_LOS_EVIL_20 = 186; + public const int VFX_FNF_LOS_EVIL_30 = 187; + public const int VFX_FNF_LOS_HOLY_10 = 188; + public const int VFX_FNF_LOS_HOLY_20 = 189; + public const int VFX_FNF_LOS_HOLY_30 = 190; + public const int VFX_FNF_LOS_NORMAL_10 = 191; + public const int VFX_FNF_LOS_NORMAL_20 = 192; + public const int VFX_FNF_LOS_NORMAL_30 = 193; + public const int VFX_IMP_HEAD_ACID = 194; + public const int VFX_IMP_HEAD_FIRE = 195; + public const int VFX_IMP_HEAD_SONIC = 196; + public const int VFX_IMP_HEAD_ELECTRICITY = 197; + public const int VFX_IMP_HEAD_COLD = 198; + public const int VFX_IMP_HEAD_HOLY = 199; + public const int VFX_IMP_HEAD_NATURE = 200; + public const int VFX_IMP_HEAD_HEAL = 201; + public const int VFX_IMP_HEAD_MIND = 202; + public const int VFX_IMP_HEAD_EVIL = 203; + public const int VFX_IMP_HEAD_ODD = 204; + public const int VFX_DUR_CESSATE_NEUTRAL = 205; + public const int VFX_DUR_CESSATE_POSITIVE = 206; + public const int VFX_DUR_CESSATE_NEGATIVE = 207; + public const int VFX_DUR_MIND_AFFECTING_DISABLED = 208; + public const int VFX_DUR_MIND_AFFECTING_DOMINATED = 209; + //public const int VFX_BEAM_FIRE = 210; + public const int VFX_BEAM_COLD = 211; + //public const int VFX_BEAM_HOLY = 212; + public const int VFX_BEAM_MIND = 213; + //public const int VFX_BEAM_EVIL = 214; + public const int VFX_BEAM_ODD = 215; + public const int VFX_BEAM_FIRE_LASH = 216; + public const int VFX_IMP_DEATH_L = 217; + public const int VFX_DUR_MIND_AFFECTING_FEAR = 218; + public const int VFX_FNF_SUMMON_CELESTIAL = 219; + public const int VFX_DUR_GLOBE_MINOR = 220; + public const int VFX_IMP_RESTORATION_LESSER = 221; + public const int VFX_IMP_RESTORATION = 222; + public const int VFX_IMP_RESTORATION_GREATER = 223; + public const int VFX_DUR_PROTECTION_ELEMENTS = 224; + public const int VFX_DUR_PROTECTION_GOOD_MINOR = 225; + public const int VFX_DUR_PROTECTION_GOOD_MAJOR = 226; + public const int VFX_DUR_PROTECTION_EVIL_MINOR = 227; + public const int VFX_DUR_PROTECTION_EVIL_MAJOR = 228; + public const int VFX_DUR_MAGICAL_SIGHT = 229; + public const int VFX_DUR_WEB_MASS = 230; + public const int VFX_FNF_ICESTORM = 231; + public const int VFX_DUR_PARALYZED = 232; + public const int VFX_IMP_MIRV_FLAME = 233; + public const int VFX_IMP_DESTRUCTION = 234; + public const int VFX_COM_CHUNK_RED_LARGE = 235; + public const int VFX_COM_CHUNK_BONE_MEDIUM = 236; + public const int VFX_COM_BLOOD_SPARK_SMALL = 237; + public const int VFX_COM_BLOOD_SPARK_MEDIUM = 238; + public const int VFX_COM_BLOOD_SPARK_LARGE = 239; + public const int VFX_DUR_GHOSTLY_PULSE = 240; + public const int VFX_FNF_HORRID_WILTING = 241; + public const int VFX_DUR_BLINDVISION = 242; + public const int VFX_DUR_LOWLIGHTVISION = 243; + public const int VFX_DUR_ULTRAVISION = 244; + public const int VFX_DUR_MIRV_ACID = 245; + public const int VFX_IMP_HARM = 246; + public const int VFX_DUR_BLIND = 247; + public const int VFX_DUR_ANTI_LIGHT_10 = 248; + public const int VFX_DUR_MAGIC_RESISTANCE = 249; + public const int VFX_IMP_MAGIC_RESISTANCE_USE = 250; + public const int VFX_IMP_GLOBE_USE = 251; + public const int VFX_IMP_WILL_SAVING_THROW_USE = 252; + public const int VFX_IMP_SPIKE_TRAP = 253; + public const int VFX_IMP_SPELL_MANTLE_USE = 254; + public const int VFX_IMP_FORTITUDE_SAVING_THROW_USE = 255; + public const int VFX_IMP_REFLEX_SAVE_THROW_USE = 256; + public const int VFX_FNF_GAS_EXPLOSION_ACID = 257; + public const int VFX_FNF_GAS_EXPLOSION_EVIL = 258; + public const int VFX_FNF_GAS_EXPLOSION_NATURE = 259; + public const int VFX_FNF_GAS_EXPLOSION_FIRE = 260; + public const int VFX_FNF_GAS_EXPLOSION_GREASE = 261; + public const int VFX_FNF_GAS_EXPLOSION_MIND = 262; + public const int VFX_FNF_SMOKE_PUFF = 263; + public const int VFX_IMP_PULSE_WATER = 264; + public const int VFX_IMP_PULSE_WIND = 265; + public const int VFX_IMP_PULSE_NATURE = 266; + public const int VFX_DUR_AURA_COLD = 267; + public const int VFX_DUR_AURA_FIRE = 268; + public const int VFX_DUR_AURA_POISON = 269; + public const int VFX_DUR_AURA_DISEASE = 270; + public const int VFX_DUR_AURA_ODD = 271; + public const int VFX_DUR_AURA_SILENCE = 272; + public const int VFX_IMP_AURA_HOLY = 273; + public const int VFX_IMP_AURA_UNEARTHLY = 274; + public const int VFX_IMP_AURA_FEAR = 275; + public const int VFX_IMP_AURA_NEGATIVE_ENERGY = 276; + public const int VFX_DUR_BARD_SONG = 277; + public const int VFX_FNF_HOWL_MIND = 278; + public const int VFX_FNF_HOWL_ODD = 279; + public const int VFX_COM_HIT_FIRE = 280; + public const int VFX_COM_HIT_FROST = 281; + public const int VFX_COM_HIT_ELECTRICAL = 282; + public const int VFX_COM_HIT_ACID = 283; + public const int VFX_COM_HIT_SONIC = 284; + public const int VFX_FNF_HOWL_WAR_CRY = 285; + public const int VFX_FNF_SCREEN_SHAKE = 286; + public const int VFX_FNF_SCREEN_BUMP = 287; + public const int VFX_COM_HIT_NEGATIVE = 288; + public const int VFX_COM_HIT_DIVINE = 289; + public const int VFX_FNF_HOWL_WAR_CRY_FEMALE = 290; + public const int VFX_DUR_AURA_DRAGON_FEAR = 291; + public const int VFX_DUR_FLAG_RED = 303; + public const int VFX_DUR_FLAG_BLUE = 304; + public const int VFX_DUR_FLAG_GOLD = 305; + public const int VFX_DUR_FLAG_PURPLE = 306; + public const int VFX_DUR_TENTACLE = 346; + public const int VFX_DUR_PETRIFY = 351; + public const int VFX_DUR_FREEZE_ANIMATION = 352; + + public const int VFX_COM_CHUNK_STONE_SMALL = 353; + public const int VFX_COM_CHUNK_STONE_MEDIUM = 354; + + public const int VFX_BEAM_SILENT_LIGHTNING = 307; + public const int VFX_BEAM_SILENT_FIRE = 308; + public const int VFX_BEAM_SILENT_COLD = 309; + public const int VFX_BEAM_SILENT_HOLY = 310; + public const int VFX_BEAM_SILENT_MIND = 311; + public const int VFX_BEAM_SILENT_EVIL = 312; + public const int VFX_BEAM_SILENT_ODD = 313; + public const int VFX_DUR_BIGBYS_INTERPOSING_HAND = 314; + public const int VFX_IMP_BIGBYS_FORCEFUL_HAND = 315; + public const int VFX_DUR_BIGBYS_CLENCHED_FIST = 316; + public const int VFX_DUR_BIGBYS_CRUSHING_HAND = 317; + public const int VFX_DUR_BIGBYS_GRASPING_HAND = 318; + + public const int VFX_DUR_CALTROPS = 319; + public const int VFX_DUR_SMOKE = 320; + public const int VFX_DUR_PIXIEDUST = 321; + public const int VFX_FNF_DECK = 322; + public const int VFX_DUR_CUTSCENE_INVISIBILITY = 355; + public const int VFX_DUR_IOUNSTONE = 403; + public const int VFX_IMP_TORNADO = 407; + public const int VFX_DUR_GLOW_LIGHT_BLUE = 408; + public const int VFX_DUR_GLOW_PURPLE = 409; + public const int VFX_DUR_GLOW_BLUE = 410; + public const int VFX_DUR_GLOW_RED = 411; + public const int VFX_DUR_GLOW_LIGHT_RED = 412; + public const int VFX_DUR_GLOW_YELLOW = 413; + public const int VFX_DUR_GLOW_LIGHT_YELLOW = 414; + public const int VFX_DUR_GLOW_GREEN = 415; + public const int VFX_DUR_GLOW_LIGHT_GREEN = 416; + public const int VFX_DUR_GLOW_ORANGE = 417; + public const int VFX_DUR_GLOW_LIGHT_ORANGE = 418; + public const int VFX_DUR_GLOW_BROWN = 419; + public const int VFX_DUR_GLOW_LIGHT_BROWN = 420; + public const int VFX_DUR_GLOW_GREY = 421; + public const int VFX_DUR_GLOW_WHITE = 422; + public const int VFX_DUR_GLOW_LIGHT_PURPLE = 423; + public const int VFX_DUR_GHOST_TRANSPARENT = 424; + public const int VFX_DUR_GHOST_SMOKE = 425; + public const int VFX_DUR_GLYPH_OF_WARDING = 445; + public const int VFX_FNF_SOUND_BURST_SILENT = 446; + public const int VFX_FNF_ELECTRIC_EXPLOSION = 459; + public const int VFX_IMP_DUST_EXPLOSION = 460; + public const int VFX_IMP_PULSE_HOLY_SILENT = 461; + public const int VFX_DUR_DEATH_ARMOR = 463; + public const int VFX_HIT_HELLBALL_AOE = 464; // AFW-OEI 05/04/2007 + public const int VFX_DUR_ICESKIN = 465; + public const int VFX_FNF_SWINGING_BLADE = 473; + public const int VFX_DUR_INFERNO = 474; + public const int VFX_FNF_DEMON_HAND = 475; + public const int VFX_DUR_STONEHOLD = 476; + public const int VFX_FNF_MYSTICAL_EXPLOSION = 477; + public const int VFX_DUR_GHOSTLY_VISAGE_NO_SOUND = 478; + public const int VFX_DUR_GHOST_SMOKE_2 = 479; + public const int VFX_DUR_FLIES = 480; + public const int VFX_FNF_SUMMONDRAGON = 481; + public const int VFX_BEAM_FIRE_W = 482; + public const int VFX_BEAM_FIRE_W_SILENT = 483; + public const int VFX_BEAM_CHAIN = 484; + public const int VFX_BEAM_BLACK = 485; + public const int VFX_IMP_WALLSPIKE = 486; + public const int VFX_FNF_GREATER_RUIN = 487; + public const int VFX_FNF_UNDEAD_DRAGON = 488; + public const int VFX_DUR_PROT_EPIC_ARMOR = 495; + public const int VFX_FNF_SUMMON_EPIC_UNDEAD = 496; + public const int VFX_DUR_PROT_EPIC_ARMOR_2 = 497; + public const int VFX_DUR_INFERNO_CHEST = 498; + public const int VFX_DUR_IOUNSTONE_RED = 499; + public const int VFX_DUR_IOUNSTONE_BLUE = 500; + public const int VFX_DUR_IOUNSTONE_YELLOW = 501; + public const int VFX_DUR_IOUNSTONE_GREEN = 502; + public const int VFX_IMP_MIRV_ELECTRIC = 503; + public const int VFX_COM_CHUNK_RED_BALLISTA = 504; + public const int VFX_DUR_INFERNO_NO_SOUND = 505; + + + // New spell VFX + public const int VFX_DUR_SPELL_SHIELD = 512; + public const int VFX_DUR_SPELL_SHIELD_OF_FAITH = 513; + public const int VFX_DUR_SPELL_SANCTUARY = 514; + public const int VFX_DUR_SPELL_CHARM_PERSON = 515; + public const int VFX_DUR_SPELL_CHARM_MONSTER = 516; + public const int VFX_DUR_SPELL_BURNING_HANDS = 517; + public const int VFX_BEAM_SHOCKING_GRASP = 518; + public const int VFX_DUR_SPELL_BLIND_DEAF = 519; + public const int VFX_DUR_SPELL_FALSE_LIFE = 520; + public const int VFX_BEAM_ABJURATION = 521; + public const int VFX_BEAM_CONJURATION = 522; + public const int VFX_BEAM_CURES = 523; + public const int VFX_BEAM_DIVINATION = 524; + public const int VFX_BEAM_ENCHANTMENT = 525; + public const int VFX_BEAM_EVOCATION = 526; + public const int VFX_BEAM_ILLUSION = 527; + public const int VFX_BEAM_NECROMANCY = 528; + public const int VFX_BEAM_TRANSMUTATION = 529; + public const int VFX_HIT_SPELL_ABJURATION = 530; + public const int VFX_HIT_SPELL_CONJURATION = 531; + public const int VFX_HIT_SPELL_DIVINATION = 532; + public const int VFX_HIT_SPELL_ENCHANTMENT = 533; + public const int VFX_HIT_SPELL_EVOCATION = 534; + public const int VFX_HIT_SPELL_ILLUSION = 535; + public const int VFX_HIT_SPELL_NECROMANCY = 536; + public const int VFX_HIT_SPELL_TRANSMUTATION = 537; + public const int VFX_DUR_SPELL_ACIDFOG = 538; + public const int VFX_DUR_SPELL_BLESS = 539; + public const int VFX_DUR_SPELL_DOM_ANIMAL = 540; + public const int VFX_DUR_SPELL_DOM_MONSTER = 541; + public const int VFX_DUR_SPELL_DOM_PERSON = 542; + public const int VFX_DUR_SPELL_FEEBLEMIND = 543; + public const int VFX_DUR_SPELL_PRAYER = 544; + public const int VFX_BEAM_PRISMATIC_SPRAY = 545; + public const int VFX_DUR_SPELL_PRISMATIC_SPRAY = 546; + public const int VFX_HIT_SPELL_SEARING_LIGHT = 547; + public const int VFX_HIT_SPELL_DISPLACEMENT = 548; + public const int VFX_DUR_SPELL_CAUSE_FEAR = 549; + public const int VFX_HIT_SPELL_FINGER_OF_DEATH = 550; + public const int VFX_HIT_SPELL_POISON = 551; + public const int VFX_HIT_AOE_ABJURATION = 552; + public const int VFX_HIT_AOE_CONJURATION = 553; + public const int VFX_HIT_AOE_DIVINATION = 554; + public const int VFX_HIT_AOE_ENCHANTMENT = 555; + public const int VFX_HIT_AOE_EVOCATION = 556; + public const int VFX_HIT_AOE_ILLUSION = 557; + public const int VFX_HIT_AOE_NECROMANCY = 558; + public const int VFX_HIT_AOE_TRANSMUTATION = 559; + public const int VFX_HIT_AOE_ACID = 560; + public const int VFX_HIT_AOE_ELDRITCH = 561; + public const int VFX_HIT_AOE_EVIL = 562; + public const int VFX_HIT_AOE_FIRE = 563; + public const int VFX_HIT_AOE_HOLY = 564; + public const int VFX_HIT_AOE_ICE = 565; + public const int VFX_HIT_AOE_LIGHTNING = 566; + public const int VFX_HIT_AOE_MAGIC = 567; + public const int VFX_HIT_AOE_POISON = 568; + public const int VFX_HIT_AOE_SONIC = 569; + public const int VFX_DUR_CONE_ACID = 570; + public const int VFX_DUR_CONE_ELDRITCH = 571; + public const int VFX_DUR_CONE_EVIL = 572; + public const int VFX_DUR_CONE_FIRE = 573; + public const int VFX_DUR_CONE_HOLY = 574; + public const int VFX_DUR_CONE_ICE = 575; + public const int VFX_DUR_CONE_LIGHTNING = 576; + public const int VFX_DUR_CONE_MAGIC = 577; + public const int VFX_DUR_CONE_POISON = 578; + public const int VFX_DUR_CONE_SONIC = 579; + public const int VFX_HIT_SPELL_ACID = 580; + public const int VFX_HIT_SPELL_ELDRITCH = 581; + public const int VFX_HIT_SPELL_EVIL = 582; + public const int VFX_HIT_SPELL_FIRE = 583; + public const int VFX_HIT_SPELL_HOLY = 584; + public const int VFX_HIT_SPELL_ICE = 585; + public const int VFX_HIT_SPELL_LIGHTNING = 586; + public const int VFX_HIT_SPELL_MAGIC = 587; + public const int VFX_HIT_SPELL_SONIC = 588; + public const int VFX_BEAM_ACID = 589; + public const int VFX_BEAM_ELDRITCH = 590; + public const int VFX_BEAM_EVIL = 591; + public const int VFX_BEAM_FIRE = 592; + public const int VFX_BEAM_HOLY = 593; + public const int VFX_BEAM_ICE = 594; + public const int VFX_BEAM_LIGHTNING = 595; + public const int VFX_BEAM_MAGIC = 596; + public const int VFX_BEAM_POISON = 597; + public const int VFX_BEAM_SONIC = 598; + public const int VFX_DUR_SPELL_BEAR_ENDURANCE = 599; + public const int VFX_DUR_SPELL_BULL_STRENGTH = 600; + public const int VFX_DUR_SPELL_CAT_GRACE = 601; + public const int VFX_DUR_SPELL_EAGLE_SPLENDOR = 602; + public const int VFX_DUR_SPELL_FOX_CUNNING = 603; + public const int VFX_DUR_SPELL_OWL_WISDOM = 604; + public const int VFX_DUR_SPELL_ENTROPIC_SHIELD = 605; + public const int VFX_HIT_SPELL_SUMMON_CREATURE = 606; + public const int VFX_DUR_CONE_COLORSPRAY = 607; + public const int VFX_DUR_SPELL_MAGE_ARMOR = 608; + public const int VFX_DUR_SPELL_AID = 609; + public const int VFX_DUR_SPELL_DIVINE_FAVOR = 610; + public const int VFX_DUR_SPELL_VIRTUE = 611; + public const int VFX_HIT_SPELL_INFLICT_1 = 612; + public const int VFX_HIT_SPELL_INFLICT_2 = 613; + public const int VFX_HIT_SPELL_INFLICT_3 = 614; + public const int VFX_HIT_SPELL_INFLICT_4 = 615; + public const int VFX_HIT_SPELL_INFLICT_5 = 616; + public const int VFX_HIT_SPELL_INFLICT_6 = 617; + public const int VFX_DUR_SPELL_BANE = 618; + public const int VFX_HIT_SPELL_ENLARGE_PERSON = 619; + public const int VFX_DUR_SPELL_GLOBE_INV_GREAT = 620; + public const int VFX_DUR_SPELL_GLOBE_INV_LESS = 621; + public const int VFX_DUR_SPELL_PROT_ARROWS = 622; + public const int VFX_DUR_SPELL_PROT_ALIGN = 623; + public const int VFX_DUR_SPELL_PROT_ENERGY = 624; + public const int VFX_DUR_SPELL_MIND_FOG = 625; + public const int VFX_HIT_SPELL_FLAMESTRIKE = 626; + public const int VFX_DUR_WINTER_WOLF_BREATH = 627; + public const int VFX_DUR_SPELL_RESISTANCE = 628; + public const int VFX_DUR_SPELL_AMPLIFY = 629; + public const int VFX_DUR_SPELL_BLESS_WEAPON = 630; + public const int VFX_DUR_SPELL_CAMOFLAGE = 631; + public const int VFX_DUR_SPELL_DEATHWATCH = 632; + public const int VFX_DUR_SPELL_DETECT_UNDEAD = 633; + public const int VFX_DUR_SPELL_ENDURE_ELEMENTS = 634; + public const int VFX_DUR_SPELL_EXPEDITIOUS_RETREAT = 635; + public const int VFX_DUR_SPELL_IDENTIFY = 636; + public const int VFX_DUR_SPELL_LOWLIGHT_VISION = 637; + public const int VFX_DUR_SPELL_MAGIC_FANG = 638; + public const int VFX_DUR_SPELL_MAGIC_WEAPON = 639; + public const int VFX_DUR_SPELL_RESIST_ENERGY = 640; + public const int VFX_DUR_SPELL_ULTRAVISION = 641; + public const int VFX_DUR_SPELL_AURA_OF_GLORY = 642; + public const int VFX_DUR_SPELL_BARKSKIN = 643; + public const int VFX_DUR_SPELL_BLINDSIGHT = 644; + public const int VFX_DUR_SPELL_CLARITY = 645; + public const int VFX_DUR_SPELL_DEATH_KNELL = 646; + public const int VFX_DUR_SPELL_FIND_TRAPS = 647; + public const int VFX_DUR_SPELL_FLAME_WEAPON = 648; + public const int VFX_DUR_SPELL_GHOSTLY_VISAGE = 649; + public const int VFX_DUR_SPELL_HEROISM = 650; + public const int VFX_DUR_SPELL_RAGE = 651; + public const int VFX_DUR_SPELL_SEE_INVISIBILITY = 652; + public const int VFX_DUR_SPELL_CLAIRAUD = 653; + public const int VFX_DUR_SPELL_HASTE = 654; + public const int VFX_DUR_SPELL_KEEN_EDGE = 655; + public const int VFX_DUR_SPELL_GOOD_CIRCLE = 656; + public const int VFX_DUR_SPELL_EVIL_CIRCLE = 657; + public const int VFX_DUR_SPELL_GREATER_MAGIC_FANG = 658; + public const int VFX_DUR_SPELL_MAGIC_VESTMENT = 659; + public const int VFX_DUR_SPELL_GREATER_MAGIC_WEAPON = 660; + public const int VFX_DUR_SPELL_SPIDERSKIN = 661; + public const int VFX_DUR_SPELL_WEAPON_OF_IMPACT = 662; + public const int VFX_DUR_SPELL_ASSAY_RESISTANCE = 663; + public const int VFX_DUR_SPELL_DEATH_WARD = 664; + public const int VFX_DUR_SPELL_DIVINE_POWER = 665; + public const int VFX_DUR_SPELL_HOLY_SWORD = 666; + public const int VFX_DUR_SPELL_LEGEND_LORE = 667; + public const int VFX_DUR_SPELL_SPELL_IMMUNITY = 668; + public const int VFX_DUR_SPELL_STONESKIN = 669; + public const int VFX_DUR_SPELL_WAR_CRY = 670; + public const int VFX_DUR_SPELL_AWAKEN = 671; + public const int VFX_DUR_SPELL_ENERGY_BUFFER = 672; + public const int VFX_DUR_SPELL_ETHEREAL_VISAGE = 673; + public const int VFX_DUR_SPELL_GREATER_HEROISM = 674; + public const int VFX_DUR_SPELL_LESSER_MIND_BLANK = 675; + public const int VFX_DUR_SPELL_OWL_INSIGHT = 676; + public const int VFX_DUR_SPELL_LESSER_SPELL_MANTLE = 677; + public const int VFX_DUR_SPELL_SPELL_RESISTANCE = 678; + public const int VFX_DUR_SPELL_TRUE_SEEING = 679; + public const int VFX_DUR_SPELL_CONTROL_UNDEAD = 680; + public const int VFX_DUR_SPELL_ENERGY_IMMUNITY = 681; + public const int VFX_DUR_SPELL_STONEBODY = 682; + public const int VFX_DUR_SPELL_GREATER_STONESKIN = 683; + public const int VFX_DUR_SPELL_TENSERS_TRANSFORM = 684; + public const int VFX_DUR_SPELL_AURA_OF_VITALITY = 685; + public const int VFX_DUR_SPELL_SPELL_MANTLE = 686; + public const int VFX_DUR_SPELL_BLACKSTAFF = 687; + public const int VFX_DUR_SPELL_IRON_BODY = 688; + public const int VFX_DUR_SPELL_MIND_BLANK = 689; + public const int VFX_DUR_SPELL_PREMONITION = 690; + public const int VFX_DUR_SPELL_PROTECTION_FROM_SPELLS = 691; + public const int VFX_DUR_SPELL_GREATER_SPELL_IMMUNITY = 692; + public const int VFX_DUR_SPELL_ETHEREALNESS = 693; + public const int VFX_DUR_SPELL_GREATER_SPELL_MANTLE = 694; + public const int VFX_DUR_SPELL_UNDEATH_ETERNAL_FOE = 695; + public const int VFX_DUR_SPELL_GOOD_AURA = 696; + public const int VFX_DUR_SPELL_EVIL_AURA = 697; + public const int VFX_DUR_SPELL_DISPLACEMENT = 698; + public const int VFX_DUR_SPELL_VAMPIRIC_TOUCH = 699; + public const int VFX_DUR_SPELL_BATTLETIDE = 700; + public const int VFX_DUR_SPELL_VAMPIRIC_TOUCH_VICTIM = 701; + public const int VFX_DUR_SPELL_BATTLETIDE_VICTIM = 702; + public const int VFX_DUR_SPELL_DAZE = 703; + public const int VFX_DUR_SPELL_DOOM = 704; + public const int VFX_DUR_SPELL_RAY_ENFEEBLE = 705; + public const int VFX_DUR_SPELL_TASHA_LAUGHTER = 706; + public const int VFX_DUR_SPELL_HOLD_ANIMAL = 707; + public const int VFX_DUR_SPELL_HOLD_PERSON = 708; + public const int VFX_DUR_SPELL_SILENCE = 709; + public const int VFX_DUR_SPELL_BESTOW_CURSE = 710; + public const int VFX_DUR_SPELL_CONFUSION = 711; + public const int VFX_DUR_SPELL_CRUSHING_DESP = 712; + public const int VFX_DUR_SPELL_FEAR = 713; + public const int VFX_DUR_SPELL_MAGGOT_INFESTATION = 714; + public const int VFX_DUR_SPELL_INVISIBILITY_PURGE = 715; + public const int VFX_DUR_SPELL_SLOW = 716; + public const int VFX_DUR_SPELL_HOLD_MONSTER = 717; + public const int VFX_DUR_SPELL_LESSER_SPELL_BREACH = 718; + public const int VFX_DUR_SPELL_MIND_FOG_VIC = 719; + public const int VFX_DUR_SPELL_SONG_OF_DISCORD = 720; + public const int VFX_DUR_SPELL_FLESH_TO_STONE = 721; + public const int VFX_DUR_SPELL_REPULSION = 722; + public const int VFX_DUR_SPELL_GREATER_SPELL_BREACH = 723; + public const int VFX_DUR_SPELL_WORD_OF_FAITH = 724; + public const int VFX_DUR_SPELL_ENERGY_DRAIN = 725; + public const int VFX_DUR_SPELL_CONTAGION = 726; + public const int VFX_DUR_SPELL_GLYPH_WARDING = 727; + public const int VFX_DUR_SPELL_MAGIC_CIRCLE = 728; + public const int VFX_DUR_SPELL_CLOUDKILL = 729; + public const int VFX_DUR_SPELL_INCENDIARY_CLOUD = 730; + public const int VFX_DUR_SPELL_STINKING_CLOUD = 731; + public const int VFX_DUR_SPELL_WEB = 732; + public const int VFX_DUR_SPELL_CLOUD_BEWILDERMENT = 733; + public const int VFX_DUR_SPELL_PRAYER_VIC = 734; + public const int VFX_HIT_SPELL_METEOR_SWARM_SML = 735; + public const int VFX_HIT_SPELL_WAIL_OF_THE_BANSHEE = 736; + public const int VFX_SPELL_SHADES_DELAYED_FIREBALL = 737; + public const int VFX_SPELL_SHADES_BUFF = 738; + public const int VFX_SPELL_SHADES_SUMMON_CREATURE = 739; + public const int VFX_FEAT_TURN_UNDEAD = 740; + //public const int VFX_INVOCATION_BESHADOW_BLAST = 741; + //public const int VFX_INVOCATION_BEWITCH_BLAST =742; + //public const int VFX_INVOCATION_BRIMESTONE_BLAST =743; + //public const int VFX_INVOCATION_DRAINING_BLAST =744; + //public const int VFX_INVOCATION_FRIGHTFUL_BLAST =745; + //public const int VFX_INVOCATION_HELLRIME_BLAST =746; + //public const int VFX_INVOCATION_NOXIOUS_BLAST =747; + //public const int VFX_INVOCATION_UTTERDARK_BLAST =748; + //public const int VFX_INVOCATION_VITRIOLIC_BLAST =749; + public const int VFX_INVOCATION_BESHADOWED_BLOW = 750; + public const int VFX_INVOCATION_BESHADOWED_CHAIN = 751; + public const int VFX_INVOCATION_BESHADOWED_CHAIN2 = 752; + public const int VFX_INVOCATION_BESHADOWED_HIT = 753; + public const int VFX_INVOCATION_BESHADOWED_RAY = 754; + public const int VFX_INVOCATION_BEWITCHING_BLOW = 755; + public const int VFX_INVOCATION_BEWITCHING_CHAIN = 756; + public const int VFX_INVOCATION_BEWITCHING_CHAIN2 = 757; + public const int VFX_INVOCATION_BEWITCHING_CONE = 758; + public const int VFX_INVOCATION_BEWITCHING_DOOM = 759; + public const int VFX_INVOCATION_BESHADOWED_CONE = 760; + public const int VFX_INVOCATION_BESHADOWED_DOOM = 761; + public const int VFX_INVOCATION_BEWITCHING_HIT = 762; + public const int VFX_INVOCATION_BEWITCHING_RAY = 763; + public const int VFX_INVOCATION_BRIMSTONE_BLOW = 764; + public const int VFX_INVOCATION_BRIMSTONE_CHAIN = 765; + public const int VFX_INVOCATION_BRIMSTONE_CHAIN2 = 766; + public const int VFX_INVOCATION_BRIMSTONE_CONE = 767; + public const int VFX_INVOCATION_BRIMSTONE_DOOM = 768; + public const int VFX_INVOCATION_BRIMSTONE_HIT = 769; + public const int VFX_INVOCATION_BRIMSTONE_RAY = 770; + public const int VFX_INVOCATION_DRAINING_BLOW = 771; + public const int VFX_INVOCATION_DRAINING_CHAIN = 772; + public const int VFX_INVOCATION_DRAINING_CHAIN2 = 773; + public const int VFX_INVOCATION_DRAINING_CONE = 774; + public const int VFX_INVOCATION_DRAINING_DOOM = 775; + public const int VFX_INVOCATION_DRAINING_HIT = 776; + public const int VFX_INVOCATION_DRAINING_RAY = 777; + public const int VFX_INVOCATION_ELDRITCH_AOE = 778; + public const int VFX_INVOCATION_ELDRITCH_CHAIN = 779; + public const int VFX_INVOCATION_ELDRITCH_CHAIN2 = 780; + public const int VFX_INVOCATION_ELDRITCH_CONE = 781; + public const int VFX_INVOCATION_ELDRITCH_HIT = 782; + public const int VFX_INVOCATION_ELDRITCH_RAY = 783; + public const int VFX_INVOCATION_ELDRITCH_TRAVEL = 784; + public const int VFX_INVOCATION_FRIGHTFUL_BLOW = 785; + public const int VFX_INVOCATION_FRIGHTFUL_CHAIN = 786; + public const int VFX_INVOCATION_FRIGHTFUL_CHAIN2 = 787; + public const int VFX_INVOCATION_FRIGHTFUL_CONE = 788; + public const int VFX_INVOCATION_FRIGHTFUL_DOOM = 789; + public const int VFX_INVOCATION_FRIGHTFUL_HIT = 790; + public const int VFX_INVOCATION_FRIGHTFUL_RAY = 791; + public const int VFX_INVOCATION_HELLRIME_BLOW = 792; + public const int VFX_INVOCATION_HELLRIME_CHAIN = 793; + public const int VFX_INVOCATION_HELLRIME_CHAIN2 = 794; + public const int VFX_INVOCATION_HELLRIME_CONE = 795; + public const int VFX_INVOCATION_HELLRIME_DOOM = 796; + public const int VFX_INVOCATION_HELLRIME_HIT = 797; + public const int VFX_INVOCATION_HELLRIME_RAY = 798; + public const int VFX_INVOCATION_HIDEOUS_BLOW = 799; + public const int VFX_INVOCATION_HIDEOUS_CHAIN = 800; + public const int VFX_INVOCATION_HIDEOUS_CHAIN2 = 801; + public const int VFX_INVOCATION_HIDEOUS_CONE = 803; + public const int VFX_INVOCATION_HIDEOUS_DOOM = 804; + public const int VFX_INVOCATION_HIDEOUS_HIT = 805; + public const int VFX_INVOCATION_HIDEOUS_RAY = 806; + public const int VFX_INVOCATION_NOXIOUS_BLOW = 807; + public const int VFX_INVOCATION_NOXIOUS_CHAIN = 808; + public const int VFX_INVOCATION_NOXIOUS_CHAIN2 = 809; + public const int VFX_INVOCATION_NOXIOUS_CONE = 810; + public const int VFX_INVOCATION_NOXIOUS_DOOM = 811; + public const int VFX_INVOCATION_NOXIOUS_HIT = 812; + public const int VFX_INVOCATION_NOXIOUS_RAY = 813; + public const int VFX_INVOCATION_UTTERDARK_BLOW = 814; + public const int VFX_INVOCATION_UTTERDARK_CHAIN = 815; + public const int VFX_INVOCATION_UTTERDARK_CHAIN2 = 816; + public const int VFX_INVOCATION_UTTERDARK_CONE = 817; + public const int VFX_INVOCATION_UTTERDARK_DOOM = 818; + public const int VFX_INVOCATION_UTTERDARK_HIT = 819; + public const int VFX_INVOCATION_UTTERDARK_RAY = 820; + public const int VFX_INVOCATION_VITRIOLIC_BLOW = 821; + public const int VFX_INVOCATION_VITRIOLIC_CHAIN = 822; + public const int VFX_INVOCATION_VITRIOLIC_CHAIN2 = 823; + public const int VFX_INVOCATION_VITRIOLIC_CONE = 824; + public const int VFX_INVOCATION_VITRIOLIC_DOOM = 825; + public const int VFX_INVOCATION_VITRIOLIC_HIT = 826; + public const int VFX_INVOCATION_VITRIOLIC_RAY = 827; + public const int VFX_DUR_GREASE = 828; + public const int VFX_DUR_STUN = 829; + public const int VFX_COM_BLOOD_REG_BLACK = 830; + public const int VFX_COM_BLOOD_REG_DUST = 831; + public const int VFX_HIT_SPELL_BALAGARN_IRON_HORN = 832; + public const int VFX_INVOCATION_WORD_OF_CHANGING = 833; + public const int VFX_DUR_AOE_CREEPING_DOOM = 834; + public const int VFX_DUR_POLYMORPH = 835; + //836 + //837 + public const int VFX_HIT_CURE_AOE = 838; + public const int VFX_HIT_TURN_UNDEAD = 839; + public const int VFX_PER_AOE_TENACIOUS = 840; + public const int VFX_DUR_GATE = 841; + public const int VFX_CAST_BARD_INS = 842; + public const int VFX_CAST_BARD_SONG = 843; + public const int VFX_HIT_BARD_COUNTERSONG = 844; + public const int VFX_HIT_BARD_HAVEN_SONG = 845; + public const int VFX_HIT_BARD_INS_COMPETENCE = 846; + public const int VFX_HIT_BARD_INS_COURAGE = 847; + public const int VFX_HIT_BARD_INS_DEFENSE = 848; + public const int VFX_HIT_BARD_INS_HEROICS = 849; + public const int VFX_HIT_BARD_INS_JARRING = 850; + public const int VFX_HIT_BARD_INS_LEGION = 851; + public const int VFX_HIT_BARD_INS_REGENERATION = 852; + public const int VFX_HIT_BARD_INS_SLOWING = 853; + public const int VFX_HIT_BARD_INS_TOUGHNESS = 854; + public const int VFX_DUR_BARD_SONG_IRONSKIN = 855; + public const int VFX_HIT_BARD_SONG_FREEDOM = 856; + public const int VFX_DUR_INVOCATION_DARKONESLUCK = 857; + public const int VFX_DUR_INVOCATION_LEAPS_BOUNDS = 858; + public const int VFX_DUR_INVOCATION_BEGUILE_INFLUENCE = 859; + public const int VFX_HIT_SPELL_METEOR_SWARM_LRG = 860; + public const int VFX_DUR_INVOCATION_RETRIBUTIVE_INVISIBILITY = 861; + public const int VFX_DUR_TAUNT = 862; + public const int VFX_DUR_NAUSEA = 863; + public const int VFX_DUR_SICKENED = 864; + public const int VFX_DUR_CURSESONG = 865; + public const int VFX_DUR_SLEEP = 866; + public const int VFX_HIT_BARD_CLOUDMIND = 867; + public const int VFX_HIT_DROWN = 869; + public const int VFX_BEAM_GREEN_DRAGON_ACID = 870; + public const int VFX_CONE_RED_DRAGON_FIRE = 871; + public const int VFX_DUR_SPELL_MIRROR_IMAGE_1 = 872; + public const int VFX_CONE_ACID_BREATH = 873; + public const int VFX_AURA_BLADE_BARRIER = 874; + public const int VFX_SPELL_HIT_EARTHQUAKE = 875; + public const int VFX_DUR_SPELL_MIRROR_IMAGE_SELF = 876; + public const int VFX_DUR_SPELL_CREEPING_DOOM = 877; + public const int VFX_DUR_INVOCATION_TENACIOUS_PLAGUE = 878; + public const int VFX_DUR_SPELL_INVISIBILITY_SPHERE = 879; + public const int VFX_DUR_ITEM_CHOKING_POWDER = 880; + public const int VFX_DUR_CREATURE_AIR_ELEMENTAL = 881; + public const int VFX_DUR_RUBUKE_UNDEAD = 882; + public const int VFX_DUR_REGENERATE = 883; + public const int VFX_AOE_WEB_OF_PURITY = 884; + public const int VFX_HIT_CRADLE_OF_RIME = 885; + public const int VFX_AOE_CRADLE_OF_RIME = 886; + public const int VFX_DUR_SHADOW_CLOAK = 887; + public const int VFX_AOE_SHADOW_PLAGUE = 888; + public const int VFX_DUR_SHADOW_PLAGUE = 889; + public const int VFX_HIT_AURORA_CHAIN = 890; + public const int VFX_DUR_AURORA_CHAIN = 891; + public const int VFX_HIT_CLEANSING_NOVA = 892; + public const int VFX_DUR_SHINING_SHIELD = 893; + public const int VFX_DUR_FIRE = 894; + public const int VFX_CREATURE_ABILITY_DUR_MINDFLAYER = 895; + public const int VFX_FNF_CRAFT_SELF = 896; + public const int VFX_FNF_CRAFT_ALCHEMY = 897; + public const int VFX_FNF_CRAFT_BLACKSMITH = 898; + public const int VFX_FNF_CRAFT_MAGIC = 899; + public const int VFX_BEAM_WEB_OF_PURITY = 900; + public const int VFX_DUR_FIREBALL = 901; + public const int VFX_DUR_WAUKEEN_HALO = 902; + public const int VFX_DUR_SOOTHING_LIGHT = 903; + public const int VFX_DUR_SPELL_MELFS_ACID_ARROW = 904; + public const int VFX_HIT_SPELL_METEOR_SWARM = 905; + public const int VFX_DUR_FEAT_SACRED_VENGEANCE = 906; + public const int VFX_DUR_FEAT_DIVINE_RESISTANCE = 907; + public const int VFX_SOUND_WEB = 908; + public const int VFX_SOUND_BLADE = 909; + public const int VFX_SOUND_ENTANGLE = 910; + public const int VFX_SOUND_FIRE = 911; + public const int VFX_SOUND_SPIKE = 912; + public const int VFX_SOUND_TENTACLE = 913; + public const int VFX_DUR_FEAT_FIENDISH_RES = 914; + public const int VFX_SPELL_DUR_CALL_LIGHTNING = 915; + public const int VFX_SPELL_HIT_CALL_LIGHTNING = 916; + public const int VFX_SPELL_HIT_SWAMP_LUNG = 917; + public const int VFX_SPELL_DUR_TORT_SHELL = 918; + public const int VFX_SPELL_DUR_COCOON = 919; + public const int VFX_SPELL_DUR_FOUND_STONE = 920; + public const int VFX_SPELL_BEAM_MOON_BOLT = 921; + public const int VFX_SPELL_DUR_JAGGED_TOOTH = 922; + public const int VFX_SPELL_DUR_NATURE_AVATAR = 923; + public const int VFX_SPELL_DUR_BODY_SUN = 924; + public const int VFX_SPELL_DUR_STORM_AVATAR = 925; + + // AFW-OEI 02/28/2007: Ioun Stone VFX + public const int VFX_DUR_IOUN_STONE_STR = 926; + public const int VFX_DUR_IOUN_STONE_DEX = 927; + public const int VFX_DUR_IOUN_STONE_CON = 928; + public const int VFX_DUR_IOUN_STONE_INT = 929; + public const int VFX_DUR_IOUN_STONE_WIS = 930; + public const int VFX_DUR_IOUN_STONE_CHA = 931; + + public const int VFX_HIT_HELLBALL = 941; // AFW-OEI 05/04/2007 + + // AFW-OEI 05/08/2007: New Warlock Eldritch Essences + public const int VFX_INVOCATION_HINDERING_BLOW = 942; + public const int VFX_INVOCATION_HINDERING_CHAIN = 943; + public const int VFX_INVOCATION_HINDERING_CHAIN2 = 944; + public const int VFX_INVOCATION_HINDERING_CONE = 945; + public const int VFX_INVOCATION_HINDERING_DOOM = 946; + public const int VFX_INVOCATION_HINDERING_HIT = 947; + public const int VFX_INVOCATION_HINDERING_RAY = 948; + public const int VFX_INVOCATION_BINDING_BLOW = 949; + public const int VFX_INVOCATION_BINDING_CHAIN = 950; + public const int VFX_INVOCATION_BINDING_CHAIN2 = 951; + public const int VFX_INVOCATION_BINDING_CONE = 952; + public const int VFX_INVOCATION_BINDING_DOOM = 953; + public const int VFX_INVOCATION_BINDING_HIT = 954; + public const int VFX_INVOCATION_BINDING_RAY = 955; + + // AFW-OEI 06/21/2007: New Spells & Spirit Shamans + public const int VFX_DUR_SPELL_LIONHEART = 965; + public const int VFX_DUR_SPELL_DETECT_SPIRITS = 966; + public const int VFX_DUR_SPELL_SPIRIT_FORM = 967; + public const int VFX_DUR_SPELL_SPIRIT_JOURNEY = 968; + public const int VFX_DUR_SPELL_LESSER_VIGOR = 969; + public const int VFX_DUR_SPELL_VIGOR = 970; + public const int VFX_DUR_SPELL_MASS_LESSER_VIGOR = 971; + public const int VFX_DUR_SPELL_VIGOROUS_CYCLE = 972; + public const int VFX_DUR_SPELL_SUPERIOR_RESISTANCE = 973; + public const int VFX_DUR_SPELL_RECITATION = 974; + + public const int VFX_DUR_SPELL_LAST_STAND = 975; // AFW-OEI 06/27/2007 + public const int VFX_HIT_SPELL_CURSE_OF_IMPENDING_BLADES = 976; // AFW-OEI 06/27/2007 + public const int VFX_DUR_SACRED_FLAMES = 977; // AFW-OEI 06/28/2007 + public const int VFX_DUR_SPELL_LESSER_VISAGE = 978; // AFW-OEI 06/28/2007 + public const int VFX_DUR_SPELL_VISAGE_GOOD = 979; // AFW-OEI 06/28/2007 + public const int VFX_DUR_SPELL_VISAGE_NEUTRAL = 980; // AFW-OEI 06/28/2007 + public const int VFX_DUR_SPELL_VISAGE_EVIL = 981; // AFW-OEI 06/28/2007 + public const int VFX_HIT_SPELL_DISINTEGRATE = 982; // AFW-OEI 07/02/2007 + public const int VFX_DUR_SPELL_SHADOW_SIMULACRUM = 983; // AFW-OEI 07/02/2007 + public const int VFX_DUR_SPELL_SHROUDING_FOG = 985; // AFW-OEI 07/09/2007 + + // AFW-OEI 07/10/2007: Big NX1 VFX update + public const int VFX_DUR_SPELL_POWER_WORD_WEAKEN = 986; + public const int VFX_DUR_SPELL_POWER_WORD_PETRIFY = 987; + public const int VFX_DUR_SPELL_POWER_WORD_MALADROIT = 988; + public const int VFX_DUR_SPELL_POWER_WORD_BLIND = 989; + public const int VFX_DUR_SPELL_TOUCH_OF_IDIOCY = 990; + public const int VFX_HIT_SPELL_AVASCULATE = 991; + public const int VFX_DUR_SPELL_GLACIAL_WRATH = 992; + public const int VFX_DUR_SPELL_CREEPING_COLD = 993; + public const int VFX_DUR_SPELL_MASS_CURSE_OF_BLADES = 996; + public const int VFX_DUR_SPELL_HISS_OF_SLEEP = 997; + public const int VFX_HIT_SPELL_MASS_FOWL = 998; + public const int VFX_HIT_SPELL_WALL_OF_DISPEL = 999; + public const int VFX_HIT_SPELL_ENTROPIC_HUSK = 1000; + public const int VFX_DUR_SPELL_CURSE_OF_BLADES = 1001; + public const int VFX_DUR_INNER_ARMOR = 1002; + public const int VFX_DUR_SPELL_GLASS_DOPPELGANGER = 1003; + public const int VFX_HIT_SPELL_VAMPIRIC_FEAST = 1004; + public const int VFX_DUR_SPELL_GREATER_RESISTANCE = 1005; + public const int VFX_DUR_SPELL_SOLIPSISM = 1006; + public const int VFX_HIT_SPELL_TOUCH_OF_FATIGUE = 1007; + public const int VFX_HIT_SPELL_SHOUT = 1008; + public const int VFX_HIT_SPELL_GREATER_SHOUT = 1009; + public const int VFX_DUR_SPELL_EPIC_GATE = 1010; + public const int VFX_DUR_BLAZING_AURA = 1011; + public const int VFX_HIT_CHASTISE_SPIRITS = 1012; + public const int VFX_HIT_WEAKEN_SPIRITS = 1013; + public const int VFX_DUR_RESCUER = 1014; + public const int VFX_BEAM_RESCUEE = 1015; + public const int VFX_CAST_SPELL_SPIRIT_EMERGE = 1016; + public const int VFX_CAST_SPELL_SPIRIT_EMERGE_GOOD = 1017; + public const int VFX_HIT_BARD_REQUIEM = 1018; + + public const int VFX_HIT_SPELL_BLADEWEAVE = 1020; + public const int VFX_HIT_SPELL_BLOOD_TO_WATER = 1021; + public const int VFX_AOE_SPELL_BLOOD_TO_WATER = 1022; + public const int VFX_HIT_SPELL_BODAKS_GLARE = 1023; + public const int VFX_SUMMON_SPELL_BODAKS_GLARE = 1024; + public const int VFX_HIT_SPELL_CASTIGATE = 1025; + public const int VFX_AOE_SPELL_CASTIGATE = 1026; + public const int VFX_HIT_SPELL_CONVICTION = 1027; + public const int VFX_HIT_SPELL_DEHYDRATION = 1028; + public const int VFX_DUR_SPELL_ANIMALISTIC_POWER = 1029; + public const int VFX_HIT_SPELL_LIVING_UNDEATH = 1030; + public const int VFX_HIT_SPELL_HEALING_STING = 1031; + public const int VFX_HEAL_SPELL_HEALING_STING = 1032; + public const int VFX_DUR_SPELL_NIGHTSHIELD = 1033; + public const int VFX_DUR_SPELL_LIVING_UNDEATH = 1034; + public const int VFX_DUR_SPELL_SYMBOL_OF_DEATH = 1035; + public const int VFX_DUR_SPELL_SYMBOL_OF_FEAR = 1036; + public const int VFX_DUR_SPELL_SYMBOL_OF_PAIN = 1037; + public const int VFX_DUR_SPELL_SYMBOL_OF_PERSUASION = 1038; + public const int VFX_DUR_SPELL_SYMBOL_OF_SLEEP = 1039; + public const int VFX_DUR_SPELL_SYMBOL_OF_STUNNING = 1040; + public const int VFX_DUR_SPELL_SYMBOL_OF_WEAKNESS = 1041; + public const int VFX_AOE_SYMBOL_SPELL = 1042; + public const int VFX_AURA_HELLFIRE_BLAST = 1043; + public const int VFX_AURA_HELLFIRE_SHIELD = 1044; + public const int VFX_AOE_ETHEREAL_PURGE = 1045; + public const int VFX_DUR_BOND_OF_FATAL_TOUCH = 1046; + public const int VFX_HIT_SPELL_REDUCE_PERSON = 1047; + public const int VFX_HIT_SPELL_SNAKESSWIFTNESS = 1048; + + + public const int AOE_PER_FOGACID = 0; + public const int AOE_PER_FOGFIRE = 1; + public const int AOE_PER_FOGSTINK = 2; + public const int AOE_PER_FOGKILL = 3; + public const int AOE_PER_FOGMIND = 4; + public const int AOE_PER_WALLFIRE = 5; + public const int AOE_PER_WALLWIND = 6; + public const int AOE_PER_WALLBLADE = 7; + public const int AOE_PER_WEB = 8; + public const int AOE_PER_ENTANGLE = 9; + //public const int AOE_PER_CHAOS = 10; + public const int AOE_PER_DARKNESS = 11; + public const int AOE_MOB_CIRCEVIL = 12; + public const int AOE_MOB_CIRCGOOD = 13; + public const int AOE_MOB_CIRCLAW = 14; + public const int AOE_MOB_CIRCCHAOS = 15; + public const int AOE_MOB_FEAR = 16; + public const int AOE_MOB_BLINDING = 17; + public const int AOE_MOB_UNEARTHLY = 18; + public const int AOE_MOB_MENACE = 19; + public const int AOE_MOB_UNNATURAL = 20; + public const int AOE_MOB_STUN = 21; + public const int AOE_MOB_PROTECTION = 22; + public const int AOE_MOB_FIRE = 23; + public const int AOE_MOB_FROST = 24; + public const int AOE_MOB_ELECTRICAL = 25; + public const int AOE_PER_FOGGHOUL = 26; + public const int AOE_MOB_TYRANT_FOG = 27; + public const int AOE_PER_STORM = 28; + public const int AOE_PER_INVIS_SPHERE = 29; + public const int AOE_MOB_SILENCE = 30; + public const int AOE_PER_DELAY_BLAST_FIREBALL = 31; + public const int AOE_PER_GREASE = 32; + public const int AOE_PER_CREEPING_DOOM = 33; + public const int AOE_PER_EVARDS_BLACK_TENTACLES = 34; + public const int AOE_MOB_INVISIBILITY_PURGE = 35; + public const int AOE_MOB_DRAGON_FEAR = 36; + public const int AOE_PER_CUSTOM_AOE = 37; + public const int AOE_PER_GLYPH_OF_WARDING = 38; + public const int AOE_PER_FOG_OF_BEWILDERMENT = 39; + public const int AOE_PER_VINE_MINE_CAMOUFLAGE = 40; + public const int AOE_MOB_TIDE_OF_BATTLE = 41; + public const int AOE_PER_STONEHOLD = 42; + public const int AOE_PER_VFX_OVERMIND = 43; + public const int AOE_PER_CHILLING_TENTACLES = 44; + public const int AOE_PER_WALL_PERILOUS_FLAME = 45; + public const int AOE_PER_TENACIOUS_PLAGUE = 46; + public const int AOE_PER_SPIKE_GROWTH = 47; + public const int AOE_PER_CHOKE_POWDER = 48; + public const int AOE_PER_CLEANSING_NOVA = 49; + public const int AOE_PER_PROTECTIVE_AURA = 50; + public const int AOE_PER_PROTECTIVE_AURA_II = 51; + public const int AOE_PER_WAR_GLORY = 52; + public const int AOE_PER_AURA_OF_COURAGE = 53; + public const int AOE_PER_AURA_OF_DESPAIR = 54; + public const int AOE_MOB_HEZROU_STENCH = 55; + public const int AOE_MOB_GHAST_STENCH = 56; + public const int AOE_MOB_BLADE_BARRIER = 57; + public const int AOE_MOB_SHADOW_PLAGUE = 58; + public const int AOE_MOB_SHARD_BARRIER = 59; + public const int AOE_MOB_BODY_SUN = 60; + public const int AOE_MOB_REACH_TO_THE_BLAZE = 63; + public const int AOE_PER_SHROUDING_FOG = 64; + public const int AOE_MOB_DROWNED_AURA = 66; + public const int AOE_PER_KELEMVORS_GRACE = 67; // JWR-OEI 05/28/2008 + public const int AOE_PER_HELLFIRE_SHIELD = 68; // JWR-OEI 06.17.2008 + + + + + + + public const int SPELL_ALL_SPELLS = -1; // used for spell immunity. + public const int SPELL_ACID_FOG = 0; + public const int SPELL_AID = 1; + public const int SPELL_ANIMATE_DEAD = 2; + public const int SPELL_BARKSKIN = 3; + public const int SPELL_BESTOW_CURSE = 4; + public const int SPELL_BLADE_BARRIER = 5; + public const int SPELL_BLESS = 6; + public const int SPELL_BLESS_WEAPON = 537; + public const int SPELL_BLINDNESS_AND_DEAFNESS = 8; + public const int SPELL_BULLS_STRENGTH = 9; + public const int SPELL_BURNING_HANDS = 10; + public const int SPELL_CALL_LIGHTNING = 11; + //public const int SPELL_CALM_EMOTIONS = 12; + public const int SPELL_CATS_GRACE = 13; + public const int SPELL_CHAIN_LIGHTNING = 14; + public const int SPELL_CHARM_MONSTER = 15; + public const int SPELL_CHARM_PERSON = 16; + public const int SPELL_CHARM_PERSON_OR_ANIMAL = 17; + public const int SPELL_CIRCLE_OF_DEATH = 18; + //public const int SPELL_CIRCLE_OF_DOOM = 19; + public const int SPELL_MASS_INFLICT_LIGHT_WOUNDS = 19; // JLR - OEI 08/23/05 -- Renamed for 3.5 + public const int SPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCE = 20; + public const int SPELL_CLARITY = 21; + public const int SPELL_CLOAK_OF_CHAOS = 22; + public const int SPELL_CLOUDKILL = 23; + public const int SPELL_COLOR_SPRAY = 24; + public const int SPELL_CONE_OF_COLD = 25; + public const int SPELL_CONFUSION = 26; + public const int SPELL_CONTAGION = 27; + public const int SPELL_CONTROL_UNDEAD = 28; + public const int SPELL_CREATE_GREATER_UNDEAD = 29; + public const int SPELL_CREATE_UNDEAD = 30; + public const int SPELL_CURE_CRITICAL_WOUNDS = 31; + public const int SPELL_CURE_LIGHT_WOUNDS = 32; + public const int SPELL_CURE_MINOR_WOUNDS = 33; + public const int SPELL_CURE_MODERATE_WOUNDS = 34; + public const int SPELL_CURE_SERIOUS_WOUNDS = 35; + public const int SPELL_DARKNESS = 36; + public const int SPELL_DAZE = 37; + public const int SPELL_DEATH_WARD = 38; + public const int SPELL_DELAYED_BLAST_FIREBALL = 39; + public const int SPELL_DISMISSAL = 40; + public const int SPELL_DISPEL_MAGIC = 41; + public const int SPELL_DIVINE_POWER = 42; + public const int SPELL_DOMINATE_ANIMAL = 43; + public const int SPELL_DOMINATE_MONSTER = 44; + public const int SPELL_DOMINATE_PERSON = 45; + public const int SPELL_DOOM = 46; + public const int SPELL_ELEMENTAL_SHIELD = 47; + public const int SPELL_ELEMENTAL_SWARM = 48; + public const int SPELL_BEARS_ENDURANCE = 49; // JLR - OEI 07/11/05 -- Name changed from "Endurance" + public const int SPELL_ENDURE_ELEMENTS = 50; + public const int SPELL_ENERGY_DRAIN = 51; + public const int SPELL_ENERVATION = 52; + public const int SPELL_ENTANGLE = 53; + public const int SPELL_FEAR = 54; + public const int SPELL_FEEBLEMIND = 55; + public const int SPELL_FINGER_OF_DEATH = 56; + public const int SPELL_FIRE_STORM = 57; + public const int SPELL_FIREBALL = 58; + public const int SPELL_FLAME_ARROW = 59; + public const int SPELL_FLAME_LASH = 60; + public const int SPELL_FLAME_STRIKE = 61; + public const int SPELL_FREEDOM_OF_MOVEMENT = 62; + public const int SPELL_GATE = 63; + public const int SPELL_GHOUL_TOUCH = 64; + public const int SPELL_GLOBE_OF_INVULNERABILITY = 65; + public const int SPELL_GREASE = 66; + public const int SPELL_GREATER_DISPELLING = 67; + //public const int SPELL_GREATER_MAGIC_WEAPON = 68; + public const int SPELL_GREATER_PLANAR_BINDING = 69; + public const int SPELL_GREATER_RESTORATION = 70; + //public const int SPELL_GREATER_SHADOW_CONJURATION = 71; + public const int SPELL_GREATER_SPELL_BREACH = 72; + public const int SPELL_GREATER_SPELL_MANTLE = 73; + public const int SPELL_GREATER_STONESKIN = 74; + public const int SPELL_GUST_OF_WIND = 75; + public const int SPELL_HAMMER_OF_THE_GODS = 76; + public const int SPELL_HARM = 77; + public const int SPELL_HASTE = 78; + public const int SPELL_HEAL = 79; + //public const int SPELL_HEALING_CIRCLE = 80; + public const int SPELL_MASS_CURE_LIGHT_WOUNDS = 80; // JLR - OEI 08/23/05 -- Renamed for 3.5 + public const int SPELL_HOLD_ANIMAL = 81; + public const int SPELL_HOLD_MONSTER = 82; + public const int SPELL_HOLD_PERSON = 83; + public const int SPELL_HOLY_AURA = 84; + public const int SPELL_HOLY_SWORD = 538; + public const int SPELL_IDENTIFY = 86; + public const int SPELL_IMPLOSION = 87; + public const int SPELL_GREATER_INVISIBILITY = 88; // JLR - OEI 07/11/05 -- Name changed from "Improved Invis." + public const int SPELL_INCENDIARY_CLOUD = 89; + public const int SPELL_INVISIBILITY = 90; + public const int SPELL_INVISIBILITY_PURGE = 91; + public const int SPELL_INVISIBILITY_SPHERE = 92; + public const int SPELL_KNOCK = 93; + public const int SPELL_LESSER_DISPEL = 94; + public const int SPELL_LESSER_MIND_BLANK = 95; + public const int SPELL_LESSER_PLANAR_BINDING = 96; + public const int SPELL_LESSER_RESTORATION = 97; + public const int SPELL_LESSER_SPELL_BREACH = 98; + public const int SPELL_LESSER_SPELL_MANTLE = 99; + public const int SPELL_LIGHT = 100; + public const int SPELL_LIGHTNING_BOLT = 101; + public const int SPELL_MAGE_ARMOR = 102; + public const int SPELL_MAGIC_CIRCLE_AGAINST_CHAOS = 103; + public const int SPELL_MAGIC_CIRCLE_AGAINST_EVIL = 104; + public const int SPELL_MAGIC_CIRCLE_AGAINST_GOOD = 105; + public const int SPELL_MAGIC_CIRCLE_AGAINST_LAW = 106; + public const int SPELL_MAGIC_MISSILE = 107; + public const int SPELL_MAGIC_VESTMENT = 546; + //public const int SPELL_MAGIC_WEAPON = 109; + public const int SPELL_MASS_BLINDNESS_AND_DEAFNESS = 110; + public const int SPELL_MASS_CHARM = 111; + // public const int SPELL_MASS_DOMINATION = 112; + public const int SPELL_MASS_HASTE = 113; + public const int SPELL_MASS_HEAL = 114; + public const int SPELL_MELFS_ACID_ARROW = 115; + public const int SPELL_METEOR_SWARM = 116; + public const int SPELL_MIND_BLANK = 117; + public const int SPELL_MIND_FOG = 118; + public const int SPELL_LESSER_GLOBE_OF_INVULNERABILITY = 119; // JLR - OEI 07/11/05 -- Name changed from "Minor ..." + public const int SPELL_GHOSTLY_VISAGE = 120; + public const int SPELL_ETHEREAL_VISAGE = 121; + public const int SPELL_MORDENKAINENS_DISJUNCTION = 122; + public const int SPELL_MORDENKAINENS_SWORD = 123; + public const int SPELL_NATURES_BALANCE = 124; // JLR - OEI 07/11/05 -- REMOVED + public const int SPELL_NEGATIVE_ENERGY_PROTECTION = 125; // JLR - OEI 07/16/05 -- REMOVED + public const int SPELL_NEUTRALIZE_POISON = 126; + public const int SPELL_PHANTASMAL_KILLER = 127; + public const int SPELL_PLANAR_BINDING = 128; + public const int SPELL_POISON = 129; + public const int SPELL_POLYMORPH_SELF = 130; + public const int SPELL_POWER_WORD_KILL = 131; + public const int SPELL_POWER_WORD_STUN = 132; + public const int SPELL_PRAYER = 133; + public const int SPELL_PREMONITION = 134; + public const int SPELL_PRISMATIC_SPRAY = 135; + public const int SPELL_PROTECTION_FROM_CHAOS = 136; // RWT-OEI 03/19/07 - Removed the extra _ mark from this name + public const int SPELL_PROTECTION_FROM_ENERGY = 137; // JLR - OEI 07/11/05 -- Name changed from "Prot. from Elements" + public const int SPELL_PROTECTION_FROM_EVIL = 138; + public const int SPELL_PROTECTION_FROM_GOOD = 139; + public const int SPELL_PROTECTION_FROM_LAW = 140; + public const int SPELL_PROTECTION_FROM_SPELLS = 141; + public const int SPELL_RAISE_DEAD = 142; + public const int SPELL_RAY_OF_ENFEEBLEMENT = 143; + public const int SPELL_RAY_OF_FROST = 144; + public const int SPELL_REMOVE_BLINDNESS_AND_DEAFNESS = 145; + public const int SPELL_REMOVE_CURSE = 146; + public const int SPELL_REMOVE_DISEASE = 147; + public const int SPELL_REMOVE_FEAR = 148; + public const int SPELL_REMOVE_PARALYSIS = 149; + public const int SPELL_RESIST_ENERGY = 150; // JLR - OEI 07/11/05 -- Name changed from "Resist Elements" + public const int SPELL_RESISTANCE = 151; + public const int SPELL_RESTORATION = 152; + public const int SPELL_RESURRECTION = 153; + public const int SPELL_SANCTUARY = 154; + public const int SPELL_CAUSE_FEAR = 155; // JLR - OEI 07/11/05 -- Name changed from "Scare" + public const int SPELL_SEARING_LIGHT = 156; + public const int SPELL_SEE_INVISIBILITY = 157; + //public const int SPELL_SHADES = 158; + //public const int SPELL_SHADOW_CONJURATION = 159; + public const int SPELL_SHADOW_SHIELD = 160; + public const int SPELL_SHAPECHANGE = 161; + public const int SPELL_SHIELD_OF_LAW = 162; + public const int SPELL_SILENCE = 163; + public const int SPELL_SLAY_LIVING = 164; + public const int SPELL_SLEEP = 165; + public const int SPELL_SLOW = 166; + public const int SPELL_SOUND_BURST = 167; + public const int SPELL_SPELL_RESISTANCE = 168; + public const int SPELL_SPELL_MANTLE = 169; + public const int SPELL_SPHERE_OF_CHAOS = 170; + public const int SPELL_STINKING_CLOUD = 171; + public const int SPELL_STONESKIN = 172; + public const int SPELL_STORM_OF_VENGEANCE = 173; + public const int SPELL_SUMMON_CREATURE_I = 174; + public const int SPELL_SUMMON_CREATURE_II = 175; + public const int SPELL_SUMMON_CREATURE_III = 176; + public const int SPELL_SUMMON_CREATURE_IV = 177; + public const int SPELL_SUMMON_CREATURE_IX = 178; + public const int SPELL_SUMMON_CREATURE_V = 179; + public const int SPELL_SUMMON_CREATURE_VI = 180; + public const int SPELL_SUMMON_CREATURE_VII = 181; + public const int SPELL_SUMMON_CREATURE_VIII = 182; + public const int SPELL_SUNBEAM = 183; + public const int SPELL_TENSERS_TRANSFORMATION = 184; + public const int SPELL_TIME_STOP = 185; // JLR - OEI 08/09/05 -- REMOVED + public const int SPELL_TRUE_SEEING = 186; + public const int SPELL_UNHOLY_AURA = 187; + public const int SPELL_VAMPIRIC_TOUCH = 188; + public const int SPELL_VIRTUE = 189; + public const int SPELL_WAIL_OF_THE_BANSHEE = 190; + public const int SPELL_WALL_OF_FIRE = 191; + public const int SPELL_WEB = 192; + public const int SPELL_WEIRD = 193; + public const int SPELL_WORD_OF_FAITH = 194; + public const int SPELLABILITY_AURA_BLINDING = 195; + public const int SPELLABILITY_AURA_COLD = 196; + public const int SPELLABILITY_AURA_ELECTRICITY = 197; + public const int SPELLABILITY_AURA_FEAR = 198; + public const int SPELLABILITY_AURA_FIRE = 199; + public const int SPELLABILITY_AURA_MENACE = 200; + public const int SPELLABILITY_AURA_PROTECTION = 201; + public const int SPELLABILITY_AURA_STUN = 202; + public const int SPELLABILITY_AURA_UNEARTHLY_VISAGE = 203; + public const int SPELLABILITY_AURA_UNNATURAL = 204; + public const int SPELLABILITY_BOLT_ABILITY_DRAIN_CHARISMA = 205; + public const int SPELLABILITY_BOLT_ABILITY_DRAIN_CONSTITUTION = 206; + public const int SPELLABILITY_BOLT_ABILITY_DRAIN_DEXTERITY = 207; + public const int SPELLABILITY_BOLT_ABILITY_DRAIN_INTELLIGENCE = 208; + public const int SPELLABILITY_BOLT_ABILITY_DRAIN_STRENGTH = 209; + public const int SPELLABILITY_BOLT_ABILITY_DRAIN_WISDOM = 210; + public const int SPELLABILITY_BOLT_ACID = 211; + public const int SPELLABILITY_BOLT_CHARM = 212; + public const int SPELLABILITY_BOLT_COLD = 213; + public const int SPELLABILITY_BOLT_CONFUSE = 214; + public const int SPELLABILITY_BOLT_DAZE = 215; + public const int SPELLABILITY_BOLT_DEATH = 216; + public const int SPELLABILITY_BOLT_DISEASE = 217; + public const int SPELLABILITY_BOLT_DOMINATE = 218; + public const int SPELLABILITY_BOLT_FIRE = 219; + public const int SPELLABILITY_BOLT_KNOCKDOWN = 220; + public const int SPELLABILITY_BOLT_LEVEL_DRAIN = 221; + public const int SPELLABILITY_BOLT_LIGHTNING = 222; + public const int SPELLABILITY_BOLT_PARALYZE = 223; + public const int SPELLABILITY_BOLT_POISON = 224; + public const int SPELLABILITY_BOLT_SHARDS = 225; + public const int SPELLABILITY_BOLT_SLOW = 226; + public const int SPELLABILITY_BOLT_STUN = 227; + public const int SPELLABILITY_BOLT_WEB = 228; + public const int SPELLABILITY_CONE_ACID = 229; + public const int SPELLABILITY_CONE_COLD = 230; + public const int SPELLABILITY_CONE_DISEASE = 231; + public const int SPELLABILITY_CONE_FIRE = 232; + public const int SPELLABILITY_CONE_LIGHTNING = 233; + public const int SPELLABILITY_CONE_POISON = 234; + public const int SPELLABILITY_CONE_SONIC = 235; + public const int SPELLABILITY_DRAGON_BREATH_ACID = 236; + public const int SPELLABILITY_DRAGON_BREATH_COLD = 237; + public const int SPELLABILITY_DRAGON_BREATH_FEAR = 238; + public const int SPELLABILITY_DRAGON_BREATH_FIRE = 239; + public const int SPELLABILITY_DRAGON_BREATH_GAS = 240; + public const int SPELLABILITY_DRAGON_BREATH_LIGHTNING = 241; + public const int SPELLABILITY_DRAGON_BREATH_PARALYZE = 242; + public const int SPELLABILITY_DRAGON_BREATH_SLEEP = 243; + public const int SPELLABILITY_DRAGON_BREATH_SLOW = 244; + public const int SPELLABILITY_DRAGON_BREATH_WEAKEN = 245; + public const int SPELLABILITY_DRAGON_WING_BUFFET = 246; + public const int SPELLABILITY_FEROCITY_1 = 247; + public const int SPELLABILITY_FEROCITY_2 = 248; + public const int SPELLABILITY_FEROCITY_3 = 249; + public const int SPELLABILITY_GAZE_CHARM = 250; + public const int SPELLABILITY_GAZE_CONFUSION = 251; + public const int SPELLABILITY_GAZE_DAZE = 252; + public const int SPELLABILITY_GAZE_DEATH = 253; + public const int SPELLABILITY_GAZE_DESTROY_CHAOS = 254; + public const int SPELLABILITY_GAZE_DESTROY_EVIL = 255; + public const int SPELLABILITY_GAZE_DESTROY_GOOD = 256; + public const int SPELLABILITY_GAZE_DESTROY_LAW = 257; + public const int SPELLABILITY_GAZE_DOMINATE = 258; + public const int SPELLABILITY_GAZE_DOOM = 259; + public const int SPELLABILITY_GAZE_FEAR = 260; + public const int SPELLABILITY_GAZE_PARALYSIS = 261; + public const int SPELLABILITY_GAZE_STUNNED = 262; + public const int SPELLABILITY_GOLEM_BREATH_GAS = 263; + public const int SPELLABILITY_HELL_HOUND_FIREBREATH = 264; + public const int SPELLABILITY_HOWL_CONFUSE = 265; + public const int SPELLABILITY_HOWL_DAZE = 266; + public const int SPELLABILITY_HOWL_DEATH = 267; + public const int SPELLABILITY_HOWL_DOOM = 268; + public const int SPELLABILITY_HOWL_FEAR = 269; + public const int SPELLABILITY_HOWL_PARALYSIS = 270; + public const int SPELLABILITY_HOWL_SONIC = 271; + public const int SPELLABILITY_HOWL_STUN = 272; + public const int SPELLABILITY_INTENSITY_1 = 273; + public const int SPELLABILITY_INTENSITY_2 = 274; + public const int SPELLABILITY_INTENSITY_3 = 275; + public const int SPELLABILITY_KRENSHAR_SCARE = 276; + public const int SPELLABILITY_LESSER_BODY_ADJUSTMENT = 277; + public const int SPELLABILITY_MEPHIT_SALT_BREATH = 278; + public const int SPELLABILITY_MEPHIT_STEAM_BREATH = 279; + public const int SPELLABILITY_MUMMY_BOLSTER_UNDEAD = 280; + public const int SPELLABILITY_PULSE_DROWN = 281; + public const int SPELLABILITY_PULSE_SPORES = 282; + public const int SPELLABILITY_PULSE_WHIRLWIND = 283; + public const int SPELLABILITY_PULSE_FIRE = 284; + public const int SPELLABILITY_PULSE_LIGHTNING = 285; + public const int SPELLABILITY_PULSE_COLD = 286; + public const int SPELLABILITY_PULSE_NEGATIVE = 287; + public const int SPELLABILITY_PULSE_HOLY = 288; + public const int SPELLABILITY_PULSE_DEATH = 289; + public const int SPELLABILITY_PULSE_LEVEL_DRAIN = 290; + public const int SPELLABILITY_PULSE_ABILITY_DRAIN_INTELLIGENCE = 291; + public const int SPELLABILITY_PULSE_ABILITY_DRAIN_CHARISMA = 292; + public const int SPELLABILITY_PULSE_ABILITY_DRAIN_CONSTITUTION = 293; + public const int SPELLABILITY_PULSE_ABILITY_DRAIN_DEXTERITY = 294; + public const int SPELLABILITY_PULSE_ABILITY_DRAIN_STRENGTH = 295; + public const int SPELLABILITY_PULSE_ABILITY_DRAIN_WISDOM = 296; + public const int SPELLABILITY_PULSE_POISON = 297; + public const int SPELLABILITY_PULSE_DISEASE = 298; + public const int SPELLABILITY_RAGE_3 = 299; + public const int SPELLABILITY_RAGE_4 = 300; + public const int SPELLABILITY_RAGE_5 = 301; + public const int SPELLABILITY_SMOKE_CLAW = 302; + public const int SPELLABILITY_SUMMON_SLAAD = 303; + public const int SPELLABILITY_SUMMON_TANARRI = 304; + public const int SPELLABILITY_TRUMPET_BLAST = 305; + public const int SPELLABILITY_TYRANT_FOG_MIST = 306; + public const int SPELLABILITY_BARBARIAN_RAGE = 307; + public const int SPELLABILITY_TURN_UNDEAD = 308; + public const int SPELLABILITY_WHOLENESS_OF_BODY = 309; + public const int SPELLABILITY_QUIVERING_PALM = 310; + public const int SPELLABILITY_EMPTY_BODY = 311; + public const int SPELLABILITY_DETECT_EVIL = 312; + public const int SPELLABILITY_LAY_ON_HANDS = 313; + public const int SPELLABILITY_AURA_OF_COURAGE = 314; + public const int SPELLABILITY_SMITE_EVIL = 315; + public const int SPELLABILITY_REMOVE_DISEASE = 316; + public const int SPELLABILITY_SUMMON_ANIMAL_COMPANION = 317; + public const int SPELLABILITY_SUMMON_FAMILIAR = 318; + public const int SPELLABILITY_ELEMENTAL_SHAPE = 319; + public const int SPELLABILITY_WILD_SHAPE = 320; + //public const int SPELL_PROTECTION_FROM_ALIGNMENT = 321; + //public const int SPELL_MAGIC_CIRCLE_AGAINST_ALIGNMENT = 322; + //public const int SPELL_AURA_VERSUS_ALIGNMENT = 323; + public const int SPELL_SHADES_SUMMON_SHADOW = 324; + public const int SPELL_DROWNED_AURA = 325; + //public const int SPELL_PROTECTION_FROM_ELEMENTS_FIRE = 326; + //public const int SPELL_PROTECTION_FROM_ELEMENTS_ACID = 327; + //public const int SPELL_PROTECTION_FROM_ELEMENTS_SONIC = 328; + //public const int SPELL_PROTECTION_FROM_ELEMENTS_ELECTRICITY = 329; + //public const int SPELL_ENDURE_ELEMENTS_COLD = 330; + //public const int SPELL_ENDURE_ELEMENTS_FIRE = 331; + //public const int SPELL_ENDURE_ELEMENTS_ACID = 332; + //public const int SPELL_ENDURE_ELEMENTS_SONIC = 333; + //public const int SPELL_ENDURE_ELEMENTS_ELECTRICITY = 334; + //public const int SPELL_RESIST_ELEMENTS_COLD = 335; + //public const int SPELL_RESIST_ELEMENTS_FIRE = 336; + //public const int SPELL_RESIST_ELEMENTS_ACID = 337; + //public const int SPELL_RESIST_ELEMENTS_SONIC = 338; + //public const int SPELL_RESIST_ELEMENTS_ELECTRICITY = 339; + public const int SPELL_SHADES_CONE_OF_COLD = 340; + public const int SPELL_SHADES_FIREBALL = 341; + public const int SPELL_SHADES_STONESKIN = 342; + public const int SPELL_SHADES_WALL_OF_FIRE = 343; + public const int SPELL_SHADOW_CONJURATION_SUMMON_SHADOW = 344; + public const int SPELL_SHADOW_CONJURATION_DARKNESS = 345; + public const int SPELL_SHADOW_CONJURATION_INIVSIBILITY = 346; + public const int SPELL_SHADOW_CONJURATION_MAGE_ARMOR = 347; + public const int SPELL_SHADOW_CONJURATION_MAGIC_MISSILE = 348; + public const int SPELL_GREATER_SHADOW_CONJURATION_SUMMON_SHADOW = 349; + public const int SPELL_GREATER_SHADOW_CONJURATION_ACID_ARROW = 350; + public const int SPELL_GREATER_SHADOW_CONJURATION_MIRROR_IMAGE = 351; + public const int SPELL_GREATER_SHADOW_CONJURATION_WEB = 352; + public const int SPELL_GREATER_SHADOW_CONJURATION_MINOR_GLOBE = 353; + public const int SPELL_EAGLES_SPLENDOR = 354; + public const int SPELL_OWLS_WISDOM = 355; + public const int SPELL_FOXS_CUNNING = 356; + public const int SPELL_GREATER_EAGLE_SPLENDOR = 357; + public const int SPELL_GREATER_OWLS_WISDOM = 358; + public const int SPELL_GREATER_FOXS_CUNNING = 359; + public const int SPELL_GREATER_BULLS_STRENGTH = 360; + public const int SPELL_GREATER_CATS_GRACE = 361; + public const int SPELL_GREATER_BEARS_ENDURANCE = 362; // JLR - OEI 07/11/05 -- Name Changed + public const int SPELL_AWAKEN = 363; + public const int SPELL_CREEPING_DOOM = 364; + public const int SPELL_DARKVISION = 365; + public const int SPELL_DESTRUCTION = 366; + public const int SPELL_HORRID_WILTING = 367; + public const int SPELL_ICE_STORM = 368; + public const int SPELL_ENERGY_BUFFER = 369; + public const int SPELL_NEGATIVE_ENERGY_BURST = 370; // JLR - OEI 07/11/05 -- REMOVED, but left in for traps/etc. + public const int SPELL_NEGATIVE_ENERGY_RAY = 371; // JLR - OEI 07/11/05 -- REMOVED, but left in for traps/etc. + public const int SPELL_AURA_OF_VITALITY = 372; + public const int SPELL_WAR_CRY = 373; + public const int SPELL_REGENERATE = 374; + public const int SPELL_EVARDS_BLACK_TENTACLES = 375; + public const int SPELL_LEGEND_LORE = 376; + public const int SPELL_FIND_TRAPS = 377; + public const int SPELLABILITY_SUMMON_MEPHIT = 378; + + public const int SPELLABILITY_SUMMON_CELESTIAL = 379; + public const int SPELLABILITY_BATTLE_MASTERY = 380; + public const int SPELLABILITY_DIVINE_STRENGTH = 381; + public const int SPELLABILITY_DIVINE_PROTECTION = 382; + public const int SPELLABILITY_NEGATIVE_PLANE_AVATAR = 383; + public const int SPELLABILITY_DIVINE_TRICKERY = 384; + public const int SPELLABILITY_ROGUES_CUNNING = 385; + public const int SPELLABILITY_ACTIVATE_ITEM = 386; + + // AFW-OEI 06/07/2006 + public const int SPELLABILITY_WILD_SHAPE_BROWN_BEAR = 401; + public const int SPELLABILITY_WILD_SHAPE_PANTHER = 402; + public const int SPELLABILITY_WILD_SHAPE_WOLF = 403; + public const int SPELLABILITY_WILD_SHAPE_BOAR = 404; + public const int SPELLABILITY_WILD_SHAPE_BADGER = 405; + + public const int SPELLABILITY_DRAGON_FEAR = 412; + + public const int SPELL_DIVINE_FAVOR = 414; + public const int SPELL_TRUE_STRIKE = 415; + public const int SPELL_FLARE = 416; + public const int SPELL_SHIELD = 417; + public const int SPELL_ENTROPIC_SHIELD = 418; + public const int SPELL_CONTINUAL_FLAME = 419; + public const int SPELL_ONE_WITH_THE_LAND = 420; // JLR - OEI 07/11/05 -- REMOVED + public const int SPELL_CAMOFLAGE = 421; + public const int SPELL_BLOOD_FRENZY = 422; // JLR - OEI 07/11/05 -- REMOVED + public const int SPELL_BOMBARDMENT = 423; + public const int SPELL_ACID_SPLASH = 424; + public const int SPELL_QUILLFIRE = 425; + public const int SPELL_EARTHQUAKE = 426; + public const int SPELL_SUNBURST = 427; + public const int SPELL_ACTIVATE_ITEM_SELF2 = 428; + public const int SPELL_AURAOFGLORY = 429; + public const int SPELL_BANISHMENT = 430; + public const int SPELL_INFLICT_MINOR_WOUNDS = 431; + public const int SPELL_INFLICT_LIGHT_WOUNDS = 432; + public const int SPELL_INFLICT_MODERATE_WOUNDS = 433; + public const int SPELL_INFLICT_SERIOUS_WOUNDS = 434; + public const int SPELL_INFLICT_CRITICAL_WOUNDS = 435; + public const int SPELL_BALAGARNSIRONHORN = 436; + public const int SPELL_DROWN = 437; + public const int SPELL_ELECTRIC_JOLT = 439; // JLR - OEI 07/11/05 -- REMOVED + public const int SPELL_FIREBRAND = 440; + public const int SPELL_WOUNDING_WHISPERS = 441; // JLR - OEI 07/11/05 -- REMOVED + public const int SPELL_AMPLIFY = 442; + public const int SPELL_ETHEREALNESS = 443; + public const int SPELL_UNDEATHS_ETERNAL_FOE = 444; + public const int SPELL_DIRGE = 445; + public const int SPELL_INFERNO = 446; + public const int SPELL_ISAACS_LESSER_MISSILE_STORM = 447; + public const int SPELL_ISAACS_GREATER_MISSILE_STORM = 448; + public const int SPELL_BANE = 449; + public const int SPELL_SHIELD_OF_FAITH = 450; + public const int SPELL_PLANAR_ALLY = 451; + public const int SPELL_MAGIC_FANG = 452; + public const int SPELL_GREATER_MAGIC_FANG = 453; + public const int SPELL_SPIKE_GROWTH = 454; + public const int SPELL_MASS_CAMOFLAGE = 455; + public const int SPELL_EXPEDITIOUS_RETREAT = 456; + public const int SPELL_TASHAS_HIDEOUS_LAUGHTER = 457; + public const int SPELL_DISPLACEMENT = 458; + public const int SPELL_BIGBYS_INTERPOSING_HAND = 459; + public const int SPELL_BIGBYS_FORCEFUL_HAND = 460; + public const int SPELL_BIGBYS_GRASPING_HAND = 461; + public const int SPELL_BIGBYS_CLENCHED_FIST = 462; + public const int SPELL_BIGBYS_CRUSHING_HAND = 463; + public const int SPELL_GRENADE_FIRE = 464; + public const int SPELL_GRENADE_TANGLE = 465; + public const int SPELL_GRENADE_HOLY = 466; + public const int SPELL_GRENADE_CHOKING = 467; + public const int SPELL_GRENADE_THUNDERSTONE = 468; + public const int SPELL_GRENADE_ACID = 469; + public const int SPELL_GRENADE_CHICKEN = 470; + public const int SPELL_GRENADE_CALTROPS = 471; + public const int SPELL_ACTIVATE_ITEM_PORTAL = 472; + public const int SPELL_DIVINE_MIGHT = 473; + public const int SPELL_DIVINE_SHIELD = 474; + public const int SPELL_SHADOW_DAZE = 475; + public const int SPELL_SUMMON_SHADOW = 476; + public const int SPELL_SHADOW_EVADE = 477; + public const int SPELL_TYMORAS_SMILE = 478; + public const int SPELL_CRAFT_HARPER_ITEM = 479; + public const int SPELL_FLESH_TO_STONE = 485; + public const int SPELL_STONE_TO_FLESH = 486; + public const int SPELL_TRAP_ARROW = 487; + public const int SPELL_TRAP_BOLT = 488; + public const int SPELL_TRAP_DART = 493; + public const int SPELL_TRAP_SHURIKEN = 494; + + public const int SPELLABILITY_BREATH_PETRIFY = 495; + public const int SPELLABILITY_TOUCH_PETRIFY = 496; + public const int SPELLABILITY_GAZE_PETRIFY = 497; + public const int SPELLABILITY_MANTICORE_SPIKES = 498; + + + public const int SPELL_ROD_OF_WONDER = 499; + public const int SPELL_DECK_OF_MANY_THINGS = 500; + public const int SPELL_ELEMENTAL_SUMMONING_ITEM = 502; + public const int SPELL_DECK_AVATAR = 503; + public const int SPELL_DECK_GEMSPRAY = 504; + public const int SPELL_DECK_BUTTERFLYSPRAY = 505; + + public const int SPELL_HEALINGKIT = 506; + public const int SPELL_POWERSTONE = 507; + public const int SPELL_SPELLSTAFF = 508; + public const int SPELL_CHARGER = 500; + public const int SPELL_DECHARGER = 510; + + public const int SPELL_KOBOLD_JUMP = 511; + public const int SPELL_CRUMBLE = 512; + public const int SPELL_INFESTATION_OF_MAGGOTS = 513; + public const int SPELL_HEALING_STING = 514; // JLR - OEI 07/11/05 -- REMOVED + public const int SPELL_GREAT_THUNDERCLAP = 515; + public const int SPELL_BALL_LIGHTNING = 516; // JLR - OEI 07/19/05 -- REMOVED + public const int SPELL_BATTLETIDE = 517; + public const int SPELL_COMBUST = 518; + public const int SPELL_DEATH_ARMOR = 519; + public const int SPELL_GEDLEES_ELECTRIC_LOOP = 520; + public const int SPELL_HORIZIKAULS_BOOM = 521; // JLR - OEI 07/11/05 -- REMOVED + public const int SPELL_IRONGUTS = 522; // JLR - OEI 07/11/05 -- REMOVED + public const int SPELL_MESTILS_ACID_BREATH = 523; + public const int SPELL_MESTILS_ACID_SHEATH = 524; + public const int SPELL_MONSTROUS_REGENERATION = 525; // JLR - OEI 08/09/05 -- REMOVED + public const int SPELL_SCINTILLATING_SPHERE = 526; + public const int SPELL_STONE_BONES = 527; // JLR - OEI 07/11/05 -- REMOVED + public const int SPELL_UNDEATH_TO_DEATH = 528; + public const int SPELL_VINE_MINE = 529; + public const int SPELL_VINE_MINE_ENTANGLE = 530; + public const int SPELL_VINE_MINE_HAMPER_MOVEMENT = 531; + public const int SPELL_VINE_MINE_CAMOUFLAGE = 532; + public const int SPELL_BLACK_BLADE_OF_DISASTER = 533; // JLR - OEI 08/09/05 -- REMOVED + public const int SPELL_SHELGARNS_PERSISTENT_BLADE = 534; // JLR - OEI 07/11/05 -- REMOVED + public const int SPELL_BLADE_THIRST = 535; // JLR - OEI 07/11/05 -- REMOVED + public const int SPELL_DEAFENING_CLANG = 356; // JLR - OEI 07/11/05 -- REMOVED + public const int SPELL_CLOUD_OF_BEWILDERMENT = 569; + + + public const int SPELL_KEEN_EDGE = 539; + public const int SPELL_BLACKSTAFF = 541; + public const int SPELL_FLAME_WEAPON = 542; + public const int SPELL_ICE_DAGGER = 543; // JLR - OEI 07/11/05 -- REMOVED + public const int SPELL_MAGIC_WEAPON = 544; + public const int SPELL_GREATER_MAGIC_WEAPON = 545; + + + public const int SPELL_STONEHOLD = 547; + public const int SPELL_DARKFIRE = 548; // JLR - OEI 07/19/05 -- REMOVED + public const int SPELL_GLYPH_OF_WARDING = 549; + + public const int SPELLABILITY_MINDBLAST = 551; + public const int SPELLABILITY_CHARMMONSTER = 552; + + public const int SPELL_IOUN_STONE_DUSTY_ROSE = 554; + public const int SPELL_IOUN_STONE_PALE_BLUE = 555; + public const int SPELL_IOUN_STONE_SCARLET_BLUE = 556; + public const int SPELL_IOUN_STONE_BLUE = 557; + public const int SPELL_IOUN_STONE_DEEP_RED = 558; + public const int SPELL_IOUN_STONE_PINK = 559; + public const int SPELL_IOUN_STONE_PINK_GREEN = 560; + + public const int SPELLABILITY_WHIRLWIND = 561; + + public const int SPELLABILITY_AA_IMBUE_ARROW = 600; + public const int SPELLABILITY_AA_SEEKER_ARROW_1 = 601; + public const int SPELLABILITY_AA_SEEKER_ARROW_2 = 602; + public const int SPELLABILITY_AA_HAIL_OF_ARROWS = 603; + public const int SPELLABILITY_AA_ARROW_OF_DEATH = 604; + + public const int SPELLABILITY_AS_GHOSTLY_VISAGE = 605; + public const int SPELLABILITY_AS_DARKNESS = 606; + public const int SPELLABILITY_AS_INVISIBILITY = 607; + public const int SPELLABILITY_AS_GREATER_INVISIBLITY = 608; // JLR - OEI 07/11/05 -- Name Changed + + public const int SPELLABILITY_BG_CREATEDEAD = 609; + public const int SPELLABILITY_BG_FIENDISH_SERVANT = 610; + public const int SPELLABILITY_BG_INFLICT_SERIOUS_WOUNDS = 611; + public const int SPELLABILITY_BG_INFLICT_CRITICAL_WOUNDS = 612; + public const int SPELLABILITY_BG_CONTAGION = 613; + public const int SPELLABILITY_BG_BULLS_STRENGTH = 614; + + public const int SPELL_FLYING_DEBRIS = 620; + + public const int SPELLABILITY_DC_DIVINE_WRATH = 622; + + public const int SPELLABILITY_PM_ANIMATE_DEAD = 623; + public const int SPELLABILITY_PM_SUMMON_UNDEAD = 624; + public const int SPELLABILITY_PM_UNDEAD_GRAFT_1 = 625; + public const int SPELLABILITY_PM_UNDEAD_GRAFT_2 = 626; + public const int SPELLABILITY_PM_SUMMON_GREATER_UNDEAD = 627; + public const int SPELLABILITY_PM_DEATHLESS_MASTER_TOUCH = 628; + + public const int SPELL_EPIC_HELLBALL = 636; + public const int SPELL_EPIC_MUMMY_DUST = 637; + public const int SPELL_EPIC_DRAGON_KNIGHT = 638; + public const int SPELL_EPIC_MAGE_ARMOR = 639; + public const int SPELL_EPIC_RUIN = 640; + + public const int SPELLABILITY_DW_DEFENSIVE_STANCE = 641; + + public const int SPELLABILITY_EPIC_MIGHTY_RAGE = 642; + public const int SPELLABILITY_EPIC_CURSE_SONG = 644; + public const int SPELLABILITY_EPIC_IMPROVED_WHIRLWIND = 645; + + + public const int SPELLABILITY_EPIC_SHAPE_DRAGONKIN = 646; + public const int SPELLABILITY_EPIC_SHAPE_DRAGON = 647; + + public const int SPELL_CRAFT_DYE_CLOTHCOLOR_1 = 648; + public const int SPELL_CRAFT_DYE_CLOTHCOLOR_2 = 649; + public const int SPELL_CRAFT_DYE_LEATHERCOLOR_1 = 650; + public const int SPELL_CRAFT_DYE_LEATHERCOLOR_2 = 651; + public const int SPELL_CRAFT_DYE_METALCOLOR_1 = 652; + public const int SPELL_CRAFT_DYE_METALCOLOR_2 = 653; + + public const int SPELL_CRAFT_ADD_ITEM_PROPERTY = 654; + public const int SPELL_CRAFT_POISON_WEAPON_OR_AMMO = 655; + + public const int SPELL_CRAFT_CRAFT_WEAPON_SKILL = 656; + public const int SPELL_CRAFT_CRAFT_ARMOR_SKILL = 657; + public const int SPELLABILITY_DRAGON_BREATH_NEGATIVE = 658; + + // NWN2 3.5 (Warlock Invocations) + public const int SPELL_I_BEGUILING_INFLUENCE = 807; + public const int SPELL_I_BREATH_OF_NIGHT = 808; + public const int SPELL_I_DARK_ONES_OWN_LUCK = 809; + public const int SPELL_I_DARKNESS = 810; + public const int SPELL_I_DEVILS_SIGHT = 811; + public const int SPELL_I_DRAINING_BLAST = 812; + public const int SPELL_I_ELDRITCH_SPEAR = 813; + public const int SPELL_I_ENTROPIC_WARDING = 814; + public const int SPELL_I_FRIGHTFUL_BLAST = 815; + public const int SPELL_I_HIDEOUS_BLOW = 816; + public const int SPELL_I_LEAPS_AND_BOUNDS = 817; + public const int SPELL_I_SEE_THE_UNSEEN = 818; + public const int SPELL_I_BESHADOWED_BLAST = 819; + public const int SPELL_I_BRIMSTONE_BLAST = 820; + public const int SPELL_I_CHARM = 821; + public const int SPELL_I_CURSE_OF_DESPAIR = 822; + public const int SPELL_I_THE_DEAD_WALK = 823; + public const int SPELL_I_ELDRITCH_CHAIN = 824; + public const int SPELL_I_FLEE_THE_SCENE = 825; + public const int SPELL_I_HELLRIME_BLAST = 826; + public const int SPELL_I_VOIDSENSE = 827; + public const int SPELL_I_VORACIOUS_DISPELLING = 828; + public const int SPELL_I_WALK_UNSEEN = 829; + public const int SPELL_I_BEWITCHING_BLAST = 830; + public const int SPELL_I_CHILLING_TENTACLES = 831; + public const int SPELL_I_DEVOUR_MAGIC = 832; + public const int SPELL_I_ELDRITCH_CONE = 833; + public const int SPELL_I_NOXIOUS_BLAST = 834; + public const int SPELL_I_TENACIOUS_PLAGUE = 835; + public const int SPELL_I_VITRIOLIC_BLAST = 836; + public const int SPELL_I_WALL_OF_PERILOUS_FLAME = 837; + public const int SPELL_I_DARK_FORESIGHT = 838; + public const int SPELL_I_ELDRITCH_DOOM = 839; + public const int SPELL_I_PATH_OF_SHADOW = 840; + public const int SPELL_I_RETRIBUTIVE_INVISIBILITY = 841; + public const int SPELL_I_UTTERDARK_BLAST = 842; + public const int SPELL_I_WORD_OF_CHANGING = 843; + public const int SPELLABILITY_I_ELDRITCH_BLAST = 844; + + // NWN2 3.5 (others) + public const int SPELL_DETECT_UNDEAD = 845; + public const int SPELL_ENLARGE_PERSON = 846; + public const int SPELL_SHOCKING_GRASP = 847; + public const int SPELL_LOW_LIGHT_VISION = 848; + public const int SPELL_BLINDSIGHT = 849; + public const int SPELL_FALSE_LIFE = 850; + public const int SPELL_FIREBURST = 851; + public const int SPELL_MIRROR_IMAGE = 852; + public const int SPELL_PROTECTION_FROM_ARROWS = 853; + public const int SPELL_SCARE = 854; + public const int SPELL_DEEP_SLUMBER = 855; + public const int SPELL_ENHANCE_FAMILIAR = 856; + public const int SPELL_HEROISM = 857; + public const int SPELL_IMPROVED_MAGE_ARMOR = 858; + public const int SPELL_RAGE = 859; + public const int SPELL_SPIDERSKIN = 860; + public const int SPELL_WEAPON_OF_IMPACT = 861; + public const int SPELL_ASSAY_RESISTANCE = 862; + public const int SPELL_CRUSHING_DESPAIR = 863; + public const int SPELL_JOYFUL_NOISE = 864; + public const int SPELL_DEATHWATCH = 865; + public const int SPELL_DEATH_KNELL = 866; + public const int SPELL_SHIELD_OTHER = 867; + public const int SPELL_SPELL_IMMUNITY = 868; + + public const int SPELL_GREATER_FIREBURST = 869; + public const int SPELL_PERMANENCY = 870; + public const int SPELL_SHROUD_OF_FLAME = 871; + public const int SPELL_TELEPORT = 872; + public const int SPELL_VITRIOLIC_SPHERE = 873; + public const int SPELL_CONTINGENCY = 874; + public const int SPELL_DISINTEGRATE = 875; + public const int SPELL_GREATER_HEROISM = 876; + public const int SPELL_REPULSION = 877; + public const int SPELL_STONE_BODY = 878; + public const int SPELL_ENERGY_IMMUNITY = 879; + public const int SPELL_LIMITED_WISH = 880; + public const int SPELL_MASS_HOLD_PERSON = 881; + public const int SPELL_MASS_INVISIBILITY = 882; + public const int SPELL_SPELL_TURNING = 883; + public const int SPELL_GREATER_TELEPORT = 884; + public const int SPELL_IRON_BODY = 885; + public const int SPELL_POLAR_RAY = 886; + public const int SPELL_MASS_HOLD_MONSTER = 887; + public const int SPELL_STALKING_SPELL = 888; + public const int SPELL_WISH = 889; + public const int SPELL_RIGHTEOUS_MIGHT = 890; + public const int SPELL_MASS_CURE_MODERATE_WOUNDS = 891; + public const int SPELL_MASS_INFLICT_MODERATE_WOUNDS = 892; + public const int SPELL_FORTUNATE_FATE = 893; + public const int SPELL_MASS_CURE_SERIOUS_WOUNDS = 894; + public const int SPELL_MASS_INFLICT_SERIOUS_WOUNDS = 895; + public const int SPELL_GREATER_SPELL_IMMUNITY = 896; + public const int SPELL_MASS_CURE_CRITICAL_WOUNDS = 897; + public const int SPELL_MASS_INFLICT_CRITICAL_WOUNDS = 898; + public const int SPELL_MIRACLE = 899; + public const int SPELL_SONG_OF_DISCORD = 900; + public const int SPELLABILITY_FIENDISH_RESILIENCE = 901; + public const int SPELLABILITY_FRENZY = 902; + public const int SPELLABILITY_INSPIRE_FRENZY = 903; + public const int SPELLABILITY_ONHITFLAMEDAMAGE = 904; + public const int SPELLABILITY_SONG_INSPIRE_COURAGE = 905; + public const int SPELLABILITY_SONG_INSPIRE_COMPETENCE = 906; + public const int SPELLABILITY_SONG_INSPIRE_DEFENSE = 907; + public const int SPELLABILITY_SONG_INSPIRE_REGENERATION = 908; + public const int SPELLABILITY_SONG_INSPIRE_TOUGHNESS = 909; + public const int SPELLABILITY_SONG_INSPIRE_SLOWING = 910; + public const int SPELLABILITY_SONG_INSPIRE_JARRING = 911; + public const int SPELLABILITY_SONG_COUNTERSONG = 912; + public const int SPELLABILITY_SONG_FASCINATE = 913; + public const int SPELLABILITY_SONG_HAVEN_SONG = 914; + public const int SPELLABILITY_SONG_CLOUD_MIND = 915; + public const int SPELLABILITY_SONG_IRONSKIN_CHANT = 916; + public const int SPELLABILITY_SONG_OF_FREEDOM = 917; + public const int SPELLABILITY_SONG_INSPIRE_HEROICS = 918; + public const int SPELLABILITY_SONG_INSPIRE_LEGION = 919; + public const int SPELLABILITY_SONG_LEAVETAKINGS = 920; + public const int SPELLABILITY_SONG_THE_SPIRIT_OF_THE_WOOD = 921; + public const int SPELLABILITY_SONG_THE_FALL_OF_ZEEAIRE = 922; + public const int SPELLABILITY_SONG_THE_BATTLE_OF_HIGHCLIFF = 923; + public const int SPELLABILITY_SONG_THE_SIEGE_OF_CROSSROAD_KEEP = 924; + public const int SPELLABILITY_SONG_A_TALE_OF_HEROES = 925; + public const int SPELLABILITY_SONG_THE_TINKERS_SONG = 926; + public const int SPELLABILITY_SONG_DIRGE_OF_ANCIENT_ILLEFARN = 927; + public const int SPELLABILITY_SONG_OF_AGES = 928; + public const int SPELL_TRUE_NAME = 932; + public const int SPELLABILITY_IMPROVED_REACTION = 933; + public const int SPELLABILITY_CLEANSING_NOVA = 934; + public const int SPELLABILITY_SHINING_SHIELD = 935; + public const int SPELLABILITY_SOOTHING_LIGHT = 936; + public const int SPELLABILITY_AURORA_CHAIN = 937; + public const int SPELLABILITY_KOS_DOT = 938; + public const int SPELLABILITY_KOS_PROTECTION = 939; + public const int SPELLABILITY_KOS_NUKE = 940; + public const int SPELLABILITY_DARKNESS = 941; + public const int SPELLABILITY_LIGHT = 942; + public const int SPELLABILITY_ENTROPIC_SHIELD = 945; // AFW-OEI 08/07/2007 + public const int SPELLABILITY_WEB_OF_PURITY = 948; + public const int SPELLABILITY_PROTECTIVE_AURA = 957; + public const int SPELLABILITY_FURIOUS_ASSAULT = 958; + public const int SPELLABILITY_WAR_GLORY = 959; + public const int SPELLABILITY_INFLAME = 960; + public const int SPELLABILITY_WARPRIEST_FEAR_AURA = 962; + public const int SPELLABILITY_WARPRIEST_HASTE = 964; // AFW-OEI 04/23/2007 + public const int SPELLABILITY_IMPLACABLE_FOE = 966; + public const int SPELL_LEAST_SPELL_MANTLE = 967; + public const int SPELLABLILITY_AURA_OF_DESPAIR = 968; + public const int SPELL_SHADES_TARGET_CASTER = 969; + public const int SPELL_CATAPULT = 970; // This is special-use for the wall battle, created by CGaw + public const int SPELL_SHADES_TARGET_CREATURE = 971; + public const int SPELL_SHADES_TARGET_GROUND = 972; + public const int SPELL_METEOR_SWARM_TARGET_SELF = 973; + public const int SPELL_METEOR_SWARM_TARGET_LOCATION = 974; + public const int SPELL_METEOR_SWARM_TARGET_CREATURE = 975; + public const int SPELL_ENERGY_IMMUNITY_ACID = 976; + public const int SPELL_ENERGY_IMMUNITY_COLD = 977; + public const int SPELL_ENERGY_IMMUNITY_ELECTRICAL = 978; + public const int SPELL_ENERGY_IMMUNITY_FIRE = 979; + public const int SPELL_ENERGY_IMMUNITY_SONIC = 980; + public const int SPELLABILITY_HEZROU_STENCH = 981; + public const int SPELLABILITY_GHAST_STENCH = 982; + public const int SPELLPOTION_LORE = 983; + public const int SPELL_INFINITE_RANGE_FIREBALL = 984; // Special-use spell for wall battle. CGaw - 7/31/06 + public const int SPELLABILITY_PILFER_MAGIC = 985; + public const int SPELL_BLADE_BARRIER_WALL = 986; + public const int SPELL_BLADE_BARRIER_SELF = 987; + public const int SPELLABILITY_DRAGON_TAIL_SLAP = 988; + public const int SPELL_TRUE_NAME_TWO = 989; + public const int SPELL_TRUE_NAME_THREE = 990; + //Don't use this one =991; + public const int SPELL_BLESSED_OF_WAUKEEN = 992; + public const int SPELL_ARROW_NOFOG = 993; // Special-use spell for wall-battle. + public const int SPELL_ARROW_FIRE_NOFOG = 994; // Special-use spell for wall-battle. + public const int SPELL_SILVER_SWORD_ATTACK = 995; + public const int SPELL_SHARD_SHIELD = 996; + public const int SPELL_SHARD_ATTACK = 997; + public const int SPELL_SILVER_SWORD_STOP_ABILITY = 998; + public const int SPELL_SILVER_SWORD_RECHARGE = 999; + public const int SPELL_FOUNDATION_OF_STONE = 1000; + public const int SPELL_BODY_OF_THE_SUN = 1001; + public const int SPELL_JAGGED_TOOTH = 1002; + public const int SPELL_MOON_BOLT = 1003; + public const int SPELL_REJUVENATION_COCOON = 1004; + public const int SPELL_TORTOISE_SHELL = 1005; + public const int SPELL_SWAMP_LUNG = 1006; + public const int SPELL_STORM_AVATAR = 1007; + public const int SPELL_NATURE_AVATAR = 1008; + public const int SPELL_POWORD_WEAKEN = 1009; + public const int SPELL_POWORD_MALADROIT = 1010; + public const int SPELL_POWORD_BLIND = 1011; + public const int SPELL_POWORD_PETRIFY = 1012; + public const int SPELL_GREATER_RESISTANCE = 1013; + public const int SPELL_SUPERIOR_RESISTANCE = 1014; + public const int SPELL_CALL_LIGHTNING_STORM = 1015; + public const int SPELL_CACOPHONIC_BURST = 1016; + public const int SPELL_MASS_CONTAGION = 1017; + public const int SPELL_MASS_DEATH_WARD = 1018; + public const int SPELL_MASS_DROWN = 1019; + public const int SPELL_VIGOR = 1020; + public const int SPELL_LESSER_VIGOR = 1021; + public const int SPELL_MASS_LESSER_VIGOR = 1022; + public const int SPELL_VIGOROUS_CYCLE = 1023; + public const int SPELL_MASS_BEAR_ENDURANCE = 1024; + public const int SPELL_MASS_BULL_STRENGTH = 1025; + public const int SPELL_MASS_OWL_WISDOM = 1026; + public const int SPELL_MASS_CAT_GRACE = 1027; + public const int SPELL_MASS_EAGLE_SPLENDOR = 1028; + public const int SPELL_MASS_FOX_CUNNING = 1029; + public const int SPELL_HEAL_ANIMAL_COMPANION = 1030; + public const int SPELL_HYPOTHERMIA = 1031; + public const int SPELL_AVASCULATE = 1032; + public const int SPELL_WALL_DISPEL_MAGIC = 1033; + public const int SPELL_GREATER_WALL_DISPEL_MAGIC = 1034; + public const int SPELL_CURSE_OF_BLADES = 1035; + public const int SPELL_GREATER_CURSE_OF_BLADES = 1036; + public const int SPELL_SHOUT = 1037; + public const int SPELL_GREATER_SHOUT = 1038; + public const int SPELL_HISS_OF_SLEEP = 1039; + public const int SPELL_VISAGE_OF_THE_DEITY = 1040; + public const int SPELL_GREATER_VISAGE_OF_THE_DEITY = 1041; + public const int SPELL_CREEPING_COLD = 1042; + public const int SPELL_GREATER_CREEPING_COLD = 1043; + public const int SPELL_TOUCH_OF_FATIGUE = 1044; + public const int SPELL_GLACIAL_WRATH = 1045; + public const int SPELL_POWER_WORD_DISABLE = 1046; + public const int SPELLABILITY_SUMMON_GALE = 1047; + public const int SPELLABILITY_MERGE_WITH_STONE = 1048; + public const int SPELLABILITY_REACH_TO_THE_BLAZE = 1049; + public const int SPELLABILITY_SHROUDING_FOG = 1050; + public const int SPELLABILITY_BLAZING_AURA = 1066; // AFW-OEI 02/19/2007 + public const int SPELLABILITY_LAST_STAND = 1067; // AFW-OEI 02/22/2007 + + public const int SPELL_ENTROPIC_HUSK = 1077; // AFW-OEI 04/16/2007 + + // AFW-OEI 02/28/2007: Ioun Stones + public const int SPELLABILITY_IOUN_STONE_STR = 1082; + public const int SPELLABILITY_IOUN_STONE_DEX = 1083; + public const int SPELLABILITY_IOUN_STONE_CON = 1084; + public const int SPELLABILITY_IOUN_STONE_INT = 1085; + public const int SPELLABILITY_IOUN_STONE_WIS = 1086; + public const int SPELLABILITY_IOUN_STONE_CHA = 1087; + + // AFW-OEI 03/01/2007: Magical Beast Wild Shape + public const int SPELLABILITY_MAGICAL_BEAST_WILD_SHAPE = 1088; + public const int SPELLABILITY_MAGICAL_BEAST_WILD_SHAPE_CELESTIAL_BEAR = 1089; + public const int SPELLABILITY_MAGICAL_BEAST_WILD_SHAPE_PHASE_SPIDER = 1090; + public const int SPELLABILITY_MAGICAL_BEAST_WILD_SHAPE_WINTER_WOLF = 1091; + + // AFW-OEI 03/15/2007: Spirit Shaman + public const int SPELLABILITY_BLESSING_OF_THE_SPIRITS = 1096; + public const int SPELLABILITY_WARDING_OF_THE_SPIRITS = 1101; + + // AFW-OEI 03/22/2007: Stormlord + public const int SPELLABILITY_STORMLORD_SHOCK_WEAPON = 1108; + public const int SPELLABILITY_STORMLORD_SONIC_WEAPON = 1109; + public const int SPELLABILITY_STORMLORD_SHOCKING_BURST_WEAPON = 1110; + + //Spirit Eater spell abilities + public const int SPELLABILITY_DEVOUR_SPIRIT = 1068; + public const int SPELLABILITY_SPIRIT_GORGE = 1069; + public const int SPELLABILITY_RAVENOUS_INCARNATION = 1070; + public const int SPELLABILITY_BESTOW_LIFE_FORCE = 1071; + public const int SPELLABILITY_SUPPRESS = 1072; + public const int SPELLABILITY_SATIATE = 1073; + public const int SPELLABILITY_DEVOUR_SOUL = 1092; + public const int SPELLABILITY_ETERNAL_REST = 1093; + public const int SPELLABILITY_MOLD_SPIRIT = 1111; + public const int SPELLABILITY_MALLEATE_SPIRIT = 1112; + public const int SPELLABILITY_SPIRITUAL_EVISCERATION = 1125; + public const int SPELLABILITY_PROVOKE_SPIRITS = 1138; + public const int SPELLABILITY_AKACHI_DEVOUR = 1139; + + // AFW-OEI 04/18/2007: Influence feats + public const int SPELLABILITY_INFLUENCE_OKKU_LOYAL = 1113; + public const int SPELLABILITY_INFLUENCE_OKKU_DEVOTED = 1114; + public const int SPELLABILITY_INFLUENCE_OKKU_DEVOTED_PLAYER = 1115; + public const int SPELLABILITY_INFLUENCE_DOVE_DEVOTED = 1116; + public const int SPELLABILITY_INFLUENCE_DOVE_DEVOTED_PLAYER = 1117; + public const int SPELLABILITY_INFLUENCE_GANN_ROMANCE = 1118; + public const int SPELLABILITY_INFLUENCE_GANN_ROMANCE_PLAYER = 1119; + public const int SPELLABILITY_INFLUENCE_ONEOFMANY_LOYAL_PLAYER = 1120; + public const int SPELLABILITY_INFLUENCE_ONEOFMANY_DEVOTED_PLAYER = 1121; + + public const int SPELLABILITY_FAVORED_SOUL_HASTE = 1122; // AFW-OEI 04/23/2007 + + // AFW-OEI 05/04/2007: Plant Wild Shape + public const int SPELLABILITY_PLANT_WILD_SHAPE = 1126; + public const int SPELLABILITY_PLANT_WILD_SHAPE_SHAMBLING_MOUND = 1127; + public const int SPELLABILITY_PLANT_WILD_SHAPE_TREANT = 1128; + + public const int SPELLABILITY_ABYSSAL_BLAST = 1134; + + // AFW-OEI 05/22/2007: Half-Celestial spell-like abilities + public const int SPELLABILITY_WORD_OF_FAITH = 1135; + public const int SPELLABILITY_MASS_CHARM_MONSTER = 1136; + public const int SPELLABILITY_SUMMON_PLANETAR = 1137; + + public const int SPELL_ARC_OF_LIGHTNING = 1162; + public const int SPELL_BLADES_OF_FIRE = 1163; + public const int SPELL_BLADEWEAVE = 1164; + public const int SPELL_BLOOD_TO_WATER = 1165; + public const int SPELL_BODAKS_GLARE = 1166; + public const int SPELL_DEHYDRATE = 1167; + public const int SPELL_ANIMALISTIC_POWER = 1168; + public const int SPELL_LIVING_UNDEATH = 1170; + public const int SPELL_NIGHTSHIELD = 1171; + public const int SPELL_CONVICTION = 1172; + public const int SPELL_CASTIGATION = 1173; + public const int SPELL_SYMBOL_OF_DEATH = 1175; + public const int SPELL_SYMBOL_OF_FEAR = 1176; + public const int SPELL_SYMBOL_OF_PAIN = 1177; + public const int SPELL_SYMBOL_OF_PERSUASION = 1178; + public const int SPELL_SYMBOL_OF_SLEEP = 1179; + public const int SPELL_SYMBOL_OF_STUNNING = 1180; + public const int SPELL_SYMBOL_OF_WEAKNESS = 1181; + + // JWR-OEI 05/28/2008 + public const int SPELL_DIVINE_VENGEANCE = 1182; + public const int SPELLABILITY_KELEMVORS_GRACE = 1183; + public const int SPELLABILITY_ETHEREAL_PURGE = 1184; + public const int SPELLABILITY_HELLFIRE_SHIELD = 1187; + public const int SPELLABILITY_HELLFIRE_BLAST = 1188; + public const int SPELL_SHAMAN_RES = 1189; + public const int SPELL_SUMMON_BAATEZU = 1190; + public const int SPELLABILITY_ANIMAL_TRANCE = 1191; + public const int SPELL_GRENADE_HEAL = 1192; + public const int SPELL_GRENADE_BUFF_STR = 1193; + public const int SPELL_GRENADE_BUFF_DEX = 1194; + public const int SPELL_GRENADE_BUFF_CON = 1195; + public const int SPELLABILITY_DARKNESS_RACIAL = 1196; + public const int SPELL_LESSER_ORB_OF_COLD = 1197; + public const int SPELL_LESSER_ORB_OF_ELECTRICITY = 1198; + public const int SPELL_LESSER_ORB_OF_FIRE = 1199; + public const int SPELL_REDUCE_PERSON = 1200; + public const int SPELL_SNAKES_SWIFTNESS = 1201; + public const int SPELL_STABALIZE = 1202; + public const int SPELL_LESSER_ORB_OF_ACID = 1203; + public const int SPELL_LESSER_ORB_OF_SOUND = 1204; + public const int SPELL_ORB_OF_ACID = 1205; + public const int SPELL_ORB_OF_COLD = 1206; + public const int SPELL_ORB_OF_ELECTRICITY = 1207; + public const int SPELL_ORB_OF_FIRE = 1208; + public const int SPELL_ORB_OF_SOUND = 1209; + public const int SPELL_REDUCE_ANIMAL = 1210; + public const int SPELL_REDUCE_PERSON_GREATER = 1211; + public const int SPELL_REDUCE_PERSON_MASS = 1212; + public const int SPELL_SNAKES_SWIFTNESS_MASS = 1213; + + + + + + + // these constants must match those in poison.2da + public const int POISON_NIGHTSHADE = 0; + public const int POISON_SMALL_CENTIPEDE_POISON = 1; + public const int POISON_BLADE_BANE = 2; + public const int POISON_GREENBLOOD_OIL = 3; + public const int POISON_BLOODROOT = 4; + public const int POISON_PURPLE_WORM_POISON = 5; + public const int POISON_LARGE_SCORPION_VENOM = 6; + public const int POISON_WYVERN_POISON = 7; + public const int POISON_BLUE_WHINNIS = 8; + public const int POISON_GIANT_WASP_POISON = 9; + public const int POISON_SHADOW_ESSENCE = 10; + public const int POISON_BLACK_ADDER_VENOM = 11; + public const int POISON_DEATHBLADE = 12; + public const int POISON_MALYSS_ROOT_PASTE = 13; + public const int POISON_NITHARIT = 14; + public const int POISON_DRAGON_BILE = 15; + public const int POISON_SASSONE_LEAF_RESIDUE = 16; + public const int POISON_TERINAV_ROOT = 17; + public const int POISON_CARRION_CRAWLER_BRAIN_JUICE = 18; + public const int POISON_BLACK_LOTUS_EXTRACT = 19; + public const int POISON_OIL_OF_TAGGIT = 20; + public const int POISON_ID_MOSS = 21; + public const int POISON_STRIPED_TOADSTOOL = 22; + public const int POISON_ARSENIC = 23; + public const int POISON_LICH_DUST = 24; + public const int POISON_DARK_REAVER_POWDER = 25; + public const int POISON_UNGOL_DUST = 26; + public const int POISON_BURNT_OTHUR_FUMES = 27; + public const int POISON_CHAOS_MIST = 28; + public const int POISON_BEBILITH_VENOM = 29; + public const int POISON_QUASIT_VENOM = 30; + public const int POISON_PIT_FIEND_ICHOR = 31; + public const int POISON_ETTERCAP_VENOM = 32; + public const int POISON_ARANEA_VENOM = 33; + public const int POISON_TINY_SPIDER_VENOM = 34; + public const int POISON_SMALL_SPIDER_VENOM = 35; + public const int POISON_MEDIUM_SPIDER_VENOM = 36; + public const int POISON_LARGE_SPIDER_VENOM = 37; + public const int POISON_HUGE_SPIDER_VENOM = 38; + public const int POISON_GARGANTUAN_SPIDER_VENOM = 39; + public const int POISON_COLOSSAL_SPIDER_VENOM = 40; + public const int POISON_PHASE_SPIDER_VENOM = 41; + public const int POISON_WRAITH_SPIDER_VENOM = 42; + public const int POISON_IRON_GOLEM = 43; + + // these constants match those in disease.2da + public const int DISEASE_BLINDING_SICKNESS = 0; + public const int DISEASE_CACKLE_FEVER = 1; + public const int DISEASE_DEVIL_CHILLS = 2; + public const int DISEASE_DEMON_FEVER = 3; + public const int DISEASE_FILTH_FEVER = 4; + public const int DISEASE_MINDFIRE = 5; + public const int DISEASE_MUMMY_ROT = 6; + public const int DISEASE_RED_ACHE = 7; + public const int DISEASE_SHAKES = 8; + public const int DISEASE_SLIMY_DOOM = 9; + public const int DISEASE_RED_SLAAD_EGGS = 10; + public const int DISEASE_GHOUL_ROT = 11; + public const int DISEASE_ZOMBIE_CREEP = 12; + public const int DISEASE_DREAD_BLISTERS = 13; + public const int DISEASE_BURROW_MAGGOTS = 14; + public const int DISEASE_SOLDIER_SHAKES = 15; + public const int DISEASE_VERMIN_MADNESS = 16; + + // the thing after CREATURE_TYPE_ should refer to the + // actual "subtype" in the lists given above. + public const int CREATURE_TYPE_RACIAL_TYPE = 0; + public const int CREATURE_TYPE_PLAYER_CHAR = 1; + public const int CREATURE_TYPE_CLASS = 2; + public const int CREATURE_TYPE_REPUTATION = 3; + public const int CREATURE_TYPE_IS_ALIVE = 4; + public const int CREATURE_TYPE_HAS_SPELL_EFFECT = 5; + public const int CREATURE_TYPE_DOES_NOT_HAVE_SPELL_EFFECT = 6; + public const int CREATURE_TYPE_PERCEPTION = 7; + public const int CREATURE_TYPE_SCRIPTHIDDEN = 8;//RWT-OEI 03/04/06 + //public const int CREATURE_TYPE_ALIGNMENT = 2; + + //RWT-OEI 03/04/06 - Scripters want to be able to search for both alive and + //dead nearest creatures sometimes. Use with the CREATURE_TYPE_IS_ALIVE category + public const int CREATURE_ALIVE_FALSE = 0; + public const int CREATURE_ALIVE_TRUE = 1; + public const int CREATURE_ALIVE_BOTH = 2; + + //RWT-OEI 03/04/06 - Parameters for the CREATURE_TYPE_SCRIPTHIDDEN category in GetNearestCreature + public const int CREATURE_SCRIPTHIDDEN_FALSE = 0; + public const int CREATURE_SCRIPTHIDDEN_TRUE = 1; + public const int CREATURE_SCRIPTHIDDEN_BOTH = 2; + + public const int REPUTATION_TYPE_FRIEND = 0; + public const int REPUTATION_TYPE_ENEMY = 1; + public const int REPUTATION_TYPE_NEUTRAL = 2; + + public const int PERCEPTION_SEEN_AND_HEARD = 0; + public const int PERCEPTION_NOT_SEEN_AND_NOT_HEARD = 1; + public const int PERCEPTION_HEARD_AND_NOT_SEEN = 2; + public const int PERCEPTION_SEEN_AND_NOT_HEARD = 3; + public const int PERCEPTION_NOT_HEARD = 4; + public const int PERCEPTION_HEARD = 5; + public const int PERCEPTION_NOT_SEEN = 6; + public const int PERCEPTION_SEEN = 7; + + public const int PLAYER_CHAR_NOT_PC = 0; + public const int PLAYER_CHAR_IS_PC = 1; + public const int PLAYER_CHAR_IS_CONTROLLED = 2; + + public const int CLASS_TYPE_BARBARIAN = 0; + public const int CLASS_TYPE_BARD = 1; + public const int CLASS_TYPE_CLERIC = 2; + public const int CLASS_TYPE_DRUID = 3; + public const int CLASS_TYPE_FIGHTER = 4; + public const int CLASS_TYPE_MONK = 5; + public const int CLASS_TYPE_PALADIN = 6; + public const int CLASS_TYPE_RANGER = 7; + public const int CLASS_TYPE_ROGUE = 8; + public const int CLASS_TYPE_SORCERER = 9; + public const int CLASS_TYPE_WIZARD = 10; + public const int CLASS_TYPE_ABERRATION = 11; + public const int CLASS_TYPE_ANIMAL = 12; + public const int CLASS_TYPE_CONSTRUCT = 13; + public const int CLASS_TYPE_HUMANOID = 14; + public const int CLASS_TYPE_MONSTROUS = 15; + public const int CLASS_TYPE_ELEMENTAL = 16; + public const int CLASS_TYPE_FEY = 17; + public const int CLASS_TYPE_DRAGON = 18; + public const int CLASS_TYPE_UNDEAD = 19; + public const int CLASS_TYPE_COMMONER = 20; + public const int CLASS_TYPE_BEAST = 21; + public const int CLASS_TYPE_GIANT = 22; + public const int CLASS_TYPE_MAGICAL_BEAST = 23; + public const int CLASS_TYPE_OUTSIDER = 24; + public const int CLASS_TYPE_SHAPECHANGER = 25; + public const int CLASS_TYPE_VERMIN = 26; + public const int CLASS_TYPE_SHADOWDANCER = 27; + public const int CLASS_TYPE_HARPER = 28; + public const int CLASS_TYPE_ARCANE_ARCHER = 29; + public const int CLASS_TYPE_ASSASSIN = 30; + public const int CLASS_TYPE_BLACKGUARD = 31; + public const int CLASS_TYPE_DIVINECHAMPION = 32; + public const int CLASS_TYPE_WEAPON_MASTER = 33; + public const int CLASS_TYPE_PALEMASTER = 34; + public const int CLASS_TYPE_SHIFTER = 35; + public const int CLASS_TYPE_DWARVENDEFENDER = 36; + public const int CLASS_TYPE_DRAGONDISCIPLE = 37; + public const int CLASS_TYPE_OOZE = 38; + public const int CLASS_TYPE_WARLOCK = 39; + // New Prestige Classes + public const int CLASS_TYPE_ARCANETRICKSTER = 40; + //public const int CLASS_TYPE_CAVALIER = 41; + //public const int CLASS_TYPE_CONTEMPLATIVE = 42; + public const int CLASS_TYPE_FRENZIEDBERSERKER = 43; + //public const int CLASS_TYPE_MYSTICTHEURGE = 44; + public const int CLASS_TYPE_SACREDFIST = 45; + public const int CLASS_TYPE_SHADOWTHIEFOFAMN = 46; + public const int CLASS_NWNINE_WARDER = 47; // AFW-OEI 04/18/2006 + //public const int CLASS_NWNINE_MAGUS = 48; // AFW-OEI 04/18/2006 + //public const int CLASS_NWNINE_AGENT = 49; // AFW-OEI 04/18/2006 + public const int CLASS_TYPE_DUELIST = 50; // AFW-OEI 04/18/2006 + public const int CLASS_TYPE_WARPRIEST = 51; // AFW-OEI 05/20/2006 + public const int CLASS_TYPE_ELDRITCH_KNIGHT = 52; // AFW-OEI 05/22/2006 + public const int CLASS_TYPE_RED_WIZARD = 53; // AFW-OEI 03/13/2007 + public const int CLASS_TYPE_ARCANE_SCHOLAR = 54; // AFW-OEI 03/13/2007 + public const int CLASS_TYPE_SPIRIT_SHAMAN = 55; // AFW-OEI 03/13/2007 + public const int CLASS_TYPE_STORMLORD = 56; // AFW-OEI 03/20/2007 + public const int CLASS_TYPE_INVISIBLE_BLADE = 57; // AFW-OEI 04/24/2007 + public const int CLASS_TYPE_FAVORED_SOUL = 58; // AFW-OEI 04/24/2007 + public const int CLASS_TYPE_SWASHBUCKLER = 59; // JWR-OEI 05/19/2008 + public const int CLASS_TYPE_DOOMGUIDE = 60; // JWR-OEI 05/19/08 + public const int CLASS_TYPE_HELLFIRE_WARLOCK = 61; // JWR-OEI 06/13/08 + + public const int CLASS_TYPE_INVALID = 255; + + // These are for the LevelUpHenchman command. + public const int PACKAGE_BARBARIAN = 0; + public const int PACKAGE_BARD = 1; + public const int PACKAGE_CLERIC = 2; + public const int PACKAGE_DRUID = 3; + public const int PACKAGE_FIGHTER = 4; + public const int PACKAGE_MONK = 5; + public const int PACKAGE_PALADIN = 6; + public const int PACKAGE_RANGER = 7; + public const int PACKAGE_ROGUE = 8; + public const int PACKAGE_SORCERER = 9; + public const int PACKAGE_WIZARDGENERALIST = 10; + public const int PACKAGE_DRUID_INTERLOPER = 11; + public const int PACKAGE_DRUID_GRAY = 12; + public const int PACKAGE_DRUID_DEATH = 13; + public const int PACKAGE_DRUID_HAWKMASTER = 14; + public const int PACKAGE_BARBARIAN_BRUTE = 15; + public const int PACKAGE_BARBARIAN_SLAYER = 16; + public const int PACKAGE_BARBARIAN_SAVAGE = 17; + public const int PACKAGE_BARBARIAN_ORCBLOOD = 18; + public const int PACKAGE_CLERIC_SHAMAN = 19; + public const int PACKAGE_CLERIC_DEADWALKER = 20; + public const int PACKAGE_CLERIC_ELEMENTALIST = 21; + public const int PACKAGE_CLERIC_BATTLE_PRIEST = 22; + public const int PACKAGE_FIGHTER_FINESSE = 23; + public const int PACKAGE_FIGHTER_PIRATE = 24; + public const int PACKAGE_FIGHTER_GLADIATOR = 25; + public const int PACKAGE_FIGHTER_COMMANDER = 26; + public const int PACKAGE_WIZARD_ABJURATION = 27; + public const int PACKAGE_WIZARD_CONJURATION = 28; + public const int PACKAGE_WIZARD_DIVINATION = 29; + public const int PACKAGE_WIZARD_ENCHANTMENT = 30; + public const int PACKAGE_WIZARD_EVOCATION = 31; + public const int PACKAGE_WIZARD_ILLUSION = 32; + public const int PACKAGE_WIZARD_NECROMANCY = 33; + public const int PACKAGE_WIZARD_TRANSMUTATION = 34; + public const int PACKAGE_SORCERER_ABJURATION = 35; + public const int PACKAGE_SORCERER_CONJURATION = 36; + public const int PACKAGE_SORCERER_DIVINATION = 37; + public const int PACKAGE_SORCERER_ENCHANTMENT = 38; + public const int PACKAGE_SORCERER_EVOCATION = 39; + public const int PACKAGE_SORCERER_ILLUSION = 40; + public const int PACKAGE_SORCERER_NECROMANCY = 41; + public const int PACKAGE_SORCERER_TRANSMUTATION = 42; + public const int PACKAGE_BARD_BLADE = 43; + public const int PACKAGE_BARD_GALLANT = 44; + public const int PACKAGE_BARD_JESTER = 45; + public const int PACKAGE_BARD_LOREMASTER = 46; + public const int PACKAGE_MONK_SPIRIT = 47; + public const int PACKAGE_MONK_GIFTED = 48; + public const int PACKAGE_MONK_DEVOUT = 49; + public const int PACKAGE_MONK_PEASANT = 50; + public const int PACKAGE_PALADIN_ERRANT = 51; + public const int PACKAGE_PALADIN_UNDEAD = 52; + public const int PACKAGE_PALADIN_INQUISITOR = 53; + public const int PACKAGE_PALADIN_CHAMPION = 54; + public const int PACKAGE_RANGER_MARKSMAN = 55; + public const int PACKAGE_RANGER_WARDEN = 56; + public const int PACKAGE_RANGER_STALKER = 57; + public const int PACKAGE_RANGER_GIANTKILLER = 58; + public const int PACKAGE_ROGUE_GYPSY = 59; + public const int PACKAGE_ROGUE_BANDIT = 60; + public const int PACKAGE_ROGUE_SCOUT = 61; + public const int PACKAGE_ROGUE_SWASHBUCKLER = 62; + public const int PACKAGE_SHADOWDANCER = 63; + public const int PACKAGE_HARPER = 64; + public const int PACKAGE_ARCANE_ARCHER = 65; + public const int PACKAGE_ASSASSIN = 66; + public const int PACKAGE_BLACKGUARD = 67; + public const int PACKAGE_NPC_SORCERER = 70; + public const int PACKAGE_NPC_ROGUE = 71; + public const int PACKAGE_NPC_BARD = 72; + public const int PACKAGE_ABERRATION = 73; + public const int PACKAGE_ANIMAL = 74; + public const int PACKAGE_CONSTRUCT = 75; + public const int PACKAGE_HUMANOID = 76; + public const int PACKAGE_MONSTROUS = 77; + public const int PACKAGE_ELEMENTAL = 78; + public const int PACKAGE_FEY = 79; + public const int PACKAGE_DRAGON = 80; + public const int PACKAGE_UNDEAD = 81; + public const int PACKAGE_COMMONER = 82; + public const int PACKAGE_BEAST = 83; + public const int PACKAGE_GIANT = 84; + public const int PACKAGE_MAGICBEAST = 85; + public const int PACKAGE_OUTSIDER = 86; + public const int PACKAGE_SHAPECHANGER = 87; + public const int PACKAGE_VERMIN = 88; + public const int PACKAGE_DWARVEN_DEFENDER = 89; + public const int PACKAGE_BARBARIAN_BLACKGUARD = 90; + public const int PACKAGE_BARD_HARPER = 91; + public const int PACKAGE_CLERIC_DIVINE = 92; + public const int PACKAGE_DRUID_SHIFTER = 93; + public const int PACKAGE_FIGHTER_WEAPONMASTER = 94; + public const int PACKAGE_MONK_ASSASSIN = 95; + public const int PACKAGE_PALADIN_DIVINE = 96; + public const int PACKAGE_RANGER_ARCANEARCHER = 97; + public const int PACKAGE_ROGUE_SHADOWDANCER = 98; + public const int PACKAGE_SORCERER_DRAGONDISCIPLE = 99; + public const int PACKAGE_WIZARD_PALEMASTER = 100; + public const int PACKAGE_NPC_WIZASSASSIN = 101; + public const int PACKAGE_NPC_FT_WEAPONMASTER = 102; + public const int PACKAGE_NPC_RG_SHADOWDANCER = 103; + public const int PACKAGE_NPC_CLERIC_LINU = 104; + public const int PACKAGE_NPC_BARBARIAN_DAELAN = 105; + public const int PACKAGE_NPC_BARD_FIGHTER = 106; + public const int PACKAGE_NPC_PALADIN_FALLING = 107; + public const int PACKAGE_SHIFTER = 108; + public const int PACKAGE_DIVINE_CHAMPION = 109; + public const int PACKAGE_PALE_MASTER = 110; + public const int PACKAGE_DRAGON_DISCIPLE = 111; + public const int PACKAGE_WEAPONMASTER = 112; + public const int PACKAGE_WARLOCK = 131; + + public const int PACKAGE_INVALID = 255; + + // These are for GetFirstInPersistentObject() and GetNextInPersistentObject() + public const int PERSISTENT_ZONE_ACTIVE = 0; + public const int PERSISTENT_ZONE_FOLLOW = 1; + + public const int STANDARD_FACTION_HOSTILE = 0; + public const int STANDARD_FACTION_COMMONER = 1; + public const int STANDARD_FACTION_MERCHANT = 2; + public const int STANDARD_FACTION_DEFENDER = 3; + + // Skill defines + //public const int SKILL_ANIMAL_EMPATHY = 0; // NWN2 3.5 Removed + public const int SKILL_CONCENTRATION = 1; + public const int SKILL_DISABLE_TRAP = 2; + public const int SKILL_DISCIPLINE = 3; + public const int SKILL_HEAL = 4; + public const int SKILL_HIDE = 5; + public const int SKILL_LISTEN = 6; + public const int SKILL_LORE = 7; + public const int SKILL_MOVE_SILENTLY = 8; + public const int SKILL_OPEN_LOCK = 9; + public const int SKILL_PARRY = 10; + public const int SKILL_PERFORM = 11; + public const int SKILL_DIPLOMACY = 12; // NWN2 3.5 Changed from "PERSUADE" + public const int SKILL_SLEIGHT_OF_HAND = 13; // NWN2 3.5 Changed from "PICK_POCKET" + public const int SKILL_SEARCH = 14; + public const int SKILL_SET_TRAP = 15; + public const int SKILL_SPELLCRAFT = 16; + public const int SKILL_SPOT = 17; + public const int SKILL_TAUNT = 18; + public const int SKILL_USE_MAGIC_DEVICE = 19; + public const int SKILL_APPRAISE = 20; + public const int SKILL_TUMBLE = 21; + public const int SKILL_CRAFT_TRAP = 22; + public const int SKILL_BLUFF = 23; + public const int SKILL_INTIMIDATE = 24; + public const int SKILL_CRAFT_ARMOR = 25; + public const int SKILL_CRAFT_WEAPON = 26; + public const int SKILL_CRAFT_ALCHEMY = 27; + public const int SKILL_RIDE = 28; + public const int SKILL_SURVIVAL = 29; + + public const int SKILL_ALL_SKILLS = 255; + + public const int SUBSKILL_FLAGTRAP = 100; + public const int SUBSKILL_RECOVERTRAP = 101; + public const int SUBSKILL_EXAMINETRAP = 102; + + public const int FEAT_INVALID = 65535; + public const int FEAT_ALERTNESS = 0; + //public const int FEAT_AMBIDEXTERITY = 1; // JLR - OEI 06/03/05 NWN2 3.5 -- Ambidexterity merged with Two-Weapon Fighting + public const int FEAT_ARMOR_PROFICIENCY_HEAVY = 2; + public const int FEAT_ARMOR_PROFICIENCY_LIGHT = 3; + public const int FEAT_ARMOR_PROFICIENCY_MEDIUM = 4; + public const int FEAT_CALLED_SHOT = 5; + public const int FEAT_CLEAVE = 6; + public const int FEAT_COMBAT_CASTING = 7; + public const int FEAT_DEFLECT_ARROWS = 8; + public const int FEAT_DISARM = 9; + public const int FEAT_DODGE = 10; + public const int FEAT_EMPOWER_SPELL = 11; + public const int FEAT_EXTEND_SPELL = 12; + public const int FEAT_EXTRA_TURNING = 13; + public const int FEAT_GREAT_FORTITUDE = 14; + public const int FEAT_IMPROVED_CRITICAL_CLUB = 15; + public const int FEAT_IMPROVED_DISARM = 16; + public const int FEAT_IMPROVED_KNOCKDOWN = 17; + public const int FEAT_IMPROVED_PARRY = 18; + public const int FEAT_IMPROVED_POWER_ATTACK = 19; + public const int FEAT_IMPROVED_TWO_WEAPON_FIGHTING = 20; + public const int FEAT_IMPROVED_UNARMED_STRIKE = 21; + public const int FEAT_IRON_WILL = 22; + public const int FEAT_KNOCKDOWN = 23; + public const int FEAT_LIGHTNING_REFLEXES = 24; + public const int FEAT_MAXIMIZE_SPELL = 25; + public const int FEAT_MOBILITY = 26; + public const int FEAT_POINT_BLANK_SHOT = 27; + public const int FEAT_POWER_ATTACK = 28; + public const int FEAT_QUICKEN_SPELL = 29; + public const int FEAT_RAPID_SHOT = 30; + public const int FEAT_SAP = 31; + public const int FEAT_SHIELD_PROFICIENCY = 32; + public const int FEAT_SILENCE_SPELL = 33; + public const int FEAT_SKILL_FOCUS_ANIMAL_EMPATHY = 34; + public const int FEAT_SPELL_FOCUS_ABJURATION = 35; + public const int FEAT_SPELL_PENETRATION = 36; + public const int FEAT_STILL_SPELL = 37; + public const int FEAT_STUNNING_FIST = 39; + public const int FEAT_TOUGHNESS = 40; + public const int FEAT_TWO_WEAPON_FIGHTING = 41; + public const int FEAT_WEAPON_FINESSE = 42; + public const int FEAT_WEAPON_FOCUS_CLUB = 43; + public const int FEAT_WEAPON_PROFICIENCY_EXOTIC = 44; + public const int FEAT_WEAPON_PROFICIENCY_MARTIAL = 45; + public const int FEAT_WEAPON_PROFICIENCY_SIMPLE = 46; + public const int FEAT_WEAPON_SPECIALIZATION_CLUB = 47; + public const int FEAT_WEAPON_PROFICIENCY_DRUID = 48; + public const int FEAT_WEAPON_PROFICIENCY_MONK = 49; + public const int FEAT_WEAPON_PROFICIENCY_ROGUE = 50; + public const int FEAT_WEAPON_PROFICIENCY_WIZARD = 51; + public const int FEAT_IMPROVED_CRITICAL_DAGGER = 52; + public const int FEAT_IMPROVED_CRITICAL_DART = 53; + public const int FEAT_IMPROVED_CRITICAL_HEAVY_CROSSBOW = 54; + public const int FEAT_IMPROVED_CRITICAL_LIGHT_CROSSBOW = 55; + public const int FEAT_IMPROVED_CRITICAL_LIGHT_MACE = 56; + public const int FEAT_IMPROVED_CRITICAL_MORNING_STAR = 57; + public const int FEAT_IMPROVED_CRITICAL_STAFF = 58; + public const int FEAT_IMPROVED_CRITICAL_SPEAR = 59; + public const int FEAT_IMPROVED_CRITICAL_SICKLE = 60; + public const int FEAT_IMPROVED_CRITICAL_SLING = 61; + public const int FEAT_IMPROVED_CRITICAL_UNARMED_STRIKE = 62; + public const int FEAT_IMPROVED_CRITICAL_LONGBOW = 63; + public const int FEAT_IMPROVED_CRITICAL_SHORTBOW = 64; + public const int FEAT_IMPROVED_CRITICAL_SHORT_SWORD = 65; + public const int FEAT_IMPROVED_CRITICAL_RAPIER = 66; + public const int FEAT_IMPROVED_CRITICAL_SCIMITAR = 67; + public const int FEAT_IMPROVED_CRITICAL_LONG_SWORD = 68; + public const int FEAT_IMPROVED_CRITICAL_GREAT_SWORD = 69; + public const int FEAT_IMPROVED_CRITICAL_HAND_AXE = 70; + public const int FEAT_IMPROVED_CRITICAL_THROWING_AXE = 71; + public const int FEAT_IMPROVED_CRITICAL_BATTLE_AXE = 72; + public const int FEAT_IMPROVED_CRITICAL_GREAT_AXE = 73; + public const int FEAT_IMPROVED_CRITICAL_HALBERD = 74; + public const int FEAT_IMPROVED_CRITICAL_LIGHT_HAMMER = 75; + public const int FEAT_IMPROVED_CRITICAL_LIGHT_FLAIL = 76; + public const int FEAT_IMPROVED_CRITICAL_WAR_HAMMER = 77; + public const int FEAT_IMPROVED_CRITICAL_HEAVY_FLAIL = 78; + public const int FEAT_IMPROVED_CRITICAL_KAMA = 79; + public const int FEAT_IMPROVED_CRITICAL_KUKRI = 80; + //public const int FEAT_IMPROVED_CRITICAL_NUNCHAKU = 81; + public const int FEAT_IMPROVED_CRITICAL_SHURIKEN = 82; + public const int FEAT_IMPROVED_CRITICAL_SCYTHE = 83; + public const int FEAT_IMPROVED_CRITICAL_KATANA = 84; + public const int FEAT_IMPROVED_CRITICAL_BASTARD_SWORD = 85; + public const int FEAT_IMPROVED_CRITICAL_DIRE_MACE = 87; + public const int FEAT_IMPROVED_CRITICAL_DOUBLE_AXE = 88; + public const int FEAT_IMPROVED_CRITICAL_TWO_BLADED_SWORD = 89; + public const int FEAT_WEAPON_FOCUS_DAGGER = 90; + public const int FEAT_WEAPON_FOCUS_DART = 91; + public const int FEAT_WEAPON_FOCUS_HEAVY_CROSSBOW = 92; + public const int FEAT_WEAPON_FOCUS_LIGHT_CROSSBOW = 93; + public const int FEAT_WEAPON_FOCUS_LIGHT_MACE = 94; + public const int FEAT_WEAPON_FOCUS_MORNING_STAR = 95; + public const int FEAT_WEAPON_FOCUS_STAFF = 96; + public const int FEAT_WEAPON_FOCUS_SPEAR = 97; + public const int FEAT_WEAPON_FOCUS_SICKLE = 98; + public const int FEAT_WEAPON_FOCUS_SLING = 99; + public const int FEAT_WEAPON_FOCUS_UNARMED_STRIKE = 100; + public const int FEAT_WEAPON_FOCUS_LONGBOW = 101; + public const int FEAT_WEAPON_FOCUS_SHORTBOW = 102; + public const int FEAT_WEAPON_FOCUS_SHORT_SWORD = 103; + public const int FEAT_WEAPON_FOCUS_RAPIER = 104; + public const int FEAT_WEAPON_FOCUS_SCIMITAR = 105; + public const int FEAT_WEAPON_FOCUS_LONG_SWORD = 106; + public const int FEAT_WEAPON_FOCUS_GREAT_SWORD = 107; + public const int FEAT_WEAPON_FOCUS_HAND_AXE = 108; + public const int FEAT_WEAPON_FOCUS_THROWING_AXE = 109; + public const int FEAT_WEAPON_FOCUS_BATTLE_AXE = 110; + public const int FEAT_WEAPON_FOCUS_GREAT_AXE = 111; + public const int FEAT_WEAPON_FOCUS_HALBERD = 112; + public const int FEAT_WEAPON_FOCUS_LIGHT_HAMMER = 113; + public const int FEAT_WEAPON_FOCUS_LIGHT_FLAIL = 114; + public const int FEAT_WEAPON_FOCUS_WAR_HAMMER = 115; + public const int FEAT_WEAPON_FOCUS_HEAVY_FLAIL = 116; + public const int FEAT_WEAPON_FOCUS_KAMA = 117; + public const int FEAT_WEAPON_FOCUS_KUKRI = 118; + //public const int FEAT_WEAPON_FOCUS_NUNCHAKU = 119; + public const int FEAT_WEAPON_FOCUS_SHURIKEN = 120; + public const int FEAT_WEAPON_FOCUS_SCYTHE = 121; + public const int FEAT_WEAPON_FOCUS_KATANA = 122; + public const int FEAT_WEAPON_FOCUS_BASTARD_SWORD = 123; + public const int FEAT_WEAPON_FOCUS_DIRE_MACE = 125; + public const int FEAT_WEAPON_FOCUS_DOUBLE_AXE = 126; + public const int FEAT_WEAPON_FOCUS_TWO_BLADED_SWORD = 127; + public const int FEAT_WEAPON_SPECIALIZATION_DAGGER = 128; + public const int FEAT_WEAPON_SPECIALIZATION_DART = 129; + public const int FEAT_WEAPON_SPECIALIZATION_HEAVY_CROSSBOW = 130; + public const int FEAT_WEAPON_SPECIALIZATION_LIGHT_CROSSBOW = 131; + public const int FEAT_WEAPON_SPECIALIZATION_LIGHT_MACE = 132; + public const int FEAT_WEAPON_SPECIALIZATION_MORNING_STAR = 133; + public const int FEAT_WEAPON_SPECIALIZATION_STAFF = 134; + public const int FEAT_WEAPON_SPECIALIZATION_SPEAR = 135; + public const int FEAT_WEAPON_SPECIALIZATION_SICKLE = 136; + public const int FEAT_WEAPON_SPECIALIZATION_SLING = 137; + public const int FEAT_WEAPON_SPECIALIZATION_UNARMED_STRIKE = 138; + public const int FEAT_WEAPON_SPECIALIZATION_LONGBOW = 139; + public const int FEAT_WEAPON_SPECIALIZATION_SHORTBOW = 140; + public const int FEAT_WEAPON_SPECIALIZATION_SHORT_SWORD = 141; + public const int FEAT_WEAPON_SPECIALIZATION_RAPIER = 142; + public const int FEAT_WEAPON_SPECIALIZATION_SCIMITAR = 143; + public const int FEAT_WEAPON_SPECIALIZATION_LONG_SWORD = 144; + public const int FEAT_WEAPON_SPECIALIZATION_GREAT_SWORD = 145; + public const int FEAT_WEAPON_SPECIALIZATION_HAND_AXE = 146; + public const int FEAT_WEAPON_SPECIALIZATION_THROWING_AXE = 147; + public const int FEAT_WEAPON_SPECIALIZATION_BATTLE_AXE = 148; + public const int FEAT_WEAPON_SPECIALIZATION_GREAT_AXE = 149; + public const int FEAT_WEAPON_SPECIALIZATION_HALBERD = 150; + public const int FEAT_WEAPON_SPECIALIZATION_LIGHT_HAMMER = 151; + public const int FEAT_WEAPON_SPECIALIZATION_LIGHT_FLAIL = 152; + public const int FEAT_WEAPON_SPECIALIZATION_WAR_HAMMER = 153; + public const int FEAT_WEAPON_SPECIALIZATION_HEAVY_FLAIL = 154; + public const int FEAT_WEAPON_SPECIALIZATION_KAMA = 155; + public const int FEAT_WEAPON_SPECIALIZATION_KUKRI = 156; + //public const int FEAT_WEAPON_SPECIALIZATION_NUNCHAKU = 157; + public const int FEAT_WEAPON_SPECIALIZATION_SHURIKEN = 158; + public const int FEAT_WEAPON_SPECIALIZATION_SCYTHE = 159; + public const int FEAT_WEAPON_SPECIALIZATION_KATANA = 160; + public const int FEAT_WEAPON_SPECIALIZATION_BASTARD_SWORD = 161; + public const int FEAT_WEAPON_SPECIALIZATION_DIRE_MACE = 163; + public const int FEAT_WEAPON_SPECIALIZATION_DOUBLE_AXE = 164; + public const int FEAT_WEAPON_SPECIALIZATION_TWO_BLADED_SWORD = 165; + public const int FEAT_SPELL_FOCUS_CONJURATION = 166; + public const int FEAT_SPELL_FOCUS_DIVINATION = 167; + public const int FEAT_SPELL_FOCUS_ENCHANTMENT = 168; + public const int FEAT_SPELL_FOCUS_EVOCATION = 169; + public const int FEAT_SPELL_FOCUS_ILLUSION = 170; + public const int FEAT_SPELL_FOCUS_NECROMANCY = 171; + public const int FEAT_SPELL_FOCUS_TRANSMUTATION = 172; + public const int FEAT_SKILL_FOCUS_CONCENTRATION = 173; + public const int FEAT_SKILL_FOCUS_DISABLE_TRAP = 174; + public const int FEAT_SKILL_FOCUS_DISCIPLINE = 175; + public const int FEAT_SKILL_FOCUS_HEAL = 177; + public const int FEAT_SKILL_FOCUS_HIDE = 178; + public const int FEAT_SKILL_FOCUS_LISTEN = 179; + public const int FEAT_SKILL_FOCUS_LORE = 180; + public const int FEAT_SKILL_FOCUS_MOVE_SILENTLY = 181; + public const int FEAT_SKILL_FOCUS_OPEN_LOCK = 182; + public const int FEAT_SKILL_FOCUS_PARRY = 183; + public const int FEAT_SKILL_FOCUS_PERFORM = 184; + public const int FEAT_SKILL_FOCUS_DIPLOMACY = 185; + public const int FEAT_SKILL_FOCUS_SLEIGHT_OF_HAND = 186; + public const int FEAT_SKILL_FOCUS_SEARCH = 187; + public const int FEAT_SKILL_FOCUS_SET_TRAP = 188; + public const int FEAT_SKILL_FOCUS_SPELLCRAFT = 189; + public const int FEAT_SKILL_FOCUS_SPOT = 190; + public const int FEAT_SKILL_FOCUS_TAUNT = 192; + public const int FEAT_SKILL_FOCUS_USE_MAGIC_DEVICE = 193; + public const int FEAT_BARBARIAN_ENDURANCE = 194; + public const int FEAT_UNCANNY_DODGE = 195; + public const int FEAT_DAMAGE_REDUCTION = 196; + public const int FEAT_BARDIC_KNOWLEDGE = 197; + public const int FEAT_NATURE_SENSE = 198; + public const int FEAT_ANIMAL_COMPANION = 199; + public const int FEAT_WOODLAND_STRIDE = 200; + public const int FEAT_TRACKLESS_STEP = 201; + public const int FEAT_RESIST_NATURES_LURE = 202; + public const int FEAT_VENOM_IMMUNITY = 203; + public const int FEAT_FLURRY_OF_BLOWS = 204; + public const int FEAT_EVASION = 206; + public const int FEAT_MONK_ENDURANCE = 207; + public const int FEAT_STILL_MIND = 208; + public const int FEAT_PURITY_OF_BODY = 209; + public const int FEAT_WHOLENESS_OF_BODY = 211; + public const int FEAT_IMPROVED_EVASION = 212; + public const int FEAT_KI_STRIKE = 213; + public const int FEAT_DIAMOND_BODY = 214; + public const int FEAT_DIAMOND_SOUL = 215; + public const int FEAT_PERFECT_SELF = 216; + public const int FEAT_DIVINE_GRACE = 217; + public const int FEAT_DIVINE_HEALTH = 219; + public const int FEAT_SNEAK_ATTACK = 221; + public const int FEAT_CRIPPLING_STRIKE = 222; + public const int FEAT_DEFENSIVE_ROLL = 223; + public const int FEAT_OPPORTUNIST = 224; + public const int FEAT_SKILL_MASTERY = 225; + public const int FEAT_UNCANNY_REFLEX = 226; + public const int FEAT_STONECUNNING = 227; + public const int FEAT_DARKVISION = 228; + public const int FEAT_HARDINESS_VERSUS_POISONS = 229; + public const int FEAT_HARDINESS_VERSUS_SPELLS = 230; + public const int FEAT_BATTLE_TRAINING_VERSUS_ORCS = 231; + public const int FEAT_BATTLE_TRAINING_VERSUS_GOBLINS = 232; + public const int FEAT_BATTLE_TRAINING_VERSUS_GIANTS = 233; + public const int FEAT_SKILL_AFFINITY_LORE = 234; + public const int FEAT_IMMUNITY_TO_SLEEP = 235; + public const int FEAT_HARDINESS_VERSUS_ENCHANTMENTS = 236; + public const int FEAT_SKILL_AFFINITY_LISTEN = 237; + public const int FEAT_SKILL_AFFINITY_SEARCH = 238; + public const int FEAT_SKILL_AFFINITY_SPOT = 239; + public const int FEAT_KEEN_SENSE = 240; + public const int FEAT_HARDINESS_VERSUS_ILLUSIONS = 241; + public const int FEAT_BATTLE_TRAINING_VERSUS_REPTILIANS = 242; + public const int FEAT_SKILL_AFFINITY_CONCENTRATION = 243; + public const int FEAT_PARTIAL_SKILL_AFFINITY_LISTEN = 244; + public const int FEAT_PARTIAL_SKILL_AFFINITY_SEARCH = 245; + public const int FEAT_PARTIAL_SKILL_AFFINITY_SPOT = 246; + public const int FEAT_SKILL_AFFINITY_MOVE_SILENTLY = 247; + public const int FEAT_LUCKY = 248; + public const int FEAT_FEARLESS = 249; + public const int FEAT_GOOD_AIM = 250; + public const int FEAT_UNCANNY_DODGE_2 = 251; + public const int FEAT_UNCANNY_DODGE_3 = 252; + public const int FEAT_UNCANNY_DODGE_4 = 253; + public const int FEAT_UNCANNY_DODGE_5 = 254; + public const int FEAT_UNCANNY_DODGE_6 = 255; + public const int FEAT_WEAPON_PROFICIENCY_ELF = 256; + public const int FEAT_BARD_SONGS = 257; + public const int FEAT_QUICK_TO_MASTER = 258; + public const int FEAT_SLIPPERY_MIND = 259; + public const int FEAT_MONK_AC_BONUS = 260; + public const int FEAT_FAVORED_ENEMY_DWARF = 261; + public const int FEAT_FAVORED_ENEMY_ELF = 262; + public const int FEAT_FAVORED_ENEMY_GNOME = 263; + public const int FEAT_FAVORED_ENEMY_HALFLING = 264; + public const int FEAT_FAVORED_ENEMY_HALFELF = 265; + public const int FEAT_FAVORED_ENEMY_HALFORC = 266; + public const int FEAT_FAVORED_ENEMY_HUMAN = 267; + public const int FEAT_FAVORED_ENEMY_ABERRATION = 268; + public const int FEAT_FAVORED_ENEMY_ANIMAL = 269; + public const int FEAT_FAVORED_ENEMY_BEAST = 270; + public const int FEAT_FAVORED_ENEMY_CONSTRUCT = 271; + public const int FEAT_FAVORED_ENEMY_DRAGON = 272; + public const int FEAT_FAVORED_ENEMY_GOBLINOID = 273; + public const int FEAT_FAVORED_ENEMY_MONSTROUS = 274; + public const int FEAT_FAVORED_ENEMY_ORC = 275; + public const int FEAT_FAVORED_ENEMY_REPTILIAN = 276; + public const int FEAT_FAVORED_ENEMY_ELEMENTAL = 277; + public const int FEAT_FAVORED_ENEMY_FEY = 278; + public const int FEAT_FAVORED_ENEMY_GIANT = 279; + public const int FEAT_FAVORED_ENEMY_MAGICAL_BEAST = 280; + public const int FEAT_FAVORED_ENEMY_OUTSIDER = 281; + public const int FEAT_FAVORED_ENEMY_SHAPECHANGER = 284; + public const int FEAT_FAVORED_ENEMY_UNDEAD = 285; + public const int FEAT_FAVORED_ENEMY_VERMIN = 286; + public const int FEAT_WEAPON_PROFICIENCY_CREATURE = 289; + public const int FEAT_WEAPON_SPECIALIZATION_CREATURE = 290; + public const int FEAT_WEAPON_FOCUS_CREATURE = 291; + public const int FEAT_IMPROVED_CRITICAL_CREATURE = 292; + public const int FEAT_BARBARIAN_RAGE = 293; + public const int FEAT_TURN_UNDEAD = 294; + public const int FEAT_QUIVERING_PALM = 296; + public const int FEAT_EMPTY_BODY = 297; + //public const int FEAT_DETECT_EVIL = 298; + public const int FEAT_LAY_ON_HANDS = 299; + public const int FEAT_AURA_OF_COURAGE = 300; + public const int FEAT_SMITE_EVIL = 301; + public const int FEAT_REMOVE_DISEASE = 302; + public const int FEAT_SUMMON_FAMILIAR = 303; + public const int FEAT_ELEMENTAL_SHAPE = 304; + public const int FEAT_WILD_SHAPE = 305; + public const int FEAT_WAR_DOMAIN_POWER = 306; + public const int FEAT_STRENGTH_DOMAIN_POWER = 307; + public const int FEAT_PROTECTION_DOMAIN_POWER = 308; + public const int FEAT_LUCK_DOMAIN_POWER = 309; + public const int FEAT_DEATH_DOMAIN_POWER = 310; + public const int FEAT_AIR_DOMAIN_POWER = 311; + public const int FEAT_ANIMAL_DOMAIN_POWER = 312; + public const int FEAT_DESTRUCTION_DOMAIN_POWER = 313; + public const int FEAT_EARTH_DOMAIN_POWER = 314; + public const int FEAT_EVIL_DOMAIN_POWER = 315; + public const int FEAT_FIRE_DOMAIN_POWER = 316; + public const int FEAT_GOOD_DOMAIN_POWER = 317; + public const int FEAT_HEALING_DOMAIN_POWER = 318; + public const int FEAT_KNOWLEDGE_DOMAIN_POWER = 319; + public const int FEAT_MAGIC_DOMAIN_POWER = 320; + public const int FEAT_PLANT_DOMAIN_POWER = 321; + public const int FEAT_SUN_DOMAIN_POWER = 322; + public const int FEAT_TRAVEL_DOMAIN_POWER = 323; + public const int FEAT_TRICKERY_DOMAIN_POWER = 324; + public const int FEAT_WATER_DOMAIN_POWER = 325; + public const int FEAT_LOWLIGHTVISION = 354; + public const int FEAT_IMPROVED_INITIATIVE = 377; + public const int FEAT_ARTIST = 378; + public const int FEAT_BLOODED = 379; + public const int FEAT_BULLHEADED = 380; + public const int FEAT_COURTLY_MAGOCRACY = 381; + public const int FEAT_LUCK_OF_HEROES = 382; + public const int FEAT_RESIST_POISON = 383; + public const int FEAT_SILVER_PALM = 384; + public const int FEAT_SNAKEBLOOD = 386; + public const int FEAT_STEALTHY = 387; + public const int FEAT_STRONGSOUL = 388; + public const int FEAT_COMBAT_EXPERTISE = 389; + public const int FEAT_IMPROVED_COMBAT_EXPERTISE = 390; + public const int FEAT_GREAT_CLEAVE = 391; + public const int FEAT_SPRING_ATTACK = 392; + public const int FEAT_GREATER_SPELL_FOCUS_ABJURATION = 393; + public const int FEAT_GREATER_SPELL_FOCUS_CONJURATION = 394; + public const int FEAT_GREATER_SPELL_FOCUS_DIVINIATION = 395; + public const int FEAT_GREATER_SPELL_FOCUS_ENCHANTMENT = 396; + public const int FEAT_GREATER_SPELL_FOCUS_EVOCATION = 397; + public const int FEAT_GREATER_SPELL_FOCUS_ILLUSION = 398; + public const int FEAT_GREATER_SPELL_FOCUS_NECROMANCY = 399; + public const int FEAT_GREATER_SPELL_FOCUS_TRANSMUTATION = 400; + public const int FEAT_GREATER_SPELL_PENETRATION = 401; + public const int FEAT_THUG = 402; + public const int FEAT_SKILLFOCUS_APPRAISE = 404; + public const int FEAT_SKILL_FOCUS_TUMBLE = 406; + public const int FEAT_SKILL_FOCUS_CRAFT_TRAP = 407; + public const int FEAT_BLIND_FIGHT = 408; + public const int FEAT_CIRCLE_KICK = 409; + public const int FEAT_EXTRA_STUNNING_ATTACK = 410; + public const int FEAT_RAPID_RELOAD = 411; + public const int FEAT_ZEN_ARCHERY = 412; + public const int FEAT_DIVINE_MIGHT = 413; + public const int FEAT_DIVINE_SHIELD = 414; + public const int FEAT_ARCANE_DEFENSE_ABJURATION = 415; + public const int FEAT_ARCANE_DEFENSE_CONJURATION = 416; + public const int FEAT_ARCANE_DEFENSE_DIVINATION = 417; + public const int FEAT_ARCANE_DEFENSE_ENCHANTMENT = 418; + public const int FEAT_ARCANE_DEFENSE_EVOCATION = 419; + public const int FEAT_ARCANE_DEFENSE_ILLUSION = 420; + public const int FEAT_ARCANE_DEFENSE_NECROMANCY = 421; + public const int FEAT_ARCANE_DEFENSE_TRANSMUTATION = 422; + public const int FEAT_EXTRA_MUSIC = 423; + public const int FEAT_LINGERING_SONG = 424; + public const int FEAT_DIRTY_FIGHTING = 425; // JLR - OEI 07/19/05 -- DIRTY FIGHTING REMOVED, as per Ferret's request + public const int FEAT_RESIST_DISEASE = 426; + public const int FEAT_RESIST_ENERGY_COLD = 427; + public const int FEAT_RESIST_ENERGY_ACID = 428; + public const int FEAT_RESIST_ENERGY_FIRE = 429; + public const int FEAT_RESIST_ENERGY_ELECTRICAL = 430; + public const int FEAT_RESIST_ENERGY_SONIC = 431; + public const int FEAT_HIDE_IN_PLAIN_SIGHT = 433; + public const int FEAT_SHADOW_DAZE = 434; + public const int FEAT_SUMMON_SHADOW = 435; + public const int FEAT_SHADOW_EVADE = 436; + public const int FEAT_DENEIRS_EYE = 437; + public const int FEAT_TYMORAS_SMILE = 438; + public const int FEAT_LLIIRAS_HEART = 439; + public const int FEAT_CRAFT_HARPER_ITEM = 440; + public const int FEAT_HARPER_SLEEP = 441; + public const int FEAT_HARPER_CATS_GRACE = 442; + public const int FEAT_HARPER_EAGLES_SPLENDOR = 443; + public const int FEAT_HARPER_INVISIBILITY = 444; + + public const int FEAT_PRESTIGE_ENCHANT_ARROW_1 = 445; + + public const int FEAT_PRESTIGE_ENCHANT_ARROW_2 = 446; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_3 = 447; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_4 = 448; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_5 = 449; + public const int FEAT_PRESTIGE_IMBUE_ARROW = 450; + public const int FEAT_PRESTIGE_SEEKER_ARROW_1 = 451; + public const int FEAT_PRESTIGE_SEEKER_ARROW_2 = 452; + public const int FEAT_PRESTIGE_HAIL_OF_ARROWS = 453; + public const int FEAT_PRESTIGE_ARROW_OF_DEATH = 454; + + + public const int FEAT_PRESTIGE_DEATH_ATTACK_1 = 455; + public const int FEAT_PRESTIGE_DEATH_ATTACK_2 = 456; + public const int FEAT_PRESTIGE_DEATH_ATTACK_3 = 457; + public const int FEAT_PRESTIGE_DEATH_ATTACK_4 = 458; + public const int FEAT_PRESTIGE_DEATH_ATTACK_5 = 459; + + public const int FEAT_BLACKGUARD_SNEAK_ATTACK_1D6 = 460; + public const int FEAT_BLACKGUARD_SNEAK_ATTACK_2D6 = 461; + public const int FEAT_BLACKGUARD_SNEAK_ATTACK_3D6 = 462; + + public const int FEAT_PRESTIGE_POISON_SAVE_1 = 463; + public const int FEAT_PRESTIGE_POISON_SAVE_2 = 464; + public const int FEAT_PRESTIGE_POISON_SAVE_3 = 465; + public const int FEAT_PRESTIGE_POISON_SAVE_4 = 466; + public const int FEAT_PRESTIGE_POISON_SAVE_5 = 467; + + public const int FEAT_PRESTIGE_SPELL_GHOSTLY_VISAGE = 468; + public const int FEAT_PRESTIGE_DARKNESS = 469; + public const int FEAT_PRESTIGE_INVISIBILITY_1 = 470; + public const int FEAT_PRESTIGE_INVISIBILITY_2 = 471; + + public const int FEAT_SMITE_GOOD = 472; + + public const int FEAT_PRESTIGE_DARK_BLESSING = 473; + public const int FEAT_INFLICT_LIGHT_WOUNDS = 474; + public const int FEAT_INFLICT_MODERATE_WOUNDS = 475; + public const int FEAT_INFLICT_SERIOUS_WOUNDS = 476; + public const int FEAT_INFLICT_CRITICAL_WOUNDS = 477; + public const int FEAT_BULLS_STRENGTH = 478; + public const int FEAT_CONTAGION = 479; + public const int FEAT_EPIC_ARMOR_SKIN = 490; + public const int FEAT_EPIC_BLINDING_SPEED = 491; + public const int FEAT_EPIC_DAMAGE_REDUCTION_3 = 492; + public const int FEAT_EPIC_DAMAGE_REDUCTION_6 = 493; + public const int FEAT_EPIC_DAMAGE_REDUCTION_9 = 494; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_CLUB = 495; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_DAGGER = 496; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_DART = 497; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_HEAVYCROSSBOW = 498; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTCROSSBOW = 499; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTMACE = 500; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_MORNINGSTAR = 501; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_QUARTERSTAFF = 502; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_SHORTSPEAR = 503; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_SICKLE = 504; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_SLING = 505; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_UNARMED = 506; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_LONGBOW = 507; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_SHORTBOW = 508; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_SHORTSWORD = 509; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_RAPIER = 510; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_SCIMITAR = 511; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_LONGSWORD = 512; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_GREATSWORD = 513; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_HANDAXE = 514; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_THROWINGAXE = 515; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_BATTLEAXE = 516; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_GREATAXE = 517; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_HALBERD = 518; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTHAMMER = 519; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTFLAIL = 520; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_WARHAMMER = 521; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_HEAVYFLAIL = 522; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_KAMA = 523; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_KUKRI = 524; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_SHURIKEN = 525; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_SCYTHE = 526; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_KATANA = 527; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_BASTARDSWORD = 528; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_DIREMACE = 529; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_DOUBLEAXE = 530; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_TWOBLADEDSWORD = 531; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_CREATURE = 532; + public const int FEAT_EPIC_ENERGY_RESISTANCE_COLD_1 = 533; + public const int FEAT_EPIC_ENERGY_RESISTANCE_COLD_2 = 534; + public const int FEAT_EPIC_ENERGY_RESISTANCE_COLD_3 = 535; + public const int FEAT_EPIC_ENERGY_RESISTANCE_COLD_4 = 536; + public const int FEAT_EPIC_ENERGY_RESISTANCE_COLD_5 = 537; + public const int FEAT_EPIC_ENERGY_RESISTANCE_COLD_6 = 538; + public const int FEAT_EPIC_ENERGY_RESISTANCE_COLD_7 = 539; + public const int FEAT_EPIC_ENERGY_RESISTANCE_COLD_8 = 540; + public const int FEAT_EPIC_ENERGY_RESISTANCE_COLD_9 = 541; + public const int FEAT_EPIC_ENERGY_RESISTANCE_COLD_10 = 542; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ACID_1 = 543; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ACID_2 = 544; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ACID_3 = 545; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ACID_4 = 546; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ACID_5 = 547; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ACID_6 = 548; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ACID_7 = 549; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ACID_8 = 550; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ACID_9 = 551; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ACID_10 = 552; + public const int FEAT_EPIC_ENERGY_RESISTANCE_FIRE_1 = 553; + public const int FEAT_EPIC_ENERGY_RESISTANCE_FIRE_2 = 554; + public const int FEAT_EPIC_ENERGY_RESISTANCE_FIRE_3 = 555; + public const int FEAT_EPIC_ENERGY_RESISTANCE_FIRE_4 = 556; + public const int FEAT_EPIC_ENERGY_RESISTANCE_FIRE_5 = 557; + public const int FEAT_EPIC_ENERGY_RESISTANCE_FIRE_6 = 558; + public const int FEAT_EPIC_ENERGY_RESISTANCE_FIRE_7 = 559; + public const int FEAT_EPIC_ENERGY_RESISTANCE_FIRE_8 = 560; + public const int FEAT_EPIC_ENERGY_RESISTANCE_FIRE_9 = 561; + public const int FEAT_EPIC_ENERGY_RESISTANCE_FIRE_10 = 562; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_1 = 563; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_2 = 564; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_3 = 565; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_4 = 566; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_5 = 567; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_6 = 568; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_7 = 569; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_8 = 570; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_9 = 571; + public const int FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_10 = 572; + public const int FEAT_EPIC_ENERGY_RESISTANCE_SONIC_1 = 573; + public const int FEAT_EPIC_ENERGY_RESISTANCE_SONIC_2 = 574; + public const int FEAT_EPIC_ENERGY_RESISTANCE_SONIC_3 = 575; + public const int FEAT_EPIC_ENERGY_RESISTANCE_SONIC_4 = 576; + public const int FEAT_EPIC_ENERGY_RESISTANCE_SONIC_5 = 577; + public const int FEAT_EPIC_ENERGY_RESISTANCE_SONIC_6 = 578; + public const int FEAT_EPIC_ENERGY_RESISTANCE_SONIC_7 = 579; + public const int FEAT_EPIC_ENERGY_RESISTANCE_SONIC_8 = 580; + public const int FEAT_EPIC_ENERGY_RESISTANCE_SONIC_9 = 581; + public const int FEAT_EPIC_ENERGY_RESISTANCE_SONIC_10 = 582; + + public const int FEAT_EPIC_FORTITUDE = 583; + public const int FEAT_EPIC_PROWESS = 584; + public const int FEAT_EPIC_REFLEXES = 585; + public const int FEAT_EPIC_REPUTATION = 586; + public const int FEAT_EPIC_SKILL_FOCUS_ANIMAL_EMPATHY = 587; + public const int FEAT_EPIC_SKILL_FOCUS_APPRAISE = 588; + public const int FEAT_EPIC_SKILL_FOCUS_CONCENTRATION = 589; + public const int FEAT_EPIC_SKILL_FOCUS_CRAFT_TRAP = 590; + public const int FEAT_EPIC_SKILL_FOCUS_DISABLETRAP = 591; + public const int FEAT_EPIC_SKILL_FOCUS_DISCIPLINE = 592; + public const int FEAT_EPIC_SKILL_FOCUS_HEAL = 593; + public const int FEAT_EPIC_SKILL_FOCUS_HIDE = 594; + public const int FEAT_EPIC_SKILL_FOCUS_LISTEN = 595; + public const int FEAT_EPIC_SKILL_FOCUS_LORE = 596; + public const int FEAT_EPIC_SKILL_FOCUS_MOVESILENTLY = 597; + public const int FEAT_EPIC_SKILL_FOCUS_OPENLOCK = 598; + public const int FEAT_EPIC_SKILL_FOCUS_PARRY = 599; + public const int FEAT_EPIC_SKILL_FOCUS_PERFORM = 600; + public const int FEAT_EPIC_SKILL_FOCUS_DIPLOMACY = 601; + public const int FEAT_EPIC_SKILL_FOCUS_SLEIGHT_OF_HAND = 602; + public const int FEAT_EPIC_SKILL_FOCUS_SEARCH = 603; + public const int FEAT_EPIC_SKILL_FOCUS_SETTRAP = 604; + public const int FEAT_EPIC_SKILL_FOCUS_SPELLCRAFT = 605; + public const int FEAT_EPIC_SKILL_FOCUS_SPOT = 606; + public const int FEAT_EPIC_SKILL_FOCUS_TAUNT = 607; + public const int FEAT_EPIC_SKILL_FOCUS_TUMBLE = 608; + public const int FEAT_EPIC_SKILL_FOCUS_USEMAGICDEVICE = 609; + public const int FEAT_EPIC_SPELL_FOCUS_ABJURATION = 610; + public const int FEAT_EPIC_SPELL_FOCUS_CONJURATION = 611; + public const int FEAT_EPIC_SPELL_FOCUS_DIVINATION = 612; + public const int FEAT_EPIC_SPELL_FOCUS_ENCHANTMENT = 613; + public const int FEAT_EPIC_SPELL_FOCUS_EVOCATION = 614; + public const int FEAT_EPIC_SPELL_FOCUS_ILLUSION = 615; + public const int FEAT_EPIC_SPELL_FOCUS_NECROMANCY = 616; + public const int FEAT_EPIC_SPELL_FOCUS_TRANSMUTATION = 617; + public const int FEAT_EPIC_SPELL_PENETRATION = 618; + public const int FEAT_EPIC_WEAPON_FOCUS_CLUB = 619; + public const int FEAT_EPIC_WEAPON_FOCUS_DAGGER = 620; + public const int FEAT_EPIC_WEAPON_FOCUS_DART = 621; + public const int FEAT_EPIC_WEAPON_FOCUS_HEAVYCROSSBOW = 622; + public const int FEAT_EPIC_WEAPON_FOCUS_LIGHTCROSSBOW = 623; + public const int FEAT_EPIC_WEAPON_FOCUS_LIGHTMACE = 624; + public const int FEAT_EPIC_WEAPON_FOCUS_MORNINGSTAR = 625; + public const int FEAT_EPIC_WEAPON_FOCUS_QUARTERSTAFF = 626; + public const int FEAT_EPIC_WEAPON_FOCUS_SHORTSPEAR = 627; + public const int FEAT_EPIC_WEAPON_FOCUS_SICKLE = 628; + public const int FEAT_EPIC_WEAPON_FOCUS_SLING = 629; + public const int FEAT_EPIC_WEAPON_FOCUS_UNARMED = 630; + public const int FEAT_EPIC_WEAPON_FOCUS_LONGBOW = 631; + public const int FEAT_EPIC_WEAPON_FOCUS_SHORTBOW = 632; + public const int FEAT_EPIC_WEAPON_FOCUS_SHORTSWORD = 633; + public const int FEAT_EPIC_WEAPON_FOCUS_RAPIER = 634; + public const int FEAT_EPIC_WEAPON_FOCUS_SCIMITAR = 635; + public const int FEAT_EPIC_WEAPON_FOCUS_LONGSWORD = 636; + public const int FEAT_EPIC_WEAPON_FOCUS_GREATSWORD = 637; + public const int FEAT_EPIC_WEAPON_FOCUS_HANDAXE = 638; + public const int FEAT_EPIC_WEAPON_FOCUS_THROWINGAXE = 639; + public const int FEAT_EPIC_WEAPON_FOCUS_BATTLEAXE = 640; + public const int FEAT_EPIC_WEAPON_FOCUS_GREATAXE = 641; + public const int FEAT_EPIC_WEAPON_FOCUS_HALBERD = 642; + public const int FEAT_EPIC_WEAPON_FOCUS_LIGHTHAMMER = 643; + public const int FEAT_EPIC_WEAPON_FOCUS_LIGHTFLAIL = 644; + public const int FEAT_EPIC_WEAPON_FOCUS_WARHAMMER = 645; + public const int FEAT_EPIC_WEAPON_FOCUS_HEAVYFLAIL = 646; + public const int FEAT_EPIC_WEAPON_FOCUS_KAMA = 647; + public const int FEAT_EPIC_WEAPON_FOCUS_KUKRI = 648; + public const int FEAT_EPIC_WEAPON_FOCUS_SHURIKEN = 649; + public const int FEAT_EPIC_WEAPON_FOCUS_SCYTHE = 650; + public const int FEAT_EPIC_WEAPON_FOCUS_KATANA = 651; + public const int FEAT_EPIC_WEAPON_FOCUS_BASTARDSWORD = 652; + public const int FEAT_EPIC_WEAPON_FOCUS_DIREMACE = 653; + public const int FEAT_EPIC_WEAPON_FOCUS_DOUBLEAXE = 654; + public const int FEAT_EPIC_WEAPON_FOCUS_TWOBLADEDSWORD = 655; + public const int FEAT_EPIC_WEAPON_FOCUS_CREATURE = 656; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_CLUB = 657; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_DAGGER = 658; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_DART = 659; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVYCROSSBOW = 660; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTCROSSBOW = 661; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTMACE = 662; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_MORNINGSTAR = 663; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_QUARTERSTAFF = 664; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTSPEAR = 665; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_SICKLE = 666; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_SLING = 667; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_UNARMED = 668; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_LONGBOW = 669; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTBOW = 670; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTSWORD = 671; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_RAPIER = 672; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_SCIMITAR = 673; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_LONGSWORD = 674; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_GREATSWORD = 675; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_HANDAXE = 676; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_THROWINGAXE = 677; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_BATTLEAXE = 678; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_GREATAXE = 679; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_HALBERD = 680; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTHAMMER = 681; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTFLAIL = 682; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_WARHAMMER = 683; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVYFLAIL = 684; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_KAMA = 685; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_KUKRI = 686; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_SHURIKEN = 687; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_SCYTHE = 688; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_KATANA = 689; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_BASTARDSWORD = 690; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_DIREMACE = 691; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_DOUBLEAXE = 692; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_TWOBLADEDSWORD = 693; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_CREATURE = 694; + + public const int FEAT_EPIC_WILL = 695; + public const int FEAT_EPIC_IMPROVED_COMBAT_CASTING = 696; + public const int FEAT_EPIC_IMPROVED_KI_STRIKE_4 = 697; + public const int FEAT_EPIC_IMPROVED_KI_STRIKE_5 = 698; + public const int FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_1 = 699; + public const int FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_2 = 700; + public const int FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_3 = 701; + public const int FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_4 = 702; + public const int FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_5 = 703; + public const int FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_6 = 704; + public const int FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_7 = 705; + public const int FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_8 = 706; + public const int FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_9 = 707; + public const int FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_10 = 708; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_CLUB = 709; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_DAGGER = 710; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_DART = 711; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVYCROSSBOW = 712; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTCROSSBOW = 713; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTMACE = 714; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_MORNINGSTAR = 715; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_QUARTERSTAFF = 716; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTSPEAR = 717; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_SICKLE = 718; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_SLING = 719; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_UNARMED = 720; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_LONGBOW = 721; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTBOW = 722; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTSWORD = 723; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_RAPIER = 724; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_SCIMITAR = 725; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_LONGSWORD = 726; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_GREATSWORD = 727; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_HANDAXE = 728; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_THROWINGAXE = 729; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_BATTLEAXE = 730; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_GREATAXE = 731; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_HALBERD = 732; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTHAMMER = 733; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTFLAIL = 734; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_WARHAMMER = 735; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVYFLAIL = 736; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_KAMA = 737; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_KUKRI = 738; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_SHURIKEN = 739; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_SCYTHE = 740; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_KATANA = 741; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_BASTARDSWORD = 742; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_DIREMACE = 743; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_DOUBLEAXE = 744; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_TWOBLADEDSWORD = 745; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_CREATURE = 746; + public const int FEAT_EPIC_PERFECT_HEALTH = 747; + public const int FEAT_EPIC_SELF_CONCEALMENT_10 = 748; + public const int FEAT_EPIC_SELF_CONCEALMENT_20 = 749; + public const int FEAT_EPIC_SELF_CONCEALMENT_30 = 750; + public const int FEAT_EPIC_SELF_CONCEALMENT_40 = 751; + public const int FEAT_EPIC_SELF_CONCEALMENT_50 = 752; + public const int FEAT_EPIC_SUPERIOR_INITIATIVE = 753; + public const int FEAT_EPIC_TOUGHNESS_1 = 754; + public const int FEAT_EPIC_TOUGHNESS_2 = 755; + public const int FEAT_EPIC_TOUGHNESS_3 = 756; + public const int FEAT_EPIC_TOUGHNESS_4 = 757; + public const int FEAT_EPIC_TOUGHNESS_5 = 758; + public const int FEAT_EPIC_TOUGHNESS_6 = 759; + public const int FEAT_EPIC_TOUGHNESS_7 = 760; + public const int FEAT_EPIC_TOUGHNESS_8 = 761; + public const int FEAT_EPIC_TOUGHNESS_9 = 762; + public const int FEAT_EPIC_TOUGHNESS_10 = 763; + public const int FEAT_EPIC_GREAT_CHARISMA_1 = 764; + public const int FEAT_EPIC_GREAT_CHARISMA_2 = 765; + public const int FEAT_EPIC_GREAT_CHARISMA_3 = 766; + public const int FEAT_EPIC_GREAT_CHARISMA_4 = 767; + public const int FEAT_EPIC_GREAT_CHARISMA_5 = 768; + public const int FEAT_EPIC_GREAT_CHARISMA_6 = 769; + public const int FEAT_EPIC_GREAT_CHARISMA_7 = 770; + public const int FEAT_EPIC_GREAT_CHARISMA_8 = 771; + public const int FEAT_EPIC_GREAT_CHARISMA_9 = 772; + public const int FEAT_EPIC_GREAT_CHARISMA_10 = 773; + public const int FEAT_EPIC_GREAT_CONSTITUTION_1 = 774; + public const int FEAT_EPIC_GREAT_CONSTITUTION_2 = 775; + public const int FEAT_EPIC_GREAT_CONSTITUTION_3 = 776; + public const int FEAT_EPIC_GREAT_CONSTITUTION_4 = 777; + public const int FEAT_EPIC_GREAT_CONSTITUTION_5 = 778; + public const int FEAT_EPIC_GREAT_CONSTITUTION_6 = 779; + public const int FEAT_EPIC_GREAT_CONSTITUTION_7 = 780; + public const int FEAT_EPIC_GREAT_CONSTITUTION_8 = 781; + public const int FEAT_EPIC_GREAT_CONSTITUTION_9 = 782; + public const int FEAT_EPIC_GREAT_CONSTITUTION_10 = 783; + public const int FEAT_EPIC_GREAT_DEXTERITY_1 = 784; + public const int FEAT_EPIC_GREAT_DEXTERITY_2 = 785; + public const int FEAT_EPIC_GREAT_DEXTERITY_3 = 786; + public const int FEAT_EPIC_GREAT_DEXTERITY_4 = 787; + public const int FEAT_EPIC_GREAT_DEXTERITY_5 = 788; + public const int FEAT_EPIC_GREAT_DEXTERITY_6 = 789; + public const int FEAT_EPIC_GREAT_DEXTERITY_7 = 790; + public const int FEAT_EPIC_GREAT_DEXTERITY_8 = 791; + public const int FEAT_EPIC_GREAT_DEXTERITY_9 = 792; + public const int FEAT_EPIC_GREAT_DEXTERITY_10 = 793; + public const int FEAT_EPIC_GREAT_INTELLIGENCE_1 = 794; + public const int FEAT_EPIC_GREAT_INTELLIGENCE_2 = 795; + public const int FEAT_EPIC_GREAT_INTELLIGENCE_3 = 796; + public const int FEAT_EPIC_GREAT_INTELLIGENCE_4 = 797; + public const int FEAT_EPIC_GREAT_INTELLIGENCE_5 = 798; + public const int FEAT_EPIC_GREAT_INTELLIGENCE_6 = 799; + public const int FEAT_EPIC_GREAT_INTELLIGENCE_7 = 800; + public const int FEAT_EPIC_GREAT_INTELLIGENCE_8 = 801; + public const int FEAT_EPIC_GREAT_INTELLIGENCE_9 = 802; + public const int FEAT_EPIC_GREAT_INTELLIGENCE_10 = 803; + public const int FEAT_EPIC_GREAT_WISDOM_1 = 804; + public const int FEAT_EPIC_GREAT_WISDOM_2 = 805; + public const int FEAT_EPIC_GREAT_WISDOM_3 = 806; + public const int FEAT_EPIC_GREAT_WISDOM_4 = 807; + public const int FEAT_EPIC_GREAT_WISDOM_5 = 808; + public const int FEAT_EPIC_GREAT_WISDOM_6 = 809; + public const int FEAT_EPIC_GREAT_WISDOM_7 = 810; + public const int FEAT_EPIC_GREAT_WISDOM_8 = 811; + public const int FEAT_EPIC_GREAT_WISDOM_9 = 812; + public const int FEAT_EPIC_GREAT_WISDOM_10 = 813; + public const int FEAT_EPIC_GREAT_STRENGTH_1 = 814; + public const int FEAT_EPIC_GREAT_STRENGTH_2 = 815; + public const int FEAT_EPIC_GREAT_STRENGTH_3 = 816; + public const int FEAT_EPIC_GREAT_STRENGTH_4 = 817; + public const int FEAT_EPIC_GREAT_STRENGTH_5 = 818; + public const int FEAT_EPIC_GREAT_STRENGTH_6 = 819; + public const int FEAT_EPIC_GREAT_STRENGTH_7 = 820; + public const int FEAT_EPIC_GREAT_STRENGTH_8 = 821; + public const int FEAT_EPIC_GREAT_STRENGTH_9 = 822; + public const int FEAT_EPIC_GREAT_STRENGTH_10 = 823; + public const int FEAT_EPIC_GREAT_SMITING_1 = 824; + public const int FEAT_EPIC_GREAT_SMITING_2 = 825; + public const int FEAT_EPIC_GREAT_SMITING_3 = 826; + public const int FEAT_EPIC_GREAT_SMITING_4 = 827; + public const int FEAT_EPIC_GREAT_SMITING_5 = 828; + public const int FEAT_EPIC_GREAT_SMITING_6 = 829; + public const int FEAT_EPIC_GREAT_SMITING_7 = 830; + public const int FEAT_EPIC_GREAT_SMITING_8 = 831; + public const int FEAT_EPIC_GREAT_SMITING_9 = 832; + public const int FEAT_EPIC_GREAT_SMITING_10 = 833; + public const int FEAT_EPIC_IMPROVED_SNEAK_ATTACK_1 = 834; + public const int FEAT_EPIC_IMPROVED_SNEAK_ATTACK_2 = 835; + public const int FEAT_EPIC_IMPROVED_SNEAK_ATTACK_3 = 836; + public const int FEAT_EPIC_IMPROVED_SNEAK_ATTACK_4 = 837; + public const int FEAT_EPIC_IMPROVED_SNEAK_ATTACK_5 = 838; + public const int FEAT_EPIC_IMPROVED_SNEAK_ATTACK_6 = 839; + public const int FEAT_EPIC_IMPROVED_SNEAK_ATTACK_7 = 840; + public const int FEAT_EPIC_IMPROVED_SNEAK_ATTACK_8 = 841; + public const int FEAT_EPIC_IMPROVED_SNEAK_ATTACK_9 = 842; + public const int FEAT_EPIC_IMPROVED_SNEAK_ATTACK_10 = 843; + public const int FEAT_EPIC_IMPROVED_STUNNING_FIST_1 = 844; + public const int FEAT_EPIC_IMPROVED_STUNNING_FIST_2 = 845; + public const int FEAT_EPIC_IMPROVED_STUNNING_FIST_3 = 846; + public const int FEAT_EPIC_IMPROVED_STUNNING_FIST_4 = 847; + public const int FEAT_EPIC_IMPROVED_STUNNING_FIST_5 = 848; + public const int FEAT_EPIC_IMPROVED_STUNNING_FIST_6 = 849; + public const int FEAT_EPIC_IMPROVED_STUNNING_FIST_7 = 850; + public const int FEAT_EPIC_IMPROVED_STUNNING_FIST_8 = 851; + public const int FEAT_EPIC_IMPROVED_STUNNING_FIST_9 = 852; + public const int FEAT_EPIC_IMPROVED_STUNNING_FIST_10 = 853; + + public const int FEAT_EPIC_PLANAR_TURNING = 854; // AFW-OEI 02/08/2007: Re-enabled for NX1. + public const int FEAT_EPIC_BANE_OF_ENEMIES = 855; + public const int FEAT_EPIC_DODGE = 856; + public const int FEAT_EPIC_AUTOMATIC_QUICKEN_1 = 857; + public const int FEAT_EPIC_AUTOMATIC_QUICKEN_2 = 858; + public const int FEAT_EPIC_AUTOMATIC_QUICKEN_3 = 859; + public const int FEAT_EPIC_AUTOMATIC_SILENT_SPELL_1 = 860; + public const int FEAT_EPIC_AUTOMATIC_SILENT_SPELL_2 = 861; + public const int FEAT_EPIC_AUTOMATIC_SILENT_SPELL_3 = 862; + public const int FEAT_EPIC_AUTOMATIC_STILL_SPELL_1 = 863; + public const int FEAT_EPIC_AUTOMATIC_STILL_SPELL_2 = 864; + public const int FEAT_EPIC_AUTOMATIC_STILL_SPELL_3 = 865; + + public const int FEAT_WHIRLWIND_ATTACK = 867; + public const int FEAT_IMPROVED_WHIRLWIND = 868; + public const int FEAT_EPIC_BARBARIAN_RAGE = 869; // AFW-OEI 02/16/2007: ID recycled from 3.0 Mighty Rage + public const int FEAT_EPIC_LASTING_INSPIRATION = 870; + public const int FEAT_CURSE_SONG = 871; + public const int FEAT_EPIC_WILD_SHAPE_UNDEAD = 872; + public const int FEAT_EPIC_WILD_SHAPE_DRAGON = 873; + public const int FEAT_EPIC_SPELL_MUMMY_DUST = 874; + public const int FEAT_EPIC_SPELL_DRAGON_KNIGHT = 875; + public const int FEAT_EPIC_SPELL_HELLBALL = 876; + public const int FEAT_EPIC_SPELL_MAGE_ARMOUR = 877; + public const int FEAT_EPIC_SPELL_RUIN = 878; + public const int FEAT_WEAPON_OF_CHOICE_SICKLE = 879; + public const int FEAT_WEAPON_OF_CHOICE_KAMA = 880; + public const int FEAT_WEAPON_OF_CHOICE_KUKRI = 881; + public const int FEAT_KI_DAMAGE = 882; + public const int FEAT_INCREASE_MULTIPLIER = 883; + public const int FEAT_SUPERIOR_WEAPON_FOCUS = 884; + public const int FEAT_KI_CRITICAL = 885; + public const int FEAT_BONE_SKIN_2 = 886; + public const int FEAT_BONE_SKIN_4 = 887; + public const int FEAT_BONE_SKIN_6 = 888; + public const int FEAT_ANIMATE_DEAD = 889; + public const int FEAT_SUMMON_UNDEAD = 890; + public const int FEAT_DEATHLESS_VIGOR = 891; + public const int FEAT_UNDEAD_GRAFT_1 = 892; + public const int FEAT_UNDEAD_GRAFT_2 = 893; + public const int FEAT_TOUGH_AS_BONE = 894; + public const int FEAT_SUMMON_GREATER_UNDEAD = 895; + public const int FEAT_DEATHLESS_MASTERY = 896; + public const int FEAT_DEATHLESS_MASTER_TOUCH = 897; + public const int FEAT_GREATER_WILDSHAPE_1 = 898; + public const int FEAT_GREATER_WILDSHAPE_2 = 900; + public const int FEAT_GREATER_WILDSHAPE_3 = 901; + public const int FEAT_HUMANOID_SHAPE = 902; + public const int FEAT_GREATER_WILDSHAPE_4 = 903; + public const int FEAT_SACRED_DEFENSE_1 = 904; + public const int FEAT_SACRED_DEFENSE_2 = 905; + public const int FEAT_SACRED_DEFENSE_3 = 906; + public const int FEAT_SACRED_DEFENSE_4 = 907; + public const int FEAT_SACRED_DEFENSE_5 = 908; + public const int FEAT_DIVINE_WRATH = 909; + public const int FEAT_EXTRA_SMITING = 910; + public const int FEAT_SKILL_FOCUS_CRAFT_ARMOR = 911; + public const int FEAT_SKILL_FOCUS_CRAFT_WEAPON = 912; + public const int FEAT_EPIC_SKILL_FOCUS_CRAFT_ARMOR = 913; + public const int FEAT_EPIC_SKILL_FOCUS_CRAFT_WEAPON = 914; + public const int FEAT_SKILL_FOCUS_BLUFF = 915; + public const int FEAT_SKILL_FOCUS_INTIMIDATE = 916; + public const int FEAT_EPIC_SKILL_FOCUS_BLUFF = 917; + public const int FEAT_EPIC_SKILL_FOCUS_INTIMIDATE = 918; + + public const int FEAT_WEAPON_OF_CHOICE_CLUB = 919; + public const int FEAT_WEAPON_OF_CHOICE_DAGGER = 920; + public const int FEAT_WEAPON_OF_CHOICE_LIGHTMACE = 921; + public const int FEAT_WEAPON_OF_CHOICE_MORNINGSTAR = 922; + public const int FEAT_WEAPON_OF_CHOICE_QUARTERSTAFF = 923; + public const int FEAT_WEAPON_OF_CHOICE_SHORTSPEAR = 924; + public const int FEAT_WEAPON_OF_CHOICE_SHORTSWORD = 925; + public const int FEAT_WEAPON_OF_CHOICE_RAPIER = 926; + public const int FEAT_WEAPON_OF_CHOICE_SCIMITAR = 927; + public const int FEAT_WEAPON_OF_CHOICE_LONGSWORD = 928; + public const int FEAT_WEAPON_OF_CHOICE_GREATSWORD = 929; + public const int FEAT_WEAPON_OF_CHOICE_HANDAXE = 930; + public const int FEAT_WEAPON_OF_CHOICE_BATTLEAXE = 931; + public const int FEAT_WEAPON_OF_CHOICE_GREATAXE = 932; + public const int FEAT_WEAPON_OF_CHOICE_HALBERD = 933; + public const int FEAT_WEAPON_OF_CHOICE_LIGHTHAMMER = 934; + public const int FEAT_WEAPON_OF_CHOICE_LIGHTFLAIL = 935; + public const int FEAT_WEAPON_OF_CHOICE_WARHAMMER = 936; + public const int FEAT_WEAPON_OF_CHOICE_HEAVYFLAIL = 937; + public const int FEAT_WEAPON_OF_CHOICE_SCYTHE = 938; + public const int FEAT_WEAPON_OF_CHOICE_KATANA = 939; + public const int FEAT_WEAPON_OF_CHOICE_BASTARDSWORD = 940; + public const int FEAT_WEAPON_OF_CHOICE_DIREMACE = 941; + public const int FEAT_WEAPON_OF_CHOICE_DOUBLEAXE = 942; + public const int FEAT_WEAPON_OF_CHOICE_TWOBLADEDSWORD = 943; + + public const int FEAT_BREW_POTION = 944; + public const int FEAT_SCRIBE_SCROLL = 945; + public const int FEAT_CRAFT_WAND = 946; + + public const int FEAT_DWARVEN_DEFENDER_DEFENSIVE_STANCE = 947; + public const int FEAT_DAMAGE_REDUCTION_6 = 948; + public const int FEAT_PRESTIGE_DEFENSIVE_AWARENESS_1 = 949; + public const int FEAT_PRESTIGE_DEFENSIVE_AWARENESS_2 = 950; + public const int FEAT_PRESTIGE_DEFENSIVE_AWARENESS_3 = 951; + public const int FEAT_WEAPON_FOCUS_DWAXE = 952; + public const int FEAT_WEAPON_SPECIALIZATION_DWAXE = 953; + public const int FEAT_IMPROVED_CRITICAL_DWAXE = 954; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_DWAXE = 955; + public const int FEAT_EPIC_WEAPON_FOCUS_DWAXE = 956; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_DWAXE = 957; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_DWAXE = 958; + public const int FEAT_WEAPON_OF_CHOICE_DWAXE = 959; + public const int FEAT_USE_POISON = 960; + + public const int FEAT_DRAGON_ARMOR = 961; + public const int FEAT_DRAGON_ABILITIES = 962; + public const int FEAT_DRAGON_IMMUNE_PARALYSIS = 963; + public const int FEAT_DRAGON_IMMUNE_FIRE = 964; + public const int FEAT_DRAGON_DIS_BREATH = 965; + public const int FEAT_EPIC_FIGHTER = 966; + public const int FEAT_EPIC_BARBARIAN = 967; + public const int FEAT_EPIC_BARD = 968; + public const int FEAT_EPIC_CLERIC = 969; + public const int FEAT_EPIC_DRUID = 970; + public const int FEAT_EPIC_MONK = 971; + public const int FEAT_EPIC_PALADIN = 972; + public const int FEAT_EPIC_RANGER = 973; + public const int FEAT_EPIC_ROGUE = 974; + public const int FEAT_EPIC_SORCERER = 975; + public const int FEAT_EPIC_WIZARD = 976; + public const int FEAT_EPIC_ARCANE_ARCHER = 977; + public const int FEAT_EPIC_ASSASSIN = 978; + public const int FEAT_EPIC_BLACKGUARD = 979; + public const int FEAT_EPIC_SHADOWDANCER = 980; + public const int FEAT_EPIC_HARPER_SCOUT = 981; + public const int FEAT_EPIC_DIVINE_CHAMPION = 982; + public const int FEAT_EPIC_WEAPON_MASTER = 983; + public const int FEAT_EPIC_PALE_MASTER = 984; + public const int FEAT_EPIC_DWARVEN_DEFENDER = 985; + public const int FEAT_EPIC_SHIFTER = 986; + public const int FEAT_EPIC_RED_DRAGON_DISC = 987; + public const int FEAT_EPIC_THUNDERING_RAGE = 988; + + + // JLR - OEI 06/29/05 NWN2 3.5 -- New Feats (Some were old, just hadn't been updated here) + + + public const int FEAT_EPIC_TERRIFYING_RAGE = 989; + public const int FEAT_EPIC_SPELL_EPIC_WARDING = 990; + public const int FEAT_PRESTIGE_MASTER_CRAFTER = 991; + public const int FEAT_PRESTIGE_SCROUNGER = 992; + public const int FEAT_WEAPON_FOCUS_WHIP = 993; + public const int FEAT_WEAPON_SPECIALIZATION_WHIP = 994; + public const int FEAT_IMPROVED_CRITICAL_WHIP = 995; + public const int FEAT_EPIC_DEVASTATING_CRITICAL_WHIP = 996; + public const int FEAT_EPIC_WEAPON_FOCUS_WHIP = 997; + public const int FEAT_EPIC_WEAPON_SPECIALIZATION_WHIP = 998; + public const int FEAT_EPIC_OVERWHELMING_CRITICAL_WHIP = 999; + public const int FEAT_WEAPON_OF_CHOICE_WHIP = 1000; + public const int FEAT_EPIC_CHARACTER = 1001; + public const int FEAT_EPIC_EPIC_SHADOWLORD = 1002; + public const int FEAT_EPIC_EPIC_FIEND = 1003; + public const int FEAT_PRESTIGE_DEATH_ATTACK_6 = 1004; + public const int FEAT_PRESTIGE_DEATH_ATTACK_7 = 1005; + public const int FEAT_PRESTIGE_DEATH_ATTACK_8 = 1006; + public const int FEAT_BLACKGUARD_SNEAK_ATTACK_4D6 = 1007; + public const int FEAT_BLACKGUARD_SNEAK_ATTACK_5D6 = 1008; + public const int FEAT_BLACKGUARD_SNEAK_ATTACK_6D6 = 1009; + public const int FEAT_BLACKGUARD_SNEAK_ATTACK_7D6 = 1010; + public const int FEAT_BLACKGUARD_SNEAK_ATTACK_8D6 = 1011; + public const int FEAT_BLACKGUARD_SNEAK_ATTACK_9D6 = 1012; + public const int FEAT_BLACKGUARD_SNEAK_ATTACK_10D6 = 1013; + public const int FEAT_BLACKGUARD_SNEAK_ATTACK_11D6 = 1014; + public const int FEAT_BLACKGUARD_SNEAK_ATTACK_12D6 = 1015; + public const int FEAT_BLACKGUARD_SNEAK_ATTACK_13D6 = 1016; + public const int FEAT_BLACKGUARD_SNEAK_ATTACK_14D6 = 1017; + public const int FEAT_BLACKGUARD_SNEAK_ATTACK_15D6 = 1018; + public const int FEAT_PRESTIGE_DEATH_ATTACK_9 = 1019; + public const int FEAT_PRESTIGE_DEATH_ATTACK_10 = 1020; + public const int FEAT_PRESTIGE_DEATH_ATTACK_11 = 1021; + public const int FEAT_PRESTIGE_DEATH_ATTACK_12 = 1022; + public const int FEAT_PRESTIGE_DEATH_ATTACK_13 = 1023; + public const int FEAT_PRESTIGE_DEATH_ATTACK_14 = 1024; + public const int FEAT_PRESTIGE_DEATH_ATTACK_15 = 1025; + public const int FEAT_PRESTIGE_DEATH_ATTACK_16 = 1026; + public const int FEAT_PRESTIGE_DEATH_ATTACK_17 = 1027; + public const int FEAT_PRESTIGE_DEATH_ATTACK_18 = 1028; + public const int FEAT_PRESTIGE_DEATH_ATTACK_19 = 1029; + public const int FEAT_PRESTIGE_DEATH_ATTACK_20 = 1030; + public const int FEAT_BLANK = 1031; + public const int FEAT_SNEAK_ATTACK_11 = 1032; + public const int FEAT_SNEAK_ATTACK_12 = 1033; + public const int FEAT_SNEAK_ATTACK_13 = 1034; + public const int FEAT_SNEAK_ATTACK_14 = 1035; + public const int FEAT_SNEAK_ATTACK_15 = 1036; + public const int FEAT_SNEAK_ATTACK_16 = 1037; + public const int FEAT_SNEAK_ATTACK_17 = 1038; + public const int FEAT_SNEAK_ATTACK_18 = 1039; + public const int FEAT_SNEAK_ATTACK_19 = 1040; + public const int FEAT_SNEAK_ATTACK_20 = 1041; + public const int FEAT_DRAGON_HDINCREASE_D6 = 1042; + public const int FEAT_DRAGON_HDINCREASE_D8 = 1043; + public const int FEAT_DRAGON_HDINCREASE_D10 = 1044; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_6 = 1045; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_7 = 1046; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_8 = 1047; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_9 = 1048; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_10 = 1049; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_11 = 1050; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_12 = 1051; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_13 = 1052; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_14 = 1053; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_15 = 1054; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_16 = 1055; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_17 = 1056; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_18 = 1057; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_19 = 1058; + public const int FEAT_PRESTIGE_ENCHANT_ARROW_20 = 1059; + public const int FEAT_EPIC_OUTSIDER_SHAPE = 1060; + public const int FEAT_EPIC_CONSTRUCT_SHAPE = 1061; + public const int FEAT_EPIC_SHIFTER_INFINITE_WILDSHAPE_1 = 1062; + public const int FEAT_EPIC_SHIFTER_INFINITE_WILDSHAPE_2 = 1063; + public const int FEAT_EPIC_SHIFTER_INFINITE_WILDSHAPE_3 = 1064; + public const int FEAT_EPIC_SHIFTER_INFINITE_WILDSHAPE_4 = 1065; + public const int FEAT_EPIC_SHIFTER_INFINITE_HUMANOID_SHAPE = 1066; + public const int FEAT_EPIC_BARBARIAN_DAMAGE_REDUCTION = 1067; + public const int FEAT_EPIC_DRUID_INFINITE_WILDSHAPE = 1068; + public const int FEAT_EPIC_DRUID_INFINITE_ELEMENTAL_SHAPE = 1069; + public const int FEAT_PRESTIGE_POISON_SAVE_EPIC = 1070; + public const int FEAT_EPIC_SUPERIOR_WEAPON_FOCUS = 1071; + // FAK - OEI new racial subtype feats + public const int FEAT_OFFENSIVE_TRAINING_ABERRATIONS = 1072; + public const int FEAT_ENLARGE = 1073; + public const int FEAT_INVISIBILITY = 1074; + public const int FEAT_DROW_RESISTANCE = 1075; + public const int FEAT_DROW_DARKNESS = 1076; + public const int FEAT_DROW_FAERIE_FIRE = 1077; + public const int FEAT_SVIRFNEBLIN_RESISTANCE = 1078; + public const int FEAT_SVIRFNEBLIN_BLIND = 1079; + public const int FEAT_SVIRFNEBLIN_BLUR = 1080; + public const int FEAT_SVIRFNEBLIN_CHANGE_SELF = 1081; + public const int FEAT_SVIRFNEBLIN_DODGE = 1082; + public const int FEAT_SVIRFNEBLIN_SAVE = 1083; + public const int FEAT_AASIMAR_SEARCH = 1084; + public const int FEAT_AASIMAR_RESISTANCE = 1085; + public const int FEAT_AASIMAR_LIGHT = 1086; + public const int FEAT_TIEFLING_HIDE = 1087; + public const int FEAT_TIEFLING_DARKNESS = 1088; + public const int FEAT_TIEFLING_RESISTANCE = 1089; + // JLR - OEI 05/23/05 NWN2 3.5 -- New Feats + public const int FEAT_AUGMENT_HEALING = 1090; + public const int FEAT_AUGMENT_SUMMONING = 1091; + public const int FEAT_CRAFT_MAGIC_ARMS_AND_ARMOR = 1092; + public const int FEAT_CRAFT_WONDROUS_ITEMS = 1093; + public const int FEAT_DIEHARD = 1094; + public const int FEAT_EXPERT_TACTICIAN = 1095; + public const int FEAT_SKILL_AFFINITY_DIPLOMACY = 1096; + public const int FEAT_SKILL_AFFINITY_BLUFF = 1097; + public const int FEAT_FEINT = 1098; + public const int FEAT_GREATER_TWO_WEAPON_FIGHTING = 1099; + public const int FEAT_IMPROVED_RAPID_SHOT = 1100; + public const int FEAT_IMPROVED_SHIELD_BASH = 1101; + public const int FEAT_IMPROVED_TWO_WEAPON_DEFENSE = 1102; + public const int FEAT_MANYSHOT = 1103; + public const int FEAT_MIND_OVER_BODY = 1104; + public const int FEAT_MONKEY_GRIP = 1105; + public const int FEAT_MOUNTED_ARCHERY = 1106; + public const int FEAT_MOUNTED_COMBAT = 1107; + public const int FEAT_NATURAL_SPELL = 1108; + public const int FEAT_NEGOTIATOR = 1109; + public const int FEAT_NIMBLE_FINGERS = 1110; + public const int FEAT_OPEN_MINDED = 1111; + public const int FEAT_RIDE_BY_ATTACK = 1112; + public const int FEAT_SKILLED_OFFENSE = 1113; + public const int FEAT_SPELLCASTING_PRODIGY = 1114; + public const int FEAT_TOWER_SHIELD_PROFICIENCY = 1115; + public const int FEAT_TRACK = 1116; + public const int FEAT_TWO_WEAPON_DEFENSE = 1117; + public const int FEAT_GREATER_WEAPON_FOCUS_CLUB = 1118; + public const int FEAT_GREATER_WEAPON_FOCUS_DAGGER = 1119; + public const int FEAT_GREATER_WEAPON_FOCUS_DART = 1120; + public const int FEAT_GREATER_WEAPON_FOCUS_HEAVYCROSSBOW = 1121; + public const int FEAT_GREATER_WEAPON_FOCUS_LIGHTCROSSBOW = 1122; + public const int FEAT_GREATER_WEAPON_FOCUS_LIGHTMACE = 1123; + public const int FEAT_GREATER_WEAPON_FOCUS_MORNINGSTAR = 1124; + public const int FEAT_GREATER_WEAPON_FOCUS_QUARTERSTAFF = 1125; + public const int FEAT_GREATER_WEAPON_FOCUS_SHORTSPEAR = 1126; + public const int FEAT_GREATER_WEAPON_FOCUS_SICKLE = 1127; + public const int FEAT_GREATER_WEAPON_FOCUS_SLING = 1128; + public const int FEAT_GREATER_WEAPON_FOCUS_UNARMED = 1129; + public const int FEAT_GREATER_WEAPON_FOCUS_LONGBOW = 1130; + public const int FEAT_GREATER_WEAPON_FOCUS_SHORTBOW = 1131; + public const int FEAT_GREATER_WEAPON_FOCUS_SHORTSWORD = 1132; + public const int FEAT_GREATER_WEAPON_FOCUS_RAPIER = 1133; + public const int FEAT_GREATER_WEAPON_FOCUS_SCIMITAR = 1134; + public const int FEAT_GREATER_WEAPON_FOCUS_LONGSWORD = 1135; + public const int FEAT_GREATER_WEAPON_FOCUS_GREATSWORD = 1136; + public const int FEAT_GREATER_WEAPON_FOCUS_HANDAXE = 1137; + public const int FEAT_GREATER_WEAPON_FOCUS_THROWINGAXE = 1138; + public const int FEAT_GREATER_WEAPON_FOCUS_BATTLEAXE = 1139; + public const int FEAT_GREATER_WEAPON_FOCUS_GREATAXE = 1140; + public const int FEAT_GREATER_WEAPON_FOCUS_HALBERD = 1141; + public const int FEAT_GREATER_WEAPON_FOCUS_LIGHTHAMMER = 1142; + public const int FEAT_GREATER_WEAPON_FOCUS_LIGHTFLAIL = 1143; + public const int FEAT_GREATER_WEAPON_FOCUS_WARHAMMER = 1144; + public const int FEAT_GREATER_WEAPON_FOCUS_HEAVYFLAIL = 1145; + public const int FEAT_GREATER_WEAPON_FOCUS_KAMA = 1146; + public const int FEAT_GREATER_WEAPON_FOCUS_KUKRI = 1147; + public const int FEAT_GREATER_WEAPON_FOCUS_SHURIKEN = 1148; + public const int FEAT_GREATER_WEAPON_FOCUS_SCYTHE = 1149; + public const int FEAT_GREATER_WEAPON_FOCUS_KATANA = 1150; + public const int FEAT_GREATER_WEAPON_FOCUS_BASTARDSWORD = 1151; + public const int FEAT_GREATER_WEAPON_FOCUS_DIREMACE = 1152; + public const int FEAT_GREATER_WEAPON_FOCUS_DOUBLEAXE = 1153; + public const int FEAT_GREATER_WEAPON_FOCUS_TWOBLADEDSWORD = 1154; + public const int FEAT_GREATER_WEAPON_FOCUS_DWAXE = 1155; + public const int FEAT_GREATER_WEAPON_FOCUS_WHIP = 1156; + public const int FEAT_GREATER_WEAPON_FOCUS_CREATURE = 1157; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_CLUB = 1158; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_DAGGER = 1159; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_DART = 1160; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_HEAVYCROSSBOW = 1161; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_LIGHTCROSSBOW = 1162; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_LIGHTMACE = 1163; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_MORNINGSTAR = 1164; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_QUARTERSTAFF = 1165; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_SHORTSPEAR = 1166; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_SICKLE = 1167; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_SLING = 1168; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_UNARMED = 1169; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_LONGBOW = 1170; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_SHORTBOW = 1171; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_SHORTSWORD = 1172; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_RAPIER = 1173; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_SCIMITAR = 1174; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_LONGSWORD = 1175; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_GREATSWORD = 1176; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_HANDAXE = 1177; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_THROWINGAXE = 1178; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_BATTLEAXE = 1179; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_GREATAXE = 1180; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_HALBERD = 1181; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_LIGHTHAMMER = 1182; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_LIGHTFLAIL = 1183; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_WARHAMMER = 1184; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_HEAVYFLAIL = 1185; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_KAMA = 1186; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_KUKRI = 1187; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_SHURIKEN = 1188; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_SCYTHE = 1189; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_KATANA = 1190; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_BASTARDSWORD = 1191; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_DIREMACE = 1192; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_DOUBLEAXE = 1193; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_TWOBLADEDSWORD = 1194; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_DWAXE = 1195; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_WHIP = 1196; + public const int FEAT_GREATER_WEAPON_SPECIALIZATION_CREATURE = 1197; + public const int FEAT_IMPROVED_FAVORED_ENEMY_DWARF = 1198; + public const int FEAT_IMPROVED_FAVORED_ENEMY_ELF = 1199; + public const int FEAT_IMPROVED_FAVORED_ENEMY_GNOME = 1200; + public const int FEAT_IMPROVED_FAVORED_ENEMY_HALFLING = 1201; + public const int FEAT_IMPROVED_FAVORED_ENEMY_HALFELF = 1202; + public const int FEAT_IMPROVED_FAVORED_ENEMY_HALFORC = 1203; + public const int FEAT_IMPROVED_FAVORED_ENEMY_HUMAN = 1204; + public const int FEAT_IMPROVED_FAVORED_ENEMY_ABERRATION = 1205; + public const int FEAT_IMPROVED_FAVORED_ENEMY_ANIMAL = 1206; + public const int FEAT_IMPROVED_FAVORED_ENEMY_BEAST = 1207; + public const int FEAT_IMPROVED_FAVORED_ENEMY_CONSTRUCT = 1208; + public const int FEAT_IMPROVED_FAVORED_ENEMY_DRAGON = 1209; + public const int FEAT_IMPROVED_FAVORED_ENEMY_GOBLINOID = 1210; + public const int FEAT_IMPROVED_FAVORED_ENEMY_MONSTROUS = 1211; + public const int FEAT_IMPROVED_FAVORED_ENEMY_ORC = 1212; + public const int FEAT_IMPROVED_FAVORED_ENEMY_REPTILIAN = 1213; + public const int FEAT_IMPROVED_FAVORED_ENEMY_ELEMENTAL = 1214; + public const int FEAT_IMPROVED_FAVORED_ENEMY_FEY = 1215; + public const int FEAT_IMPROVED_FAVORED_ENEMY_GIANT = 1216; + public const int FEAT_IMPROVED_FAVORED_ENEMY_MAGICAL_BEAST = 1217; + public const int FEAT_IMPROVED_FAVORED_ENEMY_OUTSIDER = 1218; + public const int FEAT_IMPROVED_FAVORED_ENEMY_SHAPECHANGER = 1219; + public const int FEAT_IMPROVED_FAVORED_ENEMY_UNDEAD = 1220; + public const int FEAT_IMPROVED_FAVORED_ENEMY_VERMIN = 1221; + public const int FEAT_FAVORED_POWER_ATTACK_DWARF = 1222; + public const int FEAT_FAVORED_POWER_ATTACK_GNOME = 1223; + public const int FEAT_FAVORED_POWER_ATTACK_ELF = 1224; + public const int FEAT_FAVORED_POWER_ATTACK_HALFLING = 1225; + public const int FEAT_FAVORED_POWER_ATTACK_HALFELF = 1226; + public const int FEAT_FAVORED_POWER_ATTACK_HALFORC = 1227; + public const int FEAT_FAVORED_POWER_ATTACK_HUMAN = 1228; + public const int FEAT_FAVORED_POWER_ATTACK_ABERRATION = 1229; + public const int FEAT_FAVORED_POWER_ATTACK_ANIMAL = 1230; + public const int FEAT_FAVORED_POWER_ATTACK_BEAST = 1231; + public const int FEAT_FAVORED_POWER_ATTACK_CONSTRUCT = 1232; + public const int FEAT_FAVORED_POWER_ATTACK_DRAGON = 1233; + public const int FEAT_FAVORED_POWER_ATTACK_GOBLINOID = 1234; + public const int FEAT_FAVORED_POWER_ATTACK_MONSTROUS = 1235; + public const int FEAT_FAVORED_POWER_ATTACK_ORC = 1236; + public const int FEAT_FAVORED_POWER_ATTACK_REPTILIAN = 1237; + public const int FEAT_FAVORED_POWER_ATTACK_ELEMENTAL = 1238; + public const int FEAT_FAVORED_POWER_ATTACK_FEY = 1239; + public const int FEAT_FAVORED_POWER_ATTACK_GIANT = 1240; + public const int FEAT_FAVORED_POWER_ATTACK_MAGICAL_BEAST = 1241; + public const int FEAT_FAVORED_POWER_ATTACK_OUTSIDER = 1242; + public const int FEAT_FAVORED_POWER_ATTACK_SHAPECHANGER = 1243; + public const int FEAT_FAVORED_POWER_ATTACK_UNDEAD = 1244; + public const int FEAT_FAVORED_POWER_ATTACK_VERMIN = 1245; + public const int FEAT_PRACTICED_SPELLCASTER_BARD = 1246; + public const int FEAT_PRACTICED_SPELLCASTER_CLERIC = 1247; + public const int FEAT_PRACTICED_SPELLCASTER_DRUID = 1248; + public const int FEAT_PRACTICED_SPELLCASTER_PALADIN = 1249; + public const int FEAT_PRACTICED_SPELLCASTER_RANGER = 1250; + public const int FEAT_PRACTICED_SPELLCASTER_SORCERER = 1251; + public const int FEAT_PRACTICED_SPELLCASTER_WIZARD = 1252; + public const int FEAT_GREATER_RESILIENCY = 1253; + public const int FEAT_COSMOPOLITAN_CONCENTRATION = 1254; + public const int FEAT_COSMOPOLITAN_DISABLETRAP = 1255; + public const int FEAT_COSMOPOLITAN_DISCIPLINE = 1256; + public const int FEAT_COSMOPOLITAN_HEAL = 1257; + public const int FEAT_COSMOPOLITAN_HIDE = 1258; + public const int FEAT_COSMOPOLITAN_LISTEN = 1259; + public const int FEAT_COSMOPOLITAN_LORE = 1260; + public const int FEAT_COSMOPOLITAN_MOVESILENTLY = 1261; + public const int FEAT_COSMOPOLITAN_OPENLOCK = 1262; + public const int FEAT_COSMOPOLITAN_PARRY = 1263; + public const int FEAT_COSMOPOLITAN_PERFORM = 1264; + public const int FEAT_COSMOPOLITAN_DIPLOMACY = 1265; + public const int FEAT_COSMOPOLITAN_SLEIGHT_OF_HAND = 1266; + public const int FEAT_COSMOPOLITAN_SEARCH = 1267; + public const int FEAT_COSMOPOLITAN_SETTRAP = 1268; + public const int FEAT_COSMOPOLITAN_SPELLCRAFT = 1269; + public const int FEAT_COSMOPOLITAN_SPOT = 1270; + public const int FEAT_COSMOPOLITAN_TAUNT = 1271; + public const int FEAT_COSMOPOLITAN_USEMAGICDEVICE = 1272; + public const int FEAT_COSMOPOLITAN_APPRAISE = 1273; + public const int FEAT_COSMOPOLITAN_TUMBLE = 1274; + public const int FEAT_COSMOPOLITAN_CRAFT_TRAP = 1275; + public const int FEAT_COSMOPOLITAN_BLUFF = 1276; + public const int FEAT_COSMOPOLITAN_INTIMIDATE = 1277; + public const int FEAT_COSMOPOLITAN_CRAFT_ARMOR = 1278; + public const int FEAT_COSMOPOLITAN_CRAFT_WEAPON = 1279; + public const int FEAT_COSMOPOLITAN_CRAFT_ALCHEMY = 1280; + public const int FEAT_COSMOPOLITAN_RIDE = 1281; + public const int FEAT_COSMOPOLITAN_SURVIVAL = 1282; + // Note that for the Extra Slot Feats, they go to (MaxLevel - 1)! + public const int FEAT_EXTRA_SLOT_BARD_LEVEL0 = 1283; + public const int FEAT_EXTRA_SLOT_BARD_LEVEL1 = 1284; + public const int FEAT_EXTRA_SLOT_BARD_LEVEL2 = 1285; + public const int FEAT_EXTRA_SLOT_BARD_LEVEL3 = 1286; + public const int FEAT_EXTRA_SLOT_BARD_LEVEL4 = 1287; + public const int FEAT_EXTRA_SLOT_BARD_LEVEL5 = 1288; + public const int FEAT_EXTRA_SLOT_CLERIC_LEVEL0 = 1289; + public const int FEAT_EXTRA_SLOT_CLERIC_LEVEL1 = 1290; + public const int FEAT_EXTRA_SLOT_CLERIC_LEVEL2 = 1291; + public const int FEAT_EXTRA_SLOT_CLERIC_LEVEL3 = 1292; + public const int FEAT_EXTRA_SLOT_CLERIC_LEVEL4 = 1293; + public const int FEAT_EXTRA_SLOT_CLERIC_LEVEL5 = 1294; + public const int FEAT_EXTRA_SLOT_CLERIC_LEVEL6 = 1295; + public const int FEAT_EXTRA_SLOT_CLERIC_LEVEL7 = 1296; + public const int FEAT_EXTRA_SLOT_CLERIC_LEVEL8 = 1297; + public const int FEAT_EXTRA_SLOT_DRUID_LEVEL0 = 1298; + public const int FEAT_EXTRA_SLOT_DRUID_LEVEL1 = 1299; + public const int FEAT_EXTRA_SLOT_DRUID_LEVEL2 = 1300; + public const int FEAT_EXTRA_SLOT_DRUID_LEVEL3 = 1301; + public const int FEAT_EXTRA_SLOT_DRUID_LEVEL4 = 1302; + public const int FEAT_EXTRA_SLOT_DRUID_LEVEL5 = 1303; + public const int FEAT_EXTRA_SLOT_DRUID_LEVEL6 = 1304; + public const int FEAT_EXTRA_SLOT_DRUID_LEVEL7 = 1305; + public const int FEAT_EXTRA_SLOT_DRUID_LEVEL8 = 1306; + public const int FEAT_EXTRA_SLOT_PALADIN_LEVEL1 = 1307; + public const int FEAT_EXTRA_SLOT_PALADIN_LEVEL2 = 1308; + public const int FEAT_EXTRA_SLOT_PALADIN_LEVEL3 = 1309; + public const int FEAT_EXTRA_SLOT_RANGER_LEVEL1 = 1310; + public const int FEAT_EXTRA_SLOT_RANGER_LEVEL2 = 1311; + public const int FEAT_EXTRA_SLOT_RANGER_LEVEL3 = 1312; + public const int FEAT_EXTRA_SLOT_SORCERER_LEVEL0 = 1313; + public const int FEAT_EXTRA_SLOT_SORCERER_LEVEL1 = 1314; + public const int FEAT_EXTRA_SLOT_SORCERER_LEVEL2 = 1315; + public const int FEAT_EXTRA_SLOT_SORCERER_LEVEL3 = 1316; + public const int FEAT_EXTRA_SLOT_SORCERER_LEVEL4 = 1317; + public const int FEAT_EXTRA_SLOT_SORCERER_LEVEL5 = 1318; + public const int FEAT_EXTRA_SLOT_SORCERER_LEVEL6 = 1319; + public const int FEAT_EXTRA_SLOT_SORCERER_LEVEL7 = 1320; + public const int FEAT_EXTRA_SLOT_SORCERER_LEVEL8 = 1321; + public const int FEAT_EXTRA_SLOT_WIZARD_LEVEL0 = 1322; + public const int FEAT_EXTRA_SLOT_WIZARD_LEVEL1 = 1323; + public const int FEAT_EXTRA_SLOT_WIZARD_LEVEL2 = 1324; + public const int FEAT_EXTRA_SLOT_WIZARD_LEVEL3 = 1325; + public const int FEAT_EXTRA_SLOT_WIZARD_LEVEL4 = 1326; + public const int FEAT_EXTRA_SLOT_WIZARD_LEVEL5 = 1327; + public const int FEAT_EXTRA_SLOT_WIZARD_LEVEL6 = 1328; + public const int FEAT_EXTRA_SLOT_WIZARD_LEVEL7 = 1339; + public const int FEAT_EXTRA_SLOT_WIZARD_LEVEL8 = 1330; + // For matching new 3.5 skills: + public const int FEAT_SKILL_FOCUS_CRAFT_ALCHEMY = 1331; + public const int FEAT_SKILL_FOCUS_RIDE = 1332; + public const int FEAT_SKILL_FOCUS_SURVIVAL = 1333; + public const int FEAT_EPIC_SKILL_FOCUS_CRAFT_ALCHEMY = 1334; + public const int FEAT_EPIC_SKILL_FOCUS_RIDE = 1335; + public const int FEAT_EPIC_SKILL_FOCUS_SURVIVAL = 1336; + public const int FEAT_DASH = 1337; + public const int FEAT_DIVINE_RESISTANCE = 1338; + public const int FEAT_ELEPHANTS_HIDE = 1339; + public const int FEAT_EXTEND_RAGE = 1340; + public const int FEAT_EXTRA_RAGE = 1341; + public const int FEAT_EXTRA_WILD_SHAPE = 1342; + public const int FEAT_OAKEN_RESILIENCE = 1343; + public const int FEAT_POWER_CRITICAL_CLUB = 1344; + public const int FEAT_POWER_CRITICAL_DAGGER = 1345; + public const int FEAT_POWER_CRITICAL_DART = 1346; + public const int FEAT_POWER_CRITICAL_HEAVYCROSSBOW = 1347; + public const int FEAT_POWER_CRITICAL_LIGHTCROSSBOW = 1348; + public const int FEAT_POWER_CRITICAL_LIGHTMACE = 1349; + public const int FEAT_POWER_CRITICAL_MORNINGSTAR = 1350; + public const int FEAT_POWER_CRITICAL_QUARTERSTAFF = 1351; + public const int FEAT_POWER_CRITICAL_SHORTSPEAR = 1352; + public const int FEAT_POWER_CRITICAL_SICKLE = 1353; + public const int FEAT_POWER_CRITICAL_SLING = 1354; + public const int FEAT_POWER_CRITICAL_UNARMED = 1355; + public const int FEAT_POWER_CRITICAL_LONGBOW = 1356; + public const int FEAT_POWER_CRITICAL_SHORTBOW = 1357; + public const int FEAT_POWER_CRITICAL_SHORTSWORD = 1358; + public const int FEAT_POWER_CRITICAL_RAPIER = 1359; + public const int FEAT_POWER_CRITICAL_SCIMITAR = 1360; + public const int FEAT_POWER_CRITICAL_LONGSWORD = 1361; + public const int FEAT_POWER_CRITICAL_GREATSWORD = 1362; + public const int FEAT_POWER_CRITICAL_HANDAXE = 1363; + public const int FEAT_POWER_CRITICAL_THROWINGAXE = 1364; + public const int FEAT_POWER_CRITICAL_BATTLEAXE = 1365; + public const int FEAT_POWER_CRITICAL_GREATAXE = 1366; + public const int FEAT_POWER_CRITICAL_HALBERD = 1367; + public const int FEAT_POWER_CRITICAL_LIGHTHAMMER = 1368; + public const int FEAT_POWER_CRITICAL_LIGHTFLAIL = 1369; + public const int FEAT_POWER_CRITICAL_WARHAMMER = 1370; + public const int FEAT_POWER_CRITICAL_HEAVYFLAIL = 1371; + public const int FEAT_POWER_CRITICAL_KAMA = 1372; + public const int FEAT_POWER_CRITICAL_KUKRI = 1373; + public const int FEAT_POWER_CRITICAL_SHURIKEN = 1374; + public const int FEAT_POWER_CRITICAL_SCYTHE = 1375; + public const int FEAT_POWER_CRITICAL_KATANA = 1376; + public const int FEAT_POWER_CRITICAL_BASTARDSWORD = 1377; + public const int FEAT_POWER_CRITICAL_DIREMACE = 1378; + public const int FEAT_POWER_CRITICAL_DOUBLEAXE = 1379; + public const int FEAT_POWER_CRITICAL_TWOBLADEDSWORD = 1380; + public const int FEAT_POWER_CRITICAL_DWAXE = 1381; + public const int FEAT_POWER_CRITICAL_WHIP = 1382; + public const int FEAT_POWER_CRITICAL_CREATURE = 1383; + public const int FEAT_SACRED_VENGEANCE = 1384; + public const int FEAT_SELF_SUFFICIENT = 1385; + // 3.5 Class Abilities + public const int FEAT_DAMAGE_REDUCTION5 = 1386; + public const int FEAT_TRAP_SENSE_1 = 1387; + public const int FEAT_TRAP_SENSE_2 = 1388; + public const int FEAT_TRAP_SENSE_3 = 1389; + public const int FEAT_TRAP_SENSE_4 = 1390; + public const int FEAT_TRAP_SENSE_5 = 1391; + public const int FEAT_TRAP_SENSE_6 = 1392; + public const int FEAT_SWIFT_TRACKER = 1393; + public const int FEAT_IMPROVED_UNCANNY_DODGE = 1394; + public const int FEAT_HIDE_IN_PLAIN_SIGHT_OUTDOORS = 1395; + public const int FEAT_GREATER_RAGE = 1396; + public const int FEAT_SPECIAL_MOUNT = 1397; + public const int FEAT_INDOMITABLE_WILL = 1398; + public const int FEAT_WILD_EMPATHY = 1399; + public const int FEAT_SMITE_EVIL_2 = 1400; + public const int FEAT_SMITE_EVIL_3 = 1401; + public const int FEAT_SMITE_EVIL_4 = 1402; + public const int FEAT_SMITE_EVIL_5 = 1403; + public const int FEAT_REMOVE_DISEASE_2 = 1404; + public const int FEAT_REMOVE_DISEASE_3 = 1405; + public const int FEAT_REMOVE_DISEASE_4 = 1406; + public const int FEAT_REMOVE_DISEASE_5 = 1407; + //public const int FEAT_BKGD_FARMER = 1408; + //public const int FEAT_BKGD_TALE_TELLER = 1409; + //public const int FEAT_BKGD_NATURAL_LEADER = 1410; + public const int FEAT_ELDRITCH_BLAST_1 = 1411; + public const int FEAT_ELDRITCH_BLAST_2 = 1412; + public const int FEAT_ELDRITCH_BLAST_3 = 1413; + public const int FEAT_ELDRITCH_BLAST_4 = 1414; + public const int FEAT_ELDRITCH_BLAST_5 = 1415; + public const int FEAT_ELDRITCH_BLAST_6 = 1416; + public const int FEAT_ELDRITCH_BLAST_7 = 1417; + public const int FEAT_ELDRITCH_BLAST_8 = 1418; + public const int FEAT_ELDRITCH_BLAST_9 = 1419; + public const int FEAT_DAMAGE_REDUCTION_COLD_IRON_1 = 1420; + public const int FEAT_DAMAGE_REDUCTION_COLD_IRON_2 = 1421; + public const int FEAT_DAMAGE_REDUCTION_COLD_IRON_3 = 1422; + public const int FEAT_DAMAGE_REDUCTION_COLD_IRON_4 = 1423; + public const int FEAT_DAMAGE_REDUCTION_COLD_IRON_5 = 1424; + public const int FEAT_DETECT_MAGIC = 1425; + public const int FEAT_DECEIVE_ITEM = 1426; + public const int FEAT_FIENDISH_RESILIENCE_1 = 1427; + public const int FEAT_FIENDISH_RESILIENCE_2 = 1428; + public const int FEAT_FIENDISH_RESILIENCE_5 = 1429; + public const int FEAT_IMBUE_ITEM = 1430; + public const int FEAT_ENHANCED_SPECIAL_MOUNT = 1431; + public const int FEAT_MOUNTED_WPN_BONUS_LANCE_1 = 1432; + public const int FEAT_MOUNTED_WPN_BONUS_LANCE_2 = 1433; + public const int FEAT_MOUNTED_WPN_BONUS_LANCE_3 = 1434; + public const int FEAT_MOUNTED_WPN_BONUS_SWORD_1 = 1435; + public const int FEAT_MOUNTED_WPN_BONUS_SWORD_2 = 1436; + public const int FEAT_MOUNTED_WPN_BONUS_SWORD_3 = 1437; + public const int FEAT_RIDE_BONUS_1 = 1438; + public const int FEAT_RIDE_BONUS_2 = 1439; + public const int FEAT_RIDE_BONUS_3 = 1440; + public const int FEAT_RIDE_BONUS_4 = 1441; + public const int FEAT_COURTLY_KNOWLEDGE = 1442; + public const int FEAT_DEADLY_CHARGE = 1443; + public const int FEAT_ENHANCED_MOUNT_SPEED = 1444; + public const int FEAT_FULL_MOUNTED_ATTACK = 1445; + public const int FEAT_UNSTOPPABLE_CHARGE = 1446; + public const int FEAT_FRENZY_1 = 1447; + public const int FEAT_FRENZY_2 = 1448; + public const int FEAT_FRENZY_3 = 1449; + public const int FEAT_FRENZY_4 = 1450; + public const int FEAT_FRENZY_5 = 1451; + public const int FEAT_FRENZY_6 = 1452; + public const int FEAT_FRENZY_7 = 1453; + public const int FEAT_FRENZY_8 = 1454; + public const int FEAT_FRENZY_9 = 1455; + public const int FEAT_FRENZY_10 = 1456; + public const int FEAT_SUPREME_CLEAVE = 1457; + public const int FEAT_DEATHLESS_FRENZY = 1458; + public const int FEAT_ENHANCED_POWER_ATTACK = 1459; + public const int FEAT_INSPIRE_FRENZY_1 = 1460; + public const int FEAT_INSPIRE_FRENZY_2 = 1461; + public const int FEAT_INSPIRE_FRENZY_3 = 1462; + public const int FEAT_GREATER_FRENZY = 1463; + public const int FEAT_SUPREME_POWER_ATTACK = 1464; + public const int FEAT_SWIFT_AND_SILENT = 1465; + public const int FEAT_BARDSONG_INSPIRE_COURAGE = 1466; + public const int FEAT_BARDSONG_INSPIRE_COMPETENCE = 1467; + public const int FEAT_BARDSONG_INSPIRE_DEFENSE = 1468; + public const int FEAT_BARDSONG_INSPIRE_REGENERATION = 1469; + public const int FEAT_BARDSONG_INSPIRE_TOUGHNESS = 1470; + public const int FEAT_BARDSONG_INSPIRE_SLOWING = 1471; + public const int FEAT_BARDSONG_INSPIRE_JARRING = 1472; + public const int FEAT_BARDSONG_COUNTERSONG = 1473; + public const int FEAT_BARDSONG_FASCINATE = 1474; + public const int FEAT_BARDSONG_HAVEN_SONG = 1475; + public const int FEAT_BARDSONG_CLOUD_MIND = 1476; + public const int FEAT_BARDSONG_IRONSKIN_CHANT = 1477; + public const int FEAT_BARDSONG_SONG_OF_FREEDOM = 1478; + public const int FEAT_BARDSONG_INSPIRE_HEROICS = 1479; + public const int FEAT_BARDSONG_INSPIRE_LEGION = 1480; + public const int FEAT_BARDSONG_LEAVETAKINGS = 1481; + public const int FEAT_BARDSONG_THE_SPIRIT_OF_THE_WOOD = 1482; + public const int FEAT_BARDSONG_THE_FALL_OF_ZEEAIRE = 1483; + public const int FEAT_BARDSONG_THE_BATTLE_OF_HIGHCLIFF = 1484; + public const int FEAT_BARDSONG_THE_SIEGE_OF_CROSSROAD_KEEP = 1485; + public const int FEAT_BARDSONG_A_TALE_OF_HEROES = 1486; + public const int FEAT_BARDSONG_THE_TINKERS_SONG = 1487; + public const int FEAT_BARDSONG_DIRGE_OF_ANCIENT_ILLEFARN = 1488; + public const int FEAT_BARDSONG_SONG_OF_AGES = 1489; + + // AFW-OEI 04/18/2006: Neverwinter Nine Feats + public const int FEAT_EPITHET_NEVERWINTER_NINE = 1760; + + // AFW-OEI 04/18/2006: Shadow Thief of Amn Feats + public const int FEAT_EPITHET_SHADOWTHIEFAMN = 1771; + + // Brock H. - OEI 01/19/06 -- Epithet Feats + public const int FEAT_EPITHET_AGENT_OF_THE_WOOD = 1680; + public const int FEAT_EPITHET_BROTHER_OF_THE_WOOD = 1681; + public const int FEAT_EPITHET_SISTER_OF_THE_WOOD = 1682; + public const int FEAT_EPITHET_DREAD_LORD_OF_THE_KEEP = 1683; + public const int FEAT_EPITHET_EXPLORER = 1684; + public const int FEAT_EPITHET_INFERNAL_BARGAINING = 1685; + public const int FEAT_EPITHET_LAWBRINGER = 1686; + public const int FEAT_EPITHET_MASTER_OF_ELEMENTS = 1687; + public const int FEAT_EPITHET_MASTER_OF_EARTH = 1688; + public const int FEAT_EPITHET_MASTER_OF_AIR = 1689; + public const int FEAT_EPITHET_MASTER_OF_FIRE = 1690; + public const int FEAT_EPITHET_MASTER_OF_WATER = 1691; + public const int FEAT_EPITHET_MASTER_OF_THE_SUN_SOUL_1 = 1692; + public const int FEAT_EPITHET_MASTER_OF_THE_SUN_SOUL_2 = 1693; + public const int FEAT_EPITHET_PATHSTALKER = 1694; + public const int FEAT_EPITHET_SECRET_OF_THE_WAY_OF_SWORDS = 1695; + public const int FEAT_EPITHET_STUDENT_OF_THE_WAY_OF_SWORDS = 1696; + public const int FEAT_EPITHET_WARDERN_OF_THE_KEEP = 1697; + public const int FEAT_EPITHET_FIRESTARTER = 1698; + public const int FEAT_EPITHET_HARBORMAN = 1699; + public const int FEAT_EPITHET_KALACH_CHA_1 = 1700; + public const int FEAT_EPITHET_ORC_SLAYER = 1701; + public const int FEAT_EPITHET_SHADOW_THIEF_RANK_GRUNT = 1702; + public const int FEAT_EPITHET_SHADOW_THIEF_RANK_THUG = 1703; + public const int FEAT_EPITHET_SHADOW_THIEF_RANK_OPERATIVE = 1704; + public const int FEAT_EPITHET_WATCH_RANK_RECRUIT = 1705; + public const int FEAT_EPITHET_WATCH_RANK_PATROLMAN = 1706; + public const int FEAT_EPITHET_WATCH_RANK_SERGEANT = 1707; + public const int FEAT_EPITHET_CAPTAIN_OF_CROSSROAD_KEEP = 1708; + public const int FEAT_EPITHET_MASTER_ORATOR = 1709; + public const int FEAT_EPITHET_SQUIRE_OF_NEVERWINTER = 1710; + public const int FEAT_EPITHET_BUTCHER_OF_EMBER = 1711; + public const int FEAT_EPITHET_WRONGFULLY_ACCUSED = 1712; + public const int FEAT_EPITHET_DEFENDER_OF_THE_KEEP = 1713; + public const int FEAT_EPITHET_DRAGONSLAYER = 1714; + public const int FEAT_EPITHET_KNIGHT_OF_THE_REALM = 1715; + public const int FEAT_EPITHET_MASTER_OF_THE_BROKEN_BLADE = 1716; + + + // Brock H. - OEI 01/19/06 -- Character Background feats + // NOTE: Awarding or Removing these feats will NOT give the + // creature a new or different background! + public const int FEAT_BACKGROUND_BULLY = 1717; + public const int FEAT_BACKGROUND_COMPLEX = 1718; + public const int FEAT_BACKGROUND_DEVOUT = 1719; + public const int FEAT_BACKGROUND_FARMER = 1719; + public const int FEAT_BACKGROUND_LADYS_MAN = 1721; + public const int FEAT_BACKGROUND_THE_FLIRT = 1722; + public const int FEAT_BACKGROUND_MILITIA = 1723; + public const int FEAT_BACKGROUND_NATURAL_LEADER = 1724; + public const int FEAT_BACKGROUND_TALE_TELLER = 1725; + public const int FEAT_BACKGROUND_TROUBLE_MAKER = 1726; + public const int FEAT_BACKGROUND_WILD_CHILD = 1727; + public const int FEAT_BACKGROUND_WIZARDS_APPRENTICE = 1728; + + // Brock H. - OEI 01/19/06 -- Ranger Combat Style feats + public const int FEAT_COMBATSTYLE_RANGER_DUAL_WIELD = 1729; + public const int FEAT_COMBATSTYLE_RANGER_ARCHERY = 1730; + public const int FEAT_COMBATSTYLE_RANGER_ARCHERY_RAPID_SHOT = 1731; + public const int FEAT_COMBATSTYLE_RANGER_ARCHERY_MANY_SHOT = 1732; + public const int FEAT_COMBATSTYLE_RANGER_ARCHERY_IMPROVED_RAPID_SHOT = 1733; + public const int FEAT_COMBATSTYLE_RANGER_DUAL_WIELD_TWO_WEAPON_FIGHTING = 1734; + public const int FEAT_COMBATSTYLE_RANGER_DUAL_WIELD_IMPROVED_TWO_WEAPON_FIGHTING = 1735; + public const int FEAT_COMBATSTYLE_RANGER_DUAL_WIELD_GREATER_TWO_WEAPON_FIGHTING = 1736; + + // Brock H. - OEI 01/27/06 -- Dualist Prestige Class + public const int FEAT_CANNY_DEFENSE = 1737; + public const int FEAT_ENHANCED_MOBILITY = 1738; + public const int FEAT_GRACE = 1739; + public const int FEAT_PRECISE_STRIKE = 1740; + public const int FEAT_FLOURISH = 1741; + public const int FEAT_ELABORATE_PARRY = 1742; + public const int FEAT_IMPROVED_REACTION = 1743; + + // Brock H. - OEI 02/09/06 -- Ritual of Purification powers + public const int FEAT_CLEANSING_NOVA = 1744; + public const int FEAT_SHINING_SHIELD = 1745; + public const int FEAT_SOOTHING_LIGHT = 1746; + public const int FEAT_AURORA_CHAIN = 1747; + public const int FEAT_WEB_OF_PURITY = 1775; + + // AFW-OEI 04/07/2006: Add pre-order & special edition epithet feats + public const int FEAT_EPITHET_MERCHANTS_FRIEND = 1764; + public const int FEAT_EPITHET_BLESSED_OF_WAUKEEN = 1765; + + // AFW-OEI 04/11/2006 + public const int FEAT_BARBARIAN_RAGE4 = 328; // Greater Rage + public const int FEAT_BARBARIAN_RAGE7 = 331; // Mighty Rage + public const int FEAT_TIRELESS_RAGE = 1769; + + public const int FEAT_IMMUNITY_PHANTASMS = 1752; // AFW-OEI 04/20/2006 + + + // Brock H. - OEI 05/24/06 + public const int FEAT_EPITHET_KALACH_CHA_2 = 1823; + public const int FEAT_EPITHET_KALACH_CHA_3 = 1824; + + public const int FEAT_TOUCH_OF_ILTKAZAR = 1856; // AFW-OEI 08/16/2006 + + public const int FEAT_IMPROVED_EMPOWER_SPELL = 1892; + public const int FEAT_IMPROVED_MAXIMIZE_SPELL = 1893; + public const int FEAT_IMPROVED_QUICKEN_SPELL = 1894; + + + public const int FEAT_EPIC_FIENDISH_RESILIENCE_25 = 1929; // AFW-OEI 02/08/2007 + public const int FEAT_EPIC_DIVINE_MIGHT = 1930; // AFW-OEI 02/08/2007 + + // AFW-OEI 02/15/2007 + public const int FEAT_ELDRITCH_BLAST_10 = 1948; + public const int FEAT_ELDRITCH_BLAST_11 = 1949; + public const int FEAT_ELDRITCH_BLAST_12 = 1950; + public const int FEAT_ELDRITCH_BLAST_13 = 1951; + public const int FEAT_ELDRITCH_BLAST_14 = 1952; + + public const int FEAT_EPIC_CHORUS_OF_HEROISM = 1956; // AFW-OEI 02/20/2007 + + public const int FEAT_EPIC_ELDRITCH_MASTER = 1958; // AFW-OEI 02/20/2007 + + // AFW-OEI 02/21/2007 + public const int FEAT_EPIC_ELDRITCH_BLAST_1 = 1960; + public const int FEAT_EPIC_ELDRITCH_BLAST_2 = 1961; + public const int FEAT_EPIC_ELDRITCH_BLAST_3 = 1962; + public const int FEAT_EPIC_ELDRITCH_BLAST_4 = 1963; + public const int FEAT_EPIC_ELDRITCH_BLAST_5 = 1964; + public const int FEAT_EPIC_ELDRITCH_BLAST_6 = 1965; + public const int FEAT_EPIC_ELDRITCH_BLAST_7 = 1966; + public const int FEAT_EPIC_ELDRITCH_BLAST_8 = 1967; + public const int FEAT_EPIC_ELDRITCH_BLAST_9 = 1968; + public const int FEAT_EPIC_ELDRITCH_BLAST_10 = 1969; + + public const int FEAT_EPIC_HYMN_OF_REQUIEM = 1989; // AFW-OEI 02/23/2007 + + public const int FEAT_CHASTISE_SPIRITS = 2017; // AFW-OEI 03/19/2007 + + // AFW-OEI 03/22/2007: Stormlord + public const int FEAT_STORMLORD_SHOCK_WEAPON = 2046; + public const int FEAT_STORMLORD_SONIC_WEAPON = 2047; + public const int FEAT_STORMLORD_SHOCKING_BURST_WEAPON = 2048; + + // ChazM 4/4/07 Spirit Eater Feats + public const int FEAT_DEVOUR_SPIRIT_1 = 1976; + public const int FEAT_DEVOUR_SPIRIT_2 = 1977; + public const int FEAT_DEVOUR_SPIRIT_3 = 1978; + public const int FEAT_DEVOUR_SOUL = 1979; + public const int FEAT_SPIRIT_GORGE = 1980; + public const int FEAT_RAVENOUS_INCARNATION = 1981; + public const int FEAT_BESTOW_LIFE_FORCE = 1982; + public const int FEAT_SUPPRESS = 1983; + public const int FEAT_ETERNAL_REST = 1984; + public const int FEAT_SATIATE = 1985; + public const int FEAT_MOLD_SPIRIT = 1986; + + public const int FEAT_FAVORED_OF_THE_SPIRITS = 2029; // AFW-OEI 07/16/2007 + + public const int FEAT_MALLEATE_SPIRIT = 2050; + public const int FEAT_SPIRITUAL_EVISCERATION = 2104; + public const int FEAT_PROVOKE_SPIRITS = 2125; + + public const int FEAT_ICE_TROLL_BERSERKER = 2127; // AFW-OEI 06/25/2007 + + public const int FEAT_DREAM_HAUNTING = 2134; // AFW-OEI 07/14/2007 + public const int FEAT_DROWNED_AURA = 2136; + + + public const int FEAT_KELEMVORS_BOON = 2152; // JWR-OEI 05/17/08 + public const int FEAT_DIVINE_VENGEANCE = 2153; + public const int FEAT_EMPOWER_TURNING = 2154; // JWR-OEI 05/22/08 + public const int FEAT_IMPROVED_TURNING = 2155; // JWR-OEI 05/22/08 + public const int FEAT_DOOMGUIDE_SAVE_1 = 2156; + public const int FEAT_DOOMGUIDE_SAVE_2 = 2157; + public const int FEAT_ETHEREAL_PURGE = 2159; + public const int FEAT_KELEMVORS_GRACE = 2158; + public const int FEAT_BOND_OF_FATAL_TOUCH = 2160; + public const int FEAT_EXTRA_TURNING_2 = 2161; + public const int FEAT_EXTRA_TURNING_3 = 2162; + // JWR-OEI:: Hellfire Warlock Stuff 06.17.2008 + public const int FEAT_HELLFIRE_RESIST_FIRE = 2163; + public const int FEAT_HELLFIRE_WARLOCK_INVOKING = 2164; + public const int FEAT_HELLFIRE_SHIELD = 2165; + public const int FEAT_HELLFIRE_BLAST = 2166; + public const int FEAT_SUMMON_BAATEZU = 2167; + + public const int FEAT_DINOSAUR_COMPANION = 2168; + public const int FEAT_INDOMITABLE_SOUL = 2169; + public const int FEAT_STEADFAST_DETERMINATION = 2170; + public const int FEAT_SPELL_RESISTANCE = 2171; + public const int FEAT_ANIMAL_TRANCE = 2172; + public const int FEAT_CAUSE_FEAR = 2173; + public const int FEAT_CHARM_PERSON = 2174; + public const int FEAT_RACIAL_DARKNESS = 2175; + public const int FEAT_RACIAL_ENTANGLE = 2176; + public const int FEAT_WEAPON_PROFICIENCY_GRAYORC = 2177; + public const int FEAT_SCENT = 2178; + + public const int FEAT_FEY_HERITAGE = 2180; + public const int FEAT_FEY_LEGACY = 2181; + public const int FEAT_FEY_POWER = 2182; + public const int FEAT_FEY_PRESENCE = 2183; + public const int FEAT_FEY_SKIN = 2184; + public const int FEAT_FIENDISH_HERITAGE = 2185; + public const int FEAT_FIENDISH_LEGACY = 2186; + public const int FEAT_FIENDISH_POWER = 2187; + public const int FEAT_FIENDISH_PRESENCE = 2188; + public const int FEAT_FIENDISH_RESISTANCE = 2189; + + // TEAMWORK BENEFIT FEATS + public const int FEAT_TW_AWARENESS = 2191; + public const int FEAT_TW_CAMP_ROUTINE = 2192; + public const int FEAT_TW_IMPROVED_CAMP_ROUTINE = 2193; + public const int FEAT_TW_CIRCLE_OF_BLADES = 2194; + public const int FEAT_TW_FEARSOME_ROSTER = 2195; + public const int FEAT_TW_IMPROVED_FEARSOME_ROSTER = 2196; + public const int FEAT_TW_FOE_HUNTING = 2197; + public const int FEAT_TW_GROUP_TRANCE = 2198; + public const int FEAT_TW_MISSILE_VOLLEYS = 2199; + public const int FEAT_TW_STEADFAST_RESOLVE = 2200; + public const int FEAT_TW_SUPERIOR_FLANK = 2201; + public const int FEAT_TW_TEAM_RUSH = 2202; + public const int FEAT_LEADERSHIP = 2203; + public const int FEAT_EPITHET_NEGATIVE_AURA_LESSER = 2204; + public const int FEAT_EPITHET_NEGATIVE_AURA = 2205; + public const int FEAT_EPITHET_NEGATIVE_GREATER = 2206; + public const int FEAT_DAYLIGHT_ADAPATION = 2207; + public const int FEAT_EPITHET_RESEARCHER = 2208; + public const int FEAT_EPITHET_MASTER_RESEARCHER = 2209; + public const int FEAT_EPITHET_TOURIST = 2210; + public const int FEAT_EPITHET_WANDERER = 2211; + public const int FEAT_EPITHET_WAYFARER = 2212; + public const int FEAT_EPITHET_PATHWALKER = 2213; + public const int FEAT_EPITHET_TRAVELER = 2214; + public const int FEAT_EPITHET_NOMAD = 2215; + public const int FEAT_EPITHET_JOURNEYMAN = 2216; + public const int FEAT_EPITHET_MASTER_GUIDE = 2217; + public const int FEAT_EPITHET_FAV_OF_THE_ROAD = 2218; + public const int FEAT_EPITHET_BANE_OF_THE_BANITES = 2219; + public const int FEAT_EPITHET_BANE_OF_THE_BATIRI = 2220; + public const int FEAT_EPITHET_BREATH_FATED = 2221; + public const int FEAT_EPITHET_DARK_KNIGHT = 2222; + public const int FEAT_EPITHET_DEMON_OF_THE_ROADS = 2223; + public const int FEAT_EPITHET_DRAGON_SLAYER = 2224; + public const int FEAT_EPITHET_FORGOTTEN_LORD = 2225; + public const int FEAT_EPITHET_FRIEND_OF_FRIENDS = 2226; + public const int FEAT_EPITHET_GOLDENHANDS = 2227; + public const int FEAT_EPITHET_HERO_HIDDEN_KNGDM = 2228; + public const int FEAT_EPITHET_LAST_PORT_COMMAND = 2229; + public const int FEAT_EPITHET_MASTER_INFILTRATOR = 2230; + public const int FEAT_EPITHET_NEVERWINTER_PATRIOT = 2231; + public const int FEAT_EPITHET_PROTECTOR = 2232; + public const int FEAT_EPITHET_RENEGADE_HDDN_KNGDM = 2233; + public const int FEAT_EPITHET_SERPENTS_BANE = 2234; + public const int FEAT_EPITHET_SLAYER_OF_SHARRANS = 2235; + public const int FEAT_EPITHET_SURVIVOR = 2236; + public const int FEAT_EPITHET_VILLAIN_MERE = 2237; + public const int FEAT_EPITHET_WANTED = 2238; + public const int FEAT_EPITHET_YELLOW_DRAGON = 2239; + public const int FEAT_EPITHET_COBRA_COMMANDER = 2240; + // JWR-OEI 08/20/2008 + public const int FEAT_BACKGROUND_APPRAISER = 2241; + public const int FEAT_BACKGROUND_CONFIDANT = 2242; + public const int FEAT_BACKGROUND_FOREIGNER = 2243; + public const int FEAT_BACKGROUND_SAVVY = 2244; + public const int FEAT_BACKGROUND_SURVIVOR = 2245; + public const int FEAT_BACKGROUND_TALENT = 2246; + public const int FEAT_BACKGROUND_VETERAN = 2247; + + + + + + // Character Backgrounds + public const int BACKGROUND_NONE = 0; + public const int BACKGROUND_BULLY = 1; + public const int BACKGROUND_COMPLEX = 2; + public const int BACKGROUND_DEVOUT = 3; + public const int BACKGROUND_FARMER = 4; + public const int BACKGROUND_LADYSMAN = 5; + public const int BACKGROUND_THEFLIRT = 6; + public const int BACKGROUND_MILITIA = 7; + public const int BACKGROUND_NATURALLEADER = 8; + public const int BACKGROUND_TALETELLER = 9; + public const int BACKGROUND_TROUBLEMAKER = 10; + public const int BACKGROUND_WILDCHILD = 11; + public const int BACKGROUND_WIZARDSAPPRENTICE = 12; + + + + // Special Attack Defines + public const int SPECIAL_ATTACK_INVALID = 0; + public const int SPECIAL_ATTACK_CALLED_SHOT_LEG = 1; + public const int SPECIAL_ATTACK_CALLED_SHOT_ARM = 2; + public const int SPECIAL_ATTACK_SAP = 3; + public const int SPECIAL_ATTACK_DISARM = 4; + public const int SPECIAL_ATTACK_IMPROVED_DISARM = 5; + public const int SPECIAL_ATTACK_KNOCKDOWN = 6; + public const int SPECIAL_ATTACK_IMPROVED_KNOCKDOWN = 7; + public const int SPECIAL_ATTACK_STUNNING_FIST = 8; + public const int SPECIAL_ATTACK_FLURRY_OF_BLOWS = 9; + public const int SPECIAL_ATTACK_RAPID_SHOT = 10; + + // Combat Mode Defines + public const int COMBAT_MODE_INVALID = 0; + public const int COMBAT_MODE_PARRY = 1; + public const int COMBAT_MODE_POWER_ATTACK = 2; + public const int COMBAT_MODE_IMPROVED_POWER_ATTACK = 3; + public const int COMBAT_MODE_FLURRY_OF_BLOWS = 4; + public const int COMBAT_MODE_RAPID_SHOT = 5; + public const int COMBAT_MODE_COMBAT_EXPERTISE = 6; + public const int COMBAT_MODE_IMPROVED_COMBAT_EXPERTISE = 7; + public const int COMBAT_MODE_DEFENSIVE_CASTING = 8; + public const int COMBAT_MODE_DIRTY_FIGHTING = 9; + public const int COMBAT_MODE_DEFENSIVE_STANCE = 10; + + // These represent the row in the difficulty 2da, rather than + // a difficulty value. + public const int ENCOUNTER_DIFFICULTY_VERY_EASY = 0; + public const int ENCOUNTER_DIFFICULTY_EASY = 1; + public const int ENCOUNTER_DIFFICULTY_NORMAL = 2; + public const int ENCOUNTER_DIFFICULTY_HARD = 3; + public const int ENCOUNTER_DIFFICULTY_IMPOSSIBLE = 4; + + // Looping animation constants. + public const int ANIMATION_LOOPING_PAUSE = 0; + public const int ANIMATION_LOOPING_PAUSE2 = 1; + public const int ANIMATION_LOOPING_LISTEN = 2; + public const int ANIMATION_LOOPING_MEDITATE = 3; + public const int ANIMATION_LOOPING_WORSHIP = 4; + public const int ANIMATION_LOOPING_LOOK_FAR = 5; + public const int ANIMATION_LOOPING_SIT_CHAIR = 6; + public const int ANIMATION_LOOPING_SIT_CROSS = 7; + public const int ANIMATION_LOOPING_TALK_NORMAL = 8; + public const int ANIMATION_LOOPING_TALK_PLEADING = 9; + public const int ANIMATION_LOOPING_TALK_FORCEFUL = 10; + public const int ANIMATION_LOOPING_TALK_LAUGHING = 11; + public const int ANIMATION_LOOPING_GET_LOW = 12; + public const int ANIMATION_LOOPING_GET_MID = 13; + public const int ANIMATION_LOOPING_PAUSE_TIRED = 14; + public const int ANIMATION_LOOPING_PAUSE_DRUNK = 15; + public const int ANIMATION_LOOPING_DEAD_FRONT = 16; + public const int ANIMATION_LOOPING_DEAD_BACK = 17; + public const int ANIMATION_LOOPING_CONJURE1 = 18; + public const int ANIMATION_LOOPING_CONJURE2 = 19; + public const int ANIMATION_LOOPING_SPASM = 20; + public const int ANIMATION_LOOPING_CUSTOM1 = 21; + public const int ANIMATION_LOOPING_CUSTOM2 = 22; + public const int ANIMATION_LOOPING_CAST1 = 23; + // FAK - OEI added for NWN2 + public const int ANIMATION_LOOPING_PRONE = 24; + public const int ANIMATION_LOOPING_KNEELIDLE = 25; + public const int ANIMATION_LOOPING_DANCE01 = 26; + public const int ANIMATION_LOOPING_DANCE02 = 27; + public const int ANIMATION_LOOPING_DANCE03 = 28; + public const int ANIMATION_LOOPING_GUITARPLAY = 29; + public const int ANIMATION_LOOPING_GUITARIDLE = 30; + public const int ANIMATION_LOOPING_FLUTEPLAY = 31; + public const int ANIMATION_LOOPING_FLUTEIDLE = 32; + public const int ANIMATION_LOOPING_DRUMPLAY = 33; + public const int ANIMATION_LOOPING_DRUMIDLE = 34; + public const int ANIMATION_LOOPING_COOK01 = 35; + public const int ANIMATION_LOOPING_COOK02 = 36; + public const int ANIMATION_LOOPING_CRAFT01 = 37; + public const int ANIMATION_LOOPING_FORGE01 = 38; + public const int ANIMATION_LOOPING_BOXCARRY = 39; + public const int ANIMATION_LOOPING_BOXIDLE = 40; + public const int ANIMATION_LOOPING_BOXHURRIED = 41; + public const int ANIMATION_LOOPING_LOOKDOWN = 42; + public const int ANIMATION_LOOPING_LOOKUP = 43; + public const int ANIMATION_LOOPING_LOOKLEFT = 44; + public const int ANIMATION_LOOPING_LOOKRIGHT = 45; + public const int ANIMATION_LOOPING_SHOVELING = 46; + public const int ANIMATION_LOOPING_INJURED = 47; + + + // Fire and forget animation constants. + public const int ANIMATION_FIREFORGET_HEAD_TURN_LEFT = 100; + public const int ANIMATION_FIREFORGET_HEAD_TURN_RIGHT = 101; + public const int ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD = 102; + public const int ANIMATION_FIREFORGET_PAUSE_BORED = 103; + public const int ANIMATION_FIREFORGET_SALUTE = 104; + public const int ANIMATION_FIREFORGET_BOW = 105; + public const int ANIMATION_FIREFORGET_STEAL = 106; + public const int ANIMATION_FIREFORGET_GREETING = 107; + public const int ANIMATION_FIREFORGET_TAUNT = 108; + public const int ANIMATION_FIREFORGET_VICTORY1 = 109; + public const int ANIMATION_FIREFORGET_VICTORY2 = 110; + public const int ANIMATION_FIREFORGET_VICTORY3 = 111; + public const int ANIMATION_FIREFORGET_READ = 112; + public const int ANIMATION_FIREFORGET_DRINK = 113; + public const int ANIMATION_FIREFORGET_DODGE_SIDE = 114; + public const int ANIMATION_FIREFORGET_DODGE_DUCK = 115; + public const int ANIMATION_FIREFORGET_SPASM = 116; + // FAK - OEI NWN2 Specific Animations + public const int ANIMATION_FIREFORGET_COLLAPSE = 117; + public const int ANIMATION_FIREFORGET_LAYDOWN = 118; + public const int ANIMATION_FIREFORGET_STANDUP = 119; + public const int ANIMATION_FIREFORGET_ACTIVATE = 120; + public const int ANIMATION_FIREFORGET_USEITEM = 121; + public const int ANIMATION_FIREFORGET_KNEELFIDGET = 122; + public const int ANIMATION_FIREFORGET_KNEELTALK = 123; + public const int ANIMATION_FIREFORGET_KNEELDAMAGE = 124; + public const int ANIMATION_FIREFORGET_KNEELDEATH = 125; + public const int ANIMATION_FIREFORGET_BARDSONG = 126; + public const int ANIMATION_FIREFORGET_GUITARIDLEFIDGET = 127; + public const int ANIMATION_FIREFORGET_FLUTEIDLEFIDGET = 128; + public const int ANIMATION_FIREFORGET_DRUMIDLEFIDGET = 129; + public const int ANIMATION_FIREFORGET_WILDSHAPE = 130; + public const int ANIMATION_FIREFORGET_SEARCH = 131; + public const int ANIMATION_FIREFORGET_INTIMIDATE = 132; + public const int ANIMATION_FIREFORGET_CHUCKLE = 133; + + // Placeable animation constants + public const int ANIMATION_PLACEABLE_ACTIVATE = 200; + public const int ANIMATION_PLACEABLE_DEACTIVATE = 201; + public const int ANIMATION_PLACEABLE_OPEN = 202; + public const int ANIMATION_PLACEABLE_CLOSE = 203; + + public const int TALENT_TYPE_SPELL = 0; + public const int TALENT_TYPE_FEAT = 1; + public const int TALENT_TYPE_SKILL = 2; + + // These must match the values in nwscreature.h and nwccreaturemenu.cpp + // Cannot use the value -1 because that is used to start a conversation + public const int ASSOCIATE_COMMAND_STANDGROUND = -2; + public const int ASSOCIATE_COMMAND_ATTACKNEAREST = -3; + public const int ASSOCIATE_COMMAND_HEALMASTER = -4; + public const int ASSOCIATE_COMMAND_FOLLOWMASTER = -5; + public const int ASSOCIATE_COMMAND_MASTERFAILEDLOCKPICK = -6; + public const int ASSOCIATE_COMMAND_GUARDMASTER = -7; + public const int ASSOCIATE_COMMAND_UNSUMMONFAMILIAR = -8; + public const int ASSOCIATE_COMMAND_UNSUMMONANIMALCOMPANION = -9; + public const int ASSOCIATE_COMMAND_UNSUMMONSUMMONED = -10; + public const int ASSOCIATE_COMMAND_MASTERUNDERATTACK = -11; + public const int ASSOCIATE_COMMAND_RELEASEDOMINATION = -12; + public const int ASSOCIATE_COMMAND_UNPOSSESSFAMILIAR = -13; + public const int ASSOCIATE_COMMAND_MASTERSAWTRAP = -14; + public const int ASSOCIATE_COMMAND_MASTERATTACKEDOTHER = -15; + public const int ASSOCIATE_COMMAND_MASTERGOINGTOBEATTACKED = -16; + public const int ASSOCIATE_COMMAND_LEAVEPARTY = -17; + public const int ASSOCIATE_COMMAND_PICKLOCK = -18; + public const int ASSOCIATE_COMMAND_INVENTORY = -19; + public const int ASSOCIATE_COMMAND_DISARMTRAP = -20; + public const int ASSOCIATE_COMMAND_TOGGLECASTING = -21; + public const int ASSOCIATE_COMMAND_TOGGLESTEALTH = -22; + public const int ASSOCIATE_COMMAND_TOGGLESEARCH = -23; + public const int ASSOCIATE_COMMAND_MOVETOMASTER = -24; + + // These match the values in nwscreature.h + public const int ASSOCIATE_TYPE_NONE = 0; + public const int ASSOCIATE_TYPE_HENCHMAN = 1; + public const int ASSOCIATE_TYPE_ANIMALCOMPANION = 2; + public const int ASSOCIATE_TYPE_FAMILIAR = 3; + public const int ASSOCIATE_TYPE_SUMMONED = 4; + public const int ASSOCIATE_TYPE_DOMINATED = 5; + + // These must match the list in nwscreaturestats.cpp + public const int TALENT_CATEGORY_HARMFUL_AREAEFFECT_DISCRIMINANT = 1; + public const int TALENT_CATEGORY_HARMFUL_RANGED = 2; + public const int TALENT_CATEGORY_HARMFUL_TOUCH = 3; + public const int TALENT_CATEGORY_BENEFICIAL_HEALING_AREAEFFECT = 4; + public const int TALENT_CATEGORY_BENEFICIAL_HEALING_TOUCH = 5; + public const int TALENT_CATEGORY_BENEFICIAL_CONDITIONAL_AREAEFFECT = 6; + public const int TALENT_CATEGORY_BENEFICIAL_CONDITIONAL_SINGLE = 7; + public const int TALENT_CATEGORY_BENEFICIAL_ENHANCEMENT_AREAEFFECT = 8; + public const int TALENT_CATEGORY_BENEFICIAL_ENHANCEMENT_SINGLE = 9; + public const int TALENT_CATEGORY_BENEFICIAL_ENHANCEMENT_SELF = 10; + public const int TALENT_CATEGORY_HARMFUL_AREAEFFECT_INDISCRIMINANT = 11; + public const int TALENT_CATEGORY_BENEFICIAL_PROTECTION_SELF = 12; + public const int TALENT_CATEGORY_BENEFICIAL_PROTECTION_SINGLE = 13; + public const int TALENT_CATEGORY_BENEFICIAL_PROTECTION_AREAEFFECT = 14; + public const int TALENT_CATEGORY_BENEFICIAL_OBTAIN_ALLIES = 15; + public const int TALENT_CATEGORY_PERSISTENT_AREA_OF_EFFECT = 16; + public const int TALENT_CATEGORY_BENEFICIAL_HEALING_POTION = 17; + public const int TALENT_CATEGORY_BENEFICIAL_CONDITIONAL_POTION = 18; + public const int TALENT_CATEGORY_DRAGONS_BREATH = 19; + public const int TALENT_CATEGORY_BENEFICIAL_PROTECTION_POTION = 20; + public const int TALENT_CATEGORY_BENEFICIAL_ENHANCEMENT_POTION = 21; + public const int TALENT_CATEGORY_HARMFUL_MELEE = 22; + public const int TALENT_CATEGORY_DISPEL = 23; + public const int TALENT_CATEGORY_SPELLBREACH = 24; + public const int TALENT_CATEGORY_CANTRIP = 25; + + + public const int INVENTORY_DISTURB_TYPE_ADDED = 0; + public const int INVENTORY_DISTURB_TYPE_REMOVED = 1; + public const int INVENTORY_DISTURB_TYPE_STOLEN = 2; + + public const int GUI_PANEL_PLAYER_DEATH = 0; + + public const int VOICE_CHAT_ATTACK = 0; + public const int VOICE_CHAT_BATTLECRY1 = 1; + public const int VOICE_CHAT_BATTLECRY2 = 2; + public const int VOICE_CHAT_BATTLECRY3 = 3; + public const int VOICE_CHAT_HEALME = 4; + public const int VOICE_CHAT_HELP = 5; + public const int VOICE_CHAT_ENEMIES = 6; + public const int VOICE_CHAT_FLEE = 7; + public const int VOICE_CHAT_TAUNT = 8; + public const int VOICE_CHAT_GUARDME = 9; + public const int VOICE_CHAT_HOLD = 10; + public const int VOICE_CHAT_GATTACK1 = 11; + public const int VOICE_CHAT_GATTACK2 = 12; + public const int VOICE_CHAT_GATTACK3 = 13; + public const int VOICE_CHAT_PAIN1 = 14; + public const int VOICE_CHAT_PAIN2 = 15; + public const int VOICE_CHAT_PAIN3 = 16; + public const int VOICE_CHAT_NEARDEATH = 17; + public const int VOICE_CHAT_DEATH = 18; + public const int VOICE_CHAT_POISONED = 19; + public const int VOICE_CHAT_SPELLFAILED = 20; + public const int VOICE_CHAT_WEAPONSUCKS = 21; + public const int VOICE_CHAT_FOLLOWME = 22; + public const int VOICE_CHAT_LOOKHERE = 23; + public const int VOICE_CHAT_GROUP = 24; + public const int VOICE_CHAT_MOVEOVER = 25; + public const int VOICE_CHAT_PICKLOCK = 26; + public const int VOICE_CHAT_SEARCH = 27; + public const int VOICE_CHAT_HIDE = 28; + public const int VOICE_CHAT_CANDO = 29; + public const int VOICE_CHAT_CANTDO = 30; + public const int VOICE_CHAT_TASKCOMPLETE = 31; + public const int VOICE_CHAT_ENCUMBERED = 32; + public const int VOICE_CHAT_SELECTED = 33; + public const int VOICE_CHAT_HELLO = 34; + public const int VOICE_CHAT_YES = 35; + public const int VOICE_CHAT_NO = 36; + public const int VOICE_CHAT_STOP = 37; + public const int VOICE_CHAT_REST = 38; + public const int VOICE_CHAT_BORED = 39; + public const int VOICE_CHAT_GOODBYE = 40; + public const int VOICE_CHAT_THANKS = 41; + public const int VOICE_CHAT_LAUGH = 42; + public const int VOICE_CHAT_CUSS = 43; + public const int VOICE_CHAT_CHEER = 44; + public const int VOICE_CHAT_TALKTOME = 45; + public const int VOICE_CHAT_GOODIDEA = 46; + public const int VOICE_CHAT_BADIDEA = 47; + public const int VOICE_CHAT_THREATEN = 48; + + public const int POLYMORPH_TYPE_WEREWOLF = 0; + public const int POLYMORPH_TYPE_WERERAT = 1; + public const int POLYMORPH_TYPE_WERECAT = 2; + public const int POLYMORPH_TYPE_GIANT_SPIDER = 3; + public const int POLYMORPH_TYPE_TROLL = 4; + public const int POLYMORPH_TYPE_UMBER_HULK = 5; + public const int POLYMORPH_TYPE_PIXIE = 6; + public const int POLYMORPH_TYPE_ZOMBIE = 7; + public const int POLYMORPH_TYPE_RED_DRAGON = 8; + public const int POLYMORPH_TYPE_FIRE_GIANT = 9; + public const int POLYMORPH_TYPE_BALOR = 10; + public const int POLYMORPH_TYPE_DEATH_SLAAD = 11; + public const int POLYMORPH_TYPE_IRON_GOLEM = 12; + public const int POLYMORPH_TYPE_HUGE_FIRE_ELEMENTAL = 13; + public const int POLYMORPH_TYPE_HUGE_WATER_ELEMENTAL = 14; + public const int POLYMORPH_TYPE_HUGE_EARTH_ELEMENTAL = 15; + public const int POLYMORPH_TYPE_HUGE_AIR_ELEMENTAL = 16; + public const int POLYMORPH_TYPE_ELDER_FIRE_ELEMENTAL = 17; + public const int POLYMORPH_TYPE_ELDER_WATER_ELEMENTAL = 18; + public const int POLYMORPH_TYPE_ELDER_EARTH_ELEMENTAL = 19; + public const int POLYMORPH_TYPE_ELDER_AIR_ELEMENTAL = 20; + public const int POLYMORPH_TYPE_BROWN_BEAR = 21; + public const int POLYMORPH_TYPE_PANTHER = 22; + public const int POLYMORPH_TYPE_WOLF = 23; + public const int POLYMORPH_TYPE_BOAR = 24; + public const int POLYMORPH_TYPE_BADGER = 25; + public const int POLYMORPH_TYPE_PENGUIN = 26; + public const int POLYMORPH_TYPE_COW = 27; + public const int POLYMORPH_TYPE_DOOM_KNIGHT = 28; + public const int POLYMORPH_TYPE_YUANTI = 29; + public const int POLYMORPH_TYPE_IMP = 30; + public const int POLYMORPH_TYPE_QUASIT = 31; + public const int POLYMORPH_TYPE_SUCCUBUS = 32; + public const int POLYMORPH_TYPE_DIRE_BROWN_BEAR = 33; + public const int POLYMORPH_TYPE_DIRE_PANTHER = 34; + public const int POLYMORPH_TYPE_DIRE_WOLF = 35; + public const int POLYMORPH_TYPE_DIRE_BOAR = 36; + public const int POLYMORPH_TYPE_DIRE_BADGER = 37; + public const int POLYMORPH_TYPE_CELESTIAL_AVENGER = 38; + public const int POLYMORPH_TYPE_VROCK = 39; + public const int POLYMORPH_TYPE_CHICKEN = 40; + public const int POLYMORPH_TYPE_FROST_GIANT_MALE = 41; + public const int POLYMORPH_TYPE_FROST_GIANT_FEMALE = 42; + public const int POLYMORPH_TYPE_HEURODIS = 43; + public const int POLYMORPH_TYPE_JNAH_GIANT_MALE = 44; + public const int POLYMORPH_TYPE_JNAH_GIANT_FEMAL = 45; + public const int POLYMORPH_TYPE_CELESTIAL_LEOPARD = 46; // AFW-OEI 06/06/2007 + public const int POLYMORPH_TYPE_WINTER_WOLF = 47; // AFW-OEI 06/06/2007 + public const int POLYMORPH_TYPE_PHASE_SPIDER = 48; // AFW-OEI 06/06/2007 + public const int POLYMORPH_TYPE_WYRMLING_WHITE = 52; + public const int POLYMORPH_TYPE_WYRMLING_BLUE = 53; + public const int POLYMORPH_TYPE_WYRMLING_RED = 54; + public const int POLYMORPH_TYPE_WYRMLING_GREEN = 55; + public const int POLYMORPH_TYPE_WYRMLING_BLACK = 56; + public const int POLYMORPH_TYPE_GOLEM_AUTOMATON = 57; + public const int POLYMORPH_TYPE_MANTICORE = 58; + public const int POLYMORPH_TYPE_MALE_DROW = 59; + public const int POLYMORPH_TYPE_HARPY = 60; + public const int POLYMORPH_TYPE_BASILISK = 61; + public const int POLYMORPH_TYPE_DRIDER = 62; + public const int POLYMORPH_TYPE_BEHOLDER = 63; + public const int POLYMORPH_TYPE_MEDUSA = 64; + public const int POLYMORPH_TYPE_GARGOYLE = 65; + public const int POLYMORPH_TYPE_MINOTAUR = 66; + public const int POLYMORPH_TYPE_SUPER_CHICKEN = 67; + public const int POLYMORPH_TYPE_MINDFLAYER = 68; + public const int POLYMORPH_TYPE_DIRETIGER = 69; + public const int POLYMORPH_TYPE_FEMALE_DROW = 70; + public const int POLYMORPH_TYPE_ANCIENT_BLUE_DRAGON = 71; + public const int POLYMORPH_TYPE_ANCIENT_RED_DRAGON = 72; + public const int POLYMORPH_TYPE_ANCIENT_GREEN_DRAGON = 73; + public const int POLYMORPH_TYPE_VAMPIRE_MALE = 74; + public const int POLYMORPH_TYPE_RISEN_LORD = 75; + public const int POLYMORPH_TYPE_SPECTRE = 76; + public const int POLYMORPH_TYPE_VAMPIRE_FEMALE = 77; + public const int POLYMORPH_TYPE_NULL_HUMAN = 78; + public const int POLYMORPH_TYPE_DIRE_RAT = 107; + public const int POLYMORPH_TYPE_HORNED_DEVIL = 108; + public const int POLYMORPH_TYPE_NIGHTWALKER = 109; + public const int POLYMORPH_TYPE_SWORD_SPIDER = 110; + public const int POLYMORPH_TYPE_RAVENOUS_INCARNATION = 111; // AFW-OEI 05/04/2007 + public const int POLYMORPH_TYPE_SHAMBLING_MOUND = 112; // AFW-OEI 05/04/2007 + public const int POLYMORPH_TYPE_TREANT = 113; // AFW-OEI 05/04/2007 + public const int POLYMORPH_TYPE_BLUE_DRAGON = 114; // AFW-OEI 06/25/2007 + public const int POLYMORPH_TYPE_BLACK_DRAGON = 115; // AFW-OEI 06/25/2007 + + public const int INVISIBILITY_TYPE_NORMAL = 1; + public const int INVISIBILITY_TYPE_DARKNESS = 2; + public const int INVISIBILITY_TYPE_IMPROVED = 4; + + public const int CREATURE_SIZE_INVALID = 0; + public const int CREATURE_SIZE_TINY = 1; + public const int CREATURE_SIZE_SMALL = 2; + public const int CREATURE_SIZE_MEDIUM = 3; + public const int CREATURE_SIZE_LARGE = 4; + public const int CREATURE_SIZE_HUGE = 5; + + public const int SPELL_SCHOOL_GENERAL = 0; + public const int SPELL_SCHOOL_ABJURATION = 1; + public const int SPELL_SCHOOL_CONJURATION = 2; + public const int SPELL_SCHOOL_DIVINATION = 3; + public const int SPELL_SCHOOL_ENCHANTMENT = 4; + public const int SPELL_SCHOOL_EVOCATION = 5; + public const int SPELL_SCHOOL_ILLUSION = 6; + public const int SPELL_SCHOOL_NECROMANCY = 7; + public const int SPELL_SCHOOL_TRANSMUTATION = 8; + + public const int ANIMAL_COMPANION_CREATURE_TYPE_BADGER = 0; + public const int ANIMAL_COMPANION_CREATURE_TYPE_WOLF = 1; + public const int ANIMAL_COMPANION_CREATURE_TYPE_BEAR = 2; + public const int ANIMAL_COMPANION_CREATURE_TYPE_BOAR = 3; + public const int ANIMAL_COMPANION_CREATURE_TYPE_HAWK = 4; + public const int ANIMAL_COMPANION_CREATURE_TYPE_PANTHER = 5; + public const int ANIMAL_COMPANION_CREATURE_TYPE_SPIDER = 6; + public const int ANIMAL_COMPANION_CREATURE_TYPE_DIREWOLF = 7; + public const int ANIMAL_COMPANION_CREATURE_TYPE_DIRERAT = 8; + public const int ANIMAL_COMPANION_CREATURE_TYPE_NONE = 255; + + public const int FAMILIAR_CREATURE_TYPE_BAT = 0; + public const int FAMILIAR_CREATURE_TYPE_CRAGCAT = 1; + public const int FAMILIAR_CREATURE_TYPE_HELLHOUND = 2; + public const int FAMILIAR_CREATURE_TYPE_IMP = 3; + public const int FAMILIAR_CREATURE_TYPE_FIREMEPHIT = 4; + public const int FAMILIAR_CREATURE_TYPE_ICEMEPHIT = 5; + public const int FAMILIAR_CREATURE_TYPE_PIXIE = 6; + public const int FAMILIAR_CREATURE_TYPE_RAVEN = 7; + public const int FAMILIAR_CREATURE_TYPE_FAIRY_DRAGON = 8; + public const int FAMILIAR_CREATURE_TYPE_PSEUDO_DRAGON = 9; + public const int FAMILIAR_CREATURE_TYPE_EYEBALL = 10; + public const int FAMILIAR_CREATURE_TYPE_NONE = 255; + + public const int CAMERA_MODE_CHASE_CAMERA = 0; + public const int CAMERA_MODE_TOP_DOWN = 1; + public const int CAMERA_MODE_STIFF_CHASE_CAMERA = 2; + + // JAB-OEI - Changed WEATHER_* to WEATHER_TYPE_* + public const int WEATHER_TYPE_INVALID = -1; + public const int WEATHER_TYPE_RAIN = 0; + public const int WEATHER_TYPE_SNOW = 1; + public const int WEATHER_TYPE_LIGHTNING = 2; + + // JAB-OEI - Added Weather Power Settings + public const int WEATHER_POWER_INVALID = -1; + public const int WEATHER_POWER_OFF = 0; + public const int WEATHER_POWER_WEAK = 1; + public const int WEATHER_POWER_LIGHT = 2; + public const int WEATHER_POWER_MEDIUM = 3; + public const int WEATHER_POWER_HEAVY = 4; + public const int WEATHER_POWER_STORMY = 5; + public const int WEATHER_POWER_USE_AREA_SETTINGS = -1; + + // JAB-OEI Fog Settings. Obsolete. + public const int FOG_TYPE_SUN = 0; + public const int FOG_TYPE_MOON = 1; + public const int FOG_TYPE_BOTH = 2; + + // OEI - ELN. New fog stages. Use these with SetNWN2Fog/ResetNWN2Fog. + public const int FOG_TYPE_NWN2_SUNRISE = 0; + public const int FOG_TYPE_NWN2_DAYTIME = 1; + public const int FOG_TYPE_NWN2_SUNSET = 2; + public const int FOG_TYPE_NWN2_MOONRISE = 3; + public const int FOG_TYPE_NWN2_NIGHTTIME = 4; + public const int FOG_TYPE_NWN2_MOONSET = 5; + + public const int FOG_COLOR_RED = 16711680; + public const int FOG_COLOR_RED_DARK = 6684672; + public const int FOG_COLOR_GREEN = 65280; + public const int FOG_COLOR_GREEN_DARK = 23112; + public const int FOG_COLOR_BLUE = 255; + public const int FOG_COLOR_BLUE_DARK = 102; + public const int FOG_COLOR_BLACK = 0; + public const int FOG_COLOR_WHITE = 16777215; + public const int FOG_COLOR_GREY = 10066329; + public const int FOG_COLOR_YELLOW = 16776960; + public const int FOG_COLOR_YELLOW_DARK = 11184640; + public const int FOG_COLOR_CYAN = 65535; + public const int FOG_COLOR_MAGENTA = 16711935; + public const int FOG_COLOR_ORANGE = 16750848; + public const int FOG_COLOR_ORANGE_DARK = 13395456; + public const int FOG_COLOR_BROWN = 10053120; + public const int FOG_COLOR_BROWN_DARK = 6697728; + + // EPF - OEI 1/24/06 -- adding these so people don't end up using + // fog color constants for things like fade colors. + public const int COLOR_RED = 16711680; + public const int COLOR_RED_DARK = 6684672; + public const int COLOR_GREEN = 65280; + public const int COLOR_GREEN_DARK = 23112; + public const int COLOR_BLUE = 255; + public const int COLOR_BLUE_DARK = 102; + public const int COLOR_BLACK = 0; + public const int COLOR_WHITE = 16777215; + public const int COLOR_GREY = 10066329; + public const int COLOR_YELLOW = 16776960; + public const int COLOR_YELLOW_DARK = 11184640; + public const int COLOR_CYAN = 65535; + public const int COLOR_MAGENTA = 16711935; + public const int COLOR_ORANGE = 16750848; + public const int COLOR_ORANGE_DARK = 13395456; + public const int COLOR_BROWN = 10053120; + public const int COLOR_BROWN_DARK = 6697728; + + public const int REST_EVENTTYPE_REST_INVALID = 0; + public const int REST_EVENTTYPE_REST_STARTED = 1; + public const int REST_EVENTTYPE_REST_FINISHED = 2; + public const int REST_EVENTTYPE_REST_CANCELLED = 3; + + + // Spells 2DA "ProjType" column + public const int PROJECTILE_PATH_TYPE_DEFAULT = 0; + public const int PROJECTILE_PATH_TYPE_HOMING = 1; // homing + public const int PROJECTILE_PATH_TYPE_BALLISTIC = 2; // ballistic + public const int PROJECTILE_PATH_TYPE_HIGH_BALLISTIC = 3; // highballistic + public const int PROJECTILE_PATH_TYPE_BURST_UP = 4; // burstup + public const int PROJECTILE_PATH_TYPE_ACCELERATING = 5; // accelerating + public const int PROJECTILE_PATH_TYPE_SPIRAL = 6; // spiral + public const int PROJECTILE_PATH_TYPE_LINKED = 7; // linked + public const int PROJECTILE_PATH_TYPE_BOUNCE = 8; // bounce + public const int PROJECTILE_PATH_TYPE_BURST = 9; // burst + public const int PROJECTILE_PATH_TYPE_LINKED_BURST_UP = 10; // linked + public const int PROJECTILE_PATH_TYPE_TRIPLE_BALLISTIC_HIT = 11; + public const int PROJECTILE_PATH_TYPE_TRIPLE_BALLISTIC_MISS = 12; + public const int PROJECTILE_PATH_TYPE_DOUBLE_BALLISTIC = 13; + public const int PROJECTILE_PATH_TYPE_HOMING_SPIRAL = 14; // homingspiral + public const int PROJECTILE_PATH_TYPE_LOW_ORBIT = 15; // loworbit + public const int PROJECTILE_PATH_TYPE_BALLISTIC_LAUNCHED = 16; // launchedballistic + public const int PROJECTILE_PATH_TYPE_BALLISTIC_THROWN = 17; // thrownballistic + + public const int GAME_DIFFICULTY_VERY_EASY = 0; + public const int GAME_DIFFICULTY_EASY = 1; + public const int GAME_DIFFICULTY_NORMAL = 2; + public const int GAME_DIFFICULTY_CORE_RULES = 3; + public const int GAME_DIFFICULTY_DIFFICULT = 4; + + public const int TILE_MAIN_LIGHT_COLOR_BLACK = 0; + public const int TILE_MAIN_LIGHT_COLOR_DIM_WHITE = 1; + public const int TILE_MAIN_LIGHT_COLOR_WHITE = 2; + public const int TILE_MAIN_LIGHT_COLOR_BRIGHT_WHITE = 3; + public const int TILE_MAIN_LIGHT_COLOR_PALE_DARK_YELLOW = 4; + public const int TILE_MAIN_LIGHT_COLOR_DARK_YELLOW = 5; + public const int TILE_MAIN_LIGHT_COLOR_PALE_YELLOW = 6; + public const int TILE_MAIN_LIGHT_COLOR_YELLOW = 7; + public const int TILE_MAIN_LIGHT_COLOR_PALE_DARK_GREEN = 8; + public const int TILE_MAIN_LIGHT_COLOR_DARK_GREEN = 9; + public const int TILE_MAIN_LIGHT_COLOR_PALE_GREEN = 10; + public const int TILE_MAIN_LIGHT_COLOR_GREEN = 11; + public const int TILE_MAIN_LIGHT_COLOR_PALE_DARK_AQUA = 12; + public const int TILE_MAIN_LIGHT_COLOR_DARK_AQUA = 13; + public const int TILE_MAIN_LIGHT_COLOR_PALE_AQUA = 14; + public const int TILE_MAIN_LIGHT_COLOR_AQUA = 15; + public const int TILE_MAIN_LIGHT_COLOR_PALE_DARK_BLUE = 16; + public const int TILE_MAIN_LIGHT_COLOR_DARK_BLUE = 17; + public const int TILE_MAIN_LIGHT_COLOR_PALE_BLUE = 18; + public const int TILE_MAIN_LIGHT_COLOR_BLUE = 19; + public const int TILE_MAIN_LIGHT_COLOR_PALE_DARK_PURPLE = 20; + public const int TILE_MAIN_LIGHT_COLOR_DARK_PURPLE = 21; + public const int TILE_MAIN_LIGHT_COLOR_PALE_PURPLE = 22; + public const int TILE_MAIN_LIGHT_COLOR_PURPLE = 23; + public const int TILE_MAIN_LIGHT_COLOR_PALE_DARK_RED = 24; + public const int TILE_MAIN_LIGHT_COLOR_DARK_RED = 25; + public const int TILE_MAIN_LIGHT_COLOR_PALE_RED = 26; + public const int TILE_MAIN_LIGHT_COLOR_RED = 27; + public const int TILE_MAIN_LIGHT_COLOR_PALE_DARK_ORANGE = 28; + public const int TILE_MAIN_LIGHT_COLOR_DARK_ORANGE = 29; + public const int TILE_MAIN_LIGHT_COLOR_PALE_ORANGE = 30; + public const int TILE_MAIN_LIGHT_COLOR_ORANGE = 31; + + public const int TILE_SOURCE_LIGHT_COLOR_BLACK = 0; + public const int TILE_SOURCE_LIGHT_COLOR_WHITE = 1; + public const int TILE_SOURCE_LIGHT_COLOR_PALE_DARK_YELLOW = 2; + public const int TILE_SOURCE_LIGHT_COLOR_PALE_YELLOW = 3; + public const int TILE_SOURCE_LIGHT_COLOR_PALE_DARK_GREEN = 4; + public const int TILE_SOURCE_LIGHT_COLOR_PALE_GREEN = 5; + public const int TILE_SOURCE_LIGHT_COLOR_PALE_DARK_AQUA = 6; + public const int TILE_SOURCE_LIGHT_COLOR_PALE_AQUA = 7; + public const int TILE_SOURCE_LIGHT_COLOR_PALE_DARK_BLUE = 8; + public const int TILE_SOURCE_LIGHT_COLOR_PALE_BLUE = 9; + public const int TILE_SOURCE_LIGHT_COLOR_PALE_DARK_PURPLE = 10; + public const int TILE_SOURCE_LIGHT_COLOR_PALE_PURPLE = 11; + public const int TILE_SOURCE_LIGHT_COLOR_PALE_DARK_RED = 12; + public const int TILE_SOURCE_LIGHT_COLOR_PALE_RED = 13; + public const int TILE_SOURCE_LIGHT_COLOR_PALE_DARK_ORANGE = 14; + public const int TILE_SOURCE_LIGHT_COLOR_PALE_ORANGE = 15; + + public const int PANEL_BUTTON_MAP = 0; + public const int PANEL_BUTTON_INVENTORY = 1; + public const int PANEL_BUTTON_JOURNAL = 2; + public const int PANEL_BUTTON_CHARACTER = 3; + public const int PANEL_BUTTON_OPTIONS = 4; + public const int PANEL_BUTTON_SPELLS = 5; + public const int PANEL_BUTTON_REST = 6; + public const int PANEL_BUTTON_PLAYER_VERSUS_PLAYER = 7; + + public const int ACTION_MOVETOPOINT = 0; + public const int ACTION_PICKUPITEM = 1; + public const int ACTION_DROPITEM = 2; + public const int ACTION_ATTACKOBJECT = 3; + public const int ACTION_CASTSPELL = 4; + public const int ACTION_OPENDOOR = 5; + public const int ACTION_CLOSEDOOR = 6; + public const int ACTION_DIALOGOBJECT = 7; + public const int ACTION_DISABLETRAP = 8; + public const int ACTION_RECOVERTRAP = 9; + public const int ACTION_FLAGTRAP = 10; + public const int ACTION_EXAMINETRAP = 11; + public const int ACTION_SETTRAP = 12; + public const int ACTION_OPENLOCK = 13; + public const int ACTION_LOCK = 14; + public const int ACTION_USEOBJECT = 15; + public const int ACTION_ANIMALEMPATHY = 16; + public const int ACTION_REST = 17; + public const int ACTION_TAUNT = 18; + public const int ACTION_ITEMCASTSPELL = 19; + public const int ACTION_COUNTERSPELL = 31; + public const int ACTION_HEAL = 33; + public const int ACTION_PICKPOCKET = 34; + public const int ACTION_FOLLOW = 35; + public const int ACTION_WAIT = 36; + public const int ACTION_SIT = 37; + public const int ACTION_SMITEGOOD = 40; + public const int ACTION_KIDAMAGE = 41; + public const int ACTION_RANDOMWALK = 42; + + public const int ACTION_INVALID = 65535; + + public const int TRAP_BASE_TYPE_MINOR_SPIKE = 0; + public const int TRAP_BASE_TYPE_AVERAGE_SPIKE = 1; + public const int TRAP_BASE_TYPE_STRONG_SPIKE = 2; + public const int TRAP_BASE_TYPE_DEADLY_SPIKE = 3; + public const int TRAP_BASE_TYPE_MINOR_HOLY = 4; + public const int TRAP_BASE_TYPE_AVERAGE_HOLY = 5; + public const int TRAP_BASE_TYPE_STRONG_HOLY = 6; + public const int TRAP_BASE_TYPE_DEADLY_HOLY = 7; + public const int TRAP_BASE_TYPE_MINOR_TANGLE = 8; + public const int TRAP_BASE_TYPE_AVERAGE_TANGLE = 9; + public const int TRAP_BASE_TYPE_STRONG_TANGLE = 10; + public const int TRAP_BASE_TYPE_DEADLY_TANGLE = 11; + public const int TRAP_BASE_TYPE_MINOR_ACID = 12; + public const int TRAP_BASE_TYPE_AVERAGE_ACID = 13; + public const int TRAP_BASE_TYPE_STRONG_ACID = 14; + public const int TRAP_BASE_TYPE_DEADLY_ACID = 15; + public const int TRAP_BASE_TYPE_MINOR_FIRE = 16; + public const int TRAP_BASE_TYPE_AVERAGE_FIRE = 17; + public const int TRAP_BASE_TYPE_STRONG_FIRE = 18; + public const int TRAP_BASE_TYPE_DEADLY_FIRE = 19; + public const int TRAP_BASE_TYPE_MINOR_ELECTRICAL = 20; + public const int TRAP_BASE_TYPE_AVERAGE_ELECTRICAL = 21; + public const int TRAP_BASE_TYPE_STRONG_ELECTRICAL = 22; + public const int TRAP_BASE_TYPE_DEADLY_ELECTRICAL = 23; + public const int TRAP_BASE_TYPE_MINOR_GAS = 24; + public const int TRAP_BASE_TYPE_AVERAGE_GAS = 25; + public const int TRAP_BASE_TYPE_STRONG_GAS = 26; + public const int TRAP_BASE_TYPE_DEADLY_GAS = 27; + public const int TRAP_BASE_TYPE_MINOR_FROST = 28; + public const int TRAP_BASE_TYPE_AVERAGE_FROST = 29; + public const int TRAP_BASE_TYPE_STRONG_FROST = 30; + public const int TRAP_BASE_TYPE_DEADLY_FROST = 31; + public const int TRAP_BASE_TYPE_MINOR_NEGATIVE = 32; + public const int TRAP_BASE_TYPE_AVERAGE_NEGATIVE = 33; + public const int TRAP_BASE_TYPE_STRONG_NEGATIVE = 34; + public const int TRAP_BASE_TYPE_DEADLY_NEGATIVE = 35; + public const int TRAP_BASE_TYPE_MINOR_SONIC = 36; + public const int TRAP_BASE_TYPE_AVERAGE_SONIC = 37; + public const int TRAP_BASE_TYPE_STRONG_SONIC = 38; + public const int TRAP_BASE_TYPE_DEADLY_SONIC = 39; + public const int TRAP_BASE_TYPE_MINOR_ACID_SPLASH = 40; + public const int TRAP_BASE_TYPE_AVERAGE_ACID_SPLASH = 41; + public const int TRAP_BASE_TYPE_STRONG_ACID_SPLASH = 42; + public const int TRAP_BASE_TYPE_DEADLY_ACID_SPLASH = 43; + public const int TRAP_BASE_TYPE_EPIC_ELECTRICAL = 44; + public const int TRAP_BASE_TYPE_EPIC_FIRE = 45; + public const int TRAP_BASE_TYPE_EPIC_FROST = 46; + public const int TRAP_BASE_TYPE_EPIC_SONIC = 47; + + + public const int TRACK_RURALDAY1 = 1; + public const int TRACK_RURALDAY2 = 2; + public const int TRACK_RURALNIGHT = 3; + public const int TRACK_FORESTDAY1 = 4; + public const int TRACK_FORESTDAY2 = 5; + public const int TRACK_FORESTNIGHT = 6; + public const int TRACK_DUNGEON1 = 7; + public const int TRACK_SEWER = 8; + public const int TRACK_MINES1 = 9; + public const int TRACK_MINES2 = 10; + public const int TRACK_CRYPT1 = 11; + public const int TRACK_CRYPT2 = 12; + public const int TRACK_DESERT_DAY = 58; + public const int TRACK_DESERT_NIGHT = 61; + public const int TRACK_WINTER_DAY = 59; + public const int TRACK_EVILDUNGEON1 = 13; + public const int TRACK_EVILDUNGEON2 = 14; + public const int TRACK_CITYSLUMDAY = 15; + public const int TRACK_CITYSLUMNIGHT = 16; + public const int TRACK_CITYDOCKDAY = 17; + public const int TRACK_CITYDOCKNIGHT = 18; + public const int TRACK_CITYWEALTHY = 19; + public const int TRACK_CITYMARKET = 20; + public const int TRACK_CITYNIGHT = 21; + public const int TRACK_TAVERN1 = 22; + public const int TRACK_TAVERN2 = 23; + public const int TRACK_TAVERN3 = 24; + public const int TRACK_TAVERN4 = 56; + public const int TRACK_RICHHOUSE = 25; + public const int TRACK_STORE = 26; + public const int TRACK_TEMPLEGOOD = 27; + public const int TRACK_TEMPLEGOOD2 = 49; + public const int TRACK_TEMPLEEVIL = 28; + public const int TRACK_THEME_NWN = 29; + public const int TRACK_THEME_CHAPTER1 = 30; + public const int TRACK_THEME_CHAPTER2 = 31; + public const int TRACK_THEME_CHAPTER3 = 32; + public const int TRACK_THEME_CHAPTER4 = 33; + public const int TRACK_BATTLE_RURAL1 = 34; + public const int TRACK_BATTLE_FOREST1 = 35; + public const int TRACK_BATTLE_FOREST2 = 36; + public const int TRACK_BATTLE_DUNGEON1 = 37; + public const int TRACK_BATTLE_DUNGEON2 = 38; + public const int TRACK_BATTLE_DUNGEON3 = 39; + public const int TRACK_BATTLE_CITY1 = 40; + public const int TRACK_BATTLE_CITY2 = 41; + public const int TRACK_BATTLE_CITY3 = 42; + public const int TRACK_BATTLE_CITYBOSS = 43; + public const int TRACK_BATTLE_FORESTBOSS = 44; + public const int TRACK_BATTLE_LIZARDBOSS = 45; + public const int TRACK_BATTLE_DRAGON = 46; + public const int TRACK_BATTLE_ARIBETH = 47; + public const int TRACK_BATTLE_ENDBOSS = 48; + public const int TRACK_BATTLE_DESERT = 57; + public const int TRACK_BATTLE_WINTER = 60; + public const int TRACK_CASTLE = 50; + public const int TRACK_THEME_ARIBETH1 = 51; + public const int TRACK_THEME_ARIBETH2 = 52; + public const int TRACK_THEME_GEND = 53; + public const int TRACK_THEME_MAUGRIM = 54; + public const int TRACK_THEME_MORAG = 55; + public const int TRACK_HOTU_THEME = 62; + public const int TRACK_HOTU_WATERDEEP = 63; + public const int TRACK_HOTU_UNDERMOUNTAIN = 64; + public const int TRACK_HOTU_REBELCAMP = 65; + public const int TRACK_HOTU_FIREPLANE = 66; + public const int TRACK_HOTU_QUEEN = 67; + public const int TRACK_HOTU_HELLFROZEOVER = 68; + public const int TRACK_HOTU_DRACOLICH = 69; + public const int TRACK_HOTU_BATTLE_SMALL = 70; + public const int TRACK_HOTU_BATTLE_MED = 71; + public const int TRACK_HOTU_BATTLE_LARGE = 72; + public const int TRACK_HOTU_BATTLE_HELL = 73; + public const int TRACK_HOTU_BATTLE_BOSS1 = 74; + public const int TRACK_HOTU_BATTLE_BOSS2 = 75; + + + public const int STEALTH_MODE_DISABLED = 0; + public const int STEALTH_MODE_ACTIVATED = 1; + public const int DETECT_MODE_PASSIVE = 0; + public const int DETECT_MODE_ACTIVE = 1; + public const int DEFENSIVE_CASTING_MODE_DISABLED = 0; + public const int DEFENSIVE_CASTING_MODE_ACTIVATED = 1; + + + public const int APPEARANCE_TYPE_INVALID = -1; + public const int APPEARANCE_TYPE_ALLIP = 186; + public const int APPEARANCE_TYPE_ARANEA = 157; + public const int APPEARANCE_TYPE_ARCH_TARGET = 200; + public const int APPEARANCE_TYPE_ARIBETH = 190; + public const int APPEARANCE_TYPE_ASABI_CHIEFTAIN = 353; + public const int APPEARANCE_TYPE_ASABI_SHAMAN = 354; + public const int APPEARANCE_TYPE_ASABI_WARRIOR = 355; + public const int APPEARANCE_TYPE_BADGER = 8; + public const int APPEARANCE_TYPE_BADGER_DIRE = 9; + public const int APPEARANCE_TYPE_BALOR = 38; + public const int APPEARANCE_TYPE_BARTENDER = 234; + public const int APPEARANCE_TYPE_BASILISK = 369; + public const int APPEARANCE_TYPE_BAT = 10; + public const int APPEARANCE_TYPE_BAT_HORROR = 11; + public const int APPEARANCE_TYPE_BEAR_BLACK = 12; + public const int APPEARANCE_TYPE_BEAR_BROWN = 13; + public const int APPEARANCE_TYPE_BEAR_DIRE = 15; + public const int APPEARANCE_TYPE_BEAR_KODIAK = 204; + public const int APPEARANCE_TYPE_BEAR_POLAR = 14; + public const int APPEARANCE_TYPE_BEETLE_FIRE = 18; + public const int APPEARANCE_TYPE_BEETLE_SLICER = 17; + public const int APPEARANCE_TYPE_BEETLE_STAG = 19; + public const int APPEARANCE_TYPE_BEETLE_STINK = 20; + public const int APPEARANCE_TYPE_BEGGER = 220; + public const int APPEARANCE_TYPE_BLOOD_SAILER = 221; + public const int APPEARANCE_TYPE_BOAR = 21; + public const int APPEARANCE_TYPE_BOAR_DIRE = 22; + public const int APPEARANCE_TYPE_BODAK = 23; + public const int APPEARANCE_TYPE_BUGBEAR_A = 29; + public const int APPEARANCE_TYPE_BUGBEAR_B = 30; + public const int APPEARANCE_TYPE_BUGBEAR_CHIEFTAIN_A = 25; + public const int APPEARANCE_TYPE_BUGBEAR_CHIEFTAIN_B = 26; + public const int APPEARANCE_TYPE_BUGBEAR_SHAMAN_A = 27; + public const int APPEARANCE_TYPE_BUGBEAR_SHAMAN_B = 28; + public const int APPEARANCE_TYPE_CAT_CAT_DIRE = 95; + public const int APPEARANCE_TYPE_CAT_COUGAR = 203; + public const int APPEARANCE_TYPE_CAT_CRAG_CAT = 94; + public const int APPEARANCE_TYPE_CAT_JAGUAR = 98; + public const int APPEARANCE_TYPE_CAT_KRENSHAR = 96; + public const int APPEARANCE_TYPE_CAT_LEOPARD = 93; + public const int APPEARANCE_TYPE_CAT_LION = 97; + public const int APPEARANCE_TYPE_CAT_MPANTHER = 306; + public const int APPEARANCE_TYPE_CAT_PANTHER = 202; + public const int APPEARANCE_TYPE_CHICKEN = 31; + public const int APPEARANCE_TYPE_COCKATRICE = 368; + public const int APPEARANCE_TYPE_COMBAT_DUMMY = 201; + public const int APPEARANCE_TYPE_CONVICT = 238; + public const int APPEARANCE_TYPE_COW = 34; + public const int APPEARANCE_TYPE_CULT_MEMBER = 212; + public const int APPEARANCE_TYPE_DEER = 35; + public const int APPEARANCE_TYPE_DEER_STAG = 37; + public const int APPEARANCE_TYPE_DEVIL = 392; + public const int APPEARANCE_TYPE_DOG = 176; + public const int APPEARANCE_TYPE_DOG_BLINKDOG = 174; + public const int APPEARANCE_TYPE_DOG_DIRE_WOLF = 175; + public const int APPEARANCE_TYPE_DOG_FENHOUND = 177; + public const int APPEARANCE_TYPE_DOG_HELL_HOUND = 179; + public const int APPEARANCE_TYPE_DOG_SHADOW_MASTIF = 180; + public const int APPEARANCE_TYPE_DOG_WINTER_WOLF = 184; + public const int APPEARANCE_TYPE_DOG_WOLF = 181; + public const int APPEARANCE_TYPE_DOG_WORG = 185; + public const int APPEARANCE_TYPE_DOOM_KNIGHT = 40; + public const int APPEARANCE_TYPE_DRAGON_BLACK = 41; + public const int APPEARANCE_TYPE_DRAGON_BLUE = 47; + public const int APPEARANCE_TYPE_DRAGON_BRASS = 42; + public const int APPEARANCE_TYPE_DRAGON_BRONZE = 45; + public const int APPEARANCE_TYPE_DRAGON_COPPER = 43; + public const int APPEARANCE_TYPE_DRAGON_GOLD = 46; + public const int APPEARANCE_TYPE_DRAGON_GREEN = 48; + public const int APPEARANCE_TYPE_DRAGON_RED = 49; + public const int APPEARANCE_TYPE_DRAGON_SILVER = 44; + public const int APPEARANCE_TYPE_DRAGON_WHITE = 50; + public const int APPEARANCE_TYPE_DROW_CLERIC = 215; + public const int APPEARANCE_TYPE_DROW_FIGHTER = 216; + public const int APPEARANCE_TYPE_DRUEGAR_CLERIC = 218; + public const int APPEARANCE_TYPE_DRUEGAR_FIGHTER = 217; + public const int APPEARANCE_TYPE_DRYAD = 51; + public const int APPEARANCE_TYPE_DWARF = 0; + public const int APPEARANCE_TYPE_DWARF_NPC_FEMALE = 248; + public const int APPEARANCE_TYPE_DWARF_NPC_MALE = 249; + public const int APPEARANCE_TYPE_ELEMENTAL_AIR = 52; + public const int APPEARANCE_TYPE_ELEMENTAL_AIR_ELDER = 53; + public const int APPEARANCE_TYPE_ELEMENTAL_EARTH = 56; + public const int APPEARANCE_TYPE_ELEMENTAL_EARTH_ELDER = 57; + public const int APPEARANCE_TYPE_ELEMENTAL_FIRE = 60; + public const int APPEARANCE_TYPE_ELEMENTAL_FIRE_ELDER = 61; + public const int APPEARANCE_TYPE_ELEMENTAL_WATER = 69; + public const int APPEARANCE_TYPE_ELEMENTAL_WATER_ELDER = 68; + public const int APPEARANCE_TYPE_ELF = 1; + public const int APPEARANCE_TYPE_ELF_NPC_FEMALE = 245; + public const int APPEARANCE_TYPE_ELF_NPC_MALE_01 = 246; + public const int APPEARANCE_TYPE_ELF_NPC_MALE_02 = 247; + public const int APPEARANCE_TYPE_ETTERCAP = 166; + public const int APPEARANCE_TYPE_ETTIN = 72; + public const int APPEARANCE_TYPE_FAERIE_DRAGON = 374; + public const int APPEARANCE_TYPE_FAIRY = 55; + public const int APPEARANCE_TYPE_FALCON = 144; + public const int APPEARANCE_TYPE_FEMALE_01 = 222; + public const int APPEARANCE_TYPE_FEMALE_02 = 223; + public const int APPEARANCE_TYPE_FEMALE_03 = 224; + public const int APPEARANCE_TYPE_FEMALE_04 = 225; + public const int APPEARANCE_TYPE_FORMIAN_MYRMARCH = 362; + public const int APPEARANCE_TYPE_FORMIAN_QUEEN = 363; + public const int APPEARANCE_TYPE_FORMIAN_WARRIOR = 361; + public const int APPEARANCE_TYPE_FORMIAN_WORKER = 360; + public const int APPEARANCE_TYPE_GARGOYLE = 73; + public const int APPEARANCE_TYPE_GHAST = 74; + public const int APPEARANCE_TYPE_GHOUL = 76; + public const int APPEARANCE_TYPE_GHOUL_LORD = 77; + public const int APPEARANCE_TYPE_GIANT_FIRE = 80; + public const int APPEARANCE_TYPE_GIANT_FIRE_FEMALE = 351; + public const int APPEARANCE_TYPE_GIANT_FROST = 81; + public const int APPEARANCE_TYPE_GIANT_FROST_FEMALE = 350; + public const int APPEARANCE_TYPE_GIANT_HILL = 78; + public const int APPEARANCE_TYPE_GIANT_MOUNTAIN = 79; + public const int APPEARANCE_TYPE_GNOLL_WARRIOR = 388; + public const int APPEARANCE_TYPE_GNOLL_WIZ = 389; + public const int APPEARANCE_TYPE_GNOME = 2; + public const int APPEARANCE_TYPE_GNOME_NPC_FEMALE = 243; + public const int APPEARANCE_TYPE_GNOME_NPC_MALE = 244; + public const int APPEARANCE_TYPE_GOBLIN_A = 86; + public const int APPEARANCE_TYPE_GOBLIN_B = 87; + public const int APPEARANCE_TYPE_GOBLIN_CHIEF_A = 82; + public const int APPEARANCE_TYPE_GOBLIN_CHIEF_B = 83; + public const int APPEARANCE_TYPE_GOBLIN_SHAMAN_A = 84; + public const int APPEARANCE_TYPE_GOBLIN_SHAMAN_B = 85; + public const int APPEARANCE_TYPE_GOLEM_BONE = 24; + public const int APPEARANCE_TYPE_GOLEM_CLAY = 91; + public const int APPEARANCE_TYPE_GOLEM_FLESH = 88; + public const int APPEARANCE_TYPE_GOLEM_IRON = 89; + public const int APPEARANCE_TYPE_GOLEM_STONE = 92; + public const int APPEARANCE_TYPE_GORGON = 367; + public const int APPEARANCE_TYPE_GREY_RENDER = 205; + public const int APPEARANCE_TYPE_GYNOSPHINX = 365; + public const int APPEARANCE_TYPE_HALFLING = 3; + public const int APPEARANCE_TYPE_HALFLING_NPC_FEMALE = 250; + public const int APPEARANCE_TYPE_HALFLING_NPC_MALE = 251; + public const int APPEARANCE_TYPE_HALF_ELF = 4; + public const int APPEARANCE_TYPE_HALF_ORC = 5; + public const int APPEARANCE_TYPE_HALF_ORC_NPC_FEMALE = 252; + public const int APPEARANCE_TYPE_HALF_ORC_NPC_MALE_01 = 253; + public const int APPEARANCE_TYPE_HALF_ORC_NPC_MALE_02 = 254; + public const int APPEARANCE_TYPE_HELMED_HORROR = 100; + public const int APPEARANCE_TYPE_HEURODIS_LICH = 370; + public const int APPEARANCE_TYPE_HOBGOBLIN_WARRIOR = 390; + public const int APPEARANCE_TYPE_HOBGOBLIN_WIZARD = 391; + public const int APPEARANCE_TYPE_HOOK_HORROR = 102; + public const int APPEARANCE_TYPE_HOUSE_GUARD = 219; + public const int APPEARANCE_TYPE_HUMAN = 6; + public const int APPEARANCE_TYPE_HUMAN_NPC_FEMALE_01 = 255; + public const int APPEARANCE_TYPE_HUMAN_NPC_FEMALE_02 = 256; + public const int APPEARANCE_TYPE_HUMAN_NPC_FEMALE_03 = 257; + public const int APPEARANCE_TYPE_HUMAN_NPC_FEMALE_04 = 258; + public const int APPEARANCE_TYPE_HUMAN_NPC_FEMALE_05 = 259; + public const int APPEARANCE_TYPE_HUMAN_NPC_FEMALE_06 = 260; + public const int APPEARANCE_TYPE_HUMAN_NPC_FEMALE_07 = 261; + public const int APPEARANCE_TYPE_HUMAN_NPC_FEMALE_08 = 262; + public const int APPEARANCE_TYPE_HUMAN_NPC_FEMALE_09 = 263; + public const int APPEARANCE_TYPE_HUMAN_NPC_FEMALE_10 = 264; + public const int APPEARANCE_TYPE_HUMAN_NPC_FEMALE_11 = 265; + public const int APPEARANCE_TYPE_HUMAN_NPC_FEMALE_12 = 266; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_01 = 267; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_02 = 268; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_03 = 269; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_04 = 270; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_05 = 271; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_06 = 272; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_07 = 273; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_08 = 274; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_09 = 275; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_10 = 276; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_11 = 277; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_12 = 278; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_13 = 279; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_14 = 280; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_15 = 281; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_16 = 282; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_17 = 283; + public const int APPEARANCE_TYPE_HUMAN_NPC_MALE_18 = 284; + public const int APPEARANCE_TYPE_IMP = 105; + public const int APPEARANCE_TYPE_INN_KEEPER = 233; + public const int APPEARANCE_TYPE_INTELLECT_DEVOURER = 117; + public const int APPEARANCE_TYPE_INVISIBLE_HUMAN_MALE = 298; + public const int APPEARANCE_TYPE_INVISIBLE_STALKER = 64; + public const int APPEARANCE_TYPE_KID_FEMALE = 242; + public const int APPEARANCE_TYPE_KID_MALE = 241; + public const int APPEARANCE_TYPE_KOBOLD_A = 302; + public const int APPEARANCE_TYPE_KOBOLD_B = 305; + public const int APPEARANCE_TYPE_KOBOLD_CHIEF_A = 300; + public const int APPEARANCE_TYPE_KOBOLD_CHIEF_B = 303; + public const int APPEARANCE_TYPE_KOBOLD_SHAMAN_A = 301; + public const int APPEARANCE_TYPE_KOBOLD_SHAMAN_B = 304; + public const int APPEARANCE_TYPE_LANTERN_ARCHON = 103; + public const int APPEARANCE_TYPE_LICH = 39; + public const int APPEARANCE_TYPE_LIZARDFOLK_A = 134; + public const int APPEARANCE_TYPE_LIZARDFOLK_B = 135; + public const int APPEARANCE_TYPE_LIZARDFOLK_SHAMAN_A = 132; + public const int APPEARANCE_TYPE_LIZARDFOLK_SHAMAN_B = 133; + public const int APPEARANCE_TYPE_LIZARDFOLK_WARRIOR_A = 130; + public const int APPEARANCE_TYPE_LIZARDFOLK_WARRIOR_B = 131; + public const int APPEARANCE_TYPE_LUSKAN_GUARD = 211; + public const int APPEARANCE_TYPE_MALE_01 = 226; + public const int APPEARANCE_TYPE_MALE_02 = 227; + public const int APPEARANCE_TYPE_MALE_03 = 228; + public const int APPEARANCE_TYPE_MALE_04 = 229; + public const int APPEARANCE_TYPE_MALE_05 = 230; + public const int APPEARANCE_TYPE_MANTICORE = 366; + public const int APPEARANCE_TYPE_MEDUSA = 352; + public const int APPEARANCE_TYPE_MEPHIT_AIR = 106; + public const int APPEARANCE_TYPE_MEPHIT_DUST = 107; + public const int APPEARANCE_TYPE_MEPHIT_EARTH = 108; + public const int APPEARANCE_TYPE_MEPHIT_FIRE = 109; + public const int APPEARANCE_TYPE_MEPHIT_ICE = 110; + public const int APPEARANCE_TYPE_MEPHIT_MAGMA = 114; + public const int APPEARANCE_TYPE_MEPHIT_OOZE = 112; + public const int APPEARANCE_TYPE_MEPHIT_SALT = 111; + public const int APPEARANCE_TYPE_MEPHIT_STEAM = 113; + public const int APPEARANCE_TYPE_MEPHIT_WATER = 115; + public const int APPEARANCE_TYPE_MINOGON = 119; + public const int APPEARANCE_TYPE_MINOTAUR = 120; + public const int APPEARANCE_TYPE_MINOTAUR_CHIEFTAIN = 121; + public const int APPEARANCE_TYPE_MINOTAUR_SHAMAN = 122; + public const int APPEARANCE_TYPE_MOHRG = 123; + public const int APPEARANCE_TYPE_MUMMY_COMMON = 58; + public const int APPEARANCE_TYPE_MUMMY_FIGHTER_2 = 59; + public const int APPEARANCE_TYPE_MUMMY_GREATER = 124; + public const int APPEARANCE_TYPE_MUMMY_WARRIOR = 125; + public const int APPEARANCE_TYPE_NWN_AARIN = 188; + public const int APPEARANCE_TYPE_NWN_ARIBETH_EVIL = 189; + public const int APPEARANCE_TYPE_NWN_HAEDRALINE = 191; + public const int APPEARANCE_TYPE_NWN_MAUGRIM = 193; + public const int APPEARANCE_TYPE_NWN_MORAG = 192; + public const int APPEARANCE_TYPE_NWN_NASHER = 296; + public const int APPEARANCE_TYPE_NWN_SEDOS = 297; + public const int APPEARANCE_TYPE_NW_MILITIA_MEMBER = 210; + public const int APPEARANCE_TYPE_NYMPH = 126; + public const int APPEARANCE_TYPE_OGRE = 127; + public const int APPEARANCE_TYPE_OGREB = 207; + public const int APPEARANCE_TYPE_OGRE_CHIEFTAIN = 128; + public const int APPEARANCE_TYPE_OGRE_CHIEFTAINB = 208; + public const int APPEARANCE_TYPE_OGRE_MAGE = 129; + public const int APPEARANCE_TYPE_OGRE_MAGEB = 209; + public const int APPEARANCE_TYPE_OLD_MAN = 239; + public const int APPEARANCE_TYPE_OLD_WOMAN = 240; + public const int APPEARANCE_TYPE_ORC_A = 140; + public const int APPEARANCE_TYPE_ORC_B = 141; + public const int APPEARANCE_TYPE_ORC_CHIEFTAIN_A = 136; + public const int APPEARANCE_TYPE_ORC_CHIEFTAIN_B = 137; + public const int APPEARANCE_TYPE_ORC_SHAMAN_A = 138; + public const int APPEARANCE_TYPE_ORC_SHAMAN_B = 139; + public const int APPEARANCE_TYPE_OX = 142; + public const int APPEARANCE_TYPE_PENGUIN = 206; + public const int APPEARANCE_TYPE_PLAGUE_VICTIM = 231; + public const int APPEARANCE_TYPE_PROSTITUTE_01 = 236; + public const int APPEARANCE_TYPE_PROSTITUTE_02 = 237; + public const int APPEARANCE_TYPE_PSEUDODRAGON = 375; + public const int APPEARANCE_TYPE_QUASIT = 104; + public const int APPEARANCE_TYPE_RAKSHASA_BEAR_MALE = 294; + public const int APPEARANCE_TYPE_RAKSHASA_TIGER_FEMALE = 290; + public const int APPEARANCE_TYPE_RAKSHASA_TIGER_MALE = 293; + public const int APPEARANCE_TYPE_RAKSHASA_WOLF_MALE = 295; + public const int APPEARANCE_TYPE_RAT = 386; + public const int APPEARANCE_TYPE_RAT_DIRE = 387; + public const int APPEARANCE_TYPE_RAVEN = 145; + public const int APPEARANCE_TYPE_SHADOW = 146; + public const int APPEARANCE_TYPE_SHADOW_FIEND = 147; + public const int APPEARANCE_TYPE_SHADOW_REAVER = 500; + public const int APPEARANCE_TYPE_SHIELD_GUARDIAN = 90; + public const int APPEARANCE_TYPE_SHOP_KEEPER = 232; + public const int APPEARANCE_TYPE_SKELETAL_DEVOURER = 36; + public const int APPEARANCE_TYPE_SKELETON_CHIEFTAIN = 182; + public const int APPEARANCE_TYPE_SKELETON_COMMON = 63; + public const int APPEARANCE_TYPE_SKELETON_MAGE = 148; + public const int APPEARANCE_TYPE_SKELETON_PRIEST = 62; + public const int APPEARANCE_TYPE_SKELETON_WARRIOR = 150; + public const int APPEARANCE_TYPE_SKELETON_WARRIOR_1 = 70; + public const int APPEARANCE_TYPE_SKELETON_WARRIOR_2 = 71; + public const int APPEARANCE_TYPE_SLAAD_BLUE = 151; + public const int APPEARANCE_TYPE_SLAAD_DEATH = 152; + public const int APPEARANCE_TYPE_SLAAD_GRAY = 153; + public const int APPEARANCE_TYPE_SLAAD_GREEN = 154; + public const int APPEARANCE_TYPE_SLAAD_RED = 155; + public const int APPEARANCE_TYPE_SPECTRE = 156; + public const int APPEARANCE_TYPE_SPHINX = 364; + public const int APPEARANCE_TYPE_SPIDER_DIRE = 158; + public const int APPEARANCE_TYPE_SPIDER_GIANT = 159; + public const int APPEARANCE_TYPE_SPIDER_PHASE = 160; + public const int APPEARANCE_TYPE_SPIDER_SWORD = 161; + public const int APPEARANCE_TYPE_SPIDER_WRAITH = 162; + public const int APPEARANCE_TYPE_STINGER = 356; + public const int APPEARANCE_TYPE_STINGER_CHIEFTAIN = 358; + public const int APPEARANCE_TYPE_STINGER_MAGE = 359; + public const int APPEARANCE_TYPE_STINGER_WARRIOR = 357; + public const int APPEARANCE_TYPE_SUCCUBUS = 163; + public const int APPEARANCE_TYPE_TROLL = 167; + public const int APPEARANCE_TYPE_TROLL_CHIEFTAIN = 164; + public const int APPEARANCE_TYPE_TROLL_SHAMAN = 165; + public const int APPEARANCE_TYPE_UMBERHULK = 168; + public const int APPEARANCE_TYPE_UTHGARD_ELK_TRIBE = 213; + public const int APPEARANCE_TYPE_UTHGARD_TIGER_TRIBE = 214; + public const int APPEARANCE_TYPE_VAMPIRE_FEMALE = 288; + public const int APPEARANCE_TYPE_VAMPIRE_MALE = 289; + public const int APPEARANCE_TYPE_VROCK = 101; + public const int APPEARANCE_TYPE_WAITRESS = 235; + public const int APPEARANCE_TYPE_WAR_DEVOURER = 54; + public const int APPEARANCE_TYPE_WERECAT = 99; + public const int APPEARANCE_TYPE_WERERAT = 170; + public const int APPEARANCE_TYPE_WEREWOLF = 171; + public const int APPEARANCE_TYPE_WIGHT = 172; + public const int APPEARANCE_TYPE_WILL_O_WISP = 116; + public const int APPEARANCE_TYPE_WRAITH = 187; + public const int APPEARANCE_TYPE_WYRMLING_BLACK = 378; + public const int APPEARANCE_TYPE_WYRMLING_BLUE = 377; + public const int APPEARANCE_TYPE_WYRMLING_BRASS = 381; + public const int APPEARANCE_TYPE_WYRMLING_BRONZE = 383; + public const int APPEARANCE_TYPE_WYRMLING_COPPER = 382; + public const int APPEARANCE_TYPE_WYRMLING_GOLD = 385; + public const int APPEARANCE_TYPE_WYRMLING_GREEN = 379; + public const int APPEARANCE_TYPE_WYRMLING_RED = 376; + public const int APPEARANCE_TYPE_WYRMLING_SILVER = 384; + public const int APPEARANCE_TYPE_WYRMLING_WHITE = 380; + public const int APPEARANCE_TYPE_YUAN_TI = 285; + public const int APPEARANCE_TYPE_YUAN_TI_CHIEFTEN = 286; + public const int APPEARANCE_TYPE_YUAN_TI_WIZARD = 287; + public const int APPEARANCE_TYPE_ZOMBIE = 198; + public const int APPEARANCE_TYPE_ZOMBIE_ROTTING = 195; + public const int APPEARANCE_TYPE_ZOMBIE_TYRANT_FOG = 199; + public const int APPEARANCE_TYPE_ZOMBIE_WARRIOR_1 = 196; + public const int APPEARANCE_TYPE_ZOMBIE_WARRIOR_2 = 197; + + + public const int CAMERA_TRANSITION_TYPE_SNAP = 0; + public const int CAMERA_TRANSITION_TYPE_CRAWL = 2; + public const int CAMERA_TRANSITION_TYPE_VERY_SLOW = 5; + public const int CAMERA_TRANSITION_TYPE_SLOW = 20; + public const int CAMERA_TRANSITION_TYPE_MEDIUM = 40; + public const int CAMERA_TRANSITION_TYPE_FAST = 70; + public const int CAMERA_TRANSITION_TYPE_VERY_FAST = 100; + + // these are now specified in seconds. + public const float FADE_SPEED_SLOWEST = 3.0f; //0.003; + public const float FADE_SPEED_SLOW = 2.0f; //0.005; + public const float FADE_SPEED_MEDIUM = 1.5f; //0.01; + public const float FADE_SPEED_FAST = 1.0f; //0.017; + public const float FADE_SPEED_FASTEST = 0.5f; //0.25; + + // User-Defined script events + public const int EVENT_HEARTBEAT = 1001; + public const int EVENT_PERCEIVE = 1002; + public const int EVENT_END_COMBAT_ROUND = 1003; + public const int EVENT_DIALOGUE = 1004; + public const int EVENT_ATTACKED = 1005; + public const int EVENT_DAMAGED = 1006; + public const int EVENT_DISTURBED = 1008; + public const int EVENT_SPELL_CAST_AT = 1011; + + // Event IDs in the range 2000-2999 are broadcast from engine events + public const int EVENT_MASTER_TOGGLEMODE_NONE = 2000; + public const int EVENT_MASTER_TOGGLEMODE_PARRY = 2001; + public const int EVENT_MASTER_TOGGLEMODE_POWER_ATTACK = 2002; + public const int EVENT_MASTER_TOGGLEMODE_IMPROVED_POWER_ATTACK = 2003; + public const int EVENT_MASTER_TOGGLEMODE_COUNTERSPELL = 2004; + public const int EVENT_MASTER_TOGGLEMODE_FLURRY_OF_BLOWS = 2005; + public const int EVENT_MASTER_TOGGLEMODE_RAPID_SHOT = 2006; + public const int EVENT_MASTER_TOGGLEMODE_COMBAT_EXPERTISE = 2007; + public const int EVENT_MASTER_TOGGLEMODE_IMPROVED_COMBAT_EXPERTISE = 2008; + public const int EVENT_MASTER_TOGGLEMODE_DEFENSIVE_CASTING = 2009; + public const int EVENT_MASTER_TOGGLEMODE_DIRTY_FIGHTING = 2010; + public const int EVENT_MASTER_TOGGLEMODE_DEFENSIVE_STANCE = 2011; + public const int EVENT_MASTER_TOGGLEMODE_TAUNT = 2012; + + public const int EVENT_SAW_TRAP = 2050; // Brock H. - OEI 05/24/06 - call GetLastTrapDetected to get the trap associated with this event + public const int EVENT_ROSTER_SPAWN_IN = 2051; // BMA-OEI 7/14/06 - signals on roster member spawned in from script or GUI callback + public const int EVENT_PLAYER_CONTROL_CHANGED = 2052; // Brock H. - OEI 05/24/06 - called when this creature has become controlled, or is no longer controlled, by a player + public const int EVENT_PLAYER_CAN_LEVEL_UP = 2053; // AFW-OEI 06/21/2007 - called when a creature gains enough XP to level up (one or more levels). + public const int EVENT_PARTY_MEMBER_ADDED = 2054; + public const int EVENT_PARTY_MEMBER_REMOVED = 2055; + public const int EVENT_TRANSFER_PARTY_LEADER = 2056; + public const int EVENT_ACTION_ATTACK_FAILED_NO_PATH = 2100; + + + public const int AI_LEVEL_INVALID = -1; + public const int AI_LEVEL_DEFAULT = -1; + public const int AI_LEVEL_VERY_LOW = 0; + public const int AI_LEVEL_LOW = 1; + public const int AI_LEVEL_NORMAL = 2; + public const int AI_LEVEL_HIGH = 3; + public const int AI_LEVEL_VERY_HIGH = 4; + + public const int AREA_INVALID = -1; + public const int AREA_NATURAL = 1; + public const int AREA_ARTIFICIAL = 0; + public const int AREA_ABOVEGROUND = 1; + public const int AREA_UNDERGROUND = 0; + + + + + // The following is all the item property constants... + public const int IP_CONST_ABILITY_STR = 0; + public const int IP_CONST_ABILITY_DEX = 1; + public const int IP_CONST_ABILITY_CON = 2; + public const int IP_CONST_ABILITY_INT = 3; + public const int IP_CONST_ABILITY_WIS = 4; + public const int IP_CONST_ABILITY_CHA = 5; + public const int IP_CONST_ACMODIFIERTYPE_DODGE = 0; + public const int IP_CONST_ACMODIFIERTYPE_NATURAL = 1; + public const int IP_CONST_ACMODIFIERTYPE_ARMOR = 2; + public const int IP_CONST_ACMODIFIERTYPE_SHIELD = 3; + public const int IP_CONST_ACMODIFIERTYPE_DEFLECTION = 4; + public const int IP_CONST_ALIGNMENTGROUP_ALL = 0; + public const int IP_CONST_ALIGNMENTGROUP_NEUTRAL = 1; + public const int IP_CONST_ALIGNMENTGROUP_LAWFUL = 2; + public const int IP_CONST_ALIGNMENTGROUP_CHAOTIC = 3; + public const int IP_CONST_ALIGNMENTGROUP_GOOD = 4; + public const int IP_CONST_ALIGNMENTGROUP_EVIL = 5; + public const int IP_CONST_ALIGNMENT_LG = 0; + public const int IP_CONST_ALIGNMENT_LN = 1; + public const int IP_CONST_ALIGNMENT_LE = 2; + public const int IP_CONST_ALIGNMENT_NG = 3; + public const int IP_CONST_ALIGNMENT_TN = 4; + public const int IP_CONST_ALIGNMENT_NE = 5; + public const int IP_CONST_ALIGNMENT_CG = 6; + public const int IP_CONST_ALIGNMENT_CN = 7; + public const int IP_CONST_ALIGNMENT_CE = 8; + public const int IP_CONST_RACIALTYPE_DWARF = 0; + public const int IP_CONST_RACIALTYPE_ELF = 1; + public const int IP_CONST_RACIALTYPE_GNOME = 2; + public const int IP_CONST_RACIALTYPE_HALFLING = 3; + public const int IP_CONST_RACIALTYPE_HALFELF = 4; + public const int IP_CONST_RACIALTYPE_HALFORC = 5; + public const int IP_CONST_RACIALTYPE_HUMAN = 6; + public const int IP_CONST_RACIALTYPE_ABERRATION = 7; + public const int IP_CONST_RACIALTYPE_ANIMAL = 8; + public const int IP_CONST_RACIALTYPE_BEAST = 9; + public const int IP_CONST_RACIALTYPE_CONSTRUCT = 10; + public const int IP_CONST_RACIALTYPE_DRAGON = 11; + public const int IP_CONST_RACIALTYPE_HUMANOID_GOBLINOID = 12; + public const int IP_CONST_RACIALTYPE_HUMANOID_MONSTROUS = 13; + public const int IP_CONST_RACIALTYPE_HUMANOID_ORC = 14; + public const int IP_CONST_RACIALTYPE_HUMANOID_REPTILIAN = 15; + public const int IP_CONST_RACIALTYPE_ELEMENTAL = 16; + public const int IP_CONST_RACIALTYPE_FEY = 17; + public const int IP_CONST_RACIALTYPE_GIANT = 18; + public const int IP_CONST_RACIALTYPE_MAGICAL_BEAST = 19; + public const int IP_CONST_RACIALTYPE_OUTSIDER = 20; + public const int IP_CONST_RACIALTYPE_SHAPECHANGER = 23; + public const int IP_CONST_RACIALTYPE_UNDEAD = 24; + public const int IP_CONST_RACIALTYPE_VERMIN = 25; + public const int IP_CONST_UNLIMITEDAMMO_BASIC = 1; + public const int IP_CONST_UNLIMITEDAMMO_1D6FIRE = 2; + public const int IP_CONST_UNLIMITEDAMMO_1D6COLD = 3; + public const int IP_CONST_UNLIMITEDAMMO_1D6LIGHT = 4; + public const int IP_CONST_UNLIMITEDAMMO_NATURES_RAGE = 5; + public const int IP_CONST_UNLIMITEDAMMO_PLUS1 = 11; + public const int IP_CONST_UNLIMITEDAMMO_PLUS2 = 12; + public const int IP_CONST_UNLIMITEDAMMO_PLUS3 = 13; + public const int IP_CONST_UNLIMITEDAMMO_PLUS4 = 14; + public const int IP_CONST_UNLIMITEDAMMO_PLUS5 = 15; + public const int IP_CONST_AMMOTYPE_ARROW = 0; + public const int IP_CONST_AMMOTYPE_BOLT = 1; + public const int IP_CONST_AMMOTYPE_BULLET = 2; + public const int IP_CONST_CASTSPELL_NUMUSES_SINGLE_USE = 1; + public const int IP_CONST_CASTSPELL_NUMUSES_5_CHARGES_PER_USE = 2; + public const int IP_CONST_CASTSPELL_NUMUSES_4_CHARGES_PER_USE = 3; + public const int IP_CONST_CASTSPELL_NUMUSES_3_CHARGES_PER_USE = 4; + public const int IP_CONST_CASTSPELL_NUMUSES_2_CHARGES_PER_USE = 5; + public const int IP_CONST_CASTSPELL_NUMUSES_1_CHARGE_PER_USE = 6; + public const int IP_CONST_CASTSPELL_NUMUSES_0_CHARGES_PER_USE = 7; + public const int IP_CONST_CASTSPELL_NUMUSES_1_USE_PER_DAY = 8; + public const int IP_CONST_CASTSPELL_NUMUSES_2_USES_PER_DAY = 9; + public const int IP_CONST_CASTSPELL_NUMUSES_3_USES_PER_DAY = 10; + public const int IP_CONST_CASTSPELL_NUMUSES_4_USES_PER_DAY = 11; + public const int IP_CONST_CASTSPELL_NUMUSES_5_USES_PER_DAY = 12; + public const int IP_CONST_CASTSPELL_NUMUSES_UNLIMITED_USE = 13; + public const int IP_CONST_DAMAGEBONUS_1 = 1; + public const int IP_CONST_DAMAGEBONUS_2 = 2; + public const int IP_CONST_DAMAGEBONUS_3 = 3; + public const int IP_CONST_DAMAGEBONUS_4 = 4; + public const int IP_CONST_DAMAGEBONUS_5 = 5; + public const int IP_CONST_DAMAGEBONUS_1d4 = 6; + public const int IP_CONST_DAMAGEBONUS_1d6 = 7; + public const int IP_CONST_DAMAGEBONUS_1d8 = 8; + public const int IP_CONST_DAMAGEBONUS_1d10 = 9; + public const int IP_CONST_DAMAGEBONUS_2d6 = 10; + public const int IP_CONST_DAMAGEBONUS_2d8 = 11; + public const int IP_CONST_DAMAGEBONUS_2d4 = 12; + public const int IP_CONST_DAMAGEBONUS_2d10 = 13; + public const int IP_CONST_DAMAGEBONUS_1d12 = 14; + public const int IP_CONST_DAMAGEBONUS_2d12 = 15; + public const int IP_CONST_DAMAGEBONUS_6 = 16; + public const int IP_CONST_DAMAGEBONUS_7 = 17; + public const int IP_CONST_DAMAGEBONUS_8 = 18; + public const int IP_CONST_DAMAGEBONUS_9 = 19; + public const int IP_CONST_DAMAGEBONUS_10 = 20; + public const int IP_CONST_DAMAGEBONUS_3d10 = 51; + public const int IP_CONST_DAMAGEBONUS_3d12 = 52; + public const int IP_CONST_DAMAGEBONUS_4d6 = 53; + public const int IP_CONST_DAMAGEBONUS_4d8 = 54; + public const int IP_CONST_DAMAGEBONUS_4d10 = 55; + public const int IP_CONST_DAMAGEBONUS_4d12 = 56; + public const int IP_CONST_DAMAGEBONUS_5d6 = 57; + public const int IP_CONST_DAMAGEBONUS_5d12 = 58; + public const int IP_CONST_DAMAGEBONUS_6d12 = 59; + public const int IP_CONST_DAMAGEBONUS_3d6 = 60; + public const int IP_CONST_DAMAGEBONUS_6d6 = 61; + public const int IP_CONST_DAMAGETYPE_BLUDGEONING = 0; + public const int IP_CONST_DAMAGETYPE_PIERCING = 1; + public const int IP_CONST_DAMAGETYPE_SLASHING = 2; + public const int IP_CONST_DAMAGETYPE_SUBDUAL = 3; + public const int IP_CONST_DAMAGETYPE_PHYSICAL = 4; + public const int IP_CONST_DAMAGETYPE_MAGICAL = 5; + public const int IP_CONST_DAMAGETYPE_ACID = 6; + public const int IP_CONST_DAMAGETYPE_COLD = 7; + public const int IP_CONST_DAMAGETYPE_DIVINE = 8; + public const int IP_CONST_DAMAGETYPE_ELECTRICAL = 9; + public const int IP_CONST_DAMAGETYPE_FIRE = 10; + public const int IP_CONST_DAMAGETYPE_NEGATIVE = 11; + public const int IP_CONST_DAMAGETYPE_POSITIVE = 12; + public const int IP_CONST_DAMAGETYPE_SONIC = 13; + public const int IP_CONST_DAMAGEIMMUNITY_5_PERCENT = 1; + public const int IP_CONST_DAMAGEIMMUNITY_10_PERCENT = 2; + public const int IP_CONST_DAMAGEIMMUNITY_25_PERCENT = 3; + public const int IP_CONST_DAMAGEIMMUNITY_50_PERCENT = 4; + public const int IP_CONST_DAMAGEIMMUNITY_75_PERCENT = 5; + public const int IP_CONST_DAMAGEIMMUNITY_90_PERCENT = 6; + public const int IP_CONST_DAMAGEIMMUNITY_100_PERCENT = 7; + public const int IP_CONST_DAMAGEVULNERABILITY_5_PERCENT = 1; + public const int IP_CONST_DAMAGEVULNERABILITY_10_PERCENT = 2; + public const int IP_CONST_DAMAGEVULNERABILITY_25_PERCENT = 3; + public const int IP_CONST_DAMAGEVULNERABILITY_50_PERCENT = 4; + public const int IP_CONST_DAMAGEVULNERABILITY_75_PERCENT = 5; + public const int IP_CONST_DAMAGEVULNERABILITY_90_PERCENT = 6; + public const int IP_CONST_DAMAGEVULNERABILITY_100_PERCENT = 7; + public const int IP_CONST_FEAT_ALERTNESS = 0; + public const int IP_CONST_FEAT_AMBIDEXTROUS = 1; + public const int IP_CONST_FEAT_CLEAVE = 2; + public const int IP_CONST_FEAT_COMBAT_CASTING = 3; + public const int IP_CONST_FEAT_DODGE = 4; + public const int IP_CONST_FEAT_EXTRA_TURNING = 5; + public const int IP_CONST_FEAT_KNOCKDOWN = 6; + public const int IP_CONST_FEAT_POINTBLANK = 7; + public const int IP_CONST_FEAT_SPELLFOCUSABJ = 8; + public const int IP_CONST_FEAT_SPELLFOCUSCON = 9; + public const int IP_CONST_FEAT_SPELLFOCUSDIV = 10; + public const int IP_CONST_FEAT_SPELLFOCUSENC = 11; + public const int IP_CONST_FEAT_SPELLFOCUSEVO = 12; + public const int IP_CONST_FEAT_SPELLFOCUSILL = 13; + public const int IP_CONST_FEAT_SPELLFOCUSNEC = 14; + public const int IP_CONST_FEAT_SPELLPENETRATION = 15; + public const int IP_CONST_FEAT_POWERATTACK = 16; + public const int IP_CONST_FEAT_TWO_WEAPON_FIGHTING = 17; + public const int IP_CONST_FEAT_WEAPSPEUNARM = 18; + public const int IP_CONST_FEAT_WEAPFINESSE = 19; + public const int IP_CONST_FEAT_IMPCRITUNARM = 20; + public const int IP_CONST_FEAT_WEAPON_PROF_EXOTIC = 21; + public const int IP_CONST_FEAT_WEAPON_PROF_SIMPLE = 22; + public const int IP_CONST_FEAT_WEAPON_PROF_MARTIAL = 23; + public const int IP_CONST_FEAT_ARMOR_PROF_HEAVY = 24; + public const int IP_CONST_FEAT_ARMOR_PROF_LIGHT = 25; + public const int IP_CONST_FEAT_ARMOR_PROF_MEDIUM = 26; + + public const int IP_CONST_FEAT_DEFLECT_ARROWS = 40; + + public const int IP_CONST_FEAT_EXTRA_SMITING = 134; + public const int IP_CONST_FEAT_EXTRA_MUSIC = 169; + public const int IP_CONST_FEAT_EXTRA_STUNNING_ATTACK = 170; + public const int IP_CONST_FEAT_EXTENDED_RAGE = 199; + public const int IP_CONST_FEAT_EXTRA_RAGE = 200; + public const int IP_CONST_FEAT_EXTRA_WILD_SHAPE = 201; + + public const int IP_CONST_IMMUNITYMISC_BACKSTAB = 0; + public const int IP_CONST_IMMUNITYMISC_LEVEL_ABIL_DRAIN = 1; + public const int IP_CONST_IMMUNITYMISC_MINDSPELLS = 2; + public const int IP_CONST_IMMUNITYMISC_POISON = 3; + public const int IP_CONST_IMMUNITYMISC_DISEASE = 4; + public const int IP_CONST_IMMUNITYMISC_FEAR = 5; + public const int IP_CONST_IMMUNITYMISC_KNOCKDOWN = 6; + public const int IP_CONST_IMMUNITYMISC_PARALYSIS = 7; + public const int IP_CONST_IMMUNITYMISC_CRITICAL_HITS = 8; + public const int IP_CONST_IMMUNITYMISC_DEATH_MAGIC = 9; + public const int IP_CONST_LIGHTBRIGHTNESS_DIM = 1; + public const int IP_CONST_LIGHTBRIGHTNESS_LOW = 2; + public const int IP_CONST_LIGHTBRIGHTNESS_NORMAL = 3; + public const int IP_CONST_LIGHTBRIGHTNESS_BRIGHT = 4; + public const int IP_CONST_LIGHTCOLOR_BLUE = 0; + public const int IP_CONST_LIGHTCOLOR_YELLOW = 1; + public const int IP_CONST_LIGHTCOLOR_PURPLE = 2; + public const int IP_CONST_LIGHTCOLOR_RED = 3; + public const int IP_CONST_LIGHTCOLOR_GREEN = 4; + public const int IP_CONST_LIGHTCOLOR_ORANGE = 5; + public const int IP_CONST_LIGHTCOLOR_WHITE = 6; + public const int IP_CONST_MONSTERDAMAGE_1d2 = 1; + public const int IP_CONST_MONSTERDAMAGE_1d3 = 2; + public const int IP_CONST_MONSTERDAMAGE_1d4 = 3; + public const int IP_CONST_MONSTERDAMAGE_2d4 = 4; + public const int IP_CONST_MONSTERDAMAGE_3d4 = 5; + public const int IP_CONST_MONSTERDAMAGE_4d4 = 6; + public const int IP_CONST_MONSTERDAMAGE_5d4 = 7; + public const int IP_CONST_MONSTERDAMAGE_1d6 = 8; + public const int IP_CONST_MONSTERDAMAGE_2d6 = 9; + public const int IP_CONST_MONSTERDAMAGE_3d6 = 10; + public const int IP_CONST_MONSTERDAMAGE_4d6 = 11; + public const int IP_CONST_MONSTERDAMAGE_5d6 = 12; + public const int IP_CONST_MONSTERDAMAGE_6d6 = 13; + public const int IP_CONST_MONSTERDAMAGE_7d6 = 14; + public const int IP_CONST_MONSTERDAMAGE_8d6 = 15; + public const int IP_CONST_MONSTERDAMAGE_9d6 = 16; + public const int IP_CONST_MONSTERDAMAGE_10d6 = 17; + public const int IP_CONST_MONSTERDAMAGE_1d8 = 18; + public const int IP_CONST_MONSTERDAMAGE_2d8 = 19; + public const int IP_CONST_MONSTERDAMAGE_3d8 = 20; + public const int IP_CONST_MONSTERDAMAGE_4d8 = 21; + public const int IP_CONST_MONSTERDAMAGE_5d8 = 22; + public const int IP_CONST_MONSTERDAMAGE_6d8 = 23; + public const int IP_CONST_MONSTERDAMAGE_7d8 = 24; + public const int IP_CONST_MONSTERDAMAGE_8d8 = 25; + public const int IP_CONST_MONSTERDAMAGE_9d8 = 26; + public const int IP_CONST_MONSTERDAMAGE_10d8 = 27; + public const int IP_CONST_MONSTERDAMAGE_1d10 = 28; + public const int IP_CONST_MONSTERDAMAGE_2d10 = 29; + public const int IP_CONST_MONSTERDAMAGE_3d10 = 30; + public const int IP_CONST_MONSTERDAMAGE_4d10 = 31; + public const int IP_CONST_MONSTERDAMAGE_5d10 = 32; + public const int IP_CONST_MONSTERDAMAGE_6d10 = 33; + public const int IP_CONST_MONSTERDAMAGE_7d10 = 34; + public const int IP_CONST_MONSTERDAMAGE_8d10 = 35; + public const int IP_CONST_MONSTERDAMAGE_9d10 = 36; + public const int IP_CONST_MONSTERDAMAGE_10d10 = 37; + public const int IP_CONST_MONSTERDAMAGE_1d12 = 38; + public const int IP_CONST_MONSTERDAMAGE_2d12 = 39; + public const int IP_CONST_MONSTERDAMAGE_3d12 = 40; + public const int IP_CONST_MONSTERDAMAGE_4d12 = 41; + public const int IP_CONST_MONSTERDAMAGE_5d12 = 42; + public const int IP_CONST_MONSTERDAMAGE_6d12 = 43; + public const int IP_CONST_MONSTERDAMAGE_7d12 = 44; + public const int IP_CONST_MONSTERDAMAGE_8d12 = 45; + public const int IP_CONST_MONSTERDAMAGE_9d12 = 46; + public const int IP_CONST_MONSTERDAMAGE_10d12 = 47; + public const int IP_CONST_MONSTERDAMAGE_1d20 = 48; + public const int IP_CONST_MONSTERDAMAGE_2d20 = 49; + public const int IP_CONST_MONSTERDAMAGE_3d20 = 50; + public const int IP_CONST_MONSTERDAMAGE_4d20 = 51; + public const int IP_CONST_MONSTERDAMAGE_5d20 = 52; + public const int IP_CONST_MONSTERDAMAGE_6d20 = 53; + public const int IP_CONST_MONSTERDAMAGE_7d20 = 54; + public const int IP_CONST_MONSTERDAMAGE_8d20 = 55; + public const int IP_CONST_MONSTERDAMAGE_9d20 = 56; + public const int IP_CONST_MONSTERDAMAGE_10d20 = 57; + public const int IP_CONST_ONMONSTERHIT_ABILITYDRAIN = 0; + public const int IP_CONST_ONMONSTERHIT_CONFUSION = 1; + public const int IP_CONST_ONMONSTERHIT_DISEASE = 2; + public const int IP_CONST_ONMONSTERHIT_DOOM = 3; + public const int IP_CONST_ONMONSTERHIT_FEAR = 4; + public const int IP_CONST_ONMONSTERHIT_LEVELDRAIN = 5; + public const int IP_CONST_ONMONSTERHIT_POISON = 6; + public const int IP_CONST_ONMONSTERHIT_SLOW = 7; + public const int IP_CONST_ONMONSTERHIT_STUN = 8; + public const int IP_CONST_ONMONSTERHIT_WOUNDING = 9; + public const int IP_CONST_ONHIT_SLEEP = 0; + public const int IP_CONST_ONHIT_STUN = 1; + public const int IP_CONST_ONHIT_HOLD = 2; + public const int IP_CONST_ONHIT_CONFUSION = 3; + public const int IP_CONST_ONHIT_DAZE = 5; + public const int IP_CONST_ONHIT_DOOM = 6; + public const int IP_CONST_ONHIT_FEAR = 7; + public const int IP_CONST_ONHIT_KNOCK = 8; + public const int IP_CONST_ONHIT_SLOW = 9; + public const int IP_CONST_ONHIT_LESSERDISPEL = 10; + public const int IP_CONST_ONHIT_DISPELMAGIC = 11; + public const int IP_CONST_ONHIT_GREATERDISPEL = 12; + public const int IP_CONST_ONHIT_MORDSDISJUNCTION = 13; + public const int IP_CONST_ONHIT_SILENCE = 14; + public const int IP_CONST_ONHIT_DEAFNESS = 15; + public const int IP_CONST_ONHIT_BLINDNESS = 16; + public const int IP_CONST_ONHIT_LEVELDRAIN = 17; + public const int IP_CONST_ONHIT_ABILITYDRAIN = 18; + public const int IP_CONST_ONHIT_ITEMPOISON = 19; + public const int IP_CONST_ONHIT_DISEASE = 20; + public const int IP_CONST_ONHIT_SLAYRACE = 21; + public const int IP_CONST_ONHIT_SLAYALIGNMENTGROUP = 22; + public const int IP_CONST_ONHIT_SLAYALIGNMENT = 23; + public const int IP_CONST_ONHIT_VORPAL = 24; + public const int IP_CONST_ONHIT_WOUNDING = 25; + public const int IP_CONST_ONHIT_SAVEDC_14 = 0; + public const int IP_CONST_ONHIT_SAVEDC_16 = 1; + public const int IP_CONST_ONHIT_SAVEDC_18 = 2; + public const int IP_CONST_ONHIT_SAVEDC_20 = 3; + public const int IP_CONST_ONHIT_SAVEDC_22 = 4; + public const int IP_CONST_ONHIT_SAVEDC_24 = 5; + public const int IP_CONST_ONHIT_SAVEDC_26 = 6; + public const int IP_CONST_ONHIT_SAVEDC_28 = 7; + public const int IP_CONST_ONHIT_SAVEDC_30 = 8; + public const int IP_CONST_ONHIT_SAVEDC_32 = 9; + public const int IP_CONST_ONHIT_SAVEDC_34 = 10; + public const int IP_CONST_ONHIT_SAVEDC_36 = 11; + public const int IP_CONST_ONHIT_SAVEDC_38 = 12; + public const int IP_CONST_ONHIT_SAVEDC_40 = 13; + public const int IP_CONST_ONHIT_DURATION_5_PERCENT_5_ROUNDS = 0; + public const int IP_CONST_ONHIT_DURATION_10_PERCENT_4_ROUNDS = 1; + public const int IP_CONST_ONHIT_DURATION_25_PERCENT_3_ROUNDS = 2; + public const int IP_CONST_ONHIT_DURATION_50_PERCENT_2_ROUNDS = 3; + public const int IP_CONST_ONHIT_DURATION_75_PERCENT_1_ROUND = 4; + public const int IP_CONST_ONHIT_DURATION_5_PERCENT_1_ROUNDS = 5; + public const int IP_CONST_ONHIT_DURATION_5_PERCENT_2_ROUNDS = 6; + public const int IP_CONST_ONHIT_DURATION_5_PERCENT_3_ROUNDS = 7; + public const int IP_CONST_ONHIT_DURATION_5_PERCENT_4_ROUNDS = 8; + public const int IP_CONST_ONHIT_DURATION_10_PERCENT_1_ROUNDS = 9; + public const int IP_CONST_ONHIT_DURATION_10_PERCENT_2_ROUNDS = 10; + public const int IP_CONST_ONHIT_DURATION_10_PERCENT_3_ROUNDS = 11; + public const int IP_CONST_ONHIT_DURATION_10_PERCENT_5_ROUNDS = 12; + public const int IP_CONST_ONHIT_DURATION_25_PERCENT_1_ROUNDS = 13; + public const int IP_CONST_ONHIT_DURATION_25_PERCENT_2_ROUNDS = 14; + public const int IP_CONST_ONHIT_DURATION_25_PERCENT_4_ROUNDS = 15; + public const int IP_CONST_ONHIT_DURATION_25_PERCENT_5_ROUNDS = 16; + public const int IP_CONST_ONHIT_DURATION_33_PERCENT_1_ROUNDS = 17; + public const int IP_CONST_ONHIT_DURATION_33_PERCENT_2_ROUNDS = 18; + public const int IP_CONST_ONHIT_DURATION_33_PERCENT_3_ROUNDS = 19; + public const int IP_CONST_ONHIT_DURATION_33_PERCENT_4_ROUNDS = 20; + public const int IP_CONST_ONHIT_DURATION_33_PERCENT_5_ROUNDS = 21; + public const int IP_CONST_ONHIT_DURATION_50_PERCENT_1_ROUNDS = 22; + public const int IP_CONST_ONHIT_DURATION_50_PERCENT_3_ROUNDS = 23; + public const int IP_CONST_ONHIT_DURATION_50_PERCENT_4_ROUNDS = 24; + public const int IP_CONST_ONHIT_DURATION_50_PERCENT_5_ROUNDS = 25; + public const int IP_CONST_ONHIT_DURATION_66_PERCENT_1_ROUNDS = 26; + public const int IP_CONST_ONHIT_DURATION_66_PERCENT_2_ROUNDS = 27; + public const int IP_CONST_ONHIT_DURATION_66_PERCENT_3_ROUNDS = 28; + public const int IP_CONST_ONHIT_DURATION_66_PERCENT_4_ROUNDS = 29; + public const int IP_CONST_ONHIT_DURATION_66_PERCENT_5_ROUNDS = 30; + public const int IP_CONST_ONHIT_DURATION_75_PERCENT_2_ROUND = 31; + public const int IP_CONST_ONHIT_DURATION_75_PERCENT_3_ROUND = 32; + public const int IP_CONST_ONHIT_DURATION_75_PERCENT_4_ROUND = 33; + public const int IP_CONST_ONHIT_DURATION_75_PERCENT_5_ROUND = 34; + public const int IP_CONST_ONHIT_DURATION_100_PERCENT_1_ROUND = 35; + public const int IP_CONST_ONHIT_DURATION_100_PERCENT_2_ROUND = 36; + public const int IP_CONST_ONHIT_DURATION_100_PERCENT_3_ROUND = 37; + public const int IP_CONST_ONHIT_DURATION_100_PERCENT_4_ROUND = 38; + public const int IP_CONST_ONHIT_DURATION_100_PERCENT_5_ROUND = 39; + + + public const int IP_CONST_ONHIT_CASTSPELL_ACID_FOG = 0; + public const int IP_CONST_ONHIT_CASTSPELL_BESTOW_CURSE = 1; + public const int IP_CONST_ONHIT_CASTSPELL_BLADE_BARRIER = 2; + public const int IP_CONST_ONHIT_CASTSPELL_BLINDNESS_AND_DEAFNESS = 3; + public const int IP_CONST_ONHIT_CASTSPELL_CALL_LIGHTNING = 4; + public const int IP_CONST_ONHIT_CASTSPELL_CHAIN_LIGHTNING = 5; + public const int IP_CONST_ONHIT_CASTSPELL_CLOUDKILL = 6; + public const int IP_CONST_ONHIT_CASTSPELL_CONFUSION = 7; + public const int IP_CONST_ONHIT_CASTSPELL_CONTAGION = 8; + public const int IP_CONST_ONHIT_CASTSPELL_DARKNESS = 9; + public const int IP_CONST_ONHIT_CASTSPELL_DAZE = 10; + public const int IP_CONST_ONHIT_CASTSPELL_DELAYED_BLAST_FIREBALL = 11; + public const int IP_CONST_ONHIT_CASTSPELL_DISMISSAL = 12; + public const int IP_CONST_ONHIT_CASTSPELL_DISPEL_MAGIC = 13; + public const int IP_CONST_ONHIT_CASTSPELL_DOOM = 14; + public const int IP_CONST_ONHIT_CASTSPELL_ENERGY_DRAIN = 15; + public const int IP_CONST_ONHIT_CASTSPELL_ENERVATION = 16; + public const int IP_CONST_ONHIT_CASTSPELL_ENTANGLE = 17; + public const int IP_CONST_ONHIT_CASTSPELL_FEAR = 18; + public const int IP_CONST_ONHIT_CASTSPELL_FEEBLEMIND = 19; + public const int IP_CONST_ONHIT_CASTSPELL_FIRE_STORM = 20; + public const int IP_CONST_ONHIT_CASTSPELL_FIREBALL = 21; + public const int IP_CONST_ONHIT_CASTSPELL_FLAME_LASH = 22; + public const int IP_CONST_ONHIT_CASTSPELL_FLAME_STRIKE = 23; + public const int IP_CONST_ONHIT_CASTSPELL_GHOUL_TOUCH = 24; + public const int IP_CONST_ONHIT_CASTSPELL_GREASE = 25; + public const int IP_CONST_ONHIT_CASTSPELL_GREATER_DISPELLING = 26; + public const int IP_CONST_ONHIT_CASTSPELL_GREATER_SPELL_BREACH = 27; + public const int IP_CONST_ONHIT_CASTSPELL_GUST_OF_WIND = 28; + public const int IP_CONST_ONHIT_CASTSPELL_HAMMER_OF_THE_GODS = 29; + public const int IP_CONST_ONHIT_CASTSPELL_HARM = 30; + public const int IP_CONST_ONHIT_CASTSPELL_HOLD_ANIMAL = 31; + public const int IP_CONST_ONHIT_CASTSPELL_HOLD_MONSTER = 32; + public const int IP_CONST_ONHIT_CASTSPELL_HOLD_PERSON = 33; + public const int IP_CONST_ONHIT_CASTSPELL_IMPLOSION = 34; + public const int IP_CONST_ONHIT_CASTSPELL_INCENDIARY_CLOUD = 35; + public const int IP_CONST_ONHIT_CASTSPELL_LESSER_DISPEL = 36; + public const int IP_CONST_ONHIT_CASTSPELL_LESSER_SPELL_BREACH = 38; + public const int IP_CONST_ONHIT_CASTSPELL_LIGHT = 40; + public const int IP_CONST_ONHIT_CASTSPELL_LIGHTNING_BOLT = 41; + public const int IP_CONST_ONHIT_CASTSPELL_MAGIC_MISSILE = 42; + public const int IP_CONST_ONHIT_CASTSPELL_MASS_BLINDNESS_AND_DEAFNESS = 43; + public const int IP_CONST_ONHIT_CASTSPELL_MASS_CHARM = 44; + public const int IP_CONST_ONHIT_CASTSPELL_MELFS_ACID_ARROW = 45; + public const int IP_CONST_ONHIT_CASTSPELL_METEOR_SWARM = 46; + public const int IP_CONST_ONHIT_CASTSPELL_MIND_FOG = 47; + public const int IP_CONST_ONHIT_CASTSPELL_PHANTASMAL_KILLER = 49; + public const int IP_CONST_ONHIT_CASTSPELL_POISON = 50; + public const int IP_CONST_ONHIT_CASTSPELL_POWER_WORD_KILL = 51; + public const int IP_CONST_ONHIT_CASTSPELL_POWER_WORD_STUN = 52; + + public const int IP_CONST_ONHIT_CASTSPELL_CAUSE_FEAR = 54; // JLR - OEI 07/11/05 -- Name changed from "Scare" + public const int IP_CONST_ONHIT_CASTSPELL_SEARING_LIGHT = 55; + public const int IP_CONST_ONHIT_CASTSPELL_SILENCE = 56; + public const int IP_CONST_ONHIT_CASTSPELL_SLAY_LIVING = 57; + public const int IP_CONST_ONHIT_CASTSPELL_SLEEP = 58; + public const int IP_CONST_ONHIT_CASTSPELL_SLOW = 59; + public const int IP_CONST_ONHIT_CASTSPELL_SOUND_BURST = 60; + public const int IP_CONST_ONHIT_CASTSPELL_STINKING_CLOUD = 61; + + public const int IP_CONST_ONHIT_CASTSPELL_STORM_OF_VENGEANCE = 63; + public const int IP_CONST_ONHIT_CASTSPELL_SUNBEAM = 64; + public const int IP_CONST_ONHIT_CASTSPELL_VAMPIRIC_TOUCH = 65; + public const int IP_CONST_ONHIT_CASTSPELL_WAIL_OF_THE_BANSHEE = 66; + public const int IP_CONST_ONHIT_CASTSPELL_WALL_OF_FIRE = 67; + public const int IP_CONST_ONHIT_CASTSPELL_WEB = 68; + public const int IP_CONST_ONHIT_CASTSPELL_WEIRD = 69; + public const int IP_CONST_ONHIT_CASTSPELL_WORD_OF_FAITH = 70; + + public const int IP_CONST_ONHIT_CASTSPELL_CREEPING_DOOM = 72; + public const int IP_CONST_ONHIT_CASTSPELL_DESTRUCTION = 73; + public const int IP_CONST_ONHIT_CASTSPELL_HORRID_WILTING = 74; + public const int IP_CONST_ONHIT_CASTSPELL_ICE_STORM = 75; + public const int IP_CONST_ONHIT_CASTSPELL_NEGATIVE_ENERGY_BURST = 76; + public const int IP_CONST_ONHIT_CASTSPELL_EVARDS_BLACK_TENTACLES = 77; + public const int IP_CONST_ONHIT_CASTSPELL_ACTIVATE_ITEM = 78; + public const int IP_CONST_ONHIT_CASTSPELL_FLARE = 79; + public const int IP_CONST_ONHIT_CASTSPELL_BOMBARDMENT = 80; + public const int IP_CONST_ONHIT_CASTSPELL_ACID_SPLASH = 81; + public const int IP_CONST_ONHIT_CASTSPELL_QUILLFIRE = 82; + public const int IP_CONST_ONHIT_CASTSPELL_EARTHQUAKE = 83; + public const int IP_CONST_ONHIT_CASTSPELL_SUNBURST = 84; + public const int IP_CONST_ONHIT_CASTSPELL_BANISHMENT = 85; + public const int IP_CONST_ONHIT_CASTSPELL_INFLICT_MINOR_WOUNDS = 86; + public const int IP_CONST_ONHIT_CASTSPELL_INFLICT_LIGHT_WOUNDS = 87; + public const int IP_CONST_ONHIT_CASTSPELL_INFLICT_MODERATE_WOUNDS = 88; + public const int IP_CONST_ONHIT_CASTSPELL_INFLICT_SERIOUS_WOUNDS = 89; + public const int IP_CONST_ONHIT_CASTSPELL_INFLICT_CRITICAL_WOUNDS = 90; + public const int IP_CONST_ONHIT_CASTSPELL_BALAGARNSIRONHORN = 91; + public const int IP_CONST_ONHIT_CASTSPELL_DROWN = 92; + public const int IP_CONST_ONHIT_CASTSPELL_ELECTRIC_JOLT = 93; + public const int IP_CONST_ONHIT_CASTSPELL_FIREBRAND = 94; + public const int IP_CONST_ONHIT_CASTSPELL_WOUNDING_WHISPERS = 95; + public const int IP_CONST_ONHIT_CASTSPELL_UNDEATHS_ETERNAL_FOE = 96; + public const int IP_CONST_ONHIT_CASTSPELL_INFERNO = 97; + public const int IP_CONST_ONHIT_CASTSPELL_ISAACS_LESSER_MISSILE_STORM = 98; + public const int IP_CONST_ONHIT_CASTSPELL_ISAACS_GREATER_MISSILE_STORM = 99; + public const int IP_CONST_ONHIT_CASTSPELL_BANE = 100; + public const int IP_CONST_ONHIT_CASTSPELL_SPIKE_GROWTH = 101; + public const int IP_CONST_ONHIT_CASTSPELL_TASHAS_HIDEOUS_LAUGHTER = 102; + public const int IP_CONST_ONHIT_CASTSPELL_BIGBYS_INTERPOSING_HAND = 103; + public const int IP_CONST_ONHIT_CASTSPELL_BIGBYS_FORCEFUL_HAND = 104; + public const int IP_CONST_ONHIT_CASTSPELL_BIGBYS_GRASPING_HAND = 105; + public const int IP_CONST_ONHIT_CASTSPELL_BIGBYS_CLENCHED_FIST = 106; + public const int IP_CONST_ONHIT_CASTSPELL_BIGBYS_CRUSHING_HAND = 107; + public const int IP_CONST_ONHIT_CASTSPELL_FLESH_TO_STONE = 108; + public const int IP_CONST_ONHIT_CASTSPELL_STONE_TO_FLESH = 109; + public const int IP_CONST_ONHIT_CASTSPELL_CRUMBLE = 110; + public const int IP_CONST_ONHIT_CASTSPELL_INFESTATION_OF_MAGGOTS = 111; + public const int IP_CONST_ONHIT_CASTSPELL_GREAT_THUNDERCLAP = 112; + public const int IP_CONST_ONHIT_CASTSPELL_BALL_LIGHTNING = 113; + public const int IP_CONST_ONHIT_CASTSPELL_GEDLEES_ELECTRIC_LOOP = 114; + public const int IP_CONST_ONHIT_CASTSPELL_HORIZIKAULS_BOOM = 115; + public const int IP_CONST_ONHIT_CASTSPELL_MESTILS_ACID_BREATH = 116; + public const int IP_CONST_ONHIT_CASTSPELL_SCINTILLATING_SPHERE = 117; + public const int IP_CONST_ONHIT_CASTSPELL_UNDEATH_TO_DEATH = 118; + public const int IP_CONST_ONHIT_CASTSPELL_STONEHOLD = 119; + + public const int IP_CONST_ONHIT_CASTSPELL_EVIL_BLIGHT = 121; + public const int IP_CONST_ONHIT_CASTSPELL_ONHIT_TELEPORT = 122; + public const int IP_CONST_ONHIT_CASTSPELL_ONHIT_SLAYRAKSHASA = 123; + public const int IP_CONST_ONHIT_CASTSPELL_ONHIT_FIREDAMAGE = 124; + public const int IP_CONST_ONHIT_CASTSPELL_ONHIT_UNIQUEPOWER = 125; + public const int IP_CONST_ONHIT_CASTSPELL_ONHIT_PLANARRIFT = 126; + public const int IP_CONST_ONHIT_CASTSPELL_ONHIT_DARKFIRE = 127; + public const int IP_CONST_ONHIT_CASTSPELL_ONHIT_EXTRACTBRAIN = 128; + public const int IP_CONST_ONHIT_CASTSPELL_ONHITFLAMINGSKIN = 129; + public const int IP_CONST_ONHIT_CASTSPELL_ONHIT_CHAOSSHIELD = 130; + public const int IP_CONST_ONHIT_CASTSPELL_ONHIT_CONSTRICTWEAPON = 131; + public const int IP_CONST_ONHIT_CASTSPELL_ONHITRUINARMORBEBILITH = 132; + public const int IP_CONST_ONHIT_CASTSPELL_ONHITDEMILICHTOUCH = 133; + public const int IP_CONST_ONHIT_CASTSPELL_ONHITDRACOLICHTOUCH = 134; + public const int IP_CONST_ONHIT_CASTSPELL_INTELLIGENT_WEAPON_ONHIT = 135; + public const int IP_CONST_ONHIT_CASTSPELL_PARALYZE_2 = 136; + public const int IP_CONST_ONHIT_CASTSPELL_DEAFENING_CLNG = 137; + public const int IP_CONST_ONHIT_CASTSPELL_KNOCKDOWN = 138; + public const int IP_CONST_ONHIT_CASTSPELL_FREEZE = 139; + public const int IP_CONST_ONHIT_CASTSPELL_COMBUST = 140; + + public const int IP_CONST_POISON_1D2_STRDAMAGE = 0; + public const int IP_CONST_POISON_1D2_DEXDAMAGE = 1; + public const int IP_CONST_POISON_1D2_CONDAMAGE = 2; + public const int IP_CONST_POISON_1D2_INTDAMAGE = 3; + public const int IP_CONST_POISON_1D2_WISDAMAGE = 4; + public const int IP_CONST_POISON_1D2_CHADAMAGE = 5; + public const int IP_CONST_CONTAINERWEIGHTRED_20_PERCENT = 1; + public const int IP_CONST_CONTAINERWEIGHTRED_40_PERCENT = 2; + public const int IP_CONST_CONTAINERWEIGHTRED_60_PERCENT = 3; + public const int IP_CONST_CONTAINERWEIGHTRED_80_PERCENT = 4; + public const int IP_CONST_CONTAINERWEIGHTRED_100_PERCENT = 5; + public const int IP_CONST_DAMAGERESIST_5 = 1; + public const int IP_CONST_DAMAGERESIST_10 = 2; + public const int IP_CONST_DAMAGERESIST_15 = 3; + public const int IP_CONST_DAMAGERESIST_20 = 4; + public const int IP_CONST_DAMAGERESIST_25 = 5; + public const int IP_CONST_DAMAGERESIST_30 = 6; + public const int IP_CONST_DAMAGERESIST_35 = 7; + public const int IP_CONST_DAMAGERESIST_40 = 8; + public const int IP_CONST_DAMAGERESIST_45 = 9; + public const int IP_CONST_DAMAGERESIST_50 = 10; + public const int IP_CONST_SAVEVS_ACID = 1; + public const int IP_CONST_SAVEVS_COLD = 3; + public const int IP_CONST_SAVEVS_DEATH = 4; + public const int IP_CONST_SAVEVS_DISEASE = 5; + public const int IP_CONST_SAVEVS_DIVINE = 6; + public const int IP_CONST_SAVEVS_ELECTRICAL = 7; + public const int IP_CONST_SAVEVS_FEAR = 8; + public const int IP_CONST_SAVEVS_FIRE = 9; + public const int IP_CONST_SAVEVS_MINDAFFECTING = 11; + public const int IP_CONST_SAVEVS_NEGATIVE = 12; + public const int IP_CONST_SAVEVS_POISON = 13; + public const int IP_CONST_SAVEVS_POSITIVE = 14; + public const int IP_CONST_SAVEVS_SONIC = 15; + public const int IP_CONST_SAVEVS_UNIVERSAL = 0; + public const int IP_CONST_SAVEBASETYPE_ALL = 0; // AFW-OEI 05/02/2007 + public const int IP_CONST_SAVEBASETYPE_FORTITUDE = 1; + public const int IP_CONST_SAVEBASETYPE_WILL = 2; + public const int IP_CONST_SAVEBASETYPE_REFLEX = 3; + public const int IP_CONST_DAMAGESOAK_5_HP = 1; + public const int IP_CONST_DAMAGESOAK_10_HP = 2; + public const int IP_CONST_DAMAGESOAK_15_HP = 3; + public const int IP_CONST_DAMAGESOAK_20_HP = 4; + public const int IP_CONST_DAMAGESOAK_25_HP = 5; + public const int IP_CONST_DAMAGESOAK_30_HP = 6; + public const int IP_CONST_DAMAGESOAK_35_HP = 7; + public const int IP_CONST_DAMAGESOAK_40_HP = 8; + public const int IP_CONST_DAMAGESOAK_45_HP = 9; + public const int IP_CONST_DAMAGESOAK_50_HP = 10; + public const int IP_CONST_DAMAGEREDUCTION_1 = 0; + public const int IP_CONST_DAMAGEREDUCTION_2 = 1; + public const int IP_CONST_DAMAGEREDUCTION_3 = 2; + public const int IP_CONST_DAMAGEREDUCTION_4 = 3; + public const int IP_CONST_DAMAGEREDUCTION_5 = 4; + public const int IP_CONST_DAMAGEREDUCTION_6 = 5; + public const int IP_CONST_DAMAGEREDUCTION_7 = 6; + public const int IP_CONST_DAMAGEREDUCTION_8 = 7; + public const int IP_CONST_DAMAGEREDUCTION_9 = 8; + public const int IP_CONST_DAMAGEREDUCTION_10 = 9; + public const int IP_CONST_DAMAGEREDUCTION_11 = 10; + public const int IP_CONST_DAMAGEREDUCTION_12 = 11; + public const int IP_CONST_DAMAGEREDUCTION_13 = 12; + public const int IP_CONST_DAMAGEREDUCTION_14 = 13; + public const int IP_CONST_DAMAGEREDUCTION_15 = 14; + public const int IP_CONST_DAMAGEREDUCTION_16 = 15; + public const int IP_CONST_DAMAGEREDUCTION_17 = 16; + public const int IP_CONST_DAMAGEREDUCTION_18 = 17; + public const int IP_CONST_DAMAGEREDUCTION_19 = 18; + public const int IP_CONST_DAMAGEREDUCTION_20 = 19; + + public const int IP_CONST_IMMUNITYSPELL_ACID_FOG = 0; + public const int IP_CONST_IMMUNITYSPELL_AID = 1; + public const int IP_CONST_IMMUNITYSPELL_BARKSKIN = 2; + public const int IP_CONST_IMMUNITYSPELL_BESTOW_CURSE = 3; + public const int IP_CONST_IMMUNITYSPELL_BLINDNESS_AND_DEAFNESS = 6; + public const int IP_CONST_IMMUNITYSPELL_BURNING_HANDS = 8; + public const int IP_CONST_IMMUNITYSPELL_CALL_LIGHTNING = 9; + public const int IP_CONST_IMMUNITYSPELL_CHAIN_LIGHTNING = 12; + public const int IP_CONST_IMMUNITYSPELL_CHARM_MONSTER = 13; + public const int IP_CONST_IMMUNITYSPELL_CHARM_PERSON = 14; + public const int IP_CONST_IMMUNITYSPELL_CHARM_PERSON_OR_ANIMAL = 15; + public const int IP_CONST_IMMUNITYSPELL_CIRCLE_OF_DEATH = 16; + public const int IP_CONST_IMMUNITYSPELL_CIRCLE_OF_DOOM = 17; + public const int IP_CONST_IMMUNITYSPELL_CLOUDKILL = 21; + public const int IP_CONST_IMMUNITYSPELL_COLOR_SPRAY = 22; + public const int IP_CONST_IMMUNITYSPELL_CONE_OF_COLD = 23; + public const int IP_CONST_IMMUNITYSPELL_CONFUSION = 24; + public const int IP_CONST_IMMUNITYSPELL_CONTAGION = 25; + public const int IP_CONST_IMMUNITYSPELL_CONTROL_UNDEAD = 26; + public const int IP_CONST_IMMUNITYSPELL_CURE_CRITICAL_WOUNDS = 27; + public const int IP_CONST_IMMUNITYSPELL_CURE_LIGHT_WOUNDS = 28; + public const int IP_CONST_IMMUNITYSPELL_CURE_MINOR_WOUNDS = 29; + public const int IP_CONST_IMMUNITYSPELL_CURE_MODERATE_WOUNDS = 30; + public const int IP_CONST_IMMUNITYSPELL_CURE_SERIOUS_WOUNDS = 31; + public const int IP_CONST_IMMUNITYSPELL_DARKNESS = 32; + public const int IP_CONST_IMMUNITYSPELL_DAZE = 33; + public const int IP_CONST_IMMUNITYSPELL_DEATH_WARD = 34; + public const int IP_CONST_IMMUNITYSPELL_DELAYED_BLAST_FIREBALL = 35; + public const int IP_CONST_IMMUNITYSPELL_DISMISSAL = 36; + public const int IP_CONST_IMMUNITYSPELL_DISPEL_MAGIC = 37; + public const int IP_CONST_IMMUNITYSPELL_DOMINATE_ANIMAL = 39; + public const int IP_CONST_IMMUNITYSPELL_DOMINATE_MONSTER = 40; + public const int IP_CONST_IMMUNITYSPELL_DOMINATE_PERSON = 41; + public const int IP_CONST_IMMUNITYSPELL_DOOM = 42; + public const int IP_CONST_IMMUNITYSPELL_ENERGY_DRAIN = 46; + public const int IP_CONST_IMMUNITYSPELL_ENERVATION = 47; + public const int IP_CONST_IMMUNITYSPELL_ENTANGLE = 48; + public const int IP_CONST_IMMUNITYSPELL_FEAR = 49; + public const int IP_CONST_IMMUNITYSPELL_FEEBLEMIND = 50; + public const int IP_CONST_IMMUNITYSPELL_FINGER_OF_DEATH = 51; + public const int IP_CONST_IMMUNITYSPELL_FIRE_STORM = 52; + public const int IP_CONST_IMMUNITYSPELL_FIREBALL = 53; + public const int IP_CONST_IMMUNITYSPELL_FLAME_ARROW = 54; + public const int IP_CONST_IMMUNITYSPELL_FLAME_LASH = 55; + public const int IP_CONST_IMMUNITYSPELL_FLAME_STRIKE = 56; + public const int IP_CONST_IMMUNITYSPELL_FREEDOM_OF_MOVEMENT = 57; + public const int IP_CONST_IMMUNITYSPELL_GREASE = 59; + public const int IP_CONST_IMMUNITYSPELL_GREATER_DISPELLING = 60; + public const int IP_CONST_IMMUNITYSPELL_GREATER_PLANAR_BINDING = 62; + public const int IP_CONST_IMMUNITYSPELL_GREATER_SHADOW_CONJURATION = 64; + public const int IP_CONST_IMMUNITYSPELL_GREATER_SPELL_BREACH = 65; + public const int IP_CONST_IMMUNITYSPELL_HAMMER_OF_THE_GODS = 68; + public const int IP_CONST_IMMUNITYSPELL_HARM = 69; + public const int IP_CONST_IMMUNITYSPELL_HEAL = 71; + public const int IP_CONST_IMMUNITYSPELL_HEALING_CIRCLE = 72; + public const int IP_CONST_IMMUNITYSPELL_HOLD_ANIMAL = 73; + public const int IP_CONST_IMMUNITYSPELL_HOLD_MONSTER = 74; + public const int IP_CONST_IMMUNITYSPELL_HOLD_PERSON = 75; + public const int IP_CONST_IMMUNITYSPELL_IMPLOSION = 78; + public const int IP_CONST_IMMUNITYSPELL_GREATER_INVISIBILITY = 79; // JLR - OEI 07/11/05 -- Name changed from "Improved" + public const int IP_CONST_IMMUNITYSPELL_INCENDIARY_CLOUD = 80; + public const int IP_CONST_IMMUNITYSPELL_INVISIBILITY_PURGE = 82; + public const int IP_CONST_IMMUNITYSPELL_LESSER_DISPEL = 84; + public const int IP_CONST_IMMUNITYSPELL_LESSER_PLANAR_BINDING = 86; + public const int IP_CONST_IMMUNITYSPELL_LESSER_SPELL_BREACH = 88; + public const int IP_CONST_IMMUNITYSPELL_LIGHTNING_BOLT = 91; + public const int IP_CONST_IMMUNITYSPELL_MAGIC_MISSILE = 97; + public const int IP_CONST_IMMUNITYSPELL_MASS_BLINDNESS_AND_DEAFNESS = 100; + public const int IP_CONST_IMMUNITYSPELL_MASS_CHARM = 101; + public const int IP_CONST_IMMUNITYSPELL_MASS_HEAL = 104; + public const int IP_CONST_IMMUNITYSPELL_MELFS_ACID_ARROW = 105; + public const int IP_CONST_IMMUNITYSPELL_METEOR_SWARM = 106; + public const int IP_CONST_IMMUNITYSPELL_MIND_FOG = 108; + public const int IP_CONST_IMMUNITYSPELL_MORDENKAINENS_DISJUNCTION = 112; + public const int IP_CONST_IMMUNITYSPELL_PHANTASMAL_KILLER = 116; + public const int IP_CONST_IMMUNITYSPELL_PLANAR_BINDING = 117; + public const int IP_CONST_IMMUNITYSPELL_POISON = 118; + public const int IP_CONST_IMMUNITYSPELL_POWER_WORD_KILL = 120; + public const int IP_CONST_IMMUNITYSPELL_POWER_WORD_STUN = 121; + public const int IP_CONST_IMMUNITYSPELL_PRISMATIC_SPRAY = 124; + public const int IP_CONST_IMMUNITYSPELL_RAY_OF_ENFEEBLEMENT = 131; + public const int IP_CONST_IMMUNITYSPELL_RAY_OF_FROST = 132; + public const int IP_CONST_IMMUNITYSPELL_CAUSE_FEAR = 142; // JLR - OEI 07/11/05 -- Name changed from "Scare" + public const int IP_CONST_IMMUNITYSPELL_SEARING_LIGHT = 143; + public const int IP_CONST_IMMUNITYSPELL_SHADES = 145; + public const int IP_CONST_IMMUNITYSPELL_SHADOW_CONJURATION = 146; + public const int IP_CONST_IMMUNITYSPELL_SILENCE = 150; + public const int IP_CONST_IMMUNITYSPELL_SLAY_LIVING = 151; + public const int IP_CONST_IMMUNITYSPELL_SLEEP = 152; + public const int IP_CONST_IMMUNITYSPELL_SLOW = 153; + public const int IP_CONST_IMMUNITYSPELL_SOUND_BURST = 154; + public const int IP_CONST_IMMUNITYSPELL_STINKING_CLOUD = 158; + public const int IP_CONST_IMMUNITYSPELL_STONESKIN = 159; + public const int IP_CONST_IMMUNITYSPELL_STORM_OF_VENGEANCE = 160; + public const int IP_CONST_IMMUNITYSPELL_SUNBEAM = 161; + public const int IP_CONST_IMMUNITYSPELL_VIRTUE = 165; + public const int IP_CONST_IMMUNITYSPELL_WAIL_OF_THE_BANSHEE = 166; + public const int IP_CONST_IMMUNITYSPELL_WEB = 167; + public const int IP_CONST_IMMUNITYSPELL_WEIRD = 168; + public const int IP_CONST_IMMUNITYSPELL_WORD_OF_FAITH = 169; + public const int IP_CONST_IMMUNITYSPELL_MAGIC_CIRCLE_AGAINST_ALIGNMENT = 171; + public const int IP_CONST_IMMUNITYSPELL_EAGLE_SPLEDOR = 173; + public const int IP_CONST_IMMUNITYSPELL_OWLS_WISDOM = 174; + public const int IP_CONST_IMMUNITYSPELL_FOXS_CUNNING = 175; + public const int IP_CONST_IMMUNITYSPELL_GREATER_EAGLES_SPLENDOR = 176; + public const int IP_CONST_IMMUNITYSPELL_GREATER_OWLS_WISDOM = 177; + public const int IP_CONST_IMMUNITYSPELL_GREATER_FOXS_CUNNING = 178; + public const int IP_CONST_IMMUNITYSPELL_GREATER_BULLS_STRENGTH = 179; + public const int IP_CONST_IMMUNITYSPELL_GREATER_CATS_GRACE = 180; + public const int IP_CONST_IMMUNITYSPELL_GREATER_BEARS_ENDURANCE = 181; // JLR - OEI 07/11/05 -- Name Changed + public const int IP_CONST_IMMUNITYSPELL_AURA_OF_VITALITY = 182; + public const int IP_CONST_IMMUNITYSPELL_WAR_CRY = 183; + public const int IP_CONST_IMMUNITYSPELL_REGENERATE = 184; + public const int IP_CONST_IMMUNITYSPELL_EVARDS_BLACK_TENTACLES = 185; + public const int IP_CONST_IMMUNITYSPELL_LEGEND_LORE = 186; + public const int IP_CONST_IMMUNITYSPELL_FIND_TRAPS = 187; + public const int IP_CONST_SPELLLEVEL_0 = 0; // hmm are these necessary? + public const int IP_CONST_SPELLLEVEL_1 = 1; + public const int IP_CONST_SPELLLEVEL_2 = 2; + public const int IP_CONST_SPELLLEVEL_3 = 3; + public const int IP_CONST_SPELLLEVEL_4 = 4; + public const int IP_CONST_SPELLLEVEL_5 = 5; + public const int IP_CONST_SPELLLEVEL_6 = 6; + public const int IP_CONST_SPELLLEVEL_7 = 7; + public const int IP_CONST_SPELLLEVEL_8 = 8; + public const int IP_CONST_SPELLLEVEL_9 = 9; + public const int IP_CONST_CASTSPELL_ACID_FOG_11 = 0; + public const int IP_CONST_CASTSPELL_ACID_SPLASH_1 = 355; + public const int IP_CONST_CASTSPELL_ACTIVATE_ITEM = 359; + public const int IP_CONST_CASTSPELL_AID_3 = 1; + public const int IP_CONST_CASTSPELL_AMPLIFY_5 = 373; + public const int IP_CONST_CASTSPELL_ANIMATE_DEAD_10 = 3; + public const int IP_CONST_CASTSPELL_ANIMATE_DEAD_15 = 4; + public const int IP_CONST_CASTSPELL_ANIMATE_DEAD_5 = 2; + public const int IP_CONST_CASTSPELL_ANTIMAGIC_EDGE = 704; + public const int IP_CONST_CASTSPELL_ASSAY_RESISTANCE_7 = 541; // CG OEI 07/13/05 -- Added + public const int IP_CONST_CASTSPELL_AURA_OF_VITALITY_13 = 321; + public const int IP_CONST_CASTSPELL_AURA_VERSUS_ALIGNMENT_15 = 287; + public const int IP_CONST_CASTSPELL_AURAOFGLORY_7 = 360; + public const int IP_CONST_CASTSPELL_AWAKEN_9 = 303; + public const int IP_CONST_CASTSPELL_BALAGARNSIRONHORN_7 = 367; + public const int IP_CONST_CASTSPELL_BANE_5 = 380; + public const int IP_CONST_CASTSPELL_BANISHMENT_15 = 361; + public const int IP_CONST_CASTSPELL_BARKSKIN_12 = 7; + public const int IP_CONST_CASTSPELL_BARKSKIN_3 = 5; + public const int IP_CONST_CASTSPELL_BARKSKIN_6 = 6; + public const int IP_CONST_CASTSPELL_BESTOW_CURSE_5 = 8; + public const int IP_CONST_CASTSPELL_BIGBYS_CLENCHED_FIST_20 = 393; + public const int IP_CONST_CASTSPELL_BIGBYS_CRUSHING_HAND_20 = 394; + public const int IP_CONST_CASTSPELL_BIGBYS_FORCEFUL_HAND_15 = 391; + public const int IP_CONST_CASTSPELL_BIGBYS_GRASPING_HAND_17 = 392; + public const int IP_CONST_CASTSPELL_BIGBYS_INTERPOSING_HAND_15 = 390; + public const int IP_CONST_CASTSPELL_BLADE_BARRIER_11 = 9; + public const int IP_CONST_CASTSPELL_BLADE_BARRIER_15 = 10; + public const int IP_CONST_CASTSPELL_BLESS_2 = 11; + public const int IP_CONST_CASTSPELL_BLINDNESS_DEAFNESS_3 = 14; + public const int IP_CONST_CASTSPELL_BLOOD_FRENZY_7 = 353; + public const int IP_CONST_CASTSPELL_BOMBARDMENT_20 = 354; + public const int IP_CONST_CASTSPELL_BULLS_STRENGTH_10 = 16; + public const int IP_CONST_CASTSPELL_BULLS_STRENGTH_15 = 17; + public const int IP_CONST_CASTSPELL_BULLS_STRENGTH_3 = 15; + public const int IP_CONST_CASTSPELL_BURNING_HANDS_2 = 18; + public const int IP_CONST_CASTSPELL_BURNING_HANDS_5 = 19; + public const int IP_CONST_CASTSPELL_CALL_LIGHTNING_10 = 21; + public const int IP_CONST_CASTSPELL_CALL_LIGHTNING_5 = 20; + public const int IP_CONST_CASTSPELL_CAMOFLAGE_5 = 352; + public const int IP_CONST_CASTSPELL_CATS_GRACE_10 = 26; + public const int IP_CONST_CASTSPELL_CATS_GRACE_15 = 27; + public const int IP_CONST_CASTSPELL_CATS_GRACE_3 = 25; + public const int IP_CONST_CASTSPELL_CHAIN_LIGHTNING_11 = 28; + public const int IP_CONST_CASTSPELL_CHAIN_LIGHTNING_15 = 29; + public const int IP_CONST_CASTSPELL_CHAIN_LIGHTNING_20 = 30; + public const int IP_CONST_CASTSPELL_CHARM_MONSTER_10 = 32; + public const int IP_CONST_CASTSPELL_CHARM_MONSTER_5 = 31; + public const int IP_CONST_CASTSPELL_CHARM_PERSON_10 = 34; + public const int IP_CONST_CASTSPELL_CHARM_PERSON_2 = 33; + public const int IP_CONST_CASTSPELL_CHARM_PERSON_OR_ANIMAL_10 = 36; + public const int IP_CONST_CASTSPELL_CHARM_PERSON_OR_ANIMAL_3 = 35; + public const int IP_CONST_CASTSPELL_CIRCLE_OF_DEATH_11 = 37; + public const int IP_CONST_CASTSPELL_CIRCLE_OF_DEATH_15 = 38; + public const int IP_CONST_CASTSPELL_CIRCLE_OF_DEATH_20 = 39; + public const int IP_CONST_CASTSPELL_CIRCLE_OF_DOOM_15 = 41; + public const int IP_CONST_CASTSPELL_CIRCLE_OF_DOOM_20 = 42; + public const int IP_CONST_CASTSPELL_CIRCLE_OF_DOOM_9 = 40; + public const int IP_CONST_CASTSPELL_CLAIRAUDIENCE_CLAIRVOYANCE_10 = 44; + public const int IP_CONST_CASTSPELL_CLAIRAUDIENCE_CLAIRVOYANCE_15 = 45; + public const int IP_CONST_CASTSPELL_CLAIRAUDIENCE_CLAIRVOYANCE_5 = 43; + public const int IP_CONST_CASTSPELL_CLARITY_3 = 46; + public const int IP_CONST_CASTSPELL_CLOUDKILL_9 = 48; + public const int IP_CONST_CASTSPELL_COLOR_SPRAY_2 = 49; + public const int IP_CONST_CASTSPELL_CONE_OF_COLD_15 = 51; + public const int IP_CONST_CASTSPELL_CONE_OF_COLD_9 = 50; + public const int IP_CONST_CASTSPELL_CONFUSION_10 = 53; + public const int IP_CONST_CASTSPELL_CONFUSION_5 = 52; + public const int IP_CONST_CASTSPELL_CONTAGION_5 = 54; + public const int IP_CONST_CASTSPELL_CONTINUAL_FLAME_7 = 350; + public const int IP_CONST_CASTSPELL_CONTROL_UNDEAD_13 = 55; + public const int IP_CONST_CASTSPELL_CONTROL_UNDEAD_20 = 56; + public const int IP_CONST_CASTSPELL_CREATE_GREATER_UNDEAD_15 = 57; + public const int IP_CONST_CASTSPELL_CREATE_GREATER_UNDEAD_16 = 58; + public const int IP_CONST_CASTSPELL_CREATE_GREATER_UNDEAD_18 = 59; + public const int IP_CONST_CASTSPELL_CREATE_UNDEAD_11 = 60; + public const int IP_CONST_CASTSPELL_CREATE_UNDEAD_14 = 61; + public const int IP_CONST_CASTSPELL_CREATE_UNDEAD_16 = 62; + public const int IP_CONST_CASTSPELL_CREEPING_DOOM_13 = 304; + public const int IP_CONST_CASTSPELL_CURE_CRITICAL_WOUNDS_12 = 64; + public const int IP_CONST_CASTSPELL_CURE_CRITICAL_WOUNDS_15 = 65; + public const int IP_CONST_CASTSPELL_CURE_CRITICAL_WOUNDS_7 = 63; + public const int IP_CONST_CASTSPELL_CURE_LIGHT_WOUNDS_2 = 66; + public const int IP_CONST_CASTSPELL_CURE_LIGHT_WOUNDS_5 = 67; + public const int IP_CONST_CASTSPELL_CURE_MINOR_WOUNDS_1 = 68; + public const int IP_CONST_CASTSPELL_CURE_MODERATE_WOUNDS_10 = 71; + public const int IP_CONST_CASTSPELL_CURE_MODERATE_WOUNDS_3 = 69; + public const int IP_CONST_CASTSPELL_CURE_MODERATE_WOUNDS_6 = 70; + public const int IP_CONST_CASTSPELL_CURE_SERIOUS_WOUNDS_10 = 73; + public const int IP_CONST_CASTSPELL_CURE_SERIOUS_WOUNDS_5 = 72; + public const int IP_CONST_CASTSPELL_DARKNESS_3 = 75; + public const int IP_CONST_CASTSPELL_DARKVISION_3 = 305; + public const int IP_CONST_CASTSPELL_DARKVISION_6 = 306; + public const int IP_CONST_CASTSPELL_DAZE_1 = 76; + public const int IP_CONST_CASTSPELL_DEATH_WARD_7 = 77; + public const int IP_CONST_CASTSPELL_DELAYED_BLAST_FIREBALL_13 = 78; + public const int IP_CONST_CASTSPELL_DELAYED_BLAST_FIREBALL_15 = 79; + public const int IP_CONST_CASTSPELL_DELAYED_BLAST_FIREBALL_20 = 80; + public const int IP_CONST_CASTSPELL_DESTRUCTION_13 = 307; + public const int IP_CONST_CASTSPELL_DIRGE_15 = 376; + public const int IP_CONST_CASTSPELL_DISMISSAL_12 = 82; + public const int IP_CONST_CASTSPELL_DISMISSAL_18 = 83; + public const int IP_CONST_CASTSPELL_DISMISSAL_7 = 81; + public const int IP_CONST_CASTSPELL_DISPEL_MAGIC_10 = 85; + public const int IP_CONST_CASTSPELL_DISPEL_MAGIC_5 = 84; + public const int IP_CONST_CASTSPELL_DISPLACEMENT_9 = 389; + public const int IP_CONST_CASTSPELL_DIVINE_FAVOR_5 = 345; + public const int IP_CONST_CASTSPELL_DIVINE_MIGHT_5 = 395; + public const int IP_CONST_CASTSPELL_DIVINE_POWER_7 = 86; + public const int IP_CONST_CASTSPELL_DIVINE_SHIELD_5 = 396; + public const int IP_CONST_CASTSPELL_DOMINATE_ANIMAL_5 = 87; + public const int IP_CONST_CASTSPELL_DOMINATE_MONSTER_17 = 88; + public const int IP_CONST_CASTSPELL_DOMINATE_PERSON_7 = 89; + public const int IP_CONST_CASTSPELL_DOOM_2 = 90; + public const int IP_CONST_CASTSPELL_DOOM_5 = 91; + public const int IP_CONST_CASTSPELL_DRAGON_BREATH_ACID_10 = 400; + public const int IP_CONST_CASTSPELL_DRAGON_BREATH_COLD_10 = 401; + public const int IP_CONST_CASTSPELL_DRAGON_BREATH_FEAR_10 = 402; + public const int IP_CONST_CASTSPELL_DRAGON_BREATH_FIRE_10 = 403; + public const int IP_CONST_CASTSPELL_DRAGON_BREATH_GAS_10 = 404; + public const int IP_CONST_CASTSPELL_DRAGON_BREATH_LIGHTNING_10 = 405; + public const int IP_CONST_CASTSPELL_DRAGON_BREATH_PARALYZE_10 = 406; + public const int IP_CONST_CASTSPELL_DRAGON_BREATH_SLEEP_10 = 407; + public const int IP_CONST_CASTSPELL_DRAGON_BREATH_SLOW_10 = 408; + public const int IP_CONST_CASTSPELL_DRAGON_BREATH_WEAKEN_10 = 409; + public const int IP_CONST_CASTSPELL_DROWN_15 = 368; + public const int IP_CONST_CASTSPELL_EAGLE_SPLEDOR_10 = 289; + public const int IP_CONST_CASTSPELL_EAGLE_SPLEDOR_15 = 290; + public const int IP_CONST_CASTSPELL_EAGLE_SPLEDOR_3 = 288; + public const int IP_CONST_CASTSPELL_EARTHQUAKE_20 = 357; + public const int IP_CONST_CASTSPELL_ELECTRIC_JOLT_1 = 370; + public const int IP_CONST_CASTSPELL_ELEMENTAL_SHIELD_12 = 93; + public const int IP_CONST_CASTSPELL_ELEMENTAL_SHIELD_7 = 92; + public const int IP_CONST_CASTSPELL_ELEMENTAL_SWARM_17 = 94; + public const int IP_CONST_CASTSPELL_ENDURANCE_10 = 96; + public const int IP_CONST_CASTSPELL_ENDURANCE_15 = 97; + public const int IP_CONST_CASTSPELL_ENDURANCE_3 = 95; + public const int IP_CONST_CASTSPELL_ENDURE_ELEMENTS_2 = 98; + public const int IP_CONST_CASTSPELL_ENERGY_BUFFER_11 = 311; + public const int IP_CONST_CASTSPELL_ENERGY_BUFFER_15 = 312; + public const int IP_CONST_CASTSPELL_ENERGY_BUFFER_20 = 313; + public const int IP_CONST_CASTSPELL_ENERGY_DRAIN_17 = 99; + public const int IP_CONST_CASTSPELL_ENERVATION_7 = 100; + public const int IP_CONST_CASTSPELL_ENTANGLE_2 = 101; + public const int IP_CONST_CASTSPELL_ENTANGLE_5 = 102; + public const int IP_CONST_CASTSPELL_ENTROPIC_SHIELD_5 = 349; + public const int IP_CONST_CASTSPELL_ETHEREAL_VISAGE_15 = 196; + public const int IP_CONST_CASTSPELL_ETHEREAL_VISAGE_9 = 195; + public const int IP_CONST_CASTSPELL_ETHEREALNESS_18 = 374; + public const int IP_CONST_CASTSPELL_EVARDS_BLACK_TENTACLES_15 = 325; + public const int IP_CONST_CASTSPELL_EVARDS_BLACK_TENTACLES_7 = 324; + public const int IP_CONST_CASTSPELL_EXPEDITIOUS_RETREAT_5 = 387; + public const int IP_CONST_CASTSPELL_FEAR_5 = 103; + public const int IP_CONST_CASTSPELL_FEEBLEMIND_9 = 104; + public const int IP_CONST_CASTSPELL_FIND_TRAPS_3 = 327; + public const int IP_CONST_CASTSPELL_FINGER_OF_DEATH_13 = 105; + public const int IP_CONST_CASTSPELL_FIRE_STORM_13 = 106; + public const int IP_CONST_CASTSPELL_FIRE_STORM_18 = 107; + public const int IP_CONST_CASTSPELL_FIREBALL_10 = 109; + public const int IP_CONST_CASTSPELL_FIREBALL_5 = 108; + public const int IP_CONST_CASTSPELL_FIREBRAND_15 = 371; + public const int IP_CONST_CASTSPELL_FLAME_ARROW_12 = 111; + public const int IP_CONST_CASTSPELL_FLAME_ARROW_18 = 112; + public const int IP_CONST_CASTSPELL_FLAME_ARROW_5 = 110; + public const int IP_CONST_CASTSPELL_FLAME_LASH_10 = 114; + public const int IP_CONST_CASTSPELL_FLAME_LASH_3 = 113; + public const int IP_CONST_CASTSPELL_FLAME_STRIKE_12 = 116; + public const int IP_CONST_CASTSPELL_FLAME_STRIKE_18 = 117; + public const int IP_CONST_CASTSPELL_FLAME_STRIKE_7 = 115; + public const int IP_CONST_CASTSPELL_FLARE_1 = 347; + public const int IP_CONST_CASTSPELL_FLESH_TO_STONE_5 = 398; + public const int IP_CONST_CASTSPELL_FOXS_CUNNING_10 = 295; + public const int IP_CONST_CASTSPELL_FOXS_CUNNING_15 = 296; + public const int IP_CONST_CASTSPELL_FOXS_CUNNING_3 = 294; + public const int IP_CONST_CASTSPELL_FREEDOM_OF_MOVEMENT_7 = 118; + public const int IP_CONST_CASTSPELL_GATE_17 = 119; + public const int IP_CONST_CASTSPELL_GHOSTLY_VISAGE_15 = 194; + public const int IP_CONST_CASTSPELL_GHOSTLY_VISAGE_3 = 192; + public const int IP_CONST_CASTSPELL_GHOSTLY_VISAGE_9 = 193; + public const int IP_CONST_CASTSPELL_GHOUL_TOUCH_3 = 120; + public const int IP_CONST_CASTSPELL_GLOBE_OF_INVULNERABILITY_11 = 121; + public const int IP_CONST_CASTSPELL_GREASE_2 = 122; + public const int IP_CONST_CASTSPELL_GREATER_BULLS_STRENGTH_11 = 300; + public const int IP_CONST_CASTSPELL_GREATER_CATS_GRACE_11 = 301; + public const int IP_CONST_CASTSPELL_GREATER_DISPELLING_15 = 124; + public const int IP_CONST_CASTSPELL_GREATER_DISPELLING_7 = 123; + public const int IP_CONST_CASTSPELL_GREATER_EAGLES_SPLENDOR_11 = 297; + public const int IP_CONST_CASTSPELL_GREATER_ENDURANCE_11 = 302; + public const int IP_CONST_CASTSPELL_GREATER_FOXS_CUNNING_11 = 299; + public const int IP_CONST_CASTSPELL_GREATER_MAGIC_FANG_9 = 384; + public const int IP_CONST_CASTSPELL_GREATER_OWLS_WISDOM_11 = 298; + public const int IP_CONST_CASTSPELL_GREATER_PLANAR_BINDING_15 = 126; + public const int IP_CONST_CASTSPELL_GREATER_RESTORATION_13 = 127; + public const int IP_CONST_CASTSPELL_GREATER_SHADOW_CONJURATION_9 = 128; + public const int IP_CONST_CASTSPELL_GREATER_SPELL_BREACH_11 = 129; + public const int IP_CONST_CASTSPELL_GREATER_SPELL_MANTLE_17 = 130; + public const int IP_CONST_CASTSPELL_GREATER_STONESKIN_11 = 131; + public const int IP_CONST_CASTSPELL_GRENADE_ACID_1 = 341; + public const int IP_CONST_CASTSPELL_GRENADE_CALTROPS_1 = 343; + public const int IP_CONST_CASTSPELL_GRENADE_CHICKEN_1 = 342; + public const int IP_CONST_CASTSPELL_GRENADE_CHOKING_1 = 339; + public const int IP_CONST_CASTSPELL_GRENADE_FIRE_1 = 336; + public const int IP_CONST_CASTSPELL_GRENADE_HOLY_1 = 338; + public const int IP_CONST_CASTSPELL_GRENADE_TANGLE_1 = 337; + public const int IP_CONST_CASTSPELL_GRENADE_THUNDERSTONE_1 = 340; + public const int IP_CONST_CASTSPELL_GUST_OF_WIND_10 = 410; + public const int IP_CONST_CASTSPELL_HAMMER_OF_THE_GODS_12 = 134; + public const int IP_CONST_CASTSPELL_HAMMER_OF_THE_GODS_7 = 133; + public const int IP_CONST_CASTSPELL_HARM_11 = 136; + public const int IP_CONST_CASTSPELL_HASTE_10 = 138; + public const int IP_CONST_CASTSPELL_HASTE_5 = 137; + public const int IP_CONST_CASTSPELL_HEAL_11 = 139; + public const int IP_CONST_CASTSPELL_HEALING_CIRCLE_16 = 141; + public const int IP_CONST_CASTSPELL_HEALING_CIRCLE_9 = 140; + public const int IP_CONST_CASTSPELL_HOLD_ANIMAL_3 = 142; + public const int IP_CONST_CASTSPELL_HOLD_MONSTER_7 = 143; + public const int IP_CONST_CASTSPELL_HOLD_PERSON_3 = 144; + public const int IP_CONST_CASTSPELL_HORRID_WILTING_15 = 308; + public const int IP_CONST_CASTSPELL_HORRID_WILTING_20 = 309; + public const int IP_CONST_CASTSPELL_ICE_STORM_9 = 310; + public const int IP_CONST_CASTSPELL_IDENTIFY_3 = 147; + public const int IP_CONST_CASTSPELL_IMPLOSION_17 = 148; + public const int IP_CONST_CASTSPELL_IMPROVED_INVISIBILITY_7 = 149; + public const int IP_CONST_CASTSPELL_IMPROVED_MAGE_ARMOR_10 = 594; // CG OEI 07/13/05 -- Added + public const int IP_CONST_CASTSPELL_INCENDIARY_CLOUD_15 = 150; + public const int IP_CONST_CASTSPELL_INFERNO_15 = 377; + public const int IP_CONST_CASTSPELL_INFLICT_CRITICAL_WOUNDS_12 = 366; + public const int IP_CONST_CASTSPELL_INFLICT_LIGHT_WOUNDS_5 = 363; + public const int IP_CONST_CASTSPELL_INFLICT_MINOR_WOUNDS_1 = 362; + public const int IP_CONST_CASTSPELL_INFLICT_MODERATE_WOUNDS_7 = 364; + public const int IP_CONST_CASTSPELL_INFLICT_SERIOUS_WOUNDS_9 = 365; + public const int IP_CONST_CASTSPELL_INVISIBILITY_3 = 151; + public const int IP_CONST_CASTSPELL_INVISIBILITY_PURGE_5 = 152; + public const int IP_CONST_CASTSPELL_INVISIBILITY_SPHERE_5 = 153; + public const int IP_CONST_CASTSPELL_IRON_BODY_15 = 586; + public const int IP_CONST_CASTSPELL_IRON_BODY_20 = 587; + public const int IP_CONST_CASTSPELL_ISAACS_GREATER_MISSILE_STORM_15 = 586; + public const int IP_CONST_CASTSPELL_ISAACS_LESSER_MISSILE_STORM_13 = 587; + public const int IP_CONST_CASTSPELL_KNOCK_3 = 154; + public const int IP_CONST_CASTSPELL_LEGEND_LORE_5 = 326; + public const int IP_CONST_CASTSPELL_LESSER_DISPEL_3 = 155; + public const int IP_CONST_CASTSPELL_LESSER_DISPEL_5 = 156; + public const int IP_CONST_CASTSPELL_LESSER_MIND_BLANK_9 = 157; + public const int IP_CONST_CASTSPELL_LESSER_PLANAR_BINDING_9 = 158; + public const int IP_CONST_CASTSPELL_LESSER_RESTORATION_3 = 159; + public const int IP_CONST_CASTSPELL_LESSER_SPELL_BREACH_7 = 160; + public const int IP_CONST_CASTSPELL_LESSER_SPELL_MANTLE_9 = 161; + public const int IP_CONST_CASTSPELL_LIGHT_1 = 162; + public const int IP_CONST_CASTSPELL_LIGHT_5 = 163; + public const int IP_CONST_CASTSPELL_LIGHTNING_BOLT_10 = 165; + public const int IP_CONST_CASTSPELL_LIGHTNING_BOLT_5 = 164; + public const int IP_CONST_CASTSPELL_MAGE_ARMOR_2 = 167; + public const int IP_CONST_CASTSPELL_MAGIC_CIRCLE_AGAINST_ALIGNMENT_5 = 286; + public const int IP_CONST_CASTSPELL_MAGIC_FANG_5 = 383; + public const int IP_CONST_CASTSPELL_MAGIC_MISSILE_3 = 172; + public const int IP_CONST_CASTSPELL_MAGIC_MISSILE_5 = 173; + public const int IP_CONST_CASTSPELL_MAGIC_MISSILE_9 = 174; + public const int IP_CONST_CASTSPELL_MANIPULATE_PORTAL_STONE = 344; + public const int IP_CONST_CASTSPELL_MASS_BLINDNESS_DEAFNESS_15 = 179; + public const int IP_CONST_CASTSPELL_MASS_CAMOFLAGE_13 = 386; + public const int IP_CONST_CASTSPELL_MASS_CHARM_15 = 180; + public const int IP_CONST_CASTSPELL_MASS_HASTE_11 = 182; + public const int IP_CONST_CASTSPELL_MASS_HEAL_15 = 183; + public const int IP_CONST_CASTSPELL_MELFS_ACID_ARROW_3 = 184; + public const int IP_CONST_CASTSPELL_MELFS_ACID_ARROW_6 = 185; + public const int IP_CONST_CASTSPELL_MELFS_ACID_ARROW_9 = 186; + public const int IP_CONST_CASTSPELL_METEOR_SWARM_17 = 187; + public const int IP_CONST_CASTSPELL_MIND_BLANK_15 = 188; + public const int IP_CONST_CASTSPELL_MIND_FOG_9 = 189; + public const int IP_CONST_CASTSPELL_LESSER_GLOBE_OF_INVULNERABILITY_15 = 191; // JLR - OEI 07/11/05 -- Name Changed + public const int IP_CONST_CASTSPELL_LESSER_GLOBE_OF_INVULNERABILITY_7 = 190; // JLR - OEI 07/11/05 -- Name Changed + public const int IP_CONST_CASTSPELL_MORDENKAINENS_DISJUNCTION_17 = 197; + public const int IP_CONST_CASTSPELL_MORDENKAINENS_SWORD_13 = 198; + public const int IP_CONST_CASTSPELL_MORDENKAINENS_SWORD_18 = 199; + public const int IP_CONST_CASTSPELL_NATURES_BALANCE_15 = 200; + public const int IP_CONST_CASTSPELL_NEGATIVE_ENERGY_BURST_10 = 315; + public const int IP_CONST_CASTSPELL_NEGATIVE_ENERGY_BURST_5 = 314; + public const int IP_CONST_CASTSPELL_NEGATIVE_ENERGY_PROTECTION_10 = 202; + public const int IP_CONST_CASTSPELL_NEGATIVE_ENERGY_PROTECTION_15 = 203; + public const int IP_CONST_CASTSPELL_NEGATIVE_ENERGY_PROTECTION_5 = 201; + public const int IP_CONST_CASTSPELL_NEGATIVE_ENERGY_RAY_1 = 316; + public const int IP_CONST_CASTSPELL_NEGATIVE_ENERGY_RAY_3 = 317; + public const int IP_CONST_CASTSPELL_NEGATIVE_ENERGY_RAY_5 = 318; + public const int IP_CONST_CASTSPELL_NEGATIVE_ENERGY_RAY_7 = 319; + public const int IP_CONST_CASTSPELL_NEGATIVE_ENERGY_RAY_9 = 320; + public const int IP_CONST_CASTSPELL_NEUTRALIZE_POISON_5 = 204; + public const int IP_CONST_CASTSPELL_ONE_WITH_THE_LAND_7 = 351; + public const int IP_CONST_CASTSPELL_OWLS_INSIGHT_15 = 369; + public const int IP_CONST_CASTSPELL_OWLS_WISDOM_10 = 292; + public const int IP_CONST_CASTSPELL_OWLS_WISDOM_15 = 293; + public const int IP_CONST_CASTSPELL_OWLS_WISDOM_3 = 291; + public const int IP_CONST_CASTSPELL_PHANTASMAL_KILLER_7 = 205; + public const int IP_CONST_CASTSPELL_PLANAR_ALLY_15 = 382; + public const int IP_CONST_CASTSPELL_PLANAR_BINDING_11 = 206; + public const int IP_CONST_CASTSPELL_POISON_5 = 207; + public const int IP_CONST_CASTSPELL_POLYMORPH_SELF_7 = 208; + public const int IP_CONST_CASTSPELL_POWER_WORD_KILL_17 = 209; + public const int IP_CONST_CASTSPELL_POWER_WORD_STUN_13 = 210; + public const int IP_CONST_CASTSPELL_PRAYER_5 = 211; + public const int IP_CONST_CASTSPELL_PREMONITION_15 = 212; + public const int IP_CONST_CASTSPELL_PRISMATIC_SPRAY_13 = 213; + public const int IP_CONST_CASTSPELL_PROTECTION_FROM_ALIGNMENT_2 = 284; + public const int IP_CONST_CASTSPELL_PROTECTION_FROM_ALIGNMENT_5 = 285; + public const int IP_CONST_CASTSPELL_PROTECTION_FROM_ELEMENTS_10 = 217; + public const int IP_CONST_CASTSPELL_PROTECTION_FROM_ELEMENTS_3 = 216; + public const int IP_CONST_CASTSPELL_PROTECTION_FROM_EVIL_1 = 218; // CG OEI 07/13/05 -- Added + public const int IP_CONST_CASTSPELL_PROTECTION_FROM_SPELLS_13 = 224; + public const int IP_CONST_CASTSPELL_PROTECTION_FROM_SPELLS_20 = 225; + public const int IP_CONST_CASTSPELL_QUILLFIRE_8 = 356; + public const int IP_CONST_CASTSPELL_RAISE_DEAD_9 = 226; + public const int IP_CONST_CASTSPELL_RAY_OF_ENFEEBLEMENT_2 = 227; + public const int IP_CONST_CASTSPELL_RAY_OF_FROST_1 = 228; + public const int IP_CONST_CASTSPELL_REGENERATE_13 = 323; + public const int IP_CONST_CASTSPELL_REMOVE_BLINDNESS_DEAFNESS_5 = 229; + public const int IP_CONST_CASTSPELL_REMOVE_CURSE_5 = 230; + public const int IP_CONST_CASTSPELL_REMOVE_DISEASE_5 = 231; + public const int IP_CONST_CASTSPELL_REMOVE_FEAR_2 = 232; + public const int IP_CONST_CASTSPELL_REMOVE_PARALYSIS_3 = 233; + public const int IP_CONST_CASTSPELL_RESIST_ELEMENTS_10 = 235; + public const int IP_CONST_CASTSPELL_RESIST_ELEMENTS_3 = 234; + public const int IP_CONST_CASTSPELL_RESISTANCE_2 = 236; + public const int IP_CONST_CASTSPELL_RESISTANCE_5 = 237; + public const int IP_CONST_CASTSPELL_RESTORATION_7 = 238; + public const int IP_CONST_CASTSPELL_RESURRECTION_13 = 239; + public const int IP_CONST_CASTSPELL_ROGUES_CUNNING_3 = 328; + public const int IP_CONST_CASTSPELL_SANCTUARY_2 = 240; + public const int IP_CONST_CASTSPELL_SCARE_2 = 241; + public const int IP_CONST_CASTSPELL_SCINTILLATING_SPHERE_5 = 464; // CG OEI 07/13/05 -- Added + public const int IP_CONST_CASTSPELL_SEARING_LIGHT_5 = 242; + public const int IP_CONST_CASTSPELL_SEE_INVISIBILITY_3 = 243; + public const int IP_CONST_CASTSPELL_SHADES_11 = 244; + public const int IP_CONST_CASTSPELL_SHADOW_CONJURATION_7 = 245; + public const int IP_CONST_CASTSPELL_SHADOW_SHIELD_13 = 246; + public const int IP_CONST_CASTSPELL_SHAPECHANGE_17 = 247; + public const int IP_CONST_CASTSPELL_SHIELD_5 = 348; + public const int IP_CONST_CASTSPELL_SHIELD_OF_FAITH_5 = 381; + public const int IP_CONST_CASTSPELL_SILENCE_3 = 249; + public const int IP_CONST_CASTSPELL_SLAY_LIVING_9 = 250; + public const int IP_CONST_CASTSPELL_SLEEP_2 = 251; + public const int IP_CONST_CASTSPELL_SLEEP_5 = 252; + public const int IP_CONST_CASTSPELL_SLOW_5 = 253; + public const int IP_CONST_CASTSPELL_SOUND_BURST_3 = 254; + public const int IP_CONST_CASTSPELL_SPECIAL_ALCOHOL_BEER = 330; + public const int IP_CONST_CASTSPELL_SPECIAL_ALCOHOL_SPIRITS = 332; + public const int IP_CONST_CASTSPELL_SPECIAL_ALCOHOL_WINE = 331; + public const int IP_CONST_CASTSPELL_SPECIAL_HERB_BELLADONNA = 333; + public const int IP_CONST_CASTSPELL_SPECIAL_HERB_GARLIC = 334; + public const int IP_CONST_CASTSPELL_SPELL_MANTLE_13 = 257; + public const int IP_CONST_CASTSPELL_SPELL_RESISTANCE_15 = 256; + public const int IP_CONST_CASTSPELL_SPELL_RESISTANCE_9 = 255; + public const int IP_CONST_CASTSPELL_SPIKE_GROWTH_9 = 385; + public const int IP_CONST_CASTSPELL_SS_DEFENSIVE_EDGE = 706; + public const int IP_CONST_CASTSPELL_SS_DESPAIR_OF_THE_DIVIDED = 708; + public const int IP_CONST_CASTSPELL_SS_GREATER_RESTORATION = 702; + public const int IP_CONST_CASTSPELL_SS_GREATER_SHOUT = 699; + public const int IP_CONST_CASTSPELL_SS_PENETRATING_EDGE = 703; + public const int IP_CONST_CASTSPELL_SS_POLAR_RAY = 698; + public const int IP_CONST_CASTSPELL_SS_PREMONITION = 701; + public const int IP_CONST_CASTSPELL_SS_SPELLLIKE_ABILITIES = 697; + public const int IP_CONST_CASTSPELL_SS_SPELL_MANTLE = 700; + public const int IP_CONST_CASTSPELL_SS_SWORD_FORMS = 696; + public const int IP_CONST_CASTSPELL_SS_UNITY_OF_WILL = 707; + public const int IP_CONST_CASTSPELL_SS_VORPAL_EDGE = 705; + public const int IP_CONST_CASTSPELL_STINKING_CLOUD_5 = 259; + public const int IP_CONST_CASTSPELL_STONE_TO_FLESH_5 = 399; + public const int IP_CONST_CASTSPELL_STONESKIN_7 = 260; + public const int IP_CONST_CASTSPELL_STORM_OF_VENGEANCE_17 = 261; + public const int IP_CONST_CASTSPELL_SUMMON_CREATURE_I_2 = 262; + public const int IP_CONST_CASTSPELL_SUMMON_CREATURE_I_5 = 263; + public const int IP_CONST_CASTSPELL_SUMMON_CREATURE_II_3 = 264; + public const int IP_CONST_CASTSPELL_SUMMON_CREATURE_III_5 = 265; + public const int IP_CONST_CASTSPELL_SUMMON_CREATURE_IV_7 = 266; + public const int IP_CONST_CASTSPELL_SUMMON_CREATURE_IX_17 = 267; + public const int IP_CONST_CASTSPELL_SUMMON_CREATURE_V_9 = 268; + public const int IP_CONST_CASTSPELL_SUMMON_CREATURE_VI_11 = 269; + public const int IP_CONST_CASTSPELL_SUMMON_CREATURE_VII_13 = 270; + public const int IP_CONST_CASTSPELL_SUMMON_CREATURE_VIII_15 = 271; + public const int IP_CONST_CASTSPELL_SUNBEAM_13 = 272; + public const int IP_CONST_CASTSPELL_SUNBURST_20 = 358; + public const int IP_CONST_CASTSPELL_TASHAS_HIDEOUS_LAUGHTER_7 = 388; + public const int IP_CONST_CASTSPELL_TENSERS_TRANSFORMATION_11 = 273; + public const int IP_CONST_CASTSPELL_TIME_STOP_17 = 274; + public const int IP_CONST_CASTSPELL_TRUE_SEEING_9 = 275; + public const int IP_CONST_CASTSPELL_TRUE_STRIKE_5 = 346; + public const int IP_CONST_CASTSPELL_UNDEATHS_ETERNAL_FOE_20 = 375; + public const int IP_CONST_CASTSPELL_UNIQUE_POWER = 329; + public const int IP_CONST_CASTSPELL_UNIQUE_POWER_SELF_ONLY = 335; + public const int IP_CONST_CASTSPELL_VAMPIRIC_TOUCH_5 = 277; + public const int IP_CONST_CASTSPELL_VIRTUE_1 = 278; + public const int IP_CONST_CASTSPELL_WAIL_OF_THE_BANSHEE_17 = 279; + public const int IP_CONST_CASTSPELL_WALL_OF_FIRE_9 = 280; + public const int IP_CONST_CASTSPELL_WAR_CRY_7 = 322; + public const int IP_CONST_CASTSPELL_WEB_3 = 281; + public const int IP_CONST_CASTSPELL_WEIRD_17 = 282; + public const int IP_CONST_CASTSPELL_WORD_OF_FAITH_13 = 283; + public const int IP_CONST_CASTSPELL_WOUNDING_WHISPERS_9 = 372; + public const int IP_CONST_SPELLSCHOOL_ABJURATION = 0; + public const int IP_CONST_SPELLSCHOOL_CONJURATION = 1; + public const int IP_CONST_SPELLSCHOOL_DIVINATION = 2; + public const int IP_CONST_SPELLSCHOOL_ENCHANTMENT = 3; + public const int IP_CONST_SPELLSCHOOL_EVOCATION = 4; + public const int IP_CONST_SPELLSCHOOL_ILLUSION = 5; + public const int IP_CONST_SPELLSCHOOL_NECROMANCY = 6; + public const int IP_CONST_SPELLSCHOOL_TRANSMUTATION = 7; + public const int IP_CONST_SPELLRESISTANCEBONUS_10 = 0; + public const int IP_CONST_SPELLRESISTANCEBONUS_12 = 1; + public const int IP_CONST_SPELLRESISTANCEBONUS_14 = 2; + public const int IP_CONST_SPELLRESISTANCEBONUS_16 = 3; + public const int IP_CONST_SPELLRESISTANCEBONUS_18 = 4; + public const int IP_CONST_SPELLRESISTANCEBONUS_20 = 5; + public const int IP_CONST_SPELLRESISTANCEBONUS_22 = 6; + public const int IP_CONST_SPELLRESISTANCEBONUS_24 = 7; + public const int IP_CONST_SPELLRESISTANCEBONUS_26 = 8; + public const int IP_CONST_SPELLRESISTANCEBONUS_28 = 9; + public const int IP_CONST_SPELLRESISTANCEBONUS_30 = 10; + public const int IP_CONST_SPELLRESISTANCEBONUS_32 = 11; + public const int IP_CONST_TRAPTYPE_SPIKE = 1; + public const int IP_CONST_TRAPTYPE_HOLY = 2; + public const int IP_CONST_TRAPTYPE_TANGLE = 3; + public const int IP_CONST_TRAPTYPE_BLOBOFACID = 4; + public const int IP_CONST_TRAPTYPE_FIRE = 5; + public const int IP_CONST_TRAPTYPE_ELECTRICAL = 6; + public const int IP_CONST_TRAPTYPE_GAS = 7; + public const int IP_CONST_TRAPTYPE_FROST = 8; + public const int IP_CONST_TRAPTYPE_ACID_SPLASH = 9; + public const int IP_CONST_TRAPTYPE_SONIC = 10; + public const int IP_CONST_TRAPTYPE_NEGATIVE = 11; + public const int IP_CONST_TRAPSTRENGTH_MINOR = 0; + public const int IP_CONST_TRAPSTRENGTH_AVERAGE = 1; + public const int IP_CONST_TRAPSTRENGTH_STRONG = 2; + public const int IP_CONST_TRAPSTRENGTH_DEADLY = 3; + public const int IP_CONST_REDUCEDWEIGHT_80_PERCENT = 1; + public const int IP_CONST_REDUCEDWEIGHT_60_PERCENT = 2; + public const int IP_CONST_REDUCEDWEIGHT_40_PERCENT = 3; + public const int IP_CONST_REDUCEDWEIGHT_20_PERCENT = 4; + public const int IP_CONST_REDUCEDWEIGHT_10_PERCENT = 5; + public const int IP_CONST_REDUCEDWEIGHT_50_PERCENT = 6; + public const int IP_CONST_REDUCEDWEIGHT_30_PERCENT = 7; + public const int IP_CONST_REDUCEDWEIGHT_01_PERCENT = 8; + public const int IP_CONST_REDUCEDWEIGHT_70_PERCENT = 9; + public const int IP_CONST_WEIGHTINCREASE_5_LBS = 0; + public const int IP_CONST_WEIGHTINCREASE_10_LBS = 1; + public const int IP_CONST_WEIGHTINCREASE_15_LBS = 2; + public const int IP_CONST_WEIGHTINCREASE_30_LBS = 3; + public const int IP_CONST_WEIGHTINCREASE_50_LBS = 4; + public const int IP_CONST_WEIGHTINCREASE_100_LBS = 5; + public const int IP_CONST_CLASS_BARBARIAN = 0; + public const int IP_CONST_CLASS_BARD = 1; + public const int IP_CONST_CLASS_CLERIC = 2; + public const int IP_CONST_CLASS_DRUID = 3; + public const int IP_CONST_CLASS_FIGHTER = 4; + public const int IP_CONST_CLASS_MONK = 5; + public const int IP_CONST_CLASS_PALADIN = 6; + public const int IP_CONST_CLASS_RANGER = 7; + public const int IP_CONST_CLASS_ROGUE = 8; + public const int IP_CONST_CLASS_SORCERER = 9; + public const int IP_CONST_CLASS_WIZARD = 10; + public const int IP_CONST_ARCANE_SPELL_FAILURE_MINUS_50_PERCENT = 0; + public const int IP_CONST_ARCANE_SPELL_FAILURE_MINUS_45_PERCENT = 1; + public const int IP_CONST_ARCANE_SPELL_FAILURE_MINUS_40_PERCENT = 2; + public const int IP_CONST_ARCANE_SPELL_FAILURE_MINUS_35_PERCENT = 3; + public const int IP_CONST_ARCANE_SPELL_FAILURE_MINUS_30_PERCENT = 4; + public const int IP_CONST_ARCANE_SPELL_FAILURE_MINUS_25_PERCENT = 5; + public const int IP_CONST_ARCANE_SPELL_FAILURE_MINUS_20_PERCENT = 6; + public const int IP_CONST_ARCANE_SPELL_FAILURE_MINUS_15_PERCENT = 7; + public const int IP_CONST_ARCANE_SPELL_FAILURE_MINUS_10_PERCENT = 8; + public const int IP_CONST_ARCANE_SPELL_FAILURE_MINUS_5_PERCENT = 9; + public const int IP_CONST_ARCANE_SPELL_FAILURE_PLUS_5_PERCENT = 10; + public const int IP_CONST_ARCANE_SPELL_FAILURE_PLUS_10_PERCENT = 11; + public const int IP_CONST_ARCANE_SPELL_FAILURE_PLUS_15_PERCENT = 12; + public const int IP_CONST_ARCANE_SPELL_FAILURE_PLUS_20_PERCENT = 13; + public const int IP_CONST_ARCANE_SPELL_FAILURE_PLUS_25_PERCENT = 14; + public const int IP_CONST_ARCANE_SPELL_FAILURE_PLUS_30_PERCENT = 15; + public const int IP_CONST_ARCANE_SPELL_FAILURE_PLUS_35_PERCENT = 16; + public const int IP_CONST_ARCANE_SPELL_FAILURE_PLUS_40_PERCENT = 17; + public const int IP_CONST_ARCANE_SPELL_FAILURE_PLUS_45_PERCENT = 18; + public const int IP_CONST_ARCANE_SPELL_FAILURE_PLUS_50_PERCENT = 19; + + public const int ACTION_MODE_DETECT = 0; + public const int ACTION_MODE_STEALTH = 1; + public const int ACTION_MODE_PARRY = 2; + public const int ACTION_MODE_POWER_ATTACK = 3; + public const int ACTION_MODE_IMPROVED_POWER_ATTACK = 4; + public const int ACTION_MODE_COUNTERSPELL = 5; + public const int ACTION_MODE_FLURRY_OF_BLOWS = 6; + public const int ACTION_MODE_RAPID_SHOT = 7; + public const int ACTION_MODE_COMBAT_EXPERTISE = 8; + public const int ACTION_MODE_IMPROVED_COMBAT_EXPERTISE = 9; + public const int ACTION_MODE_DEFENSIVE_CAST = 10; + public const int ACTION_MODE_DIRTY_FIGHTING = 11; + public const int ACTION_MODE_HELLFIRE_BLAST = 25; + public const int ACTION_MODE_HELLFIRE_SHIELD = 26; + + public const int ITEM_VISUAL_ACID = 0; + public const int ITEM_VISUAL_COLD = 1; + public const int ITEM_VISUAL_ELECTRICAL = 2; + public const int ITEM_VISUAL_FIRE = 3; + public const int ITEM_VISUAL_SONIC = 4; + public const int ITEM_VISUAL_HOLY = 5; + public const int ITEM_VISUAL_EVIL = 6; + + + // Brock H. - OEI - 08/16/05 + // These are the return values for + // TouchAttackMelee / TouchAttackRanged + public const int TOUCH_ATTACK_RESULT_MISS = 0; + public const int TOUCH_ATTACK_RESULT_HIT = 1; + public const int TOUCH_ATTACK_RESULT_CRITICAL = 2; + + // Brock H. - OEI - 09/09/05 + // Return values from ResistSpell() + // These need to stay in sync with NWRules.h + public const int SPELL_RESISTANCE_INVALID = -1; + public const int SPELL_RESISTANCE_FAILURE = 0; + public const int SPELL_RESISTANCE_SPELL_RESISTED = 1; + public const int SPELL_RESISTANCE_MAGIC_IMMUNITY = 2; + public const int SPELL_RESISTANCE_SPELL_ABSORBED = 3; + public const int SPELL_RESISTANCE_COUNTERSONG = 4; + + // Brock H. - OEI 09/16/05 + // these flags define what can break a + // mesmerization effect on a creature, + // see EffectMesmerize() below + // These need to stay in sync with NWRules.h + public const int MESMERIZE_BREAK_ON_ATTACKED = 1; // ( 1 << 0 ) + public const int MESMERIZE_BREAK_ON_NEARBY_COMBAT = 2; // ( 1 << 1 ) + + + /* Brock H. - OEI 02/123/06 -- This feature has been impemented in a different fashion + // Brock H. - OEI 09/19/05 + // These are return values from GetFactionLastShoutCommand + // These need to stay in sync with NWRules.h + public const int SHOUT_NONE = 0; // Cancels previous shouts + public const int SHOUT_HEAL = 1; // The party healers set about healing anyone who is damaged in the party, starting on the most injured person first. The healers work on getting everyone healed to acceptable shape then go back to their default behaviors. + public const int SHOUT_ATTACK_MY_TARGET = 2; // The party combines their forces attacking your currently selected target. + public const int SHOUT_FORM_ON_ME = 3; // This causes all party members to get out of combat and form on the party leader. Sometimes the AI will drift from fight to fight winding up somewhere distant on the map. This reforms the core group quickly. Once the party members are centered on the PC they go back to their default AI. + public const int SHOUT_RETREAT = 4; // This shout gets everyone to get out of combat and form on you. The party members will avoid attacking, casting spells, or anything until the shout is given again, toggling the retreat state off. The purpose of this is to allow the player to quickly get out of dodge one step ahead of the enemy. + public const int SHOUT_OFFENSIVE_SPELL = 5; // This orders the spell-casters to release their most potent offensive spells. By default the big guns are used by spell-caster party AI only as a last resort, the intention being that the player should direct when the best spells are called out. + public const int SHOUT_DEFEND_TARGET = 6; // This makes it so the party tries and defends the selected target. If the selected target is a party member it also fights defensively until it is no longer being attacked. For the other party members they get close to what they are defending and try to kill anything attacking it. + public const int SHOUT_LONG_TERM_BUFFS = 7; // This calls out for all spell-caster to buff the party and your avatar specifically with long-term buffs (1 turn/level duration or better). If this is called out in combat, spell casters only spend one combat round casting buffs. Out of combat, they cast all available buffs. + public const int SHOUT_SORT_TERM_BUFFS = 8; // This calls out for all spell-caster to buff the party and your avatar specifically with short-term buffs (less than 1 turn/level duration). This is intended to be called out in combat or right before combat, spell-casters only spend one round casting buffs. + public const int SHOUT_DEFEND_YOUR_POSITION = 9; // By default companions follow their player. This shout tells the companions to stop following the player and stand in place, this is essentially going into Solo Mode. When in this mode, the companions will still defend themselves from threats – but barring external stimuli they just stand in place (playing some of their idle and ready animations). + */ + + // Brock H. - OEI 03/26/06 These are the script event types + // Supported by SetEventHandler() / GetEventHandler + public const int CREATURE_SCRIPT_ON_HEARTBEAT = 0; + public const int CREATURE_SCRIPT_ON_NOTICE = 1; + public const int CREATURE_SCRIPT_ON_SPELLCASTAT = 2; + public const int CREATURE_SCRIPT_ON_MELEE_ATTACKED = 3; + public const int CREATURE_SCRIPT_ON_DAMAGED = 4; + public const int CREATURE_SCRIPT_ON_DISTURBED = 5; + public const int CREATURE_SCRIPT_ON_END_COMBATROUND = 6; + public const int CREATURE_SCRIPT_ON_DIALOGUE = 7; + public const int CREATURE_SCRIPT_ON_SPAWN_IN = 8; + public const int CREATURE_SCRIPT_ON_RESTED = 9; + public const int CREATURE_SCRIPT_ON_DEATH = 10; + public const int CREATURE_SCRIPT_ON_USER_DEFINED_EVENT = 11; + public const int CREATURE_SCRIPT_ON_BLOCKED_BY_DOOR = 12; + // Trigger + public const int SCRIPT_TRIGGER_ON_HEARTBEAT = 0; + public const int SCRIPT_TRIGGER_ON_OBJECT_ENTER = 1; + public const int SCRIPT_TRIGGER_ON_OBJECT_EXIT = 2; + public const int SCRIPT_TRIGGER_ON_USER_DEFINED_EVENT = 3; + public const int SCRIPT_TRIGGER_ON_TRAPTRIGGERED = 4; + public const int SCRIPT_TRIGGER_ON_DISARMED = 5; + public const int SCRIPT_TRIGGER_ON_CLICKED = 6; + // Area + public const int SCRIPT_AREA_ON_HEARTBEAT = 0; + public const int SCRIPT_AREA_ON_USER_DEFINED_EVENT = 1; + public const int SCRIPT_AREA_ON_ENTER = 2; + public const int SCRIPT_AREA_ON_EXIT = 3; + public const int SCRIPT_AREA_ON_CLIENT_ENTER = 4; + // Door + public const int SCRIPT_DOOR_ON_OPEN = 0; + public const int SCRIPT_DOOR_ON_CLOSE = 1; + public const int SCRIPT_DOOR_ON_DAMAGE = 2; + public const int SCRIPT_DOOR_ON_DEATH = 3; + public const int SCRIPT_DOOR_ON_DISARM = 4; + public const int SCRIPT_DOOR_ON_HEARTBEAT = 5; + public const int SCRIPT_DOOR_ON_LOCK = 6; + public const int SCRIPT_DOOR_ON_MELEE_ATTACKED = 7; + public const int SCRIPT_DOOR_ON_SPELLCASTAT = 8; + public const int SCRIPT_DOOR_ON_TRAPTRIGGERED = 9; + public const int SCRIPT_DOOR_ON_UNLOCK = 10; + public const int SCRIPT_DOOR_ON_USERDEFINED = 11; + public const int SCRIPT_DOOR_ON_CLICKED = 12; + public const int SCRIPT_DOOR_ON_DIALOGUE = 13; + public const int SCRIPT_DOOR_ON_FAIL_TO_OPEN = 14; + // Encounter + public const int SCRIPT_ENCOUNTER_ON_OBJECT_ENTER = 0; + public const int SCRIPT_ENCOUNTER_ON_OBJECT_EXIT = 1; + public const int SCRIPT_ENCOUNTER_ON_HEARTBEAT = 2; + public const int SCRIPT_ENCOUNTER_ON_ENCOUNTER_EXHAUSTED = 3; + public const int SCRIPT_ENCOUNTER_ON_USER_DEFINED_EVENT = 4; + // Module + public const int SCRIPT_MODULE_ON_HEARTBEAT = 0; + public const int SCRIPT_MODULE_ON_USER_DEFINED_EVENT = 1; + public const int SCRIPT_MODULE_ON_MODULE_LOAD = 2; + public const int SCRIPT_MODULE_ON_MODULE_START = 3; + public const int SCRIPT_MODULE_ON_CLIENT_ENTER = 4; + public const int SCRIPT_MODULE_ON_CLIENT_EXIT = 5; + public const int SCRIPT_MODULE_ON_ACTIVATE_ITEM = 6; + public const int SCRIPT_MODULE_ON_ACQUIRE_ITEM = 7; + public const int SCRIPT_MODULE_ON_LOSE_ITEM = 8; + public const int SCRIPT_MODULE_ON_PLAYER_DEATH = 9; + public const int SCRIPT_MODULE_ON_PLAYER_DYING = 10; + public const int SCRIPT_MODULE_ON_RESPAWN_BUTTON_PRESSED = 11; + public const int SCRIPT_MODULE_ON_PLAYER_REST = 12; + public const int SCRIPT_MODULE_ON_PLAYER_LEVEL_UP = 13; + public const int SCRIPT_MODULE_ON_PLAYER_CANCEL_CUTSCENE = 14; + public const int SCRIPT_MODULE_ON_EQUIP_ITEM = 15; + public const int SCRIPT_MODULE_ON_UNEQUIP_ITEM = 16; + // Placeable + public const int SCRIPT_PLACEABLE_ON_CLOSED = 0; + public const int SCRIPT_PLACEABLE_ON_DAMAGED = 1; + public const int SCRIPT_PLACEABLE_ON_DEATH = 2; + public const int SCRIPT_PLACEABLE_ON_DISARM = 3; + public const int SCRIPT_PLACEABLE_ON_HEARTBEAT = 4; + public const int SCRIPT_PLACEABLE_ON_INVENTORYDISTURBED = 5; + public const int SCRIPT_PLACEABLE_ON_LOCK = 6; + public const int SCRIPT_PLACEABLE_ON_MELEEATTACKED = 7; + public const int SCRIPT_PLACEABLE_ON_OPEN = 8; + public const int SCRIPT_PLACEABLE_ON_SPELLCASTAT = 9; + public const int SCRIPT_PLACEABLE_ON_TRAPTRIGGERED = 10; + public const int SCRIPT_PLACEABLE_ON_UNLOCK = 11; + public const int SCRIPT_PLACEABLE_ON_USED = 12; + public const int SCRIPT_PLACEABLE_ON_USER_DEFINED_EVENT = 13; + public const int SCRIPT_PLACEABLE_ON_DIALOGUE = 14; + // AOE + public const int SCRIPT_AOE_ON_HEARTBEAT = 0; + public const int SCRIPT_AOE_ON_USER_DEFINED_EVENT = 1; + public const int SCRIPT_AOE_ON_OBJECT_ENTER = 2; + public const int SCRIPT_AOE_ON_OBJECT_EXIT = 3; + // Store + public const int SCRIPT_STORE_ON_OPEN = 0; + public const int SCRIPT_STORE_ON_CLOSE = 1; + + + + // Brock H. - OEI 03/28/06 -- These must match the values in NWN2_ScriptSets.2da + public const int SCRIPTSET_INVALID = -1; + public const int SCRIPTSET_NOAI = 0; + public const int SCRIPTSET_PCDOMINATE = 1; + public const int SCRIPTSET_DMPOSSESSED = 2; + public const int SCRIPTSET_PLAYER_DEFAULT = 3; // These are the default scripts that are loaded onto the player character + public const int SCRIPTSET_COMPANION_POSSESSED = 4; // The scripts that are applied on the player when he is controlled by + public const int SCRIPTSET_NPC_DEFAULT = 9; // The default scripts for generic NPCs + public const int SCRIPTSET_NPC_ASSOCIATES = 10; // The default scripts for NPC associates (summoned creatures, henchmen, etc) + + + // ChazM - OEI 11/22/05 + // These are allowed values for the iCRFlag parameter of the TriggerEncounter() function + // These are enumerated types in CNWSEncounter + public const int ENCOUNTER_CALC_FROM_CR = 0; // Use the CR value passed in determining the spawn pool + public const int ENCOUNTER_CALC_FROM_FACTION = 1; // Calculate the encounter based on normal encounter processing (based on a radius around the triggering object) + + public const int OVERRIDE_ATTACK_RESULT_DEFAULT = 0; + public const int OVERRIDE_ATTACK_RESULT_HIT_SUCCESSFUL = 1; + public const int OVERRIDE_ATTACK_RESULT_PARRIED = 2; + public const int OVERRIDE_ATTACK_RESULT_CRITICAL_HIT = 3; + public const int OVERRIDE_ATTACK_RESULT_MISS = 4; + + public const int BUMPSTATE_DEFAULT = 0; + public const int BUMPSTATE_BUMPABLE = 1; + public const int BUMPSTATE_UNBUMPABLE = 2; + + public const int TALENT_EXCLUDE_ITEM = 1; + public const int TALENT_EXCLUDE_ABILITY = 2; + public const int TALENT_EXCLUDE_SPELL = 4; + + // AFW-OEI 10/24/2006 + public const int ARMOR_RANK_NONE = 0; + public const int ARMOR_RANK_LIGHT = 1; + public const int ARMOR_RANK_MEDIUM = 2; + public const int ARMOR_RANK_HEAVY = 3; + + // AFW-OEI 10/24/2006 + public const int WEAPON_TYPE_NONE = 0; + public const int WEAPON_TYPE_PIERCING = 1; + public const int WEAPON_TYPE_BLUDGEONING = 2; + public const int WEAPON_TYPE_SLASHING = 3; + public const int WEAPON_TYPE_PIERCING_AND_SLASHING = 4; + + // Brock H. - OEI 11/03/06 + public const int ENCUMBRANCE_STATE_INVALID = -1; + public const int ENCUMBRANCE_STATE_NORMAL = 0; + public const int ENCUMBRANCE_STATE_HEAVY = 1; + public const int ENCUMBRANCE_STATE_OVERLOADED = 2; + + public const int AREA_HEIGHT = 0;//For use with the GetAreaSize function + public const int AREA_WIDTH = 1;//For use with the GetAreaSize function + + public const int SCALE_X = 0;//For use with the GetScale function + public const int SCALE_Y = 1;//For use with the GetScale function + public const int SCALE_Z = 2;//For use with the GetScale function + + public const int VARIABLE_TYPE_NONE = -1; + public const int VARIABLE_TYPE_INT = 1; + public const int VARIABLE_TYPE_FLOAT = 2; + public const int VARIABLE_TYPE_STRING = 3; + public const int VARIABLE_TYPE_DWORD = 4; + public const int VARIABLE_TYPE_LOCATION = 5; + + //RWT-OEI 09/18/08 - Constants to be used with the GetTalkTableLanguage() + //script function + public const int LANGUAGE_ENGLISH = 0; + public const int LANGUAGE_FRENCH = 1; + public const int LANGUAGE_GERMAN = 2; + public const int LANGUAGE_ITALIAN = 3; + public const int LANGUAGE_SPANISH = 4; + public const int LANGUAGE_POLISH = 5; + public const int LANGUAGE_RUSSIAN = 6; + + // MAP 03/06/2009 - These values are returned as a mask from GetSurfaceMaterialsAtLocation + public const int SM_TYPE_WALKABLE = 1; + public const int SM_TYPE_DIRT = 8; + public const int SM_TYPE_GRASS = 16; + public const int SM_TYPE_STONE = 32; + public const int SM_TYPE_WOOD = 64; + public const int SM_TYPE_CARPET = 128; + public const int SM_TYPE_METAL = 256; + public const int SM_TYPE_SWAMP = 512; + public const int SM_TYPE_MUD = 1024; + public const int SM_TYPE_LEAVES = 2048; + public const int SM_TYPE_WATER = 4096; + public const int SM_TYPE_PUDDLES = 8192; + + // MAP 03/06/2009 - These are used in Get/SetItemTint to indicate which colorset to modify/retrieve. + public const int ITEM_COLOR_1 = 0; + public const int ITEM_COLOR_2 = 1; + public const int ITEM_COLOR_3 = 2; + + // MAP 03/06/2009 - These are used in Get/SetItemModel to indicate which weapon part to modify/retrieve + public const int WEAPON_MODEL_PART_1 = 0; + public const int WEAPON_MODEL_PART_2 = 1; + public const int WEAPON_MODEL_PART_3 = 2; + + // MAP 03/06/2009 + // These are used in Get/SetItemModel to indicate which armor part to modify/retrieve + // Not all parts may be in use. + public const int ARMOR_MODEL_PIECE_BODY = 10; + public const int ARMOR_MODEL_PIECE_LEFT_SHOULDER = 11; + public const int ARMOR_MODEL_PIECE_RIGHT_SHOULDER = 12; + public const int ARMOR_MODEL_PIECE_LEFT_BRACER = 13; + public const int ARMOR_MODEL_PIECE_RIGHT_BRACER = 14; + public const int ARMOR_MODEL_PIECE_LEFT_ELBOW = 15; + public const int ARMOR_MODEL_PIECE_RIGHT_ELBOW = 16; + public const int ARMOR_MODEL_PIECE_LEFT_ARM = 17; + public const int ARMOR_MODEL_PIECE_RIGHT_ARM = 18; + public const int ARMOR_MODEL_PIECE_LEFT_HIP = 19; + public const int ARMOR_MODEL_PIECE_RIGHT_HIP = 20; + public const int ARMOR_MODEL_PIECE_FRONT_HIP = 21; + public const int ARMOR_MODEL_PIECE_BACK_HIP = 22; + public const int ARMOR_MODEL_PIECE_LEFT_LEG = 23; + public const int ARMOR_MODEL_PIECE_RIGHT_LEG = 24; + public const int ARMOR_MODEL_PIECE_LEFT_SHIN = 25; + public const int ARMOR_MODEL_PIECE_RIGHT_SHIN = 26; + public const int ARMOR_MODEL_PIECE_LEFT_KNEE = 27; + public const int ARMOR_MODEL_PIECE_RIGHT_KNEE = 28; + public const int ARMOR_MODEL_PIECE_LEFT_FOOT = 29; + public const int ARMOR_MODEL_PIECE_RIGHT_FOOT = 30; + public const int ARMOR_MODEL_PIECE_LEFT_ANKLE = 31; + public const int ARMOR_MODEL_PIECE_RIGHT_ANKLE = 32; + + // MAP 03/06/2009 + // These are used in Get/SetItemModel to indicate which weapon part to modify/retrieve. + // These will only work if the appropriate armor part is enabled (example: armor has 'helm' enabled), + // or for base item types + public const int ARMOR_MODEL_PART_HELM = 0; + public const int ARMOR_MODEL_PART_GLOVES = 1; + public const int ARMOR_MODEL_PART_BOOTS = 2; + public const int ARMOR_MODEL_PART_BELT = 3; + public const int ARMOR_MODEL_PART_CLOAK = 4; + + + // MAP 3/22/2009 + // These are for use in the chat module callback conditional and in + // the function SendChatMessage. + public const int CHAT_MODE_TALK = 1; + public const int CHAT_MODE_SHOUT = 2; + public const int CHAT_MODE_WHISPER = 3; + public const int CHAT_MODE_TELL = 4; + public const int CHAT_MODE_SERVER = 5; + public const int CHAT_MODE_PARTY = 6; + public const int CHAT_MODE_SILENT_SHOUT = 14; + + + public const string sLanguage = "nwscript"; + + // + // End NWScript.nss constants. + // + + } +} diff --git a/NWScriptSupport.cs b/NWScriptSupport.cs new file mode 100644 index 0000000..d7704dc --- /dev/null +++ b/NWScriptSupport.cs @@ -0,0 +1,1343 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Reflection; +using System.Reflection.Emit; +using NWScript; +using NWScript.ManagedInterfaceLayer.NWScriptManagedInterface; + +using NWEffect = NWScript.NWScriptEngineStructure0; +using NWEvent = NWScript.NWScriptEngineStructure1; +using NWLocation = NWScript.NWScriptEngineStructure2; +using NWTalent = NWScript.NWScriptEngineStructure3; +using NWItemProperty = NWScript.NWScriptEngineStructure4; + +namespace NWScript +{ + /// + /// This attribute class tags a field as a "NWScript global", which is + /// automatically saved and restored across script situation continuations. + /// + /// Only fields that are of type Int32 ("int"), UInt32 ("object"), + /// Single ("float"), or engine structure types, may be declared as + /// NWScript globals. + /// + [System.AttributeUsage(System.AttributeTargets.Field)] + public class NWScriptGlobal : System.Attribute + { + public NWScriptGlobal() + { + } + } +} + +namespace CLRScriptFramework +{ + + public interface ICLRScriptImplementation + { + /// + /// This helper function saves the value of all 'globals' to an object + /// array for use with storing a saved state (e.g. a script situation). + /// + /// A list of global variables, to be restored by a future + /// call to LoadScriptGlobals. + object[] SaveScriptGlobals(); + + /// + /// This function represents the user's main script entrypoint symbol. + /// + /// Supplies the argument vector for the + /// script. + /// Supplies the requested default + /// return code if the script does not wish to specify a specific + /// return code. + /// + Int32 ScriptMain([In] object[] ScriptParameters, [In] Int32 DefaultReturnCode); + + /// + /// This routine is invoked when the script context is being cloned for + /// the creation of a script situation. Its purpose is to create a new + /// SampleManagedNWScript object and transfer any state desired to the + /// new script object. + /// + /// The cloned script object is returned. + IGeneratedScriptProgram CloneScriptProgram(); + } + + /// + /// This partial implementation of the sample script includes wrappers for + /// the high level NWScript functions. You should include the wrappers in + /// your script object type. + /// + public partial class CLRScriptBase + { + + /// + /// The following field is the "self" constant for use within the + /// script. + /// + public UInt32 OBJECT_SELF; + + /// + /// The following constant is the "invalid" object id constant for use + /// within the script. + /// + public const UInt32 OBJECT_INVALID = ManagedNWScript.OBJECT_INVALID; + + + + /// + /// This datatype wraps the concept of an "action" datatype in NWScript, that + /// is, a continued execution context. + /// + /// + public delegate void NWAction(); + + /// + /// This table is used to track pending action delegates for resume. + /// It should not be used by user code. + /// + protected static Dictionary ActionDelegateTable = new Dictionary(); + + /// + /// This variable tracks the next available resume method id for an + /// action delegate. It should not be used by user code. + /// + protected static UInt32 NextActionDelegateId = 0; + + + /// + /// The ManagedNWScript object represents the high level script API + /// that is used to interface with the host program. + /// + public ManagedNWScript ScriptHost; + + /// + /// The following list describes the set of 'global variables' that are + /// automatically saved and restored across script situations. + /// + protected static List GlobalFields; + + /// + /// The following script program object can optionally be set to + /// delegate unrecognized script situation ids. This capability can be + /// useful if, for example, we want to call a NWScript script that sets + /// up its own script situations. In that case, we would need to be + /// able to dispatch those script situation resumes on the right script + /// object. + /// + public IGeneratedScriptProgram DelegateScriptObject = null; + + /// + /// This routine sets up a saved script situation for a store state + /// request. + /// + /// Supplies the action delegate to save for later + /// execution. + protected void InternalSaveStateForAction(NWAction Action) + { + // + // Insert the delegate into the resume method table. The resume + // method ID is used to look up the delegate when we are entered to + // resume a script situation. + // + // Script situation IDs created by CLR script code always have the + // top bit set. Conversely, script situation IDs that are used by + // JIT'd NWScript scripts don't have this bit set. This allows the + // resume dispatcher to distinguish between the two. + // + + UInt32 ResumeMethodId = NextActionDelegateId++ | 0x80000000; + + ActionDelegateTable[ResumeMethodId] = Action; + + // + // Now clone the script program, save off global variables, and + // package the script program object's state into the VM stack for + // later execution. + // + // No local variables are stored presently, as we use the CLR state + // retained within the delegate object itself. Note that this + // precludes restoring a script situation from a saved game. + // + // N.B. A non-zero resume PC must be set. Otherwise, the NWScript + // runtime environment may not recognize that this is a + // resume from a script situation, versus an invocation at + // the entry point. + // + + ICLRScriptImplementation ScriptImplementation = (ICLRScriptImplementation)this; + + ScriptHost.Host.Intrinsic_StoreState(ScriptImplementation.SaveScriptGlobals(), null, 1, ResumeMethodId, ScriptImplementation.CloneScriptProgram()); + } + + /// + /// This routine is invoked to dispatch a script situation to its + /// associated delegate. It should be called from the main + /// ExecuteScriptSituation handler. + /// + /// Script situations dispatched via this method do NOT support loading + /// of saved games! + /// + /// Supplies the ScriptSituationId that + /// was provided to the initial StoreState request, which is intended + /// to uniquely identify the site within which the script situation was + /// created. + /// Supplies an array of local variables that were + /// provided to the initial StoreState request. The locals may only + /// include standard NWScript types (Int32, UInt32, Single, and engine + /// structures). + /// Supplies the "OBJECT_SELF" object id of + /// the object that the script is being executed over. This may be the + /// invalid object id (Script.OBJECT_INVALID) if no object is + /// associated with the execute script request. + public void DispatchExecuteScriptSituation([In] UInt32 ScriptSituationId, [In] object[] Locals, [In] UInt32 ObjectSelf) + { + UInt32 OldOBJECT_SELF = OBJECT_SELF; + + // + // If this was a script situation set up by CLR script code, run + // the delegate. + // + + if ((ScriptSituationId & 0x80000000) != 0) + { + // + // Assign a new OBJECT_SELF temporarily, for the invocation, and + // dispatch to the delegate. + // + + try + { + OBJECT_SELF = ObjectSelf; + ActionDelegateTable[ScriptSituationId].Invoke(); + } + finally + { + OBJECT_SELF = OldOBJECT_SELF; + ActionDelegateTable.Remove(ScriptSituationId); + } + } + else if (DelegateScriptObject != null) + { + // + // This is a script situation setup by NWScript code and we + // have established a delegate script object (which is expected + // to be a NWScript script object). Dispatch the request on + // the delegate script object. + // + + DelegateScriptObject.ExecuteScriptSituation(ScriptSituationId, Locals, ObjectSelf); + } + else + { + throw new ApplicationException("Unable to dispatch script situation " + ScriptSituationId); + } + } + + /// + /// This routine creates a default engine structure of type NWEffect. + /// + /// The default value engine structure is returned. + public NWEffect GetDefaultNWEffect() + { + return ScriptHost.Intrinsics.Intrinsic_CreateEngineStructure0(); + } + + /// + /// This routine compares two engine structures of type NWEffect for + /// equality. + /// + /// Supplies the first engine structure. + /// Supplies the second engine structure. + /// The routine returns true of the engine structures are + /// logically equal. + public bool EqualNWEffects(NWEffect Effect1, NWEffect Effect2) + { + return ScriptHost.Intrinsics.Intrinsic_CompareEngineStructure0(Effect1, Effect2); + } + + /// + /// This routine creates a default engine structure of type NWEvent. + /// + /// The default value engine structure is returned. + public NWEvent GetDefaultNWEvent() + { + return ScriptHost.Intrinsics.Intrinsic_CreateEngineStructure1(); + } + + /// + /// This routine compares two engine structures of type NWEvent for + /// equality. + /// + /// Supplies the first engine structure. + /// Supplies the second engine structure. + /// The routine returns true of the engine structures are + /// logically equal. + public bool EqualNWEvents(NWEvent Event1, NWEvent Event2) + { + return ScriptHost.Intrinsics.Intrinsic_CompareEngineStructure1(Event1, Event2); + } + + /// + /// This routine creates a default engine structure of type NWLocation. + /// + /// The default value engine structure is returned. + public NWLocation GetDefaultNWLocation() + { + return ScriptHost.Intrinsics.Intrinsic_CreateEngineStructure2(); + } + + /// + /// This routine compares two engine structures of type NWLocation for + /// equality. + /// + /// Supplies the first engine structure. + /// Supplies the second engine structure. + /// The routine returns true of the engine structures are + /// logically equal. + public bool EqualNWLocations(NWLocation Location1, NWLocation Location2) + { + return ScriptHost.Intrinsics.Intrinsic_CompareEngineStructure2(Location1, Location2); + } + + /// + /// This routine creates a default engine structure of type NWTalent. + /// + /// The default value engine structure is returned. + public NWTalent GetDefaultNWTalent() + { + return ScriptHost.Intrinsics.Intrinsic_CreateEngineStructure3(); + } + + /// + /// This routine compares two engine structures of type NWTalent for + /// equality. + /// + /// Supplies the first engine structure. + /// Supplies the second engine structure. + /// The routine returns true of the engine structures are + /// logically equal. + public bool EqualNWTalents(NWTalent Talent1, NWTalent Talent2) + { + return ScriptHost.Intrinsics.Intrinsic_CompareEngineStructure3(Talent1, Talent2); + } + + /// + /// This routine creates a default engine structure of type NWItemProperty. + /// + /// The default value engine structure is returned. + public NWItemProperty GetDefaultNWItemProperty() + { + return ScriptHost.Intrinsics.Intrinsic_CreateEngineStructure4(); + } + + /// + /// This routine compares two engine structures of type NWItemProperty + /// for equality. + /// + /// Supplies the first engine structure. + /// Supplies the second engine structure. + /// The routine returns true of the engine structures are + /// logically equal. + public bool EqualNWItemProperties(NWItemProperty ItemProperty1, NWItemProperty ItemProperty2) + { + return ScriptHost.Intrinsics.Intrinsic_CompareEngineStructure4(ItemProperty1, ItemProperty2); + } + + /// + /// This function is called from the user's constructor. Its purpose + /// is to initialize internal library support data. + /// + /// Supplies the JIT intrinsics interface that + /// is used to interface with various engine structure constructs. + /// Supplies the JIT host program interface that is + /// used to interface with the host program. + protected void InitScript(NWScriptJITIntrinsics Intrinsics, INWScriptProgram Host) + { + // + // Create a managed script interface object and hand over control + // of the host and intrinsics interfaces. + // + // Most operations should use the managed interface wrapper and not + // the raw intrinsics or host object methods. + // + + ScriptHost = new ManagedNWScript(Intrinsics, Host); + + // + // Discover the list of global variables associated with the + // script, and set default values for globals that cannot be null. + // + + InitGlobals(); + + // + // Set the default OBJECT_SELF value up. + // + + OBJECT_SELF = OBJECT_INVALID; + } + + /// + /// This function is called from the user's copy constructor. Its + /// purpose is to initialize internal library support data. + /// + /// Supplies true if owned characters + /// should be returned instead of active characters. + /// The enumerator is returned. + public PlayerEnumeratorHelper GetPlayers(bool IsOwnedCharacter) + { + return new PlayerEnumeratorHelper(this, IsOwnedCharacter); + } + + /// + /// This provides an IEnumerator for objects present in an area. + /// + public class AreaObjectEnumerator : IEnumerator + { + public AreaObjectEnumerator(uint ObjectId, CLRScriptBase TheScript) + { + Area = ObjectId; + Script = TheScript; + Reset(); + } + + public void Dispose() { } + + public bool MoveNext() + { + if (IsReset) + CurrentItem = Script.GetFirstObjectInArea(Area); + else + CurrentItem = Script.GetNextObjectInArea(Area); + + IsReset = false; + + return CurrentItem != OBJECT_INVALID; + } + + public void Reset() + { + IsReset = true; + } + + public uint Current { get { return CurrentItem; } } + + object IEnumerator.Current { get { return CurrentItem; } } + + protected CLRScriptBase Script; + protected bool IsReset = true; + protected UInt32 Area; + protected UInt32 CurrentItem; + } + + public class AreaObjectEnumeratorHelper : IEnumerable + { + public AreaObjectEnumeratorHelper(uint ObjectId, CLRScriptBase TheScript) + { + Area = ObjectId; + Script = TheScript; + } + + public IEnumerator GetEnumerator() { return new AreaObjectEnumerator(Area, Script); } + IEnumerator IEnumerable.GetEnumerator() { return new AreaObjectEnumerator(Area, Script); } + + protected CLRScriptBase Script; + protected UInt32 Area; + } + + /// + /// This routine returns an enumerator for objects in an area. + /// + /// Supplies the area object. + /// The enumerator is returned. + public AreaObjectEnumeratorHelper GetObjectsInArea(uint AreaObject) + { + return new AreaObjectEnumeratorHelper(AreaObject, this); + } + + /// + /// This provides an IEnumerator for objects present in a container. + /// + public class ContainerObjectEnumerator : IEnumerator + { + public ContainerObjectEnumerator(uint ObjectId, CLRScriptBase TheScript) + { + Container = ObjectId; + Script = TheScript; + Reset(); + } + + public void Dispose() { } + + public bool MoveNext() + { + if (IsReset) + CurrentItem = Script.GetFirstItemInInventory(Container); + else + CurrentItem = Script.GetNextItemInInventory(Container); + + IsReset = false; + + return CurrentItem != OBJECT_INVALID; + } + + public void Reset() + { + IsReset = true; + } + + public uint Current { get { return CurrentItem; } } + + object IEnumerator.Current { get { return CurrentItem; } } + + protected CLRScriptBase Script; + protected bool IsReset = true; + protected UInt32 Container; + protected UInt32 CurrentItem; + } + + public class ContainerObjectEnumeratorHelper : IEnumerable + { + public ContainerObjectEnumeratorHelper(uint ObjectId, CLRScriptBase TheScript) + { + Container = ObjectId; + Script = TheScript; + } + + public IEnumerator GetEnumerator() { return new ContainerObjectEnumerator(Container, Script); } + IEnumerator IEnumerable.GetEnumerator() { return new ContainerObjectEnumerator(Container, Script); } + + protected CLRScriptBase Script; + protected UInt32 Container; + } + + /// + /// This routine returns an enumerator for objects in a container. + /// + /// The enumerator is returned. + public ContainerObjectEnumeratorHelper GetObjectsInContainer(uint ContainerObject) + { + return new ContainerObjectEnumeratorHelper(ContainerObject, this); + } + + /// + /// This provides an IEnumerator for objects present in a faction. + /// + public class FactionObjectEnumerator : IEnumerator + { + public FactionObjectEnumerator(uint ObjectId, bool IsPCOnly, CLRScriptBase TheScript) + { + FactionMember = ObjectId; + PCOnly = IsPCOnly; + Script = TheScript; + Reset(); + } + + public void Dispose() { } + + public bool MoveNext() + { + if (IsReset) + CurrentItem = Script.GetFirstFactionMember(FactionMember, PCOnly ? TRUE : FALSE); + else + CurrentItem = Script.GetNextFactionMember(FactionMember, PCOnly ? TRUE : FALSE); + + IsReset = false; + + return CurrentItem != OBJECT_INVALID; + } + + public void Reset() + { + IsReset = true; + } + + public uint Current { get { return CurrentItem; } } + + object IEnumerator.Current { get { return CurrentItem; } } + + protected CLRScriptBase Script; + protected bool IsReset = true; + protected UInt32 FactionMember; + protected bool PCOnly; + protected UInt32 CurrentItem; + } + + public class FactionObjectEnumeratorHelper : IEnumerable + { + public FactionObjectEnumeratorHelper(uint ObjectId, bool IsPCOnly, CLRScriptBase TheScript) + { + FactionMember = ObjectId; + PCOnly = IsPCOnly; + Script = TheScript; + } + + public IEnumerator GetEnumerator() { return new FactionObjectEnumerator(FactionMember, PCOnly, Script); } + IEnumerator IEnumerable.GetEnumerator() { return new FactionObjectEnumerator(FactionMember, PCOnly, Script); } + + protected CLRScriptBase Script; + protected UInt32 FactionMember; + protected bool PCOnly; + } + + /// + /// This routine returns an enumerator for objects in a faction. + /// + /// Supplies a member of the faction to + /// enumerate. + /// Supplies true if only PCs are to be returned. + /// The enumerator is returned. + public FactionObjectEnumeratorHelper GetObjectsInFaction(uint FactionMember, bool PCOnly) + { + return new FactionObjectEnumeratorHelper(FactionMember, PCOnly, this); + } + + /// + /// This provides an IEnumerator for subareas overlapping a position. + /// + public class AreaSubAreaEnumerator : IEnumerator + { + public AreaSubAreaEnumerator(uint ObjectId, Vector3 ThePosition, CLRScriptBase TheScript) + { + Area = ObjectId; + Position = ThePosition; + Script = TheScript; + Reset(); + } + + public void Dispose() { } + + public bool MoveNext() + { + if (IsReset) + CurrentItem = Script.GetFirstSubArea(Area, Position); + else + CurrentItem = Script.GetNextSubArea(Area); + + IsReset = false; + + return CurrentItem != OBJECT_INVALID; + } + + public void Reset() + { + IsReset = true; + } + + public uint Current { get { return CurrentItem; } } + + object IEnumerator.Current { get { return CurrentItem; } } + + protected CLRScriptBase Script; + protected bool IsReset = true; + protected UInt32 Area; + protected Vector3 Position; + protected UInt32 CurrentItem; + } + + public class AreaSubAreaEnumeratorHelper : IEnumerable + { + public AreaSubAreaEnumeratorHelper(uint ObjectId, Vector3 ThePosition, CLRScriptBase TheScript) + { + Area = ObjectId; + Position = ThePosition; + Script = TheScript; + } + + public IEnumerator GetEnumerator() { return new AreaSubAreaEnumerator(Area, Position, Script); } + IEnumerator IEnumerable.GetEnumerator() { return new AreaSubAreaEnumerator(Area, Position, Script); } + + protected CLRScriptBase Script; + protected UInt32 Area; + protected Vector3 Position; + } + + /// + /// This routine routines an enumerator for subareas overlapping a + /// position. + /// + /// Supplies the area object. + /// Supplies the position in the area to + /// enumerate overlapping subareas of. + /// The enumerator is returned. + public AreaSubAreaEnumeratorHelper GetSubAreas(uint AreaObject, Vector3 Position) + { + return new AreaSubAreaEnumeratorHelper(AreaObject, Position, this); + } + + /// + /// This provides an IEnumerator for objects in a persistent object. + /// + public class PersistentObjectEnumerator : IEnumerator + { + public PersistentObjectEnumerator(uint ObjectId, int TheResidentObjectType, int ThePersistentZone, CLRScriptBase TheScript) + { + PersistentObject = ObjectId; + ResidentObjectType = TheResidentObjectType; + PersistentZone = ThePersistentZone; + Script = TheScript; + Reset(); + } + + public void Dispose() { } + + public bool MoveNext() + { + if (IsReset) + CurrentItem = Script.GetFirstInPersistentObject(PersistentObject, ResidentObjectType, PersistentZone); + else + CurrentItem = Script.GetNextInPersistentObject(PersistentObject, ResidentObjectType, PersistentZone); + + IsReset = false; + + return CurrentItem != OBJECT_INVALID; + } + + public void Reset() + { + IsReset = true; + } + + public uint Current { get { return CurrentItem; } } + + object IEnumerator.Current { get { return CurrentItem; } } + + protected CLRScriptBase Script; + protected bool IsReset = true; + protected UInt32 PersistentObject; + protected int ResidentObjectType; + protected int PersistentZone; + protected UInt32 CurrentItem; + } + + public class PersistentObjectEnumeratorHelper : IEnumerable + { + public PersistentObjectEnumeratorHelper(uint ObjectId, int TheResidentObjectType, int ThePersistentZone, CLRScriptBase TheScript) + { + PersistentObject = ObjectId; + ResidentObjectType = TheResidentObjectType; + PersistentZone = ThePersistentZone; + Script = TheScript; + } + + public IEnumerator GetEnumerator() { return new PersistentObjectEnumerator(PersistentObject, ResidentObjectType, PersistentZone, Script); } + IEnumerator IEnumerable.GetEnumerator() { return new PersistentObjectEnumerator(PersistentObject, ResidentObjectType, PersistentZone, Script); } + + protected CLRScriptBase Script; + protected UInt32 PersistentObject; + protected int ResidentObjectType; + protected int PersistentZone; + } + + /// + /// This routine routines an enumerator for objects in a persistent + /// object. + /// + /// Supplies the persistent object. + /// Supplies the object type(s) to + /// query. + /// Supplies the persistent zone + /// (PERSISTENT_ZONE_ACTIVE, PERSISTENT_ZONE_FOLLOW). + /// The enumerator is returned. + public PersistentObjectEnumeratorHelper GetObjectsInPersistentObject(uint PersistentObject, int ResidentObjectType, int PersistentZone) + { + return new PersistentObjectEnumeratorHelper(PersistentObject, ResidentObjectType, PersistentZone, this); + } + + /// + /// This provides an IEnumerator for objects in a shape. + /// + public class ObjectInShapeEnumerator : IEnumerator + { + public ObjectInShapeEnumerator(int TheShape, float TheSize, NWLocation TheLocation, bool IsLineOfSight, int TheObjectFilter, Vector3 TheOrigin, CLRScriptBase TheScript) + { + Shape = TheShape; + Size = TheSize; + Location = TheLocation; + LineOfSight = IsLineOfSight; + ObjectFilter = TheObjectFilter; + Origin = TheOrigin; + Script = TheScript; + Reset(); + } + + public void Dispose() { } + + public bool MoveNext() + { + if (IsReset) + CurrentItem = Script.GetFirstObjectInShape(Shape, Size, Location, LineOfSight ? TRUE : FALSE, ObjectFilter, Origin); + else + CurrentItem = Script.GetNextObjectInShape(Shape, Size, Location, LineOfSight ? TRUE : FALSE, ObjectFilter, Origin); + + IsReset = false; + + return CurrentItem != OBJECT_INVALID; + } + + public void Reset() + { + IsReset = true; + } + + public uint Current { get { return CurrentItem; } } + + object IEnumerator.Current { get { return CurrentItem; } } + + protected CLRScriptBase Script; + protected bool IsReset = true; + protected int Shape; + protected float Size; + protected NWLocation Location; + protected bool LineOfSight; + protected int ObjectFilter; + protected Vector3 Origin; + protected UInt32 CurrentItem; + } + + public class ObjectInShapeEnumeratorHelper : IEnumerable + { + public ObjectInShapeEnumeratorHelper(int TheShape, float TheSize, NWLocation TheLocation, bool IsLineOfSight, int TheObjectFilter, Vector3 TheOrigin, CLRScriptBase TheScript) + { + Shape = TheShape; + Size = TheSize; + Location = TheLocation; + LineOfSight = IsLineOfSight; + ObjectFilter = TheObjectFilter; + Origin = TheOrigin; + Script = TheScript; + } + + public IEnumerator GetEnumerator() { return new ObjectInShapeEnumerator(Shape, Size, Location, LineOfSight, ObjectFilter, Origin, Script); } + IEnumerator IEnumerable.GetEnumerator() { return new ObjectInShapeEnumerator(Shape, Size, Location, LineOfSight, ObjectFilter, Origin, Script); } + + protected CLRScriptBase Script; + protected int Shape; + protected float Size; + protected NWLocation Location; + protected bool LineOfSight; + protected int ObjectFilter; + protected Vector3 Origin; + } + + /// + /// This routine routines an enumerator for objects in a shape. + /// + /// Supplies the shape (SHAPE_*). + /// Supplies the size of the shape. + /// Supplies the location of the shape. + /// Supplies true if only line of sight from + /// OBJECT_SELF is to be considered. + /// Supplies the object type filter mask. + /// + /// Supplies the origin of the shape. + /// The enumerator is returned. + public ObjectInShapeEnumeratorHelper GetObjectsInShape(int Shape, float Size, NWLocation Location, bool LineOfSight, int ObjectFilter, Vector3 Origin) + { + return new ObjectInShapeEnumeratorHelper(Shape, Size, Location, LineOfSight, ObjectFilter, Origin, this); + } + + /// + /// This provides an IEnumerator for effects attached to an object. + /// + public class ObjectEffectEnumerator : IEnumerator + { + public ObjectEffectEnumerator(uint ObjectId, CLRScriptBase TheScript) + { + TheObject = ObjectId; + Script = TheScript; + Reset(); + } + + public void Dispose() { } + + public bool MoveNext() + { + if (IsReset) + CurrentItem = Script.GetFirstEffect(TheObject); + else + CurrentItem = Script.GetNextEffect(TheObject); + + IsReset = false; + + return Script.GetIsEffectValid(CurrentItem) != FALSE; + } + + public void Reset() + { + IsReset = true; + } + + public NWEffect Current { get { return CurrentItem; } } + + object IEnumerator.Current { get { return CurrentItem; } } + + protected CLRScriptBase Script; + protected bool IsReset = true; + protected UInt32 TheObject; + protected NWEffect CurrentItem; + } + + public class ObjectEffectEnumeratorHelper : IEnumerable + { + public ObjectEffectEnumeratorHelper(uint ObjectId, CLRScriptBase TheScript) + { + TheObject = ObjectId; + Script = TheScript; + } + + public IEnumerator GetEnumerator() { return new ObjectEffectEnumerator(TheObject, Script); } + IEnumerator IEnumerable.GetEnumerator() { return new ObjectEffectEnumerator(TheObject, Script); } + + protected CLRScriptBase Script; + protected UInt32 TheObject; + } + + /// + /// This routine routines an enumerator for effects on an object. + /// + /// Supplies the object id to query. + /// The enumerator is returned. + public ObjectEffectEnumeratorHelper GetObjectEffects(uint ObjectId) + { + return new ObjectEffectEnumeratorHelper(ObjectId, this); + } + + /// + /// This provides an IEnumerator for item properties attached to an + /// object. + /// + public class ObjectItemPropertyEnumerator : IEnumerator + { + public ObjectItemPropertyEnumerator(uint ObjectId, CLRScriptBase TheScript) + { + TheObject = ObjectId; + Script = TheScript; + Reset(); + } + + public void Dispose() { } + + public bool MoveNext() + { + if (IsReset) + CurrentItem = Script.GetFirstItemProperty(TheObject); + else + CurrentItem = Script.GetNextItemProperty(TheObject); + + IsReset = false; + + return Script.GetIsItemPropertyValid(CurrentItem) != FALSE; + } + + public void Reset() + { + IsReset = true; + } + + public NWItemProperty Current { get { return CurrentItem; } } + + object IEnumerator.Current { get { return CurrentItem; } } + + protected CLRScriptBase Script; + protected bool IsReset = true; + protected UInt32 TheObject; + protected NWItemProperty CurrentItem; + } + + public class ObjectItemPropertyEnumeratorHelper : IEnumerable + { + public ObjectItemPropertyEnumeratorHelper(uint ObjectId, CLRScriptBase TheScript) + { + TheObject = ObjectId; + Script = TheScript; + } + + public IEnumerator GetEnumerator() { return new ObjectItemPropertyEnumerator(TheObject, Script); } + IEnumerator IEnumerable.GetEnumerator() { return new ObjectItemPropertyEnumerator(TheObject, Script); } + + protected CLRScriptBase Script; + protected UInt32 TheObject; + } + + /// + /// This routine routines an enumerator for item properties on an item. + /// + /// Supplies the item object to query. + /// The enumerator is returned. + public ObjectItemPropertyEnumeratorHelper GetItemPropertiesOnItem(uint ItemObject) + { + return new ObjectItemPropertyEnumeratorHelper(ItemObject, this); + } + + /// + /// This provides an IEnumerator for entering players. + /// + public class EnteringPlayerEnumerator : IEnumerator + { + public EnteringPlayerEnumerator(CLRScriptBase TheScript) + { + Script = TheScript; + Reset(); + } + + public void Dispose() { } + + public bool MoveNext() + { + if (IsReset) + CurrentItem = Script.GetFirstEnteringPC(); + else + CurrentItem = Script.GetNextEnteringPC(); + + IsReset = false; + + return CurrentItem != OBJECT_INVALID; + } + + public void Reset() + { + IsReset = true; + } + + public uint Current { get { return CurrentItem; } } + + object IEnumerator.Current { get { return CurrentItem; } } + + protected CLRScriptBase Script; + protected bool IsReset = true; + protected UInt32 CurrentItem; + } + + public class EnteringPlayerEnumeratorHelper : IEnumerable + { + public EnteringPlayerEnumeratorHelper(CLRScriptBase TheScript) + { + Script = TheScript; + } + + public IEnumerator GetEnumerator() { return new EnteringPlayerEnumerator(Script); } + IEnumerator IEnumerable.GetEnumerator() { return new EnteringPlayerEnumerator(Script); } + + protected CLRScriptBase Script; + } + + /// + /// This routine routines an enumerator for entering players. + /// + /// The enumerator is returned. + public EnteringPlayerEnumeratorHelper GetEnteringPlayers() + { + return new EnteringPlayerEnumeratorHelper(this); + } + + /// + /// This provides an IEnumerator for roster members. + /// + public class RosterMemberEnumerator : IEnumerator + { + public RosterMemberEnumerator(CLRScriptBase TheScript) + { + Script = TheScript; + Reset(); + } + + public void Dispose() { } + + public bool MoveNext() + { + if (IsReset) + CurrentItem = Script.GetFirstRosterMember(); + else + CurrentItem = Script.GetNextRosterMember(); + + IsReset = false; + + return CurrentItem != ""; + } + + public void Reset() + { + IsReset = true; + } + + public string Current { get { return CurrentItem; } } + + object IEnumerator.Current { get { return CurrentItem; } } + + protected CLRScriptBase Script; + protected bool IsReset = true; + protected string CurrentItem; + } + + public class RosterMemberEnumeratorHelper : IEnumerable + { + public RosterMemberEnumeratorHelper(CLRScriptBase TheScript) + { + Script = TheScript; + } + + public IEnumerator GetEnumerator() { return new RosterMemberEnumerator(Script); } + IEnumerator IEnumerable.GetEnumerator() { return new RosterMemberEnumerator(Script); } + + protected CLRScriptBase Script; + } + + /// + /// This routine routines an enumerator for roster members. + /// + /// The enumerator is returned. + public RosterMemberEnumeratorHelper GetRosterMembers() + { + return new RosterMemberEnumeratorHelper(this); + } + + /// + /// This function sets up global variable support. It discovers a list + /// of all fields that have been attributed with the [NWScriptGlobal] + /// attribution on the current class. Its purpose is to allow for + /// automatic save and restore of these values across a script situation. + /// + protected void InitGlobals() + { + Type ThisType = GetType(); + bool CreateGlobalFields = true; + + if (GlobalFields == null) + GlobalFields = new List(); + else + CreateGlobalFields = false; + + foreach (FieldInfo Field in ThisType.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)) + { + if (Field.GetCustomAttributes(typeof(NWScriptGlobal), false).Length == 0) + continue; + + if (CreateGlobalFields) + { + // + // Verify that a valid type was specified for all globals. + // If not, complain in the server log. + // + + if (!IsValidNWScriptType(Field.FieldType)) + { + WriteTimestampedLogEntry(String.Format("{0}.InitGlobals: {0}.{1} is has an invalid type ({2}) for a [NWScriptGlobal].", GetType().FullName, Field.Name, Field.FieldType.FullName)); + } + else + { + GlobalFields.Add(Field); + } + } + + // + // Default initialize fields that may not be null. + // + + if (Field.GetValue(this) != null) + continue; + + if (Field.FieldType == typeof(string)) + Field.SetValue(this, ""); + else if (Field.FieldType == typeof(NWScriptEngineStructure0)) + Field.SetValue(this, ScriptHost.Intrinsics.Intrinsic_CreateEngineStructure0()); + else if (Field.FieldType == typeof(NWScriptEngineStructure1)) + Field.SetValue(this, ScriptHost.Intrinsics.Intrinsic_CreateEngineStructure1()); + else if (Field.FieldType == typeof(NWScriptEngineStructure2)) + Field.SetValue(this, ScriptHost.Intrinsics.Intrinsic_CreateEngineStructure2()); + else if (Field.FieldType == typeof(NWScriptEngineStructure3)) + Field.SetValue(this, ScriptHost.Intrinsics.Intrinsic_CreateEngineStructure3()); + else if (Field.FieldType == typeof(NWScriptEngineStructure4)) + Field.SetValue(this, ScriptHost.Intrinsics.Intrinsic_CreateEngineStructure4()); + else if (Field.FieldType == typeof(NWScriptEngineStructure5)) + Field.SetValue(this, ScriptHost.Intrinsics.Intrinsic_CreateEngineStructure5()); + else if (Field.FieldType == typeof(NWScriptEngineStructure6)) + Field.SetValue(this, ScriptHost.Intrinsics.Intrinsic_CreateEngineStructure6()); + else if (Field.FieldType == typeof(NWScriptEngineStructure7)) + Field.SetValue(this, ScriptHost.Intrinsics.Intrinsic_CreateEngineStructure7()); + else if (Field.FieldType == typeof(NWScriptEngineStructure8)) + Field.SetValue(this, ScriptHost.Intrinsics.Intrinsic_CreateEngineStructure8()); + else if (Field.FieldType == typeof(NWScriptEngineStructure9)) + Field.SetValue(this, ScriptHost.Intrinsics.Intrinsic_CreateEngineStructure9()); + } + } + + /// + /// This routine determines whether a particular type represents a + /// legal NWScript type. Only legal NWScript types can be used in + /// NWScriptGlobal attributed variables. + /// + /// Supplies the type to inquire + /// about. + /// True if the type is a legal NWScript type. + protected bool IsValidNWScriptType(Type ObjectType) + { + if (ObjectType == typeof(Int32)) + return true; + else if (ObjectType == typeof(UInt32)) + return true; + else if (ObjectType == typeof(Single)) + return true; + else if (ObjectType == typeof(string)) + return true; + else if (ObjectType == typeof(NWScriptEngineStructure0)) + return true; + else if (ObjectType == typeof(NWScriptEngineStructure1)) + return true; + else if (ObjectType == typeof(NWScriptEngineStructure2)) + return true; + else if (ObjectType == typeof(NWScriptEngineStructure3)) + return true; + else if (ObjectType == typeof(NWScriptEngineStructure4)) + return true; + else if (ObjectType == typeof(NWScriptEngineStructure5)) + return true; + else if (ObjectType == typeof(NWScriptEngineStructure6)) + return true; + else if (ObjectType == typeof(NWScriptEngineStructure7)) + return true; + else if (ObjectType == typeof(NWScriptEngineStructure8)) + return true; + else if (ObjectType == typeof(NWScriptEngineStructure9)) + return true; + else + return false; + } + + + } +} + diff --git a/NativeScriptUtil.exe b/NativeScriptUtil.exe new file mode 100644 index 0000000000000000000000000000000000000000..727bcfbd6d8d78c5f24fbeb683306e0466067738 GIT binary patch literal 132608 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 literal 0 HcmV?d00001 diff --git a/PackageScript.cmd b/PackageScript.cmd new file mode 100644 index 0000000..9f17704 --- /dev/null +++ b/PackageScript.cmd @@ -0,0 +1,5 @@ +@echo off + +echo Packaging %1 into %2... + +%~dp0\NativeScriptUtil.exe -i %1 -o %2 -q diff --git a/README.md b/README.md new file mode 100644 index 0000000..2298614 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Learning AI for NWN2 \ No newline at end of file diff --git a/nwn2_ai_onmoduleload/.gitignore b/nwn2_ai_onmoduleload/.gitignore new file mode 100644 index 0000000..cbbd0b5 --- /dev/null +++ b/nwn2_ai_onmoduleload/.gitignore @@ -0,0 +1,2 @@ +bin/ +obj/ \ No newline at end of file diff --git a/nwn2_ai_onmoduleload/Properties/AssemblyInfo.cs b/nwn2_ai_onmoduleload/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..b91f9a9 --- /dev/null +++ b/nwn2_ai_onmoduleload/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("nwn2_ai_onmoduleload")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("nwn2_ai_onmoduleload")] +[assembly: AssemblyCopyright("Copyright © 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("39b94a55-b8d7-4a59-846e-fabeeb3bc3cc")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/nwn2_ai_onmoduleload/StandardEntrypoints.cs b/nwn2_ai_onmoduleload/StandardEntrypoints.cs new file mode 100644 index 0000000..24fb471 --- /dev/null +++ b/nwn2_ai_onmoduleload/StandardEntrypoints.cs @@ -0,0 +1,150 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Reflection; +using System.Reflection.Emit; +using CLRScriptFramework; +using NWScript; +using NWScript.ManagedInterfaceLayer.NWScriptManagedInterface; + +using NWEffect = NWScript.NWScriptEngineStructure0; +using NWEvent = NWScript.NWScriptEngineStructure1; +using NWLocation = NWScript.NWScriptEngineStructure2; +using NWTalent = NWScript.NWScriptEngineStructure3; +using NWItemProperty = NWScript.NWScriptEngineStructure4; + +namespace CLRScript +{ + public partial class nwn2_ai_onmoduleload : CLRScriptBase, ICLRScriptImplementation + { + + /// + /// This helper function saves the value of all 'globals' to an object + /// array for use with storing a saved state (e.g. a script situation). + /// + /// A list of global variables, to be restored by a future + /// call to LoadScriptGlobals. + public object[] SaveScriptGlobals() + { + object[] Globals = new object[GlobalFields.Count]; + + int i = 0; + + foreach (FieldInfo Field in GlobalFields) + { + Globals[i] = Field.GetValue(this); + i += 1; + } + + return Globals; + } + + /// + /// This routine is the main entry point symbol for the script. It is + /// invoked when the packaged script is executed. + /// + /// Supplies the "OBJECT_SELF" object id of + /// the object that the script is being executed over. This may be the + /// invalid object id (Script.OBJECT_INVALID) if no object is + /// associated with the execute script request. + /// Supplies the parameter values for + /// the script. If the type deriving from IGeneratedScriptProgram + /// declares a ScriptParameterTypes public field, then parameters may + /// be passed in via this array (in which case the parameter types + /// have already been converted and validated). Otherwise, no + /// arguments are provided. + /// Supplies the requested default + /// return code to use if the script is a "main"-style script that + /// would not conventionally return a value. + /// + public Int32 ExecuteScript([In] UInt32 ObjectSelf, [In] object[] ScriptParameters, [In] Int32 DefaultReturnCode) + { + UInt32 OldOBJECT_SELF = ObjectSelf; + int ReturnCode; + + try + { + OBJECT_SELF = ObjectSelf; + ReturnCode = ScriptMain(ScriptParameters, DefaultReturnCode); + } + finally + { + OBJECT_SELF = OldOBJECT_SELF; + } + + return ReturnCode; + } + + /// + /// This routine is invoked when a script situation created by the + /// script is resumed for execution (for example, a DelayCommand + /// continuation). Its purpose is to perform the appropriate resume + /// action for this continuation. + /// + /// Note that a script situation may be resumed after the original + /// script object has been deleted, or even after the host process has + /// been exited and restarted (in the save of a saved game that has + /// been loaded). + /// + /// Supplies the ScriptSituationId that + /// was provided to the initial StoreState request, which is intended + /// to uniquely identify the site within which the script situation was + /// created. + /// Supplies an array of local variables that were + /// provided to the initial StoreState request. The locals may only + /// include standard NWScript types (Int32, UInt32, Single, and engine + /// structures). + /// Supplies the "OBJECT_SELF" object id of + /// the object that the script is being executed over. This may be the + /// invalid object id (Script.OBJECT_INVALID) if no object is + /// associated with the execute script request. + public void ExecuteScriptSituation([In] UInt32 ScriptSituationId, [In] object[] Locals, [In] UInt32 ObjectSelf) + { + // + // Call the helper function. + // + + DispatchExecuteScriptSituation(ScriptSituationId, Locals, ObjectSelf); + } + + /// + /// This routine is invoked when the script context is being cloned for + /// the creation of a script situation. Its purpose is to create a new + /// SampleManagedNWScript object and transfer any state desired to the + /// new script object. + /// + /// The cloned script object is returned. + public IGeneratedScriptProgram CloneScriptProgram() + { + return (IGeneratedScriptProgram)(new nwn2_ai_onmoduleload(this)); + } + + /// + /// This routine is invoked when the script context was restored from + /// the interopability script stack for a script situation. Its + /// purpose is to restore any 'global' (i.e. member variable) state + /// that was passed to the initial StoreState request. The globals may + /// only include standard NWScript types (Int32, UInt32, Single, and + /// engine structures). + /// + /// Supplies an array of global variables that + /// were provided to the initial StoreState request. + public void LoadScriptGlobals([In] object[] Globals) + { + // + // Restore all [NWScriptGlobal] attributed globals from the global + // list. + // + + int i = 0; + + foreach (FieldInfo Field in GlobalFields) + { + Field.SetValue(this, Globals[i]); + i += 1; + } + } + } +} diff --git a/nwn2_ai_onmoduleload/nwn2_ai_onmoduleload.cs b/nwn2_ai_onmoduleload/nwn2_ai_onmoduleload.cs new file mode 100644 index 0000000..8e82ca4 --- /dev/null +++ b/nwn2_ai_onmoduleload/nwn2_ai_onmoduleload.cs @@ -0,0 +1,62 @@ +// +// This script serves as a basis for new scripts. New scripts can copy this +// source file to start out. +// + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Runtime.InteropServices; +using System.Reflection; +using System.Reflection.Emit; +using CLRScriptFramework; +using NWScript; +using NWScript.ManagedInterfaceLayer.NWScriptManagedInterface; + +using NWEffect = NWScript.NWScriptEngineStructure0; +using NWEvent = NWScript.NWScriptEngineStructure1; +using NWLocation = NWScript.NWScriptEngineStructure2; +using NWTalent = NWScript.NWScriptEngineStructure3; +using NWItemProperty = NWScript.NWScriptEngineStructure4; + +namespace CLRScript +{ + public partial class nwn2_ai_onmoduleload : CLRScriptBase, ICLRScriptImplementation, IGeneratedScriptProgram + { + + public nwn2_ai_onmoduleload([In] NWScriptJITIntrinsics Intrinsics, [In] INWScriptProgram Host) + { + InitScript(Intrinsics, Host); + } + + private nwn2_ai_onmoduleload([In] nwn2_ai_onmoduleload Other) + { + InitScript(Other); + + LoadScriptGlobals(Other.SaveScriptGlobals()); + } + + // + // Include the list of types for parameters to the main function here. + // An empty list means no parameters. + // + public static Type[] ScriptParameterTypes = { }; + + public Int32 ScriptMain([In] object[] ScriptParameters, [In] Int32 DefaultReturnCode) + { + int Volume; + + MessageToSpeak = "Hello, world"; + Volume = TALKVOLUME_TALK; + + AssignCommand(OBJECT_SELF, delegate() { ActionSpeakString(MessageToSpeak, Volume); }); + + return DefaultReturnCode; + } + + [NWScriptGlobal] + private string MessageToSpeak; + } +} diff --git a/nwn2_ai_onmoduleload/nwn2_ai_onmoduleload.csproj b/nwn2_ai_onmoduleload/nwn2_ai_onmoduleload.csproj new file mode 100644 index 0000000..91f2681 --- /dev/null +++ b/nwn2_ai_onmoduleload/nwn2_ai_onmoduleload.csproj @@ -0,0 +1,68 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {D2787600-DE01-4E09-9F74-1A13F1ADB4E8} + Library + Properties + nwn2_ai_onmoduleload + nwn2_ai_onmoduleload + v4.0 + 512 + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\CLRv4.0.30319\NWNScriptJITIntrinsics.dll + + + ..\CLRv4.0.30319\NWScriptManagedInterface.dll + + + + + + + + + + + + + + + + + + + + ..\..\..\PackageScript.cmd "$(TargetPath)" "$(TargetName).ncs" + + + \ No newline at end of file