NWNX:EE  8193.37.14
nwnx_creature.nss
Go to the documentation of this file.
1 
6 const string NWNX_Creature = "NWNX_Creature";
7 
23 
35 
48 
62 
64 
68 {
69  int id;
70  int ready;
71  int level;
72 };
73 
78 void NWNX_Creature_AddFeat(object creature, int feat);
79 
85 void NWNX_Creature_AddFeatByLevel(object creature, int feat, int level);
86 
90 void NWNX_Creature_RemoveFeat(object creature, int feat);
91 
98 void NWNX_Creature_RemoveFeatByLevel(object creature, int feat, int level);
99 
105 int NWNX_Creature_GetKnowsFeat(object creature, int feat);
106 
111 int NWNX_Creature_GetFeatCountByLevel(object creature, int level);
112 
118 int NWNX_Creature_GetFeatByLevel(object creature, int level, int index);
119 
124 int NWNX_Creature_GetFeatGrantLevel(object creature, int feat);
125 
129 int NWNX_Creature_GetFeatCount(object creature);
130 
135 int NWNX_Creature_GetFeatByIndex(object creature, int index);
136 
141 int NWNX_Creature_GetMeetsFeatRequirements(object creature, int feat);
142 
146 int NWNX_Creature_GetSpecialAbilityCount(object creature);
147 
152 struct NWNX_Creature_SpecialAbility NWNX_Creature_GetSpecialAbility(object creature, int index);
153 
157 void NWNX_Creature_AddSpecialAbility(object creature, struct NWNX_Creature_SpecialAbility ability);
158 
162 void NWNX_Creature_RemoveSpecialAbility(object creature, int index);
163 
168 void NWNX_Creature_SetSpecialAbility(object creature, int index, struct NWNX_Creature_SpecialAbility ability);
169 
174 int NWNX_Creature_GetClassByLevel(object creature, int level);
175 
179 void NWNX_Creature_SetBaseAC(object creature, int ac);
180 
184 int NWNX_Creature_GetBaseAC(object creature);
185 
191 void NWNX_Creature_SetRawAbilityScore(object creature, int ability, int value);
192 
198 int NWNX_Creature_GetRawAbilityScore(object creature, int ability);
199 
205 void NWNX_Creature_ModifyRawAbilityScore(object creature, int ability, int modifier);
206 
212 int NWNX_Creature_GetPrePolymorphAbilityScore(object creature, int ability);
213 
219 int NWNX_Creature_GetRemainingSpellSlots(object creature, int class, int level);
220 
226 void NWNX_Creature_SetRemainingSpellSlots(object creature, int class, int level, int slots);
227 
233 int NWNX_Creature_GetMaxSpellSlots(object creature, int class, int level);
234 
240 void NWNX_Creature_AddKnownSpell(object creature, int class, int level, int spellId);
241 
247 void NWNX_Creature_RemoveKnownSpell(object creature, int class, int level, int spellId);
248 
253 int NWNX_Creature_GetMaxHitPointsByLevel(object creature, int level);
254 
259 void NWNX_Creature_SetMaxHitPointsByLevel(object creature, int level, int value);
260 
264 void NWNX_Creature_SetMovementRate(object creature, int rate);
265 
270 float NWNX_Creature_GetMovementRateFactor(object creature);
271 
276 void NWNX_Creature_SetMovementRateFactor(object creature, float rate);
277 
282 float NWNX_Creature_GetMovementRateFactorCap(object creature);
283 
288 void NWNX_Creature_SetMovementRateFactorCap(object creature, float cap);
289 
293 int NWNX_Creature_GetMovementType(object creature);
294 
300 void NWNX_Creature_SetWalkRateCap(object creature, float fWalkRate = 2000.0f);
301 
305 void NWNX_Creature_SetAlignmentGoodEvil(object creature, int value);
306 
310 void NWNX_Creature_SetAlignmentLawChaos(object creature, int value);
311 
316 void NWNX_Creature_SetSkillRank(object creature, int skill, int rank);
317 
323 int NWNX_Creature_GetSkillRankByLevel(object creature, int skill, int level);
324 
331 void NWNX_Creature_SetSkillRankByLevel(object creature, int skill, int rank, int level);
332 
340 void NWNX_Creature_SetClassByPosition(object creature, int position, int classID, int bUpdateLevels = TRUE);
341 
348 void NWNX_Creature_SetLevelByPosition(object creature, int position, int level);
349 
359 void NWNX_Creature_SetBaseAttackBonus(object creature, int bab);
360 
366 int NWNX_Creature_GetAttacksPerRound(object creature, int bBaseAPR = FALSE);
367 
370 void NWNX_Creature_RestoreFeats(object creature);
371 
374 void NWNX_Creature_RestoreSpecialAbilities(object creature);
375 
378 void NWNX_Creature_RestoreItems(object creature);
379 
383 void NWNX_Creature_SetSize(object creature, int size);
384 
388 int NWNX_Creature_GetSkillPointsRemaining(object creature);
389 
393 void NWNX_Creature_SetSkillPointsRemaining(object creature, int skillpoints);
394 
399 int NWNX_Creature_GetSkillPointsRemainingByLevel(object creature, int level);
400 
405 void NWNX_Creature_SetSkillPointsRemainingByLevel(object creature, int level, int value);
406 
410 void NWNX_Creature_SetRacialType(object creature, int racialtype);
411 
415 void NWNX_Creature_SetGold(object creature, int gold);
416 
420 void NWNX_Creature_SetCorpseDecayTime(object creature, int nDecayTime);
421 
427 int NWNX_Creature_GetBaseSavingThrow(object creature, int which);
428 
433 void NWNX_Creature_SetBaseSavingThrow(object creature, int which, int value);
434 
441 void NWNX_Creature_LevelUp(object creature, int class, int count = 1, int package = PACKAGE_INVALID);
442 
447 void NWNX_Creature_LevelDown(object creature, int count=1);
448 
452 void NWNX_Creature_SetChallengeRating(object creature, float fCR);
453 
466 int NWNX_Creature_GetAttackBonus(object creature, int isMelee = -1, int isTouchAttack = FALSE, int isOffhand = FALSE, int includeBaseAttackBonus = TRUE);
467 
473 int NWNX_Creature_GetHighestLevelOfFeat(object creature, int feat);
474 
479 int NWNX_Creature_GetFeatRemainingUses(object creature, int feat);
480 
485 int NWNX_Creature_GetFeatTotalUses(object creature, int feat);
486 
491 void NWNX_Creature_SetFeatRemainingUses(object creature, int feat, int uses);
492 
507 int NWNX_Creature_GetTotalEffectBonus(object creature, int bonusType=NWNX_CREATURE_BONUS_TYPE_ATTACK, object target=OBJECT_INVALID, int isElemental=0, int isForceMax=0, int savetype=-1, int saveSpecificType=-1, int skill=-1, int abilityScore=-1, int isOffhand=FALSE);
508 
514 void NWNX_Creature_SetOriginalName(object creature, string name, int isLastName);
515 
520 string NWNX_Creature_GetOriginalName(object creature, int isLastName);
521 
526 void NWNX_Creature_SetSpellResistance(object creature, int sr);
527 
531 void NWNX_Creature_SetAnimalCompanionCreatureType(object creature, int type);
532 
536 void NWNX_Creature_SetFamiliarCreatureType(object creature, int type);
537 
541 void NWNX_Creature_SetAnimalCompanionName(object creature, string name);
542 
546 void NWNX_Creature_SetFamiliarName(object creature, string name);
547 
551 int NWNX_Creature_GetDisarmable(object creature);
552 
556 void NWNX_Creature_SetDisarmable(object creature, int disarmable);
557 
563 void NWNX_Creature_SetDomain(object creature, int class, int index, int domain);
564 
569 void NWNX_Creature_SetSpecialization(object creature, int class, int school);
570 
574 void NWNX_Creature_SetFaction(object oCreature, int nFactionId);
575 
579 int NWNX_Creature_GetFaction(object oCreature);
580 
584 int NWNX_Creature_GetFlatFooted(object oCreature);
585 
589 string NWNX_Creature_SerializeQuickbar(object oCreature);
590 
595 int NWNX_Creature_DeserializeQuickbar(object oCreature, string sSerializedQuickbar);
596 
602 void NWNX_Creature_SetCasterLevelModifier(object oCreature, int nClass, int nModifier, int bPersist = FALSE);
603 
608 int NWNX_Creature_GetCasterLevelModifier(object oCreature, int nClass);
609 
615 void NWNX_Creature_SetCasterLevelOverride(object oCreature, int nClass, int nCasterLevel, int bPersist = FALSE);
616 
621 int NWNX_Creature_GetCasterLevelOverride(object oCreature, int nClass);
622 
625 void NWNX_Creature_JumpToLimbo(object oCreature);
626 
634 void NWNX_Creature_SetCriticalMultiplierModifier(object oCreature, int nModifier, int nHand = 0, int bPersist = FALSE, int nBaseItem = -1);
635 
641 int NWNX_Creature_GetCriticalMultiplierModifier(object oCreature, int nHand = 0, int nBaseItem = -1);
642 
650 void NWNX_Creature_SetCriticalMultiplierOverride(object oCreature, int nOverride, int nHand = 0, int bPersist = FALSE, int nBaseItem = -1);
651 
657 int NWNX_Creature_GetCriticalMultiplierOverride(object oCreature, int nHand = 0, int nBaseItem = -1);
658 
666 void NWNX_Creature_SetCriticalRangeModifier(object oCreature, int nModifier, int nHand = 0, int bPersist = FALSE, int nBaseItem = -1);
667 
673 int NWNX_Creature_GetCriticalRangeModifier(object oCreature, int nHand = 0, int nBaseItem = -1);
674 
682 void NWNX_Creature_SetCriticalRangeOverride(object oCreature, int nOverride, int nHand = 0, int bPersist = FALSE, int nBaseItem = -1);
683 
689 int NWNX_Creature_GetCriticalRangeOverride(object oCreature, int nHand = 0, int nBaseItem = -1);
690 
696 void NWNX_Creature_AddAssociate(object oCreature, object oAssociate, int nAssociateType);
697 
702 void NWNX_Creature_OverrideDamageLevel(object oCreature, int nDamageLevel);
703 
707 void NWNX_Creature_SetEncounter(object oCreature, object oEncounter);
708 
712 object NWNX_Creature_GetEncounter(object oCreature);
713 
717 int NWNX_Creature_GetIsBartering(object oCreature);
718 
722 void NWNX_Creature_SetLastItemCasterLevel(object oCreature, int nCasterLvl);
723 
727 int NWNX_Creature_GetLastItemCasterLevel(object oCreature);
728 
734 int NWNX_Creature_GetArmorClassVersus(object oAttacked, object oVersus, int nTouch=FALSE);
735 
739 int NWNX_Creature_GetWalkAnimation(object oCreature);
740 
744 void NWNX_Creature_SetWalkAnimation(object oCreature, int nAnimation);
745 
750 void NWNX_Creature_SetAttackRollOverride(object oCreature, int nRoll, int nModifier);
751 
756 void NWNX_Creature_SetParryAllAttacks(object oCreature, int bParry);
757 
761 int NWNX_Creature_GetNoPermanentDeath(object oCreature);
762 
766 void NWNX_Creature_SetNoPermanentDeath(object oCreature, int bNoPermanentDeath);
767 
774 vector NWNX_Creature_ComputeSafeLocation(object oCreature, vector vPosition, float fRadius = 20.0f, int bWalkStraightLineRequired = TRUE);
775 
779 void NWNX_Creature_DoPerceptionUpdateOnCreature(object oCreature, object oTargetCreature);
780 
784 float NWNX_Creature_GetPersonalSpace(object oCreature);
785 
789 void NWNX_Creature_SetPersonalSpace(object oCreature, float fPerspace);
790 
794 float NWNX_Creature_GetCreaturePersonalSpace(object oCreature);
795 
799 void NWNX_Creature_SetCreaturePersonalSpace(object oCreature, float fCrePerspace);
800 
804 float NWNX_Creature_GetHeight(object oCreature);
805 
809 void NWNX_Creature_SetHeight(object oCreature, float fHeight);
810 
814 float NWNX_Creature_GetHitDistance(object oCreature);
815 
819 void NWNX_Creature_SetHitDistance(object oCreature, float fHitDist);
820 
824 float NWNX_Creature_GetPreferredAttackDistance(object oCreature);
825 
829 void NWNX_Creature_SetPreferredAttackDistance(object oCreature, float fPrefAtckDist);
830 
833 int NWNX_Creature_GetArmorCheckPenalty(object oCreature);
834 
837 int NWNX_Creature_GetShieldCheckPenalty(object oCreature);
838 
846 void NWNX_Creature_SetBypassEffectImmunity(object oCreature, int nImmunityType, int nChance = 100, int bPersist = FALSE);
847 
852 int NWNX_Creature_GetBypassEffectImmunity(object oCreature, int nImmunityType);
853 
857 void NWNX_Creature_SetLastKiller(object oCreature, object oKiller);
858 
872 void NWNX_Creature_DoItemCastSpell(object oCreature, object oTarget, location locTarget, int nSpellID, int nCasterLevel, float fProjectileTime, int nProjectilePathType = PROJECTILE_PATH_TYPE_DEFAULT, int nProjectileSpellID = -1, object oItem = OBJECT_INVALID, string sImpactScript = "");
873 
879 int NWNX_Creature_RunEquip(object oCreature, object oItem, int nInventorySlot);
880 
885 int NWNX_Creature_RunUnequip(object oCreature, object oItem);
886 
892 void NWNX_Creature_OverrideRangedProjectileVFX(object oCreature, int nProjectileVFX, int bPersist = FALSE);
893 
900 void NWNX_Creature_SetInitiativeModifier(object oCreature, int nMod, int bPersist = FALSE);
901 
905 int NWNX_Creature_GetInitiativeModifier(object oCreature);
906 
910 object NWNX_Creature_GetBodyBag(object oCreature);
911 
925 int NWNX_Creature_AddCastSpellActions(object oCreature, object oTarget, vector vTargetLocation, int nSpellID, int nMultiClass, int nMetaMagic = METAMAGIC_NONE, int nDomainLevel = 0, int nProjectilePathType = PROJECTILE_PATH_TYPE_DEFAULT, int bInstant = FALSE, int bClearActions = FALSE, int bAddToFront = FALSE);
926 
931 int NWNX_Creature_GetIsFlanking(object oCreature, object oTargetCreature);
932 
937 void NWNX_Creature_DecrementRemainingSpellSlots(object oCreature, int nClass, int nSpellLevel);
938 
943 void NWNX_Creature_IncrementRemainingSpellSlots(object oCreature, int nClass, int nSpellLevel);
944 
948 int NWNX_Creature_GetMaximumBonusAttacks(object oCreature);
949 
956 void NWNX_Creature_SetMaximumBonusAttacks(object oCreature, int nMaxBonusAttacks, int bPersist = FALSE);
957 
961 void NWNX_Creature_DoCleaveAttack(object oCreature);
962 
966 object NWNX_Creature_GetLockOrientationToObject(object oCreature);
967 
971 void NWNX_Creature_SetLockOrientationToObject(object oCreature, object oTarget);
972 
977 void NWNX_Creature_BroadcastAttackOfOpportunity(object oCreature, object oSingleCreature = OBJECT_INVALID, int bMovement = FALSE);
978 
983 int NWNX_Creature_GetMaxSellToStorePriceOverride(object oCreature, object oStore);
984 
989 void NWNX_Creature_SetMaxSellToStorePriceOverride(object oCreature, object oStore, int nMaxSellToPrice);
990 
995 int NWNX_Creature_GetAbilityIncreaseByLevel(object oCreature, int nLevel);
996 
1001 void NWNX_Creature_SetAbilityIncreaseByLevel(object oCreature, int nLevel, int nAbility);
1002 
1007 float NWNX_Creature_GetMaxAttackRange(object oCreature, object oTarget);
1008 
1013 int NWNX_Creature_GetMulticlassLimit(object oCreature);
1014 
1024 void NWNX_Creature_SetMulticlassLimit(object oCreature, int nLimit, int bPersist = FALSE);
1025 
1027 
1028 void NWNX_Creature_AddFeat(object creature, int feat)
1029 {
1030  NWNXPushInt(feat);
1031  NWNXPushObject(creature);
1032  NWNXCall(NWNX_Creature, "AddFeat");
1033 }
1034 
1035 void NWNX_Creature_AddFeatByLevel(object creature, int feat, int level)
1036 {
1037  NWNXPushInt(level);
1038  NWNXPushInt(feat);
1039  NWNXPushObject(creature);
1040  NWNXCall(NWNX_Creature, "AddFeatByLevel");
1041 }
1042 
1043 void NWNX_Creature_RemoveFeat(object creature, int feat)
1044 {
1045  NWNXPushInt(feat);
1046  NWNXPushObject(creature);
1047  NWNXCall(NWNX_Creature, "RemoveFeat");
1048 }
1049 
1050 void NWNX_Creature_RemoveFeatByLevel(object creature, int feat, int level)
1051 {
1052  NWNXPushInt(level);
1053  NWNXPushInt(feat);
1054  NWNXPushObject(creature);
1055  NWNXCall(NWNX_Creature, "RemoveFeatByLevel");
1056 }
1057 
1058 int NWNX_Creature_GetKnowsFeat(object creature, int feat)
1059 {
1060  NWNXPushInt(feat);
1061  NWNXPushObject(creature);
1062  NWNXCall(NWNX_Creature, "GetKnowsFeat");
1063  return NWNXPopInt();
1064 }
1065 
1066 int NWNX_Creature_GetFeatCountByLevel(object creature, int level)
1067 {
1068  NWNXPushInt(level);
1069  NWNXPushObject(creature);
1070  NWNXCall(NWNX_Creature, "GetFeatCountByLevel");
1071  return NWNXPopInt();
1072 }
1073 
1074 int NWNX_Creature_GetFeatByLevel(object creature, int level, int index)
1075 {
1076  NWNXPushInt(index);
1077  NWNXPushInt(level);
1078  NWNXPushObject(creature);
1079  NWNXCall(NWNX_Creature, "GetFeatByLevel");
1080  return NWNXPopInt();
1081 }
1082 
1083 int NWNX_Creature_GetFeatCount(object creature)
1084 {
1085  NWNXPushObject(creature);
1086  NWNXCall(NWNX_Creature, "GetFeatCount");
1087  return NWNXPopInt();
1088 }
1089 
1090 int NWNX_Creature_GetFeatGrantLevel(object creature, int feat)
1091 {
1092  NWNXPushInt(feat);
1093  NWNXPushObject(creature);
1094  NWNXCall(NWNX_Creature, "GetFeatGrantLevel");
1095  return NWNXPopInt();
1096 }
1097 
1098 int NWNX_Creature_GetFeatByIndex(object creature, int index)
1099 {
1100  NWNXPushInt(index);
1101  NWNXPushObject(creature);
1102  NWNXCall(NWNX_Creature, "GetFeatByIndex");
1103  return NWNXPopInt();
1104 }
1105 
1106 int NWNX_Creature_GetMeetsFeatRequirements(object creature, int feat)
1107 {
1108  NWNXPushInt(feat);
1109  NWNXPushObject(creature);
1110  NWNXCall(NWNX_Creature, "GetMeetsFeatRequirements");
1111  return NWNXPopInt();
1112 }
1113 
1114 struct NWNX_Creature_SpecialAbility NWNX_Creature_GetSpecialAbility(object creature, int index)
1115 {
1116  struct NWNX_Creature_SpecialAbility ability;
1117  NWNXPushInt(index);
1118  NWNXPushObject(creature);
1119  NWNXCall(NWNX_Creature, "GetSpecialAbility");
1120  ability.level = NWNXPopInt();
1121  ability.ready = NWNXPopInt();
1122  ability.id = NWNXPopInt();
1123  return ability;
1124 }
1125 
1127 {
1128  NWNXPushObject(creature);
1129  NWNXCall(NWNX_Creature, "GetSpecialAbilityCount");
1130  return NWNXPopInt();
1131 }
1132 
1134 {
1135  NWNXPushInt(ability.id);
1136  NWNXPushInt(ability.ready);
1137  NWNXPushInt(ability.level);
1138  NWNXPushObject(creature);
1139  NWNXCall(NWNX_Creature, "AddSpecialAbility");
1140 }
1141 
1142 void NWNX_Creature_RemoveSpecialAbility(object creature, int index)
1143 {
1144  NWNXPushInt(index);
1145  NWNXPushObject(creature);
1146  NWNXCall(NWNX_Creature, "RemoveSpecialAbility");
1147 }
1148 
1149 void NWNX_Creature_SetSpecialAbility(object creature, int index, struct NWNX_Creature_SpecialAbility ability)
1150 {
1151  NWNXPushInt(ability.id);
1152  NWNXPushInt(ability.ready);
1153  NWNXPushInt(ability.level);
1154  NWNXPushInt(index);
1155  NWNXPushObject(creature);
1156  NWNXCall(NWNX_Creature, "SetSpecialAbility");
1157 }
1158 
1159 int NWNX_Creature_GetClassByLevel(object creature, int level)
1160 {
1161  NWNXPushInt(level);
1162  NWNXPushObject(creature);
1163  NWNXCall(NWNX_Creature, "GetClassByLevel");
1164  return NWNXPopInt();
1165 }
1166 
1167 void NWNX_Creature_SetBaseAC(object creature, int ac)
1168 {
1169  NWNXPushInt(ac);
1170  NWNXPushObject(creature);
1171  NWNXCall(NWNX_Creature, "SetBaseAC");
1172 }
1173 
1174 int NWNX_Creature_GetBaseAC(object creature)
1175 {
1176  NWNXPushObject(creature);
1177  NWNXCall(NWNX_Creature, "GetBaseAC");
1178  return NWNXPopInt();
1179 }
1180 
1181 void NWNX_Creature_SetRawAbilityScore(object creature, int ability, int value)
1182 {
1183  NWNXPushInt(value);
1184  NWNXPushInt(ability);
1185  NWNXPushObject(creature);
1186  NWNXCall(NWNX_Creature, "SetRawAbilityScore");
1187 }
1188 
1189 int NWNX_Creature_GetRawAbilityScore(object creature, int ability)
1190 {
1191  NWNXPushInt(ability);
1192  NWNXPushObject(creature);
1193  NWNXCall(NWNX_Creature, "GetRawAbilityScore");
1194  return NWNXPopInt();
1195 }
1196 
1197 void NWNX_Creature_ModifyRawAbilityScore(object creature, int ability, int modifier)
1198 {
1199  NWNXPushInt(modifier);
1200  NWNXPushInt(ability);
1201  NWNXPushObject(creature);
1202  NWNXCall(NWNX_Creature, "ModifyRawAbilityScore");
1203 }
1204 
1205 int NWNX_Creature_GetPrePolymorphAbilityScore(object creature, int ability)
1206 {
1207  NWNXPushInt(ability);
1208  NWNXPushObject(creature);
1209  NWNXCall(NWNX_Creature, "GetPrePolymorphAbilityScore");
1210  return NWNXPopInt();
1211 }
1212 
1213 int NWNX_Creature_GetRemainingSpellSlots(object creature, int class, int level)
1214 {
1215  NWNXPushInt(level);
1216  NWNXPushInt(class);
1217  NWNXPushObject(creature);
1218  NWNXCall(NWNX_Creature, "GetRemainingSpellSlots");
1219  return NWNXPopInt();
1220 }
1221 
1222 void NWNX_Creature_SetRemainingSpellSlots(object creature, int class, int level, int slots)
1223 {
1224  NWNXPushInt(slots);
1225  NWNXPushInt(level);
1226  NWNXPushInt(class);
1227  NWNXPushObject(creature);
1228  NWNXCall(NWNX_Creature, "SetRemainingSpellSlots");
1229 }
1230 
1231 void NWNX_Creature_RemoveKnownSpell(object creature, int class, int level, int spellId)
1232 {
1233  NWNXPushInt(spellId);
1234  NWNXPushInt(level);
1235  NWNXPushInt(class);
1236  NWNXPushObject(creature);
1237 
1238  NWNXCall(NWNX_Creature, "RemoveKnownSpell");
1239 }
1240 
1241 void NWNX_Creature_AddKnownSpell(object creature, int class, int level, int spellId)
1242 {
1243  NWNXPushInt(spellId);
1244  NWNXPushInt(level);
1245  NWNXPushInt(class);
1246  NWNXPushObject(creature);
1247  NWNXCall(NWNX_Creature, "AddKnownSpell");
1248 }
1249 
1250 int NWNX_Creature_GetMaxSpellSlots(object creature, int class, int level)
1251 {
1252  NWNXPushInt(level);
1253  NWNXPushInt(class);
1254  NWNXPushObject(creature);
1255  NWNXCall(NWNX_Creature, "GetMaxSpellSlots");
1256  return NWNXPopInt();
1257 }
1258 
1259 
1261 {
1262  NWNXPushInt(level);
1263  NWNXPushObject(creature);
1264  NWNXCall(NWNX_Creature, "GetMaxHitPointsByLevel");
1265  return NWNXPopInt();
1266 }
1267 
1268 void NWNX_Creature_SetMaxHitPointsByLevel(object creature, int level, int value)
1269 {
1270  NWNXPushInt(value);
1271  NWNXPushInt(level);
1272  NWNXPushObject(creature);
1273  NWNXCall(NWNX_Creature, "SetMaxHitPointsByLevel");
1274 }
1275 
1276 void NWNX_Creature_SetMovementRate(object creature, int rate)
1277 {
1278  NWNXPushInt(rate);
1279  NWNXPushObject(creature);
1280  NWNXCall(NWNX_Creature, "SetMovementRate");
1281 }
1282 
1284 {
1285  NWNXPushObject(creature);
1286  NWNXCall(NWNX_Creature, "GetMovementRateFactor");
1287  return NWNXPopFloat();
1288 }
1289 
1290 void NWNX_Creature_SetMovementRateFactor(object creature, float factor)
1291 {
1292  NWNXPushFloat(factor);
1293  NWNXPushObject(creature);
1294  NWNXCall(NWNX_Creature, "SetMovementRateFactor");
1295 }
1296 
1298 {
1299  NWNXPushObject(creature);
1300  NWNXCall(NWNX_Creature, "GetMovementRateFactorCap");
1301  return NWNXPopFloat();
1302 }
1303 
1304 void NWNX_Creature_SetMovementRateFactorCap(object creature, float cap)
1305 {
1306  NWNXPushFloat(cap);
1307  NWNXPushObject(creature);
1308  NWNXCall(NWNX_Creature, "SetMovementRateFactorCap");
1309 }
1310 
1311 void NWNX_Creature_SetAlignmentGoodEvil(object creature, int value)
1312 {
1313  NWNXPushInt(value);
1314  NWNXPushObject(creature);
1315  NWNXCall(NWNX_Creature, "SetAlignmentGoodEvil");
1316 }
1317 
1318 void NWNX_Creature_SetAlignmentLawChaos(object creature, int value)
1319 {
1320  NWNXPushInt(value);
1321  NWNXPushObject(creature);
1322  NWNXCall(NWNX_Creature, "SetAlignmentLawChaos");
1323 }
1324 
1325 void NWNX_Creature_SetSkillRank(object creature, int skill, int rank)
1326 {
1327  NWNXPushInt(rank);
1328  NWNXPushInt(skill);
1329  NWNXPushObject(creature);
1330  NWNXCall(NWNX_Creature, "SetSkillRank");
1331 }
1332 
1333 int NWNX_Creature_GetSkillRankByLevel(object creature, int skill, int level)
1334 {
1335  NWNXPushInt(level);
1336  NWNXPushInt(skill);
1337  NWNXPushObject(creature);
1338  NWNXCall(NWNX_Creature, "GetSkillRankByLevel");
1339  return NWNXPopInt();
1340 }
1341 
1342 void NWNX_Creature_SetSkillRankByLevel(object creature, int skill, int rank, int level)
1343 {
1344  NWNXPushInt(level);
1345  NWNXPushInt(rank);
1346  NWNXPushInt(skill);
1347  NWNXPushObject(creature);
1348  NWNXCall(NWNX_Creature, "SetSkillRankByLevel");
1349 }
1350 
1351 void NWNX_Creature_SetClassByPosition(object creature, int position, int classID, int bUpdateLevels = TRUE)
1352 {
1353  NWNXPushInt(bUpdateLevels);
1354  NWNXPushInt(classID);
1355  NWNXPushInt(position);
1356  NWNXPushObject(creature);
1357  NWNXCall(NWNX_Creature, "SetClassByPosition");
1358 }
1359 
1360 void NWNX_Creature_SetLevelByPosition(object creature, int position, int level)
1361 {
1362  NWNXPushInt(level);
1363  NWNXPushInt(position);
1364  NWNXPushObject(creature);
1365  NWNXCall(NWNX_Creature, "SetLevelByPosition");
1366 }
1367 
1368 void NWNX_Creature_SetBaseAttackBonus(object creature, int bab)
1369 {
1370  NWNXPushInt(bab);
1371  NWNXPushObject(creature);
1372  NWNXCall(NWNX_Creature, "SetBaseAttackBonus");
1373 }
1374 
1375 int NWNX_Creature_GetAttacksPerRound(object creature, int bBaseAPR = FALSE)
1376 {
1377  NWNXPushInt(bBaseAPR);
1378  NWNXPushObject(creature);
1379  NWNXCall(NWNX_Creature, "GetAttacksPerRound");
1380  return NWNXPopInt();
1381 }
1382 
1383 void NWNX_Creature_RestoreFeats(object creature)
1384 {
1385  NWNXPushObject(creature);
1386  NWNXCall(NWNX_Creature, "RestoreFeats");
1387 }
1388 
1390 {
1391  NWNXPushObject(creature);
1392  NWNXCall(NWNX_Creature, "RestoreSpecialAbilities");
1393 }
1394 
1395 void NWNX_Creature_RestoreItems(object creature)
1396 {
1397  NWNXPushObject(creature);
1398  NWNXCall(NWNX_Creature, "RestoreItems");
1399 }
1400 
1401 void NWNX_Creature_SetSize(object creature, int size)
1402 {
1403  NWNXPushInt(size);
1404  NWNXPushObject(creature);
1405  NWNXCall(NWNX_Creature, "SetSize");
1406 }
1407 
1409 {
1410  NWNXPushObject(creature);
1411  NWNXCall(NWNX_Creature, "GetSkillPointsRemaining");
1412  return NWNXPopInt();
1413 }
1414 
1415 void NWNX_Creature_SetSkillPointsRemaining(object creature, int skillpoints)
1416 {
1417  NWNXPushInt(skillpoints);
1418  NWNXPushObject(creature);
1419  NWNXCall(NWNX_Creature, "SetSkillPointsRemaining");
1420 }
1421 
1423 {
1424  NWNXPushInt(level);
1425  NWNXPushObject(creature);
1426  NWNXCall(NWNX_Creature, "GetSkillPointsRemainingByLevel");
1427  return NWNXPopInt();
1428 }
1429 
1430 void NWNX_Creature_SetSkillPointsRemainingByLevel(object creature, int level, int value)
1431 {
1432  NWNXPushInt(value);
1433  NWNXPushInt(level);
1434  NWNXPushObject(creature);
1435  NWNXCall(NWNX_Creature, "SetSkillPointsRemainingByLevel");
1436 }
1437 
1438 void NWNX_Creature_SetRacialType(object creature, int racialtype)
1439 {
1440  NWNXPushInt(racialtype);
1441  NWNXPushObject(creature);
1442  NWNXCall(NWNX_Creature, "SetRacialType");
1443 }
1444 
1445 int NWNX_Creature_GetMovementType(object creature)
1446 {
1447  NWNXPushObject(creature);
1448  NWNXCall(NWNX_Creature, "GetMovementType");
1449  return NWNXPopInt();
1450 }
1451 
1452 void NWNX_Creature_SetWalkRateCap(object creature, float fWalkRate = 2000.0f)
1453 {
1454  NWNXPushFloat(fWalkRate);
1455  NWNXPushObject(creature);
1456  NWNXCall(NWNX_Creature, "SetWalkRateCap");
1457 }
1458 
1459 void NWNX_Creature_SetGold(object creature, int gold)
1460 {
1461  NWNXPushInt(gold);
1462  NWNXPushObject(creature);
1463  NWNXCall(NWNX_Creature, "SetGold");
1464 }
1465 
1466 void NWNX_Creature_SetCorpseDecayTime(object creature, int nDecayTime)
1467 {
1468  NWNXPushInt(nDecayTime);
1469  NWNXPushObject(creature);
1470  NWNXCall(NWNX_Creature, "SetCorpseDecayTime");
1471 }
1472 
1473 int NWNX_Creature_GetBaseSavingThrow(object creature, int which)
1474 {
1475  NWNXPushInt(which);
1476  NWNXPushObject(creature);
1477  NWNXCall(NWNX_Creature, "GetBaseSavingThrow");
1478  return NWNXPopInt();
1479 }
1480 
1481 void NWNX_Creature_SetBaseSavingThrow(object creature, int which, int value)
1482 {
1483  NWNXPushInt(value);
1484  NWNXPushInt(which);
1485  NWNXPushObject(creature);
1486  NWNXCall(NWNX_Creature, "SetBaseSavingThrow");
1487 }
1488 
1489 void NWNX_Creature_LevelUp(object creature, int class, int count = 1, int package = PACKAGE_INVALID)
1490 {
1491  NWNXPushInt(package);
1492  NWNXPushInt(count);
1493  NWNXPushInt(class);
1494  NWNXPushObject(creature);
1495  NWNXCall(NWNX_Creature, "LevelUp");
1496 }
1497 
1498 void NWNX_Creature_LevelDown(object creature, int count=1)
1499 {
1500  NWNXPushInt(count);
1501  NWNXPushObject(creature);
1502  NWNXCall(NWNX_Creature, "LevelDown");
1503 }
1504 
1505 void NWNX_Creature_SetChallengeRating(object creature, float fCR)
1506 {
1507  NWNXPushFloat(fCR);
1508  NWNXPushObject(creature);
1509  NWNXCall(NWNX_Creature, "SetChallengeRating");
1510 }
1511 
1512 int NWNX_Creature_GetAttackBonus(object creature, int isMelee = -1, int isTouchAttack = FALSE, int isOffhand = FALSE, int includeBaseAttackBonus = TRUE)
1513 {
1514  if (isMelee == -1)
1515  {
1516  object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, creature);
1517 
1518  if (GetIsObjectValid(oWeapon))
1519  {
1520  isMelee = !GetWeaponRanged(oWeapon);
1521  }
1522  else
1523  {// Default to melee for unarmed
1524  isMelee = TRUE;
1525  }
1526  }
1527  NWNXPushInt(includeBaseAttackBonus);
1528  NWNXPushInt(isOffhand);
1529  NWNXPushInt(isTouchAttack);
1530  NWNXPushInt(isMelee);
1531  NWNXPushObject(creature);
1532  NWNXCall(NWNX_Creature, "GetAttackBonus");
1533  return NWNXPopInt();
1534 }
1535 
1536 int NWNX_Creature_GetHighestLevelOfFeat(object creature, int feat)
1537 {
1538  NWNXPushInt(feat);
1539  NWNXPushObject(creature);
1540  NWNXCall(NWNX_Creature, "GetHighestLevelOfFeat");
1541  return NWNXPopInt();
1542 }
1543 
1544 int NWNX_Creature_GetFeatRemainingUses(object creature, int feat)
1545 {
1546  NWNXPushInt(feat);
1547  NWNXPushObject(creature);
1548  NWNXCall(NWNX_Creature, "GetFeatRemainingUses");
1549  return NWNXPopInt();
1550 }
1551 
1552 int NWNX_Creature_GetFeatTotalUses(object creature, int feat)
1553 {
1554  NWNXPushInt(feat);
1555  NWNXPushObject(creature);
1556  NWNXCall(NWNX_Creature, "GetFeatTotalUses");
1557  return NWNXPopInt();
1558 }
1559 
1560 void NWNX_Creature_SetFeatRemainingUses(object creature, int feat, int uses)
1561 {
1562  NWNXPushInt(uses);
1563  NWNXPushInt(feat);
1564  NWNXPushObject(creature);
1565  NWNXCall(NWNX_Creature, "SetFeatRemainingUses");
1566 }
1567 
1568 int NWNX_Creature_GetTotalEffectBonus(object creature, int bonusType=NWNX_CREATURE_BONUS_TYPE_ATTACK, object target=OBJECT_INVALID, int isElemental=0, int isForceMax=0, int savetype=-1, int saveSpecificType=-1, int skill=-1, int abilityScore=-1, int isOffhand=FALSE)
1569 {
1570  NWNXPushInt(isOffhand);
1571  NWNXPushInt(abilityScore);
1572  NWNXPushInt(skill);
1573  NWNXPushInt(saveSpecificType);
1574  NWNXPushInt(savetype);
1575  NWNXPushInt(isForceMax);
1576  NWNXPushInt(isElemental);
1577  NWNXPushObject(target);
1578  NWNXPushInt(bonusType);
1579  NWNXPushObject(creature);
1580  NWNXCall(NWNX_Creature, "GetTotalEffectBonus");
1581  return NWNXPopInt();
1582 }
1583 
1584 void NWNX_Creature_SetOriginalName(object creature, string name, int isLastName)
1585 {
1586  NWNXPushInt(isLastName);
1587  NWNXPushString(name);
1588  NWNXPushObject(creature);
1589  NWNXCall(NWNX_Creature, "SetOriginalName");
1590 }
1591 
1592 string NWNX_Creature_GetOriginalName(object creature, int isLastName)
1593 {
1594  NWNXPushInt(isLastName);
1595  NWNXPushObject(creature);
1596  NWNXCall(NWNX_Creature, "GetOriginalName");
1597  return NWNXPopString();
1598 }
1599 
1600 void NWNX_Creature_SetSpellResistance(object creature, int sr)
1601 {
1602  NWNXPushInt(sr);
1603  NWNXPushObject(creature);
1604  NWNXCall(NWNX_Creature, "SetSpellResistance");
1605 }
1606 
1607 void NWNX_Creature_SetAnimalCompanionCreatureType(object creature, int type)
1608 {
1609  NWNXPushInt(type);
1610  NWNXPushObject(creature);
1611  NWNXCall(NWNX_Creature, "SetAnimalCompanionCreatureType");
1612 }
1613 
1614 void NWNX_Creature_SetFamiliarCreatureType(object creature, int type)
1615 {
1616  NWNXPushInt(type);
1617  NWNXPushObject(creature);
1618  NWNXCall(NWNX_Creature, "SetFamiliarCreatureType");
1619 }
1620 
1621 void NWNX_Creature_SetAnimalCompanionName(object creature, string name)
1622 {
1623  NWNXPushString(name);
1624  NWNXPushObject(creature);
1625  NWNXCall(NWNX_Creature, "SetAnimalCompanionName");
1626 }
1627 
1628 void NWNX_Creature_SetFamiliarName(object creature, string name)
1629 {
1630  NWNXPushString(name);
1631  NWNXPushObject(creature);
1632  NWNXCall(NWNX_Creature, "SetFamiliarName");
1633 }
1634 
1635 int NWNX_Creature_GetDisarmable(object creature)
1636 {
1637  NWNXPushObject(creature);
1638  NWNXCall(NWNX_Creature, "GetDisarmable");
1639  return NWNXPopInt();
1640 }
1641 
1642 void NWNX_Creature_SetDisarmable(object creature, int disarmable)
1643 {
1644  NWNXPushInt(disarmable);
1645  NWNXPushObject(creature);
1646  NWNXCall(NWNX_Creature, "SetDisarmable");
1647 }
1648 
1649 void NWNX_Creature_SetDomain(object creature, int class, int index, int domain)
1650 {
1651  NWNXPushInt(domain);
1652  NWNXPushInt(index);
1653  NWNXPushInt(class);
1654  NWNXPushObject(creature);
1655  NWNXCall(NWNX_Creature, "SetDomain");
1656 }
1657 
1658 void NWNX_Creature_SetSpecialization(object creature, int class, int school)
1659 {
1660  NWNXPushInt(school);
1661  NWNXPushInt(class);
1662  NWNXPushObject(creature);
1663  NWNXCall(NWNX_Creature, "SetSpecialization");
1664 }
1665 
1666 void NWNX_Creature_SetFaction(object oCreature, int nFactionId)
1667 {
1668  NWNXPushInt(nFactionId);
1669  NWNXPushObject(oCreature);
1670  NWNXCall(NWNX_Creature, "SetFaction");
1671 }
1672 
1673 int NWNX_Creature_GetFaction(object oCreature)
1674 {
1675  NWNXPushObject(oCreature);
1676  NWNXCall(NWNX_Creature, "GetFaction");
1677  return NWNXPopInt();
1678 }
1679 
1680 int NWNX_Creature_GetFlatFooted(object oCreature)
1681 {
1682  NWNXPushObject(oCreature);
1683  NWNXCall(NWNX_Creature, "GetFlatFooted");
1684  return NWNXPopInt();
1685 }
1686 
1687 string NWNX_Creature_SerializeQuickbar(object oCreature)
1688 {
1689  NWNXPushObject(oCreature);
1690  NWNXCall(NWNX_Creature, "SerializeQuickbar");
1691  return NWNXPopString();
1692 }
1693 
1694 int NWNX_Creature_DeserializeQuickbar(object oCreature, string sSerializedQuickbar)
1695 {
1696  NWNXPushString(sSerializedQuickbar);
1697  NWNXPushObject(oCreature);
1698  NWNXCall(NWNX_Creature, "DeserializeQuickbar");
1699  return NWNXPopInt();
1700 }
1701 
1702 void NWNX_Creature_SetCasterLevelModifier(object oCreature, int nClass, int nModifier, int bPersist = FALSE)
1703 {
1704  NWNXPushInt(bPersist);
1705  NWNXPushInt(nModifier);
1706  NWNXPushInt(nClass);
1707  NWNXPushObject(oCreature);
1708  NWNXCall(NWNX_Creature, "SetCasterLevelModifier");
1709 }
1710 
1711 int NWNX_Creature_GetCasterLevelModifier(object oCreature, int nClass)
1712 {
1713  NWNXPushInt(nClass);
1714  NWNXPushObject(oCreature);
1715  NWNXCall(NWNX_Creature, "GetCasterLevelModifier");
1716  return NWNXPopInt();
1717 }
1718 
1719 void NWNX_Creature_SetCasterLevelOverride(object oCreature, int nClass, int nCasterLevel, int bPersist = FALSE)
1720 {
1721  NWNXPushInt(bPersist);
1722  NWNXPushInt(nCasterLevel);
1723  NWNXPushInt(nClass);
1724  NWNXPushObject(oCreature);
1725  NWNXCall(NWNX_Creature, "SetCasterLevelOverride");
1726 }
1727 
1728 int NWNX_Creature_GetCasterLevelOverride(object oCreature, int nClass)
1729 {
1730  NWNXPushInt(nClass);
1731  NWNXPushObject(oCreature);
1732  NWNXCall(NWNX_Creature, "GetCasterLevelOverride");
1733  return NWNXPopInt();
1734 }
1735 
1736 void NWNX_Creature_JumpToLimbo(object oCreature)
1737 {
1738  NWNXPushObject(oCreature);
1739  NWNXCall(NWNX_Creature, "JumpToLimbo");
1740 }
1741 
1742 void NWNX_Creature_SetCriticalMultiplierModifier(object oCreature, int nModifier, int nHand = 0, int bPersist = FALSE, int nBaseItem = -1)
1743 {
1744  NWNXPushInt(nBaseItem);
1745  NWNXPushInt(bPersist);
1746  NWNXPushInt(nHand);
1747  NWNXPushInt(nModifier);
1748  NWNXPushObject(oCreature);
1749  NWNXCall(NWNX_Creature, "SetCriticalMultiplierModifier");
1750 }
1751 
1752 int NWNX_Creature_GetCriticalMultiplierModifier(object oCreature, int nHand = 0, int nBaseItem = -1)
1753 {
1754  NWNXPushInt(nBaseItem);
1755  NWNXPushInt(nHand);
1756  NWNXPushObject(oCreature);
1757  NWNXCall(NWNX_Creature, "GetCriticalMultiplierModifier");
1758  return NWNXPopInt();
1759 }
1760 
1761 void NWNX_Creature_SetCriticalMultiplierOverride(object oCreature, int nOverride, int nHand = 0, int bPersist = FALSE, int nBaseItem = -1)
1762 {
1763  NWNXPushInt(nBaseItem);
1764  NWNXPushInt(bPersist);
1765  NWNXPushInt(nHand);
1766  NWNXPushInt(nOverride);
1767  NWNXPushObject(oCreature);
1768  NWNXCall(NWNX_Creature, "SetCriticalMultiplierOverride");
1769 }
1770 
1771 int NWNX_Creature_GetCriticalMultiplierOverride(object oCreature, int nHand = 0, int nBaseItem = -1)
1772 {
1773  NWNXPushInt(nBaseItem);
1774  NWNXPushInt(nHand);
1775  NWNXPushObject(oCreature);
1776  NWNXCall(NWNX_Creature, "GetCriticalMultiplierOverride");
1777  return NWNXPopInt();
1778 }
1779 
1780 void NWNX_Creature_SetCriticalRangeModifier(object oCreature, int nModifier, int nHand = 0, int bPersist = FALSE, int nBaseItem = -1)
1781 {
1782  NWNXPushInt(nBaseItem);
1783  NWNXPushInt(bPersist);
1784  NWNXPushInt(nHand);
1785  NWNXPushInt(nModifier);
1786  NWNXPushObject(oCreature);
1787  NWNXCall(NWNX_Creature, "SetCriticalRangeModifier");
1788 }
1789 
1790 int NWNX_Creature_GetCriticalRangeModifier(object oCreature, int nHand = 0, int nBaseItem = -1)
1791 {
1792  NWNXPushInt(nBaseItem);
1793  NWNXPushInt(nHand);
1794  NWNXPushObject(oCreature);
1795 
1796  NWNXCall(NWNX_Creature, "GetCriticalRangeModifier");
1797  return NWNXPopInt();
1798 }
1799 
1800 void NWNX_Creature_SetCriticalRangeOverride(object oCreature, int nOverride, int nHand = 0, int bPersist = FALSE, int nBaseItem = -1)
1801 {
1802  NWNXPushInt(nBaseItem);
1803  NWNXPushInt(bPersist);
1804  NWNXPushInt(nHand);
1805  NWNXPushInt(nOverride);
1806  NWNXPushObject(oCreature);
1807  NWNXCall(NWNX_Creature, "SetCriticalRangeOverride");
1808 }
1809 
1810 int NWNX_Creature_GetCriticalRangeOverride(object oCreature, int nHand = 0, int nBaseItem = -1)
1811 {
1812  NWNXPushInt(nBaseItem);
1813  NWNXPushInt(nHand);
1814  NWNXPushObject(oCreature);
1815 
1816  NWNXCall(NWNX_Creature, "GetCriticalRangeOverride");
1817  return NWNXPopInt();
1818 }
1819 
1820 void NWNX_Creature_AddAssociate(object oCreature, object oAssociate, int nAssociateType)
1821 {
1822  NWNXPushInt(nAssociateType);
1823  NWNXPushObject(oAssociate);
1824  NWNXPushObject(oCreature);
1825 
1826  NWNXCall(NWNX_Creature, "AddAssociate");
1827 }
1828 
1829 void NWNX_Creature_OverrideDamageLevel(object oCreature, int nDamageLevel)
1830 {
1831  NWNXPushInt(nDamageLevel);
1832  NWNXPushObject(oCreature);
1833  NWNXCall(NWNX_Creature, "OverrideDamageLevel");
1834 }
1835 
1836 void NWNX_Creature_SetEncounter(object oCreature, object oEncounter)
1837 {
1838  NWNXPushObject(oEncounter);
1839  NWNXPushObject(oCreature);
1840  NWNXCall(NWNX_Creature, "SetEncounter");
1841 }
1842 
1843 object NWNX_Creature_GetEncounter(object oCreature)
1844 {
1845  NWNXPushObject(oCreature);
1846  NWNXCall(NWNX_Creature, "GetEncounter");
1847  return NWNXPopObject();
1848 }
1849 
1850 int NWNX_Creature_GetIsBartering(object oCreature)
1851 {
1852  NWNXPushObject(oCreature);
1853  NWNXCall(NWNX_Creature, "GetIsBartering");
1854  return NWNXPopInt();
1855 }
1856 
1857 void NWNX_Creature_SetLastItemCasterLevel(object oCreature, int nCasterLvl)
1858 {
1859  NWNXPushInt(nCasterLvl);
1860  NWNXPushObject(oCreature);
1861  NWNXCall(NWNX_Creature, "SetLastItemCasterLevel");
1862 }
1863 
1864 
1866 {
1867  NWNXPushObject(oCreature);
1868  NWNXCall(NWNX_Creature, "GetLastItemCasterLevel");
1869  return NWNXPopInt();
1870 }
1871 
1872 int NWNX_Creature_GetArmorClassVersus(object oAttacked, object oVersus, int nTouch=FALSE)
1873 {
1874  NWNXPushInt(nTouch);
1875  NWNXPushObject(oVersus);
1876  NWNXPushObject(oAttacked);
1877  NWNXCall(NWNX_Creature, "GetArmorClassVersus");
1878  return NWNXPopInt();
1879 }
1880 
1881 int NWNX_Creature_GetWalkAnimation(object oCreature)
1882 {
1883  NWNXPushObject(oCreature);
1884  NWNXCall(NWNX_Creature, "GetWalkAnimation");
1885  return NWNXPopInt();
1886 }
1887 
1888 void NWNX_Creature_SetWalkAnimation(object oCreature, int nAnimation)
1889 {
1890  NWNXPushInt(nAnimation);
1891  NWNXPushObject(oCreature);
1892  NWNXCall(NWNX_Creature, "SetWalkAnimation");
1893 }
1894 
1895 void NWNX_Creature_SetAttackRollOverride(object oCreature, int nRoll, int nModifier)
1896 {
1897  NWNXPushInt(nModifier);
1898  NWNXPushInt(nRoll);
1899  NWNXPushObject(oCreature);
1900  NWNXCall(NWNX_Creature, "SetAttackRollOverride");
1901 }
1902 
1903 void NWNX_Creature_SetParryAllAttacks(object oCreature, int bParry)
1904 {
1905  NWNXPushInt(bParry);
1906  NWNXPushObject(oCreature);
1907  NWNXCall(NWNX_Creature, "SetParryAllAttacks");
1908 }
1909 
1911 {
1912  NWNXPushObject(oCreature);
1913  NWNXCall(NWNX_Creature, "GetNoPermanentDeath");
1914  return NWNXPopInt();
1915 }
1916 
1917 void NWNX_Creature_SetNoPermanentDeath(object oCreature, int bNoPermanentDeath)
1918 {
1919  NWNXPushInt(bNoPermanentDeath);
1920  NWNXPushObject(oCreature);
1921  NWNXCall(NWNX_Creature, "SetNoPermanentDeath");
1922 }
1923 
1924 vector NWNX_Creature_ComputeSafeLocation(object oCreature, vector vPosition, float fRadius = 20.0f, int bWalkStraightLineRequired = TRUE)
1925 {
1926  NWNXPushInt(bWalkStraightLineRequired);
1927  NWNXPushFloat(fRadius);
1928  NWNXPushVector(vPosition);
1929  NWNXPushObject(oCreature);
1930  NWNXCall(NWNX_Creature, "ComputeSafeLocation");
1931  return NWNXPopVector();
1932 }
1933 
1934 void NWNX_Creature_DoPerceptionUpdateOnCreature(object oCreature, object oTargetCreature)
1935 {
1936  NWNXPushObject(oTargetCreature);
1937  NWNXPushObject(oCreature);
1938  NWNXCall(NWNX_Creature, "DoPerceptionUpdateOnCreature");
1939 }
1940 
1941 float NWNX_Creature_GetPersonalSpace(object oCreature)
1942 {
1943  NWNXPushObject(oCreature);
1944  NWNXCall(NWNX_Creature, "GetPersonalSpace");
1945  return NWNXPopFloat();
1946 }
1947 
1948 void NWNX_Creature_SetPersonalSpace(object oCreature, float fPerspace)
1949 {
1950  NWNXPushFloat(fPerspace);
1951  NWNXPushObject(oCreature);
1952  NWNXCall(NWNX_Creature, "SetPersonalSpace");
1953 }
1954 
1956 {
1957  NWNXPushObject(oCreature);
1958  NWNXCall(NWNX_Creature, "GetCreaturePersonalSpace");
1959  return NWNXPopFloat();
1960 }
1961 
1962 void NWNX_Creature_SetCreaturePersonalSpace(object oCreature, float fCrePerspace)
1963 {
1964  NWNXPushFloat(fCrePerspace);
1965  NWNXPushObject(oCreature);
1966  NWNXCall(NWNX_Creature, "SetCreaturePersonalSpace");
1967 }
1968 
1969 float NWNX_Creature_GetHeight(object oCreature)
1970 {
1971  NWNXPushObject(oCreature);
1972  NWNXCall(NWNX_Creature, "GetHeight");
1973  return NWNXPopFloat();
1974 }
1975 
1976 void NWNX_Creature_SetHeight(object oCreature, float fHeight)
1977 {
1978  NWNXPushFloat(fHeight);
1979  NWNXPushObject(oCreature);
1980  NWNXCall(NWNX_Creature, "SetHeight");
1981 }
1982 
1983 float NWNX_Creature_GetHitDistance(object oCreature)
1984 {
1985  NWNXPushObject(oCreature);
1986  NWNXCall(NWNX_Creature, "GetHitDistance");
1987  return NWNXPopFloat();
1988 }
1989 
1990 void NWNX_Creature_SetHitDistance(object oCreature, float fHitDist)
1991 {
1992  NWNXPushFloat(fHitDist);
1993  NWNXPushObject(oCreature);
1994  NWNXCall(NWNX_Creature, "SetHitDistance");
1995 }
1996 
1998 {
1999  NWNXPushObject(oCreature);
2000  NWNXCall(NWNX_Creature, "GetPreferredAttackDistance");
2001  return NWNXPopFloat();
2002 }
2003 
2004 void NWNX_Creature_SetPreferredAttackDistance(object oCreature, float fPrefAtckDist)
2005 {
2006  NWNXPushFloat(fPrefAtckDist);
2007  NWNXPushObject(oCreature);
2008  NWNXCall(NWNX_Creature, "SetPreferredAttackDistance");
2009 }
2010 
2012 {
2013  NWNXPushObject(oCreature);
2014  NWNXCall(NWNX_Creature, "GetArmorCheckPenalty");
2015  return NWNXPopInt();
2016 }
2017 
2019 {
2020  NWNXPushObject(oCreature);
2021  NWNXCall(NWNX_Creature, "GetShieldCheckPenalty");
2022  return NWNXPopInt();
2023 }
2024 
2025 void NWNX_Creature_SetBypassEffectImmunity(object oCreature, int nImmunityType, int nChance = 100, int bPersist = FALSE)
2026 {
2027  NWNXPushInt(bPersist);
2028  NWNXPushInt(nChance);
2029  NWNXPushInt(nImmunityType);
2030  NWNXPushObject(oCreature);
2031  NWNXCall(NWNX_Creature, "SetBypassEffectImmunity");
2032 }
2033 
2034 int NWNX_Creature_GetBypassEffectImmunity(object oCreature, int nImmunityType)
2035 {
2036  NWNXPushInt(nImmunityType);
2037  NWNXPushObject(oCreature);
2038  NWNXCall(NWNX_Creature, "GetBypassEffectImmunity");
2039  return NWNXPopInt();
2040 }
2041 
2042 void NWNX_Creature_SetLastKiller(object oCreature, object oKiller)
2043 {
2044  NWNXPushObject(oKiller);
2045  NWNXPushObject(oCreature);
2046  NWNXCall(NWNX_Creature, "SetLastKiller");
2047 }
2048 
2049 void NWNX_Creature_DoItemCastSpell(object oCreature, object oTarget, location locTarget, int nSpellID, int nCasterLevel, float fProjectileTime, int nProjectilePathType = PROJECTILE_PATH_TYPE_DEFAULT, int nProjectileSpellID = -1, object oItem = OBJECT_INVALID, string sImpactScript = "")
2050 {
2051  NWNXPushString(sImpactScript);
2052  NWNXPushObject(oItem);
2053  NWNXPushInt(nProjectileSpellID);
2054  NWNXPushInt(nProjectilePathType);
2055  NWNXPushFloat(fProjectileTime);
2056  NWNXPushInt(nCasterLevel);
2057  NWNXPushInt(nSpellID);
2058  NWNXPushLocation(locTarget);
2059  NWNXPushObject(oTarget);
2060  NWNXPushObject(oCreature);
2061  NWNXCall(NWNX_Creature, "DoItemCastSpell");
2062 }
2063 
2064 int NWNX_Creature_RunEquip(object oCreature, object oItem, int nInventorySlot)
2065 {
2066  NWNXPushInt(nInventorySlot);
2067  NWNXPushObject(oItem);
2068  NWNXPushObject(oCreature);
2069  NWNXCall(NWNX_Creature, "RunEquip");
2070  return NWNXPopInt();
2071 }
2072 
2073 int NWNX_Creature_RunUnequip(object oCreature, object oItem)
2074 {
2075  NWNXPushObject(oItem);
2076  NWNXPushObject(oCreature);
2077  NWNXCall(NWNX_Creature, "RunUnequip");
2078  return NWNXPopInt();
2079 }
2080 
2081 void NWNX_Creature_OverrideRangedProjectileVFX(object oCreature, int nProjectileVFX, int bPersist = FALSE)
2082 {
2083  NWNXPushInt(bPersist);
2084  NWNXPushInt(nProjectileVFX);
2085  NWNXPushObject(oCreature);
2086  NWNXCall(NWNX_Creature, "OverrideRangedProjectileVFX");
2087 }
2088 
2089 void NWNX_Creature_SetInitiativeModifier(object oCreature, int nMod, int bPersist = FALSE)
2090 {
2091  NWNXPushInt(bPersist);
2092  NWNXPushInt(nMod);
2093  NWNXPushObject(oCreature);
2094  NWNXCall(NWNX_Creature, "SetInitiativeModifier");
2095 }
2096 
2098 {
2099  NWNXPushObject(oCreature);
2100  NWNXCall(NWNX_Creature, "GetInitiativeModifier");
2101  return NWNXPopInt();
2102 }
2103 
2104 object NWNX_Creature_GetBodyBag(object oCreature)
2105 {
2106  NWNXPushObject(oCreature);
2107  NWNXCall(NWNX_Creature, "GetBodyBag");
2108  return NWNXPopObject();
2109 }
2110 
2111 int NWNX_Creature_AddCastSpellActions(object oCreature, object oTarget, vector vTargetLocation, int nSpellID, int nMultiClass, int nMetaMagic = METAMAGIC_NONE, int nDomainLevel = 0, int nProjectilePathType = PROJECTILE_PATH_TYPE_DEFAULT, int bInstant = FALSE, int bClearActions = FALSE, int bAddToFront = FALSE)
2112 {
2113  NWNXPushInt(bAddToFront);
2114  NWNXPushInt(bClearActions);
2115  NWNXPushInt(bInstant);
2116  NWNXPushInt(nProjectilePathType);
2117  NWNXPushInt(nDomainLevel);
2118  NWNXPushInt(nMetaMagic);
2119  NWNXPushInt(nMultiClass);
2120  NWNXPushInt(nSpellID);
2121  NWNXPushVector(vTargetLocation);
2122  NWNXPushObject(oTarget);
2123  NWNXPushObject(oCreature);
2124  NWNXCall(NWNX_Creature, "AddCastSpellActions");
2125  return NWNXPopInt();
2126 }
2127 
2128 int NWNX_Creature_GetIsFlanking(object oCreature, object oTargetCreature)
2129 {
2130  NWNXPushObject(oTargetCreature);
2131  NWNXPushObject(oCreature);
2132  NWNXCall(NWNX_Creature, "GetIsFlanking");
2133  return NWNXPopInt();
2134 }
2135 
2136 void NWNX_Creature_DecrementRemainingSpellSlots(object oCreature, int nClass, int nSpellLevel)
2137 {
2138  NWNXPushInt(nSpellLevel);
2139  NWNXPushInt(nClass);
2140  NWNXPushObject(oCreature);
2141  NWNXCall(NWNX_Creature, "DecrementRemainingSpellSlots");
2142 }
2143 
2144 void NWNX_Creature_IncrementRemainingSpellSlots(object oCreature, int nClass, int nSpellLevel)
2145 {
2146  NWNXPushInt(nSpellLevel);
2147  NWNXPushInt(nClass);
2148  NWNXPushObject(oCreature);
2149  NWNXCall(NWNX_Creature, "IncrementRemainingSpellSlots");
2150 }
2151 
2153 {
2154  NWNXPushObject(oCreature);
2155  NWNXCall(NWNX_Creature, "GetMaximumBonusAttacks");
2156  return NWNXPopInt();
2157 }
2158 
2159 void NWNX_Creature_SetMaximumBonusAttacks(object oCreature, int nMaxBonusAttacks, int bPersist = FALSE)
2160 {
2161  NWNXPushInt(bPersist);
2162  NWNXPushInt(nMaxBonusAttacks);
2163  NWNXPushObject(oCreature);
2164  NWNXCall(NWNX_Creature, "SetMaximumBonusAttacks");
2165 }
2166 
2167 void NWNX_Creature_DoCleaveAttack(object oCreature)
2168 {
2169  NWNXPushObject(oCreature);
2170  NWNXCall(NWNX_Creature, "DoCleaveAttack");
2171 }
2172 
2174 {
2175  NWNXPushObject(oCreature);
2176  NWNXCall(NWNX_Creature, "GetLockOrientationToObject");
2177  return NWNXPopObject();
2178 }
2179 
2180 void NWNX_Creature_SetLockOrientationToObject(object oCreature, object oTarget)
2181 {
2182  NWNXPushObject(oTarget);
2183  NWNXPushObject(oCreature);
2184  NWNXCall(NWNX_Creature, "SetLockOrientationToObject");
2185 }
2186 
2187 void NWNX_Creature_BroadcastAttackOfOpportunity(object oCreature, object oSingleCreature = OBJECT_INVALID, int bMovement = FALSE)
2188 {
2189  NWNXPushInt(bMovement);
2190  NWNXPushObject(oSingleCreature);
2191  NWNXPushObject(oCreature);
2192  NWNXCall(NWNX_Creature, "BroadcastAttackOfOpportunity");
2193 }
2194 
2195 int NWNX_Creature_GetMaxSellToStorePriceOverride(object oCreature, object oStore)
2196 {
2197  NWNXPushObject(oStore);
2198  NWNXPushObject(oCreature);
2199  NWNXCall(NWNX_Creature, "GetMaxSellToStorePriceOverride");
2200 
2201  return NWNXPopInt();
2202 }
2203 
2204 void NWNX_Creature_SetMaxSellToStorePriceOverride(object oCreature, object oStore, int nMaxSellToPrice)
2205 {
2206  NWNXPushInt(nMaxSellToPrice);
2207  NWNXPushObject(oStore);
2208  NWNXPushObject(oCreature);
2209  NWNXCall(NWNX_Creature, "SetMaxSellToStorePriceOverride");
2210 }
2211 
2212 int NWNX_Creature_GetAbilityIncreaseByLevel(object oCreature, int nLevel)
2213 {
2214  NWNXPushInt(nLevel);
2215  NWNXPushObject(oCreature);
2216  NWNXCall(NWNX_Creature, "GetAbilityIncreaseByLevel");
2217  return NWNXPopInt();
2218 }
2219 
2220 void NWNX_Creature_SetAbilityIncreaseByLevel(object oCreature, int nLevel, int nAbility)
2221 {
2222  NWNXPushInt(nAbility);
2223  NWNXPushInt(nLevel);
2224  NWNXPushObject(oCreature);
2225  NWNXCall(NWNX_Creature, "SetAbilityIncreaseByLevel");
2226 }
2227 
2228 float NWNX_Creature_GetMaxAttackRange(object oCreature, object oTarget)
2229 {
2230  NWNXPushObject(oTarget);
2231  NWNXPushObject(oCreature);
2232  NWNXCall(NWNX_Creature, "GetMaxAttackRange");
2233  return NWNXPopFloat();
2234 }
2235 
2237 {
2238  NWNXPushObject(oCreature);
2239  NWNXCall(NWNX_Creature, "GetMulticlassLimit");
2240  return NWNXPopInt();
2241 }
2242 
2243 
2244 void NWNX_Creature_SetMulticlassLimit(object oCreature, int nLimit, int bPersist = FALSE)
2245 {
2246  NWNXPushInt(bPersist);
2247  NWNXPushInt(nLimit);
2248  NWNXPushObject(oCreature);
2249  NWNXCall(NWNX_Creature, "SetMulticlassLimit");
2250 }
void NWNX_Creature_SetCasterLevelModifier(object oCreature, int nClass, int nModifier, int bPersist=FALSE)
Sets a caster level modifier for oCreature.
void NWNX_Creature_SetAbilityIncreaseByLevel(object oCreature, int nLevel, int nAbility)
Sets the creature's ability increase for nLevel.
const int NWNX_CREATURE_PROJECTILE_VFX_SONIC
const int NWNX_CREATURE_BONUS_TYPE_DAMAGE
int NWNX_Creature_GetMaxSpellSlots(object creature, int class, int level)
Gets the maximum spell slots (innate casting) at a class level.
void NWNX_Creature_DoPerceptionUpdateOnCreature(object oCreature, object oTargetCreature)
Update oCreature's perception of oTargetCreature.
void NWNX_Creature_SetBaseAC(object creature, int ac)
Sets the base AC for the creature.
void NWNX_Creature_SetEncounter(object oCreature, object oEncounter)
Set the encounter source of oCreature.
void NWNX_Creature_JumpToLimbo(object oCreature)
Move a creature to limbo.
float NWNX_Creature_GetCreaturePersonalSpace(object oCreature)
Get a creatures creature personal space (meters from center to other creatures).
int NWNX_Creature_GetArmorCheckPenalty(object oCreature)
Get the skill penalty from wearing armor.
int NWNX_Creature_GetAbilityIncreaseByLevel(object oCreature, int nLevel)
Returns the creature's ability increase for nLevel.
const int NWNX_CREATURE_BONUS_TYPE_SAVING_THROW
const int NWNX_CREATURE_MOVEMENT_RATE_IMMOBILE
const int NWNX_CREATURE_MOVEMENT_RATE_VERY_SLOW
void NWNX_Creature_SetChallengeRating(object creature, float fCR)
Sets the creature's challenge rating.
void NWNX_Creature_SetFamiliarCreatureType(object creature, int type)
Set creature's familiar creature type.
void NWNX_Creature_SetOriginalName(object creature, string name, int isLastName)
Set the original first or last name of creature.
const int NWNX_CREATURE_PROJECTILE_VFX_RANDOM
Random Elemental VFX.
void NWNX_Creature_RemoveFeatByLevel(object creature, int feat, int level)
Removes the creature a feat assigned at a level.
int NWNX_Creature_GetLastItemCasterLevel(object oCreature)
Gets the caster level of the last item used.
const int NWNX_CREATURE_MOVEMENT_TYPE_RUN
void NWNX_Creature_RemoveSpecialAbility(object creature, int index)
Removes a special ability from a creature.
void NWNX_Creature_LevelDown(object creature, int count=1)
Remove last levels from a creature.
void NWNX_Creature_SetParryAllAttacks(object oCreature, int bParry)
Works like the tweak but can be turned on and off for all creatures or single ones.
void NWNX_Creature_SetCriticalRangeModifier(object oCreature, int nModifier, int nHand=0, int bPersist=FALSE, int nBaseItem=-1)
Sets the critical hit range modifier for the creature.
void NWNX_Creature_SetSpecialAbility(object creature, int index, struct NWNX_Creature_SpecialAbility ability)
Sets a special ability at the index for the creature.
void NWNX_Creature_AddAssociate(object oCreature, object oAssociate, int nAssociateType)
Add oAssociate as nAssociateType to oCreature.
void NWNX_Creature_SetRacialType(object creature, int racialtype)
Sets the creature's racial type.
struct NWNX_Creature_SpecialAbility NWNX_Creature_GetSpecialAbility(object creature, int index)
Returns the creature's special ability at a given index.
float NWNX_Creature_GetMaxAttackRange(object oCreature, object oTarget)
Returns the creature's maximum attack range to a target.
int NWNX_Creature_GetSpecialAbilityCount(object creature)
Gets the count of special abilities of the creature.
void NWNX_Creature_DoCleaveAttack(object oCreature)
Inserts a cleave or great cleave attack into oCreature's current attack round against the nearest ene...
vector NWNX_Creature_ComputeSafeLocation(object oCreature, vector vPosition, float fRadius=20.0f, int bWalkStraightLineRequired=TRUE)
Compute a safe location for oCreature.
const int NWNX_CREATURE_PROJECTILE_VFX_COLD
void NWNX_Creature_SetSpellResistance(object creature, int sr)
Set creature's spell resistance.
int NWNX_Creature_GetFeatRemainingUses(object creature, int feat)
Get feat remaining uses.
int NWNX_Creature_GetIsBartering(object oCreature)
Get if oCreature is currently bartering.
int NWNX_Creature_GetBypassEffectImmunity(object oCreature, int nImmunityType)
Gets a chance for normal Effect Immunities to be bypassed.
void NWNX_Creature_SetSize(object creature, int size)
Sets the creature size.
int NWNX_Creature_GetAttacksPerRound(object creature, int bBaseAPR=FALSE)
Gets the creatures current attacks per round (using equipped weapon).
int NWNX_Creature_GetFlatFooted(object oCreature)
Get whether a creature is flat-footed.
void NWNX_Creature_AddFeatByLevel(object creature, int feat, int level)
Gives the creature a feat assigned at a level.
void NWNX_Creature_OverrideDamageLevel(object oCreature, int nDamageLevel)
Override the damage level of oCreature.
int NWNX_Creature_GetIsFlanking(object oCreature, object oTargetCreature)
Get whether oCreature is flanking oTargetCreature.
int NWNX_Creature_GetFeatByLevel(object creature, int level, int index)
Returns the feat learned at the level and index.
void NWNX_Creature_SetGold(object creature, int gold)
Sets the creature's gold without sending a feedback message.
void NWNX_Creature_SetSkillRank(object creature, int skill, int rank)
Set the base ranks in a skill for creature.
int NWNX_Creature_GetBaseAC(object creature)
Get the base AC for the creature.
float NWNX_Creature_GetHitDistance(object oCreature)
Get a creatures hit distance.
const int NWNX_CREATURE_MOVEMENT_TYPE_STATIONARY
int NWNX_Creature_GetRawAbilityScore(object creature, int ability)
Gets the ability score of the creature.
void NWNX_Creature_SetNoPermanentDeath(object oCreature, int bNoPermanentDeath)
Sets the NoPermanentDeath flag of oCreature.
void NWNX_Creature_SetHeight(object oCreature, float fHeight)
Set a creatures height.
void NWNX_Creature_SetCreaturePersonalSpace(object oCreature, float fCrePerspace)
Set a creatures creature personal space (meters from center to other creatures).
void NWNX_Creature_SetFeatRemainingUses(object creature, int feat, int uses)
Set feat remaining uses.
void NWNX_Creature_SetClassByPosition(object creature, int position, int classID, int bUpdateLevels=TRUE)
Set the class ID in a particular position for a creature.
int NWNX_Creature_AddCastSpellActions(object oCreature, object oTarget, vector vTargetLocation, int nSpellID, int nMultiClass, int nMetaMagic=METAMAGIC_NONE, int nDomainLevel=0, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT, int bInstant=FALSE, int bClearActions=FALSE, int bAddToFront=FALSE)
Add a cast spell action to oCreature's action queue.
int NWNX_Creature_GetNoPermanentDeath(object oCreature)
Gets the NoPermanentDeath flag of oCreature.
const int NWNX_CREATURE_BONUS_TYPE_ATTACK
float NWNX_Creature_GetPersonalSpace(object oCreature)
Get a creatures personal space (meters from center to non-creature objects).
int NWNX_Creature_GetCriticalRangeModifier(object oCreature, int nHand=0, int nBaseItem=-1)
Gets the critical hit range modifier for the creature.
int NWNX_Creature_GetSkillPointsRemainingByLevel(object creature, int level)
Gets the creature's remaining unspent skill points for level.
int NWNX_Creature_GetFeatCountByLevel(object creature, int level)
Returns the count of feats learned at the provided level.
int NWNX_Creature_GetMovementType(object creature)
Returns the creature's current movement type.
float NWNX_Creature_GetPreferredAttackDistance(object oCreature)
Get a creatures preferred attack distance.
void NWNX_Creature_RestoreFeats(object creature)
Restore all creature feat uses.
void NWNX_Creature_RestoreSpecialAbilities(object creature)
Restore all creature special ability uses.
void NWNX_Creature_SetAnimalCompanionName(object creature, string name)
Set creature's animal companion's name.
void NWNX_Creature_OverrideRangedProjectileVFX(object oCreature, int nProjectileVFX, int bPersist=FALSE)
Override the elemental projectile visual effect of ranged/throwing weapons.
const int NWNX_CREATURE_BONUS_TYPE_SKILL
int NWNX_Creature_RunEquip(object oCreature, object oItem, int nInventorySlot)
Have oCreature instantly equip oItem to nInventorySlot.
string NWNX_Creature_SerializeQuickbar(object oCreature)
Serialize oCreature's quickbar to a base64 string.
void NWNX_Creature_SetLevelByPosition(object creature, int position, int level)
Set the level at the given position for a creature.
int NWNX_Creature_GetFaction(object oCreature)
Gets the faction id from oCreature.
void NWNX_Creature_SetBaseSavingThrow(object creature, int which, int value)
Sets the creature's base save.
const int NWNX_CREATURE_MOVEMENT_TYPE_SIDESTEP
void NWNX_Creature_SetMovementRate(object creature, int rate)
Set creature's movement rate.
void NWNX_Creature_RemoveFeat(object creature, int feat)
Removes a feat from a creature.
const int NWNX_CREATURE_MOVEMENT_RATE_FAST
const int NWNX_CREATURE_MOVEMENT_RATE_NORMAL
int NWNX_Creature_GetShieldCheckPenalty(object oCreature)
Get the skill penalty from wearing a shield.
const int NWNX_CREATURE_ABILITY_NONE
void NWNX_Creature_SetSkillPointsRemaining(object creature, int skillpoints)
Sets the creature's remaining unspent skill points.
int NWNX_Creature_GetInitiativeModifier(object oCreature)
Gets the custom Initiative modifier.
const int NWNX_CREATURE_MOVEMENT_RATE_SLOW
void NWNX_Creature_DecrementRemainingSpellSlots(object oCreature, int nClass, int nSpellLevel)
Decrements the remaining spell slots (innate casting) at a class level.
const int NWNX_CREATURE_MOVEMENT_RATE_VERY_FAST
void NWNX_Creature_SetMulticlassLimit(object oCreature, int nLimit, int bPersist=FALSE)
Sets the creature's multiclass limit.
void NWNX_Creature_SetRawAbilityScore(object creature, int ability, int value)
Sets the ability score of the creature to the provided value.
int NWNX_Creature_GetAttackBonus(object creature, int isMelee=-1, int isTouchAttack=FALSE, int isOffhand=FALSE, int includeBaseAttackBonus=TRUE)
Returns the creature's highest attack bonus based on its own stats.
int NWNX_Creature_GetWalkAnimation(object oCreature)
Gets the current walk animation of oCreature.
const int NWNX_CREATURE_MOVEMENT_RATE_DM_FAST
void NWNX_Creature_SetSkillRankByLevel(object creature, int skill, int rank, int level)
Set the ranks in a skill for creature assigned at a level.
int NWNX_Creature_GetCriticalMultiplierModifier(object oCreature, int nHand=0, int nBaseItem=-1)
Gets the critical hit multiplier modifier for the Creature.
void NWNX_Creature_SetMovementRateFactorCap(object creature, float cap)
Sets the creature's maximum movement rate cap.
int NWNX_Creature_GetMaxSellToStorePriceOverride(object oCreature, object oStore)
Returns the maximum price oStore will buy items from oCreature for.
void NWNX_Creature_SetCriticalMultiplierOverride(object oCreature, int nOverride, int nHand=0, int bPersist=FALSE, int nBaseItem=-1)
Sets the critical hit multiplier override for the Creature.
float NWNX_Creature_GetMovementRateFactor(object creature)
Returns the creature's current movement rate factor.
void NWNX_Creature_AddSpecialAbility(object creature, struct NWNX_Creature_SpecialAbility ability)
Adds a special ability to a creature.
object NWNX_Creature_GetBodyBag(object oCreature)
Gets the Body Bag of a creature.
int NWNX_Creature_GetSkillPointsRemaining(object creature)
Gets the creature's remaining unspent skill points.
int NWNX_Creature_GetFeatCount(object creature)
Get the total number of feats known by creature.
void NWNX_Creature_SetCorpseDecayTime(object creature, int nDecayTime)
Sets corpse decay time in milliseconds.
void NWNX_Creature_SetDomain(object creature, int class, int index, int domain)
Sets one of creature's domains.
void NWNX_Creature_SetCriticalRangeOverride(object oCreature, int nOverride, int nHand=0, int bPersist=FALSE, int nBaseItem=-1)
Sets the critical hit range Override for the creature.
int NWNX_Creature_GetMeetsFeatRequirements(object creature, int feat)
Gets if creature meets feat requirements.
void NWNX_Creature_SetPersonalSpace(object oCreature, float fPerspace)
Set a creatures personal space (meters from center to non-creature objects).
const int NWNX_CREATURE_PROJECTILE_VFX_ELECTRICAL
object NWNX_Creature_GetEncounter(object oCreature)
Get the encounter source of oCreature.
int NWNX_Creature_GetCasterLevelOverride(object oCreature, int nClass)
Gets the current caster level override for oCreature.
void NWNX_Creature_RestoreItems(object creature)
Restore uses for all items carried by the creature.
void NWNX_Creature_SetWalkAnimation(object oCreature, int nAnimation)
Sets the current walk animation of oCreature.
void NWNX_Creature_SetAttackRollOverride(object oCreature, int nRoll, int nModifier)
Changes the attack modifier depending on the dice roll. Used to skip autofail on 1 and autosucceed on...
void NWNX_Creature_SetAlignmentLawChaos(object creature, int value)
Set creature's raw law/chaos alignment value.
int NWNX_Creature_GetClassByLevel(object creature, int level)
Get the class taken by the creature at the provided level.
void NWNX_Creature_SetLastKiller(object oCreature, object oKiller)
Sets the killer of oCreature to oKiller.
const int NWNX_CREATURE_BONUS_TYPE_TOUCH_ATTACK
int NWNX_Creature_RunUnequip(object oCreature, object oItem)
Have oCreature instantly unequip oItem.
string NWNX_Creature_GetOriginalName(object creature, int isLastName)
Get the original first or last name of creature.
void NWNX_Creature_SetFaction(object oCreature, int nFactionId)
Sets oCreatures faction to be the faction with id nFactionId.
void NWNX_Creature_SetLastItemCasterLevel(object oCreature, int nCasterLvl)
Sets caster level for the last item used. Use in a spellhook or spell event before to set caster leve...
int NWNX_Creature_GetSkillRankByLevel(object creature, int skill, int level)
Get the ranks in a skill for creature assigned at a level.
int NWNX_Creature_GetCriticalMultiplierOverride(object oCreature, int nHand=0, int nBaseItem=-1)
Gets the critical hit multiplier override for the Creature.
int NWNX_Creature_GetCasterLevelModifier(object oCreature, int nClass)
Gets the current caster level modifier for oCreature.
void NWNX_Creature_RemoveKnownSpell(object creature, int class, int level, int spellId)
Remove a spell from creature's spellbook for class.
void NWNX_Creature_SetCasterLevelOverride(object oCreature, int nClass, int nCasterLevel, int bPersist=FALSE)
Sets a caster level override for oCreature.
void NWNX_Creature_SetCriticalMultiplierModifier(object oCreature, int nModifier, int nHand=0, int bPersist=FALSE, int nBaseItem=-1)
Sets the critical hit multiplier modifier for the Creature.
int NWNX_Creature_GetMulticlassLimit(object oCreature)
Returns the creature's multiclass limit.
int NWNX_Creature_DeserializeQuickbar(object oCreature, string sSerializedQuickbar)
Deserialize sSerializedQuickbar for oCreature.
void NWNX_Creature_SetSpecialization(object creature, int class, int school)
Sets creature's specialist school.
const int NWNX_CREATURE_MOVEMENT_RATE_DEFAULT
void NWNX_Creature_SetPreferredAttackDistance(object oCreature, float fPrefAtckDist)
Set a creatures preferred attack distance.
int NWNX_Creature_GetFeatTotalUses(object creature, int feat)
Get feat total uses.
const int NWNX_CREATURE_PROJECTILE_VFX_ACID
void NWNX_Creature_IncrementRemainingSpellSlots(object oCreature, int nClass, int nSpellLevel)
Increments the remaining spell slots (innate casting) at a class level.
int NWNX_Creature_GetMaximumBonusAttacks(object oCreature)
Gets the maximum number of bonus attacks a creature can have from EffectModifyAttacks().
void NWNX_Creature_SetWalkRateCap(object creature, float fWalkRate=2000.0f)
Sets the maximum movement rate a creature can have while walking (not running)
float NWNX_Creature_GetMovementRateFactorCap(object creature)
Returns the creature's maximum movement rate cap.
float NWNX_Creature_GetHeight(object oCreature)
Get a creatures height.
const int NWNX_CREATURE_BONUS_TYPE_ABILITY
const int NWNX_CREATURE_MOVEMENT_TYPE_WALK
void NWNX_Creature_ModifyRawAbilityScore(object creature, int ability, int modifier)
Adjusts the ability score of a creature.
int NWNX_Creature_GetRemainingSpellSlots(object creature, int class, int level)
Gets the remaining spell slots (innate casting) at a class level's index.
int NWNX_Creature_GetArmorClassVersus(object oAttacked, object oVersus, int nTouch=FALSE)
Gets the Armor classed of attacked against versus.
int NWNX_Creature_GetDisarmable(object creature)
Get whether the creature can be disarmed.
int NWNX_Creature_GetKnowsFeat(object creature, int feat)
Determines if the creature knows a feat.
int NWNX_Creature_GetHighestLevelOfFeat(object creature, int feat)
Get highest level version of feat possessed by creature.
const int NWNX_CREATURE_PROJECTILE_VFX_NONE
No VFX.
void NWNX_Creature_LevelUp(object creature, int class, int count=1, int package=PACKAGE_INVALID)
Add levels of class to the creature, bypassing all validation.
object NWNX_Creature_GetLockOrientationToObject(object oCreature)
Gets the current object oCreature's orientation is locked to.
void NWNX_Creature_AddFeat(object creature, int feat)
Gives the creature a feat.
void NWNX_Creature_SetBaseAttackBonus(object creature, int bab)
Set creature's base attack bonus (BAB).
void NWNX_Creature_SetRemainingSpellSlots(object creature, int class, int level, int slots)
Sets the remaining spell slots (innate casting) at a class level.
const int NWNX_CREATURE_MOVEMENT_TYPE_WALK_BACKWARDS
void NWNX_Creature_BroadcastAttackOfOpportunity(object oCreature, object oSingleCreature=OBJECT_INVALID, int bMovement=FALSE)
Causes oCreature to broadcast an Attack of Opportunity against themself.
int NWNX_Creature_GetFeatByIndex(object creature, int index)
Returns the creature's feat at a given index.
void NWNX_Creature_SetLockOrientationToObject(object oCreature, object oTarget)
Locks oCreature's orientation to always face oTarget.
void NWNX_Creature_SetDisarmable(object creature, int disarmable)
Set whether a creature can be disarmed.
void NWNX_Creature_AddKnownSpell(object creature, int class, int level, int spellId)
Add a spell to a creature's spellbook for class.
int NWNX_Creature_GetBaseSavingThrow(object creature, int which)
Gets the creature's base save.
void NWNX_Creature_SetMaxSellToStorePriceOverride(object oCreature, object oStore, int nMaxSellToPrice)
Overrides the maximum price oStore will buy items from oCreature for.
void NWNX_Creature_DoItemCastSpell(object oCreature, object oTarget, location locTarget, int nSpellID, int nCasterLevel, float fProjectileTime, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT, int nProjectileSpellID=-1, object oItem=OBJECT_INVALID, string sImpactScript="")
Instantly cast a spell at a target or location.
const int NWNX_CREATURE_PROJECTILE_VFX_FIRE
int NWNX_Creature_GetFeatGrantLevel(object creature, int feat)
Returns the creature level where the specified feat was learned.
void NWNX_Creature_SetMaxHitPointsByLevel(object creature, int level, int value)
Sets the maximum hit points for creature.
int NWNX_Creature_GetTotalEffectBonus(object creature, int bonusType=NWNX_CREATURE_BONUS_TYPE_ATTACK, object target=OBJECT_INVALID, int isElemental=0, int isForceMax=0, int savetype=-1, int saveSpecificType=-1, int skill=-1, int abilityScore=-1, int isOffhand=FALSE)
Get total effect bonus.
void NWNX_Creature_SetAnimalCompanionCreatureType(object creature, int type)
Set creature's animal companion creature type.
void NWNX_Creature_SetBypassEffectImmunity(object oCreature, int nImmunityType, int nChance=100, int bPersist=FALSE)
Sets a chance for normal Effect Immunities to be bypassed.
void NWNX_Creature_SetMovementRateFactor(object creature, float rate)
Sets the creature's current movement rate factor.
void NWNX_Creature_SetMaximumBonusAttacks(object oCreature, int nMaxBonusAttacks, int bPersist=FALSE)
Sets the maximum number of bonus attacks a creature can have from EffectModifyAttacks().
void NWNX_Creature_SetHitDistance(object oCreature, float fHitDist)
Set a creatures hit distance.
void NWNX_Creature_SetFamiliarName(object creature, string name)
Set creature's familiar's name.
void NWNX_Creature_SetInitiativeModifier(object oCreature, int nMod, int bPersist=FALSE)
Sets a custom Initiative modifier.
void NWNX_Creature_SetSkillPointsRemainingByLevel(object creature, int level, int value)
Sets the creature's remaining unspent skill points for level.
const int NWNX_CREATURE_MOVEMENT_RATE_PC
int NWNX_Creature_GetCriticalRangeOverride(object oCreature, int nHand=0, int nBaseItem=-1)
Sets the critical hit range Override for the creature.
int NWNX_Creature_GetPrePolymorphAbilityScore(object creature, int ability)
Gets the raw ability score a polymorphed creature had prior to polymorphing.
void NWNX_Creature_SetAlignmentGoodEvil(object creature, int value)
Set creature's raw good/evil alignment value.
int NWNX_Creature_GetMaxHitPointsByLevel(object creature, int level)
Gets the maximum hit points for creature for level.
A creature special ability.
int level
The level of the ability.
int ready
Whether it can be used.