NWNX:EE  8193.36.12
nwnx_creature.nss
Go to the documentation of this file.
1 #include "nwnx"
6 
7 const string NWNX_Creature = "NWNX_Creature";
8 
24 
36 
49 
62 
65 
69 {
70  int id;
71  int ready;
72  int level;
73 };
74 
79 void NWNX_Creature_AddFeat(object creature, int feat);
80 
86 void NWNX_Creature_AddFeatByLevel(object creature, int feat, int level);
87 
91 void NWNX_Creature_RemoveFeat(object creature, int feat);
92 
99 void NWNX_Creature_RemoveFeatByLevel(object creature, int feat, int level);
100 
106 int NWNX_Creature_GetKnowsFeat(object creature, int feat);
107 
112 int NWNX_Creature_GetFeatCountByLevel(object creature, int level);
113 
119 int NWNX_Creature_GetFeatByLevel(object creature, int level, int index);
120 
125 int NWNX_Creature_GetFeatGrantLevel(object creature, int feat);
126 
130 int NWNX_Creature_GetFeatCount(object creature);
131 
136 int NWNX_Creature_GetFeatByIndex(object creature, int index);
137 
142 int NWNX_Creature_GetMeetsFeatRequirements(object creature, int feat);
143 
147 int NWNX_Creature_GetSpecialAbilityCount(object creature);
148 
153 struct NWNX_Creature_SpecialAbility NWNX_Creature_GetSpecialAbility(object creature, int index);
154 
158 void NWNX_Creature_AddSpecialAbility(object creature, struct NWNX_Creature_SpecialAbility ability);
159 
163 void NWNX_Creature_RemoveSpecialAbility(object creature, int index);
164 
169 void NWNX_Creature_SetSpecialAbility(object creature, int index, struct NWNX_Creature_SpecialAbility ability);
170 
175 int NWNX_Creature_GetClassByLevel(object creature, int level);
176 
180 void NWNX_Creature_SetBaseAC(object creature, int ac);
181 
185 int NWNX_Creature_GetBaseAC(object creature);
186 
192 void NWNX_Creature_SetRawAbilityScore(object creature, int ability, int value);
193 
199 int NWNX_Creature_GetRawAbilityScore(object creature, int ability);
200 
206 void NWNX_Creature_ModifyRawAbilityScore(object creature, int ability, int modifier);
207 
213 int NWNX_Creature_GetPrePolymorphAbilityScore(object creature, int ability);
214 
220 int NWNX_Creature_GetRemainingSpellSlots(object creature, int class, int level);
221 
227 void NWNX_Creature_SetRemainingSpellSlots(object creature, int class, int level, int slots);
228 
234 int NWNX_Creature_GetMaxSpellSlots(object creature, int class, int level);
235 
241 void NWNX_Creature_AddKnownSpell(object creature, int class, int level, int spellId);
242 
248 void NWNX_Creature_RemoveKnownSpell(object creature, int class, int level, int spellId);
249 
254 int NWNX_Creature_GetMaxHitPointsByLevel(object creature, int level);
255 
260 void NWNX_Creature_SetMaxHitPointsByLevel(object creature, int level, int value);
261 
265 void NWNX_Creature_SetMovementRate(object creature, int rate);
266 
271 float NWNX_Creature_GetMovementRateFactor(object creature);
272 
277 void NWNX_Creature_SetMovementRateFactor(object creature, float rate);
278 
283 float NWNX_Creature_GetMovementRateFactorCap(object creature);
284 
289 void NWNX_Creature_SetMovementRateFactorCap(object creature, float cap);
290 
294 int NWNX_Creature_GetMovementType(object creature);
295 
301 void NWNX_Creature_SetWalkRateCap(object creature, float fWalkRate = 2000.0f);
302 
306 void NWNX_Creature_SetAlignmentGoodEvil(object creature, int value);
307 
311 void NWNX_Creature_SetAlignmentLawChaos(object creature, int value);
312 
317 void NWNX_Creature_SetSkillRank(object creature, int skill, int rank);
318 
324 int NWNX_Creature_GetSkillRankByLevel(object creature, int skill, int level);
325 
332 void NWNX_Creature_SetSkillRankByLevel(object creature, int skill, int rank, int level);
333 
341 void NWNX_Creature_SetClassByPosition(object creature, int position, int classID, int bUpdateLevels = TRUE);
342 
349 void NWNX_Creature_SetLevelByPosition(object creature, int position, int level);
350 
360 void NWNX_Creature_SetBaseAttackBonus(object creature, int bab);
361 
367 int NWNX_Creature_GetAttacksPerRound(object creature, int bBaseAPR = FALSE);
368 
371 void NWNX_Creature_RestoreFeats(object creature);
372 
375 void NWNX_Creature_RestoreSpecialAbilities(object creature);
376 
379 void NWNX_Creature_RestoreItems(object creature);
380 
384 void NWNX_Creature_SetSize(object creature, int size);
385 
389 int NWNX_Creature_GetSkillPointsRemaining(object creature);
390 
394 void NWNX_Creature_SetSkillPointsRemaining(object creature, int skillpoints);
395 
400 int NWNX_Creature_GetSkillPointsRemainingByLevel(object creature, int level);
401 
406 void NWNX_Creature_SetSkillPointsRemainingByLevel(object creature, int level, int value);
407 
411 void NWNX_Creature_SetRacialType(object creature, int racialtype);
412 
416 void NWNX_Creature_SetGold(object creature, int gold);
417 
421 void NWNX_Creature_SetCorpseDecayTime(object creature, int nDecayTime);
422 
428 int NWNX_Creature_GetBaseSavingThrow(object creature, int which);
429 
434 void NWNX_Creature_SetBaseSavingThrow(object creature, int which, int value);
435 
442 void NWNX_Creature_LevelUp(object creature, int class, int count = 1, int package = PACKAGE_INVALID);
443 
448 void NWNX_Creature_LevelDown(object creature, int count=1);
449 
453 void NWNX_Creature_SetChallengeRating(object creature, float fCR);
454 
467 int NWNX_Creature_GetAttackBonus(object creature, int isMelee = -1, int isTouchAttack = FALSE, int isOffhand = FALSE, int includeBaseAttackBonus = TRUE);
468 
474 int NWNX_Creature_GetHighestLevelOfFeat(object creature, int feat);
475 
480 int NWNX_Creature_GetFeatRemainingUses(object creature, int feat);
481 
486 int NWNX_Creature_GetFeatTotalUses(object creature, int feat);
487 
492 void NWNX_Creature_SetFeatRemainingUses(object creature, int feat, int uses);
493 
508 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);
509 
515 void NWNX_Creature_SetOriginalName(object creature, string name, int isLastName);
516 
521 string NWNX_Creature_GetOriginalName(object creature, int isLastName);
522 
527 void NWNX_Creature_SetSpellResistance(object creature, int sr);
528 
532 void NWNX_Creature_SetAnimalCompanionCreatureType(object creature, int type);
533 
537 void NWNX_Creature_SetFamiliarCreatureType(object creature, int type);
538 
542 void NWNX_Creature_SetAnimalCompanionName(object creature, string name);
543 
547 void NWNX_Creature_SetFamiliarName(object creature, string name);
548 
552 int NWNX_Creature_GetDisarmable(object creature);
553 
557 void NWNX_Creature_SetDisarmable(object creature, int disarmable);
558 
564 void NWNX_Creature_SetDomain(object creature, int class, int index, int domain);
565 
570 void NWNX_Creature_SetSpecialization(object creature, int class, int school);
571 
575 void NWNX_Creature_SetFaction(object oCreature, int nFactionId);
576 
580 int NWNX_Creature_GetFaction(object oCreature);
581 
585 int NWNX_Creature_GetFlatFooted(object oCreature);
586 
590 string NWNX_Creature_SerializeQuickbar(object oCreature);
591 
596 int NWNX_Creature_DeserializeQuickbar(object oCreature, string sSerializedQuickbar);
597 
603 void NWNX_Creature_SetCasterLevelModifier(object oCreature, int nClass, int nModifier, int bPersist = FALSE);
604 
609 int NWNX_Creature_GetCasterLevelModifier(object oCreature, int nClass);
610 
616 void NWNX_Creature_SetCasterLevelOverride(object oCreature, int nClass, int nCasterLevel, int bPersist = FALSE);
617 
622 int NWNX_Creature_GetCasterLevelOverride(object oCreature, int nClass);
623 
626 void NWNX_Creature_JumpToLimbo(object oCreature);
627 
635 void NWNX_Creature_SetCriticalMultiplierModifier(object oCreature, int nModifier, int nHand = 0, int bPersist = FALSE, int nBaseItem = -1);
636 
642 int NWNX_Creature_GetCriticalMultiplierModifier(object oCreature, int nHand = 0, int nBaseItem = -1);
643 
651 void NWNX_Creature_SetCriticalMultiplierOverride(object oCreature, int nOverride, int nHand = 0, int bPersist = FALSE, int nBaseItem = -1);
652 
658 int NWNX_Creature_GetCriticalMultiplierOverride(object oCreature, int nHand = 0, int nBaseItem = -1);
659 
667 void NWNX_Creature_SetCriticalRangeModifier(object oCreature, int nModifier, int nHand = 0, int bPersist = FALSE, int nBaseItem = -1);
668 
674 int NWNX_Creature_GetCriticalRangeModifier(object oCreature, int nHand = 0, int nBaseItem = -1);
675 
683 void NWNX_Creature_SetCriticalRangeOverride(object oCreature, int nOverride, int nHand = 0, int bPersist = FALSE, int nBaseItem = -1);
684 
690 int NWNX_Creature_GetCriticalRangeOverride(object oCreature, int nHand = 0, int nBaseItem = -1);
691 
697 void NWNX_Creature_AddAssociate(object oCreature, object oAssociate, int nAssociateType);
698 
703 void NWNX_Creature_OverrideDamageLevel(object oCreature, int nDamageLevel);
704 
708 void NWNX_Creature_SetEncounter(object oCreature, object oEncounter);
709 
713 object NWNX_Creature_GetEncounter(object oCreature);
714 
718 int NWNX_Creature_GetIsBartering(object oCreature);
719 
723 void NWNX_Creature_SetLastItemCasterLevel(object oCreature, int nCasterLvl);
724 
728 int NWNX_Creature_GetLastItemCasterLevel(object oCreature);
729 
735 int NWNX_Creature_GetArmorClassVersus(object oAttacked, object oVersus, int nTouch=FALSE);
736 
740 int NWNX_Creature_GetWalkAnimation(object oCreature);
741 
745 void NWNX_Creature_SetWalkAnimation(object oCreature, int nAnimation);
746 
751 void NWNX_Creature_SetAttackRollOverride(object oCreature, int nRoll, int nModifier);
752 
757 void NWNX_Creature_SetParryAllAttacks(object oCreature, int bParry);
758 
762 int NWNX_Creature_GetNoPermanentDeath(object oCreature);
763 
767 void NWNX_Creature_SetNoPermanentDeath(object oCreature, int bNoPermanentDeath);
768 
775 vector NWNX_Creature_ComputeSafeLocation(object oCreature, vector vPosition, float fRadius = 20.0f, int bWalkStraightLineRequired = TRUE);
776 
780 void NWNX_Creature_DoPerceptionUpdateOnCreature(object oCreature, object oTargetCreature);
781 
785 float NWNX_Creature_GetPersonalSpace(object oCreature);
786 
790 void NWNX_Creature_SetPersonalSpace(object oCreature, float fPerspace);
791 
795 float NWNX_Creature_GetCreaturePersonalSpace(object oCreature);
796 
800 void NWNX_Creature_SetCreaturePersonalSpace(object oCreature, float fCrePerspace);
801 
805 float NWNX_Creature_GetHeight(object oCreature);
806 
810 void NWNX_Creature_SetHeight(object oCreature, float fHeight);
811 
815 float NWNX_Creature_GetHitDistance(object oCreature);
816 
820 void NWNX_Creature_SetHitDistance(object oCreature, float fHitDist);
821 
825 float NWNX_Creature_GetPreferredAttackDistance(object oCreature);
826 
830 void NWNX_Creature_SetPreferredAttackDistance(object oCreature, float fPrefAtckDist);
831 
834 int NWNX_Creature_GetArmorCheckPenalty(object oCreature);
835 
838 int NWNX_Creature_GetShieldCheckPenalty(object oCreature);
839 
847 void NWNX_Creature_SetBypassEffectImmunity(object oCreature, int nImmunityType, int nChance = 100, int bPersist = FALSE);
848 
853 int NWNX_Creature_GetBypassEffectImmunity(object oCreature, int nImmunityType);
854 
858 void NWNX_Creature_SetLastKiller(object oCreature, object oKiller);
859 
873 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 = "");
874 
880 int NWNX_Creature_RunEquip(object oCreature, object oItem, int nInventorySlot);
881 
886 int NWNX_Creature_RunUnequip(object oCreature, object oItem);
887 
893 void NWNX_Creature_OverrideRangedProjectileVFX(object oCreature, int nProjectileVFX, int bPersist = FALSE);
894 
901 void NWNX_Creature_SetInitiativeModifier(object oCreature, int nMod, int bPersist = FALSE);
902 
906 int NWNX_Creature_GetInitiativeModifier(object oCreature);
907 
911 object NWNX_Creature_GetBodyBag(object oCreature);
912 
926 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);
927 
932 int NWNX_Creature_GetIsFlanking(object oCreature, object oTargetCreature);
933 
938 void NWNX_Creature_DecrementRemainingSpellSlots(object oCreature, int nClass, int nSpellLevel);
939 
944 void NWNX_Creature_IncrementRemainingSpellSlots(object oCreature, int nClass, int nSpellLevel);
945 
949 int NWNX_Creature_GetMaximumBonusAttacks(object oCreature);
950 
957 void NWNX_Creature_SetMaximumBonusAttacks(object oCreature, int nMaxBonusAttacks, int bPersist = FALSE);
958 
962 void NWNX_Creature_DoCleaveAttack(object oCreature);
963 
967 object NWNX_Creature_GetLockOrientationToObject(object oCreature);
968 
972 void NWNX_Creature_SetLockOrientationToObject(object oCreature, object oTarget);
973 
978 void NWNX_Creature_BroadcastAttackOfOpportunity(object oCreature, object oSingleCreature = OBJECT_INVALID, int bMovement = FALSE);
979 
984 int NWNX_Creature_GetMaxSellToStorePriceOverride(object oCreature, object oStore);
985 
990 void NWNX_Creature_SetMaxSellToStorePriceOverride(object oCreature, object oStore, int nMaxSellToPrice);
991 
996 int NWNX_Creature_GetAbilityIncreaseByLevel(object oCreature, int nLevel);
997 
1002 void NWNX_Creature_SetAbilityIncreaseByLevel(object oCreature, int nLevel, int nAbility);
1003 
1008 float NWNX_Creature_GetMaxAttackRange(object oCreature, object oTarget);
1009 
1011 
1012 void NWNX_Creature_AddFeat(object creature, int feat)
1013 {
1014  string sFunc = "AddFeat";
1015  NWNX_PushArgumentInt(feat);
1016  NWNX_PushArgumentObject(creature);
1017 
1018  NWNX_CallFunction(NWNX_Creature, sFunc);
1019 }
1020 
1021 void NWNX_Creature_AddFeatByLevel(object creature, int feat, int level)
1022 {
1023  string sFunc = "AddFeatByLevel";
1024 
1026  NWNX_PushArgumentInt(feat);
1027  NWNX_PushArgumentObject(creature);
1028 
1029  NWNX_CallFunction(NWNX_Creature, sFunc);
1030 }
1031 
1032 void NWNX_Creature_RemoveFeat(object creature, int feat)
1033 {
1034  string sFunc = "RemoveFeat";
1035  NWNX_PushArgumentInt(feat);
1036  NWNX_PushArgumentObject(creature);
1037 
1038  NWNX_CallFunction(NWNX_Creature, sFunc);
1039 }
1040 
1041 void NWNX_Creature_RemoveFeatByLevel(object creature, int feat, int level)
1042 {
1043  string sFunc = "RemoveFeatByLevel";
1044 
1046  NWNX_PushArgumentInt(feat);
1047  NWNX_PushArgumentObject(creature);
1048 
1049  NWNX_CallFunction(NWNX_Creature, sFunc);
1050 }
1051 
1052 int NWNX_Creature_GetKnowsFeat(object creature, int feat)
1053 {
1054  string sFunc = "GetKnowsFeat";
1055 
1056  NWNX_PushArgumentInt(feat);
1057  NWNX_PushArgumentObject(creature);
1058 
1059  NWNX_CallFunction(NWNX_Creature, sFunc);
1060  return NWNX_GetReturnValueInt();
1061 }
1062 
1063 int NWNX_Creature_GetFeatCountByLevel(object creature, int level)
1064 {
1065  string sFunc = "GetFeatCountByLevel";
1066 
1068  NWNX_PushArgumentObject(creature);
1069 
1070  NWNX_CallFunction(NWNX_Creature, sFunc);
1071  return NWNX_GetReturnValueInt();
1072 }
1073 
1074 int NWNX_Creature_GetFeatByLevel(object creature, int level, int index)
1075 {
1076  string sFunc = "GetFeatByLevel";
1077 
1078  NWNX_PushArgumentInt(index);
1080  NWNX_PushArgumentObject(creature);
1081 
1082  NWNX_CallFunction(NWNX_Creature, sFunc);
1083  return NWNX_GetReturnValueInt();
1084 }
1085 
1086 int NWNX_Creature_GetFeatCount(object creature)
1087 {
1088  string sFunc = "GetFeatCount";
1089 
1090  NWNX_PushArgumentObject(creature);
1091 
1092  NWNX_CallFunction(NWNX_Creature, sFunc);
1093  return NWNX_GetReturnValueInt();
1094 }
1095 
1096 int NWNX_Creature_GetFeatGrantLevel(object creature, int feat)
1097 {
1098  string sFunc = "GetFeatGrantLevel";
1099 
1100  NWNX_PushArgumentInt(feat);
1101  NWNX_PushArgumentObject(creature);
1102  NWNX_CallFunction(NWNX_Creature, sFunc);
1103  return NWNX_GetReturnValueInt();
1104 }
1105 
1106 int NWNX_Creature_GetFeatByIndex(object creature, int index)
1107 {
1108  string sFunc = "GetFeatByIndex";
1109 
1110  NWNX_PushArgumentInt(index);
1111  NWNX_PushArgumentObject(creature);
1112 
1113  NWNX_CallFunction(NWNX_Creature, sFunc);
1114  return NWNX_GetReturnValueInt();
1115 }
1116 
1117 int NWNX_Creature_GetMeetsFeatRequirements(object creature, int feat)
1118 {
1119  string sFunc = "GetMeetsFeatRequirements";
1120 
1121  NWNX_PushArgumentInt(feat);
1122  NWNX_PushArgumentObject(creature);
1123 
1124  NWNX_CallFunction(NWNX_Creature, sFunc);
1125  return NWNX_GetReturnValueInt();
1126 }
1127 
1129 {
1130  string sFunc = "GetSpecialAbility";
1131 
1132  struct NWNX_Creature_SpecialAbility ability;
1133 
1134  NWNX_PushArgumentInt(index);
1135  NWNX_PushArgumentObject(creature);
1136 
1137  NWNX_CallFunction(NWNX_Creature, sFunc);
1138 
1139  ability.level = NWNX_GetReturnValueInt();
1140  ability.ready = NWNX_GetReturnValueInt();
1141  ability.id = NWNX_GetReturnValueInt();
1142 
1143  return ability;
1144 }
1145 
1147 {
1148  string sFunc = "GetSpecialAbilityCount";
1149 
1150  NWNX_PushArgumentObject(creature);
1151  NWNX_CallFunction(NWNX_Creature, sFunc);
1152 
1153  return NWNX_GetReturnValueInt();
1154 }
1155 
1157 {
1158  string sFunc = "AddSpecialAbility";
1159 
1160  NWNX_PushArgumentInt(ability.id);
1161  NWNX_PushArgumentInt(ability.ready);
1162  NWNX_PushArgumentInt(ability.level);
1163  NWNX_PushArgumentObject(creature);
1164 
1165  NWNX_CallFunction(NWNX_Creature, sFunc);
1166 }
1167 
1168 void NWNX_Creature_RemoveSpecialAbility(object creature, int index)
1169 {
1170  string sFunc = "RemoveSpecialAbility";
1171 
1172  NWNX_PushArgumentInt(index);
1173  NWNX_PushArgumentObject(creature);
1174 
1175  NWNX_CallFunction(NWNX_Creature, sFunc);
1176 }
1177 
1178 void NWNX_Creature_SetSpecialAbility(object creature, int index, struct NWNX_Creature_SpecialAbility ability)
1179 {
1180  string sFunc = "SetSpecialAbility";
1181 
1182  NWNX_PushArgumentInt(ability.id);
1183  NWNX_PushArgumentInt(ability.ready);
1184  NWNX_PushArgumentInt(ability.level);
1185  NWNX_PushArgumentInt(index);
1186  NWNX_PushArgumentObject(creature);
1187 
1188  NWNX_CallFunction(NWNX_Creature, sFunc);
1189 }
1190 
1191 int NWNX_Creature_GetClassByLevel(object creature, int level)
1192 {
1193  string sFunc = "GetClassByLevel";
1194 
1196  NWNX_PushArgumentObject(creature);
1197 
1198  NWNX_CallFunction(NWNX_Creature, sFunc);
1199  return NWNX_GetReturnValueInt();
1200 }
1201 
1202 void NWNX_Creature_SetBaseAC(object creature, int ac)
1203 {
1204  string sFunc = "SetBaseAC";
1205 
1207  NWNX_PushArgumentObject(creature);
1208 
1209  NWNX_CallFunction(NWNX_Creature, sFunc);
1210 }
1211 
1212 int NWNX_Creature_GetBaseAC(object creature)
1213 {
1214  string sFunc = "GetBaseAC";
1215 
1216  NWNX_PushArgumentObject(creature);
1217 
1218  NWNX_CallFunction(NWNX_Creature, sFunc);
1219  return NWNX_GetReturnValueInt();
1220 }
1221 
1222 void NWNX_Creature_SetRawAbilityScore(object creature, int ability, int value)
1223 {
1224  string sFunc = "SetRawAbilityScore";
1225 
1226  NWNX_PushArgumentInt(value);
1227  NWNX_PushArgumentInt(ability);
1228  NWNX_PushArgumentObject(creature);
1229 
1230  NWNX_CallFunction(NWNX_Creature, sFunc);
1231 }
1232 
1233 int NWNX_Creature_GetRawAbilityScore(object creature, int ability)
1234 {
1235  string sFunc = "GetRawAbilityScore";
1236 
1237  NWNX_PushArgumentInt(ability);
1238  NWNX_PushArgumentObject(creature);
1239 
1240  NWNX_CallFunction(NWNX_Creature, sFunc);
1241  return NWNX_GetReturnValueInt();
1242 }
1243 
1244 void NWNX_Creature_ModifyRawAbilityScore(object creature, int ability, int modifier)
1245 {
1246  string sFunc = "ModifyRawAbilityScore";
1247 
1248  NWNX_PushArgumentInt(modifier);
1249  NWNX_PushArgumentInt(ability);
1250  NWNX_PushArgumentObject(creature);
1251 
1252  NWNX_CallFunction(NWNX_Creature, sFunc);
1253 }
1254 
1255 int NWNX_Creature_GetPrePolymorphAbilityScore(object creature, int ability)
1256 {
1257  string sFunc = "GetPrePolymorphAbilityScore";
1258 
1259  NWNX_PushArgumentInt(ability);
1260  NWNX_PushArgumentObject(creature);
1261 
1262  NWNX_CallFunction(NWNX_Creature, sFunc);
1263  return NWNX_GetReturnValueInt();
1264 }
1265 
1266 int NWNX_Creature_GetRemainingSpellSlots(object creature, int class, int level)
1267 {
1268  string sFunc = "GetRemainingSpellSlots";
1269 
1271  NWNX_PushArgumentInt(class);
1272  NWNX_PushArgumentObject(creature);
1273 
1274  NWNX_CallFunction(NWNX_Creature, sFunc);
1275  return NWNX_GetReturnValueInt();
1276 }
1277 
1278 void NWNX_Creature_SetRemainingSpellSlots(object creature, int class, int level, int slots)
1279 {
1280  string sFunc = "SetRemainingSpellSlots";
1281 
1282  NWNX_PushArgumentInt(slots);
1284  NWNX_PushArgumentInt(class);
1285  NWNX_PushArgumentObject(creature);
1286 
1287  NWNX_CallFunction(NWNX_Creature, sFunc);
1288 }
1289 
1290 void NWNX_Creature_RemoveKnownSpell(object creature, int class, int level, int spellId)
1291 {
1292  string sFunc = "RemoveKnownSpell";
1293 
1294  NWNX_PushArgumentInt(spellId);
1296  NWNX_PushArgumentInt(class);
1297  NWNX_PushArgumentObject(creature);
1298 
1299  NWNX_CallFunction(NWNX_Creature, sFunc);
1300 }
1301 
1302 void NWNX_Creature_AddKnownSpell(object creature, int class, int level, int spellId)
1303 {
1304  string sFunc = "AddKnownSpell";
1305 
1306  NWNX_PushArgumentInt(spellId);
1308  NWNX_PushArgumentInt(class);
1309  NWNX_PushArgumentObject(creature);
1310 
1311  NWNX_CallFunction(NWNX_Creature, sFunc);
1312 }
1313 
1314 int NWNX_Creature_GetMaxSpellSlots(object creature, int class, int level)
1315 {
1316  string sFunc = "GetMaxSpellSlots";
1317 
1319  NWNX_PushArgumentInt(class);
1320  NWNX_PushArgumentObject(creature);
1321 
1322  NWNX_CallFunction(NWNX_Creature, sFunc);
1323  return NWNX_GetReturnValueInt();
1324 }
1325 
1326 
1328 {
1329  string sFunc = "GetMaxHitPointsByLevel";
1330 
1332  NWNX_PushArgumentObject(creature);
1333 
1334  NWNX_CallFunction(NWNX_Creature, sFunc);
1335  return NWNX_GetReturnValueInt();
1336 }
1337 
1338 void NWNX_Creature_SetMaxHitPointsByLevel(object creature, int level, int value)
1339 {
1340  string sFunc = "SetMaxHitPointsByLevel";
1341 
1342  NWNX_PushArgumentInt(value);
1344  NWNX_PushArgumentObject(creature);
1345 
1346  NWNX_CallFunction(NWNX_Creature, sFunc);
1347 }
1348 
1349 void NWNX_Creature_SetMovementRate(object creature, int rate)
1350 {
1351  string sFunc = "SetMovementRate";
1352 
1353  NWNX_PushArgumentInt(rate);
1354  NWNX_PushArgumentObject(creature);
1355 
1356  NWNX_CallFunction(NWNX_Creature, sFunc);
1357 }
1358 
1360 {
1361  string sFunc = "GetMovementRateFactor";
1362  NWNX_PushArgumentObject(creature);
1363 
1364  NWNX_CallFunction(NWNX_Creature, sFunc);
1365  return NWNX_GetReturnValueFloat();
1366 }
1367 
1368 void NWNX_Creature_SetMovementRateFactor(object creature, float factor)
1369 {
1370  string sFunc = "SetMovementRateFactor";
1371 
1372  NWNX_PushArgumentFloat(factor);
1373  NWNX_PushArgumentObject(creature);
1374 
1375  NWNX_CallFunction(NWNX_Creature, sFunc);
1376 }
1377 
1379 {
1380  string sFunc = "GetMovementRateFactorCap";
1381  NWNX_PushArgumentObject(creature);
1382 
1383  NWNX_CallFunction(NWNX_Creature, sFunc);
1384  return NWNX_GetReturnValueFloat();
1385 }
1386 
1387 void NWNX_Creature_SetMovementRateFactorCap(object creature, float cap)
1388 {
1389  string sFunc = "SetMovementRateFactorCap";
1390 
1392  NWNX_PushArgumentObject(creature);
1393 
1394  NWNX_CallFunction(NWNX_Creature, sFunc);
1395 }
1396 
1397 void NWNX_Creature_SetAlignmentGoodEvil(object creature, int value)
1398 {
1399  string sFunc = "SetAlignmentGoodEvil";
1400 
1401  NWNX_PushArgumentInt(value);
1402  NWNX_PushArgumentObject(creature);
1403 
1404  NWNX_CallFunction(NWNX_Creature, sFunc);
1405 }
1406 
1407 void NWNX_Creature_SetAlignmentLawChaos(object creature, int value)
1408 {
1409  string sFunc = "SetAlignmentLawChaos";
1410 
1411  NWNX_PushArgumentInt(value);
1412  NWNX_PushArgumentObject(creature);
1413 
1414  NWNX_CallFunction(NWNX_Creature, sFunc);
1415 }
1416 
1417 void NWNX_Creature_SetSkillRank(object creature, int skill, int rank)
1418 {
1419  string sFunc = "SetSkillRank";
1420  NWNX_PushArgumentInt(rank);
1421  NWNX_PushArgumentInt(skill);
1422  NWNX_PushArgumentObject(creature);
1423 
1424  NWNX_CallFunction(NWNX_Creature, sFunc);
1425 }
1426 
1427 int NWNX_Creature_GetSkillRankByLevel(object creature, int skill, int level)
1428 {
1429  string sFunc = "GetSkillRankByLevel";
1430 
1432  NWNX_PushArgumentInt(skill);
1433  NWNX_PushArgumentObject(creature);
1434 
1435  NWNX_CallFunction(NWNX_Creature, sFunc);
1436  return NWNX_GetReturnValueInt();
1437 }
1438 
1439 void NWNX_Creature_SetSkillRankByLevel(object creature, int skill, int rank, int level)
1440 {
1441  string sFunc = "SetSkillRankByLevel";
1442 
1444  NWNX_PushArgumentInt(rank);
1445  NWNX_PushArgumentInt(skill);
1446  NWNX_PushArgumentObject(creature);
1447 
1448  NWNX_CallFunction(NWNX_Creature, sFunc);
1449 }
1450 
1451 void NWNX_Creature_SetClassByPosition(object creature, int position, int classID, int bUpdateLevels = TRUE)
1452 {
1453  string sFunc = "SetClassByPosition";
1454  NWNX_PushArgumentInt(bUpdateLevels);
1455  NWNX_PushArgumentInt(classID);
1456  NWNX_PushArgumentInt(position);
1457  NWNX_PushArgumentObject(creature);
1458 
1459  NWNX_CallFunction(NWNX_Creature, sFunc);
1460 }
1461 
1462 void NWNX_Creature_SetLevelByPosition(object creature, int position, int level)
1463 {
1464  string sFunc = "SetLevelByPosition";
1466  NWNX_PushArgumentInt(position);
1467  NWNX_PushArgumentObject(creature);
1468 
1469  NWNX_CallFunction(NWNX_Creature, sFunc);
1470 }
1471 
1472 void NWNX_Creature_SetBaseAttackBonus(object creature, int bab)
1473 {
1474  string sFunc = "SetBaseAttackBonus";
1475  NWNX_PushArgumentInt(bab);
1476  NWNX_PushArgumentObject(creature);
1477 
1478  NWNX_CallFunction(NWNX_Creature, sFunc);
1479 }
1480 
1481 int NWNX_Creature_GetAttacksPerRound(object creature, int bBaseAPR = FALSE)
1482 {
1483  string sFunc = "GetAttacksPerRound";
1484  NWNX_PushArgumentInt(bBaseAPR);
1485  NWNX_PushArgumentObject(creature);
1486 
1487  NWNX_CallFunction(NWNX_Creature, sFunc);
1488  return NWNX_GetReturnValueInt();
1489 }
1490 
1491 void NWNX_Creature_RestoreFeats(object creature)
1492 {
1493  string sFunc = "RestoreFeats";
1494  NWNX_PushArgumentObject(creature);
1495 
1496  NWNX_CallFunction(NWNX_Creature, sFunc);
1497 }
1498 
1500 {
1501  string sFunc = "RestoreSpecialAbilities";
1502  NWNX_PushArgumentObject(creature);
1503 
1504  NWNX_CallFunction(NWNX_Creature, sFunc);
1505 }
1506 
1507 void NWNX_Creature_RestoreItems(object creature)
1508 {
1509  string sFunc = "RestoreItems";
1510  NWNX_PushArgumentObject(creature);
1511 
1512  NWNX_CallFunction(NWNX_Creature, sFunc);
1513 }
1514 
1515 void NWNX_Creature_SetSize(object creature, int size)
1516 {
1517  string sFunc = "SetSize";
1518  NWNX_PushArgumentInt(size);
1519  NWNX_PushArgumentObject(creature);
1520 
1521  NWNX_CallFunction(NWNX_Creature, sFunc);
1522 }
1523 
1525 {
1526  string sFunc = "GetSkillPointsRemaining";
1527  NWNX_PushArgumentObject(creature);
1528 
1529  NWNX_CallFunction(NWNX_Creature, sFunc);
1530  return NWNX_GetReturnValueInt();
1531 }
1532 
1533 
1534 void NWNX_Creature_SetSkillPointsRemaining(object creature, int skillpoints)
1535 {
1536  string sFunc = "SetSkillPointsRemaining";
1537  NWNX_PushArgumentInt(skillpoints);
1538  NWNX_PushArgumentObject(creature);
1539 
1540  NWNX_CallFunction(NWNX_Creature, sFunc);
1541 }
1542 
1544 {
1545  string sFunc = "GetSkillPointsRemainingByLevel";
1546 
1548  NWNX_PushArgumentObject(creature);
1549 
1550  NWNX_CallFunction(NWNX_Creature, sFunc);
1551  return NWNX_GetReturnValueInt();
1552 }
1553 
1554 void NWNX_Creature_SetSkillPointsRemainingByLevel(object creature, int level, int value)
1555 {
1556  string sFunc = "SetSkillPointsRemainingByLevel";
1557 
1558  NWNX_PushArgumentInt(value);
1560  NWNX_PushArgumentObject(creature);
1561 
1562  NWNX_CallFunction(NWNX_Creature, sFunc);
1563 }
1564 
1565 void NWNX_Creature_SetRacialType(object creature, int racialtype)
1566 {
1567  string sFunc = "SetRacialType";
1568  NWNX_PushArgumentInt(racialtype);
1569  NWNX_PushArgumentObject(creature);
1570 
1571  NWNX_CallFunction(NWNX_Creature, sFunc);
1572 }
1573 
1574 int NWNX_Creature_GetMovementType(object creature)
1575 {
1576  string sFunc = "GetMovementType";
1577  NWNX_PushArgumentObject(creature);
1578 
1579  NWNX_CallFunction(NWNX_Creature, sFunc);
1580  return NWNX_GetReturnValueInt();
1581 }
1582 
1583 void NWNX_Creature_SetWalkRateCap(object creature, float fWalkRate = 2000.0f)
1584 {
1585  string sFunc = "SetWalkRateCap";
1586  NWNX_PushArgumentFloat(fWalkRate);
1587  NWNX_PushArgumentObject(creature);
1588 
1589  NWNX_CallFunction(NWNX_Creature, sFunc);
1590 }
1591 
1592 void NWNX_Creature_SetGold(object creature, int gold)
1593 {
1594  string sFunc = "SetGold";
1595  NWNX_PushArgumentInt(gold);
1596  NWNX_PushArgumentObject(creature);
1597 
1598  NWNX_CallFunction(NWNX_Creature, sFunc);
1599 }
1600 
1601 void NWNX_Creature_SetCorpseDecayTime(object creature, int nDecayTime)
1602 {
1603  string sFunc = "SetCorpseDecayTime";
1604  NWNX_PushArgumentInt(nDecayTime);
1605  NWNX_PushArgumentObject(creature);
1606 
1607  NWNX_CallFunction(NWNX_Creature, sFunc);
1608 }
1609 
1610 
1611 int NWNX_Creature_GetBaseSavingThrow(object creature, int which)
1612 {
1613  string sFunc = "GetBaseSavingThrow";
1614  NWNX_PushArgumentInt(which);
1615  NWNX_PushArgumentObject(creature);
1616 
1617  NWNX_CallFunction(NWNX_Creature, sFunc);
1618  return NWNX_GetReturnValueInt();
1619 }
1620 
1621 void NWNX_Creature_SetBaseSavingThrow(object creature, int which, int value)
1622 {
1623  string sFunc = "SetBaseSavingThrow";
1624  NWNX_PushArgumentInt(value);
1625  NWNX_PushArgumentInt(which);
1626  NWNX_PushArgumentObject(creature);
1627 
1628  NWNX_CallFunction(NWNX_Creature, sFunc);
1629 }
1630 
1631 void NWNX_Creature_LevelUp(object creature, int class, int count = 1, int package = PACKAGE_INVALID)
1632 {
1633  string sFunc = "LevelUp";
1634  NWNX_PushArgumentInt(package);
1635  NWNX_PushArgumentInt(count);
1636  NWNX_PushArgumentInt(class);
1637  NWNX_PushArgumentObject(creature);
1638 
1639  NWNX_CallFunction(NWNX_Creature, sFunc);
1640 }
1641 
1642 void NWNX_Creature_LevelDown(object creature, int count=1)
1643 {
1644  string sFunc = "LevelDown";
1645  NWNX_PushArgumentInt(count);
1646  NWNX_PushArgumentObject(creature);
1647 
1648  NWNX_CallFunction(NWNX_Creature, sFunc);
1649 }
1650 
1651 void NWNX_Creature_SetChallengeRating(object creature, float fCR)
1652 {
1653  string sFunc = "SetChallengeRating";
1655  NWNX_PushArgumentObject(creature);
1656 
1657  NWNX_CallFunction(NWNX_Creature, sFunc);
1658 }
1659 
1660 int NWNX_Creature_GetAttackBonus(object creature, int isMelee = -1, int isTouchAttack = FALSE, int isOffhand = FALSE, int includeBaseAttackBonus = TRUE)
1661 {
1662  string sFunc = "GetAttackBonus";
1663 
1664  if (isMelee == -1)
1665  {
1666  object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, creature);
1667 
1668  if (GetIsObjectValid(oWeapon))
1669  {
1670  isMelee = !GetWeaponRanged(oWeapon);
1671  }
1672  else
1673  {// Default to melee for unarmed
1674  isMelee = TRUE;
1675  }
1676  }
1677 
1678  NWNX_PushArgumentInt(includeBaseAttackBonus);
1679  NWNX_PushArgumentInt(isOffhand);
1680  NWNX_PushArgumentInt(isTouchAttack);
1681  NWNX_PushArgumentInt(isMelee);
1682  NWNX_PushArgumentObject(creature);
1683 
1684  NWNX_CallFunction(NWNX_Creature, sFunc);
1685  return NWNX_GetReturnValueInt();
1686 }
1687 
1688 int NWNX_Creature_GetHighestLevelOfFeat(object creature, int feat)
1689 {
1690  string sFunc = "GetHighestLevelOfFeat";
1691 
1692  NWNX_PushArgumentInt(feat);
1693  NWNX_PushArgumentObject(creature);
1694 
1695  NWNX_CallFunction(NWNX_Creature, sFunc);
1696  return NWNX_GetReturnValueInt();
1697 }
1698 
1699 int NWNX_Creature_GetFeatRemainingUses(object creature, int feat)
1700 {
1701  string sFunc = "GetFeatRemainingUses";
1702 
1703  NWNX_PushArgumentInt(feat);
1704  NWNX_PushArgumentObject(creature);
1705 
1706  NWNX_CallFunction(NWNX_Creature, sFunc);
1707  return NWNX_GetReturnValueInt();
1708 }
1709 
1710 int NWNX_Creature_GetFeatTotalUses(object creature, int feat)
1711 {
1712  string sFunc = "GetFeatTotalUses";
1713 
1714  NWNX_PushArgumentInt(feat);
1715  NWNX_PushArgumentObject(creature);
1716 
1717  NWNX_CallFunction(NWNX_Creature, sFunc);
1718  return NWNX_GetReturnValueInt();
1719 }
1720 
1721 void NWNX_Creature_SetFeatRemainingUses(object creature, int feat, int uses)
1722 {
1723  string sFunc = "SetFeatRemainingUses";
1724 
1725  NWNX_PushArgumentInt(uses);
1726  NWNX_PushArgumentInt(feat);
1727  NWNX_PushArgumentObject(creature);
1728 
1729  NWNX_CallFunction(NWNX_Creature, sFunc);
1730 }
1731 
1732 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)
1733 {
1734  string sFunc = "GetTotalEffectBonus";
1735 
1736  NWNX_PushArgumentInt(isOffhand);
1737  NWNX_PushArgumentInt(abilityScore);
1738  NWNX_PushArgumentInt(skill);
1739  NWNX_PushArgumentInt(saveSpecificType);
1740  NWNX_PushArgumentInt(savetype);
1741  NWNX_PushArgumentInt(isForceMax);
1742  NWNX_PushArgumentInt(isElemental);
1743  NWNX_PushArgumentObject(target);
1744  NWNX_PushArgumentInt(bonusType);
1745  NWNX_PushArgumentObject(creature);
1746 
1747  NWNX_CallFunction(NWNX_Creature, sFunc);
1748  return NWNX_GetReturnValueInt();
1749 }
1750 
1751 void NWNX_Creature_SetOriginalName(object creature, string name, int isLastName)
1752 {
1753  string sFunc = "SetOriginalName";
1754 
1755  NWNX_PushArgumentInt(isLastName);
1757  NWNX_PushArgumentObject(creature);
1758 
1759  NWNX_CallFunction(NWNX_Creature, sFunc);
1760 }
1761 
1762 string NWNX_Creature_GetOriginalName(object creature, int isLastName)
1763 {
1764  string sFunc = "GetOriginalName";
1765 
1766  NWNX_PushArgumentInt(isLastName);
1767  NWNX_PushArgumentObject(creature);
1768 
1769  NWNX_CallFunction(NWNX_Creature, sFunc);
1770  return NWNX_GetReturnValueString();
1771 }
1772 
1773 void NWNX_Creature_SetSpellResistance(object creature, int sr)
1774 {
1775  string sFunc = "SetSpellResistance";
1776 
1778  NWNX_PushArgumentObject(creature);
1779 
1780  NWNX_CallFunction(NWNX_Creature, sFunc);
1781 }
1782 
1783 void NWNX_Creature_SetAnimalCompanionCreatureType(object creature, int type)
1784 {
1785  string sFunc = "SetAnimalCompanionCreatureType";
1786 
1787  NWNX_PushArgumentInt(type);
1788  NWNX_PushArgumentObject(creature);
1789 
1790  NWNX_CallFunction(NWNX_Creature, sFunc);
1791 }
1792 
1793 void NWNX_Creature_SetFamiliarCreatureType(object creature, int type)
1794 {
1795  string sFunc = "SetFamiliarCreatureType";
1796 
1797  NWNX_PushArgumentInt(type);
1798  NWNX_PushArgumentObject(creature);
1799 
1800  NWNX_CallFunction(NWNX_Creature, sFunc);
1801 }
1802 
1803 void NWNX_Creature_SetAnimalCompanionName(object creature, string name)
1804 {
1805  string sFunc = "SetAnimalCompanionName";
1806 
1808  NWNX_PushArgumentObject(creature);
1809 
1810  NWNX_CallFunction(NWNX_Creature, sFunc);
1811 }
1812 
1813 void NWNX_Creature_SetFamiliarName(object creature, string name)
1814 {
1815  string sFunc = "SetFamiliarName";
1816 
1818  NWNX_PushArgumentObject(creature);
1819 
1820  NWNX_CallFunction(NWNX_Creature, sFunc);
1821 }
1822 
1823 int NWNX_Creature_GetDisarmable(object creature)
1824 {
1825  string sFunc = "GetDisarmable";
1826 
1827  NWNX_PushArgumentObject(creature);
1828 
1829  NWNX_CallFunction(NWNX_Creature, sFunc);
1830  return NWNX_GetReturnValueInt();
1831 }
1832 
1833 void NWNX_Creature_SetDisarmable(object creature, int disarmable)
1834 {
1835  string sFunc = "SetDisarmable";
1836 
1837  NWNX_PushArgumentInt(disarmable);
1838  NWNX_PushArgumentObject(creature);
1839 
1840  NWNX_CallFunction(NWNX_Creature, sFunc);
1841 }
1842 
1843 void NWNX_Creature_SetDomain(object creature, int class, int index, int domain)
1844 {
1845  string sFunc = "SetDomain";
1846 
1847  NWNX_PushArgumentInt(domain);
1848  NWNX_PushArgumentInt(index);
1849  NWNX_PushArgumentInt(class);
1850  NWNX_PushArgumentObject(creature);
1851 
1852  NWNX_CallFunction(NWNX_Creature, sFunc);
1853 }
1854 
1855 void NWNX_Creature_SetSpecialization(object creature, int class, int school)
1856 {
1857  string sFunc = "SetSpecialization";
1858 
1859  NWNX_PushArgumentInt(school);
1860  NWNX_PushArgumentInt(class);
1861  NWNX_PushArgumentObject(creature);
1862 
1863  NWNX_CallFunction(NWNX_Creature, sFunc);
1864 }
1865 
1866 void NWNX_Creature_SetFaction(object oCreature, int nFactionId)
1867 {
1868  string sFunc = "SetFaction";
1869  NWNX_PushArgumentInt(nFactionId);
1870  NWNX_PushArgumentObject(oCreature);
1871  NWNX_CallFunction(NWNX_Creature, sFunc);
1872 }
1873 
1874 int NWNX_Creature_GetFaction(object oCreature)
1875 {
1876  string sFunc = "GetFaction";
1877  NWNX_PushArgumentObject(oCreature);
1878  NWNX_CallFunction(NWNX_Creature, sFunc);
1879  return NWNX_GetReturnValueInt();
1880 }
1881 
1882 int NWNX_Creature_GetFlatFooted(object oCreature)
1883 {
1884  string sFunc = "GetFlatFooted";
1885  NWNX_PushArgumentObject(oCreature);
1886  NWNX_CallFunction(NWNX_Creature, sFunc);
1887  return NWNX_GetReturnValueInt();
1888 }
1889 
1890 string NWNX_Creature_SerializeQuickbar(object oCreature)
1891 {
1892  string sFunc = "SerializeQuickbar";
1893 
1894  NWNX_PushArgumentObject(oCreature);
1895  NWNX_CallFunction(NWNX_Creature, sFunc);
1896 
1897  return NWNX_GetReturnValueString();
1898 }
1899 
1900 int NWNX_Creature_DeserializeQuickbar(object oCreature, string sSerializedQuickbar)
1901 {
1902  string sFunc = "DeserializeQuickbar";
1903 
1904  NWNX_PushArgumentString(sSerializedQuickbar);
1905  NWNX_PushArgumentObject(oCreature);
1906 
1907  NWNX_CallFunction(NWNX_Creature, sFunc);
1908  return NWNX_GetReturnValueInt();
1909 }
1910 
1911 void NWNX_Creature_SetCasterLevelModifier(object oCreature, int nClass, int nModifier, int bPersist = FALSE)
1912 {
1913  string sFunc = "SetCasterLevelModifier";
1914 
1915  NWNX_PushArgumentInt(bPersist);
1916  NWNX_PushArgumentInt(nModifier);
1917  NWNX_PushArgumentInt(nClass);
1918  NWNX_PushArgumentObject(oCreature);
1919 
1920  NWNX_CallFunction(NWNX_Creature, sFunc);
1921 }
1922 
1923 int NWNX_Creature_GetCasterLevelModifier(object oCreature, int nClass)
1924 {
1925  string sFunc = "GetCasterLevelModifier";
1926 
1927  NWNX_PushArgumentInt(nClass);
1928  NWNX_PushArgumentObject(oCreature);
1929 
1930  NWNX_CallFunction(NWNX_Creature, sFunc);
1931  return NWNX_GetReturnValueInt();
1932 }
1933 
1934 void NWNX_Creature_SetCasterLevelOverride(object oCreature, int nClass, int nCasterLevel, int bPersist = FALSE)
1935 {
1936  string sFunc = "SetCasterLevelOverride";
1937 
1938  NWNX_PushArgumentInt(bPersist);
1939  NWNX_PushArgumentInt(nCasterLevel);
1940  NWNX_PushArgumentInt(nClass);
1941  NWNX_PushArgumentObject(oCreature);
1942 
1943  NWNX_CallFunction(NWNX_Creature, sFunc);
1944 }
1945 
1946 int NWNX_Creature_GetCasterLevelOverride(object oCreature, int nClass)
1947 {
1948  string sFunc = "GetCasterLevelOverride";
1949 
1950  NWNX_PushArgumentInt(nClass);
1951  NWNX_PushArgumentObject(oCreature);
1952 
1953  NWNX_CallFunction(NWNX_Creature, sFunc);
1954  return NWNX_GetReturnValueInt();
1955 }
1956 
1957 void NWNX_Creature_JumpToLimbo(object oCreature)
1958 {
1959  string sFunc = "JumpToLimbo";
1960  NWNX_PushArgumentObject(oCreature);
1961  NWNX_CallFunction(NWNX_Creature, sFunc);
1962 }
1963 
1964 void NWNX_Creature_SetCriticalMultiplierModifier(object oCreature, int nModifier, int nHand = 0, int bPersist = FALSE, int nBaseItem = -1)
1965 {
1966  string sFunc = "SetCriticalMultiplierModifier";
1967 
1968  NWNX_PushArgumentInt(nBaseItem);
1969  NWNX_PushArgumentInt(bPersist);
1970  NWNX_PushArgumentInt(nHand);
1971  NWNX_PushArgumentInt(nModifier);
1972  NWNX_PushArgumentObject(oCreature);
1973 
1974  NWNX_CallFunction(NWNX_Creature, sFunc);
1975 }
1976 
1977 int NWNX_Creature_GetCriticalMultiplierModifier(object oCreature, int nHand = 0, int nBaseItem = -1)
1978 {
1979  string sFunc = "GetCriticalMultiplierModifier";
1980 
1981  NWNX_PushArgumentInt(nBaseItem);
1982  NWNX_PushArgumentInt(nHand);
1983  NWNX_PushArgumentObject(oCreature);
1984 
1985  NWNX_CallFunction(NWNX_Creature, sFunc);
1986  return NWNX_GetReturnValueInt();
1987 }
1988 
1989 void NWNX_Creature_SetCriticalMultiplierOverride(object oCreature, int nOverride, int nHand = 0, int bPersist = FALSE, int nBaseItem = -1)
1990 {
1991  string sFunc = "SetCriticalMultiplierOverride";
1992 
1993  NWNX_PushArgumentInt(nBaseItem);
1994  NWNX_PushArgumentInt(bPersist);
1995  NWNX_PushArgumentInt(nHand);
1996  NWNX_PushArgumentInt(nOverride);
1997  NWNX_PushArgumentObject(oCreature);
1998 
1999  NWNX_CallFunction(NWNX_Creature, sFunc);
2000 }
2001 
2002 int NWNX_Creature_GetCriticalMultiplierOverride(object oCreature, int nHand = 0, int nBaseItem = -1)
2003 {
2004  string sFunc = "GetCriticalMultiplierOverride";
2005 
2006  NWNX_PushArgumentInt(nBaseItem);
2007  NWNX_PushArgumentInt(nHand);
2008  NWNX_PushArgumentObject(oCreature);
2009 
2010  NWNX_CallFunction(NWNX_Creature, sFunc);
2011  return NWNX_GetReturnValueInt();
2012 }
2013 
2014 void NWNX_Creature_SetCriticalRangeModifier(object oCreature, int nModifier, int nHand = 0, int bPersist = FALSE, int nBaseItem = -1)
2015 {
2016  string sFunc = "SetCriticalRangeModifier";
2017 
2018  NWNX_PushArgumentInt(nBaseItem);
2019  NWNX_PushArgumentInt(bPersist);
2020  NWNX_PushArgumentInt(nHand);
2021  NWNX_PushArgumentInt(nModifier);
2022  NWNX_PushArgumentObject(oCreature);
2023 
2024  NWNX_CallFunction(NWNX_Creature, sFunc);
2025 }
2026 
2027 int NWNX_Creature_GetCriticalRangeModifier(object oCreature, int nHand = 0, int nBaseItem = -1)
2028 {
2029  string sFunc = "GetCriticalRangeModifier";
2030 
2031  NWNX_PushArgumentInt(nBaseItem);
2032  NWNX_PushArgumentInt(nHand);
2033  NWNX_PushArgumentObject(oCreature);
2034 
2035  NWNX_CallFunction(NWNX_Creature, sFunc);
2036  return NWNX_GetReturnValueInt();
2037 }
2038 
2039 void NWNX_Creature_SetCriticalRangeOverride(object oCreature, int nOverride, int nHand = 0, int bPersist = FALSE, int nBaseItem = -1)
2040 {
2041  string sFunc = "SetCriticalRangeOverride";
2042 
2043  NWNX_PushArgumentInt(nBaseItem);
2044  NWNX_PushArgumentInt(bPersist);
2045  NWNX_PushArgumentInt(nHand);
2046  NWNX_PushArgumentInt(nOverride);
2047  NWNX_PushArgumentObject(oCreature);
2048 
2049  NWNX_CallFunction(NWNX_Creature, sFunc);
2050 }
2051 
2052 int NWNX_Creature_GetCriticalRangeOverride(object oCreature, int nHand = 0, int nBaseItem = -1)
2053 {
2054  string sFunc = "GetCriticalRangeOverride";
2055 
2056  NWNX_PushArgumentInt(nBaseItem);
2057  NWNX_PushArgumentInt(nHand);
2058  NWNX_PushArgumentObject(oCreature);
2059 
2060  NWNX_CallFunction(NWNX_Creature, sFunc);
2061  return NWNX_GetReturnValueInt();
2062 }
2063 
2064 void NWNX_Creature_AddAssociate(object oCreature, object oAssociate, int nAssociateType)
2065 {
2066  string sFunc = "AddAssociate";
2067 
2068  NWNX_PushArgumentInt(nAssociateType);
2069  NWNX_PushArgumentObject(oAssociate);
2070  NWNX_PushArgumentObject(oCreature);
2071 
2072  NWNX_CallFunction(NWNX_Creature, sFunc);
2073 }
2074 
2075 void NWNX_Creature_OverrideDamageLevel(object oCreature, int nDamageLevel)
2076 {
2077  string sFunc = "OverrideDamageLevel";
2078 
2079  NWNX_PushArgumentInt(nDamageLevel);
2080  NWNX_PushArgumentObject(oCreature);
2081  NWNX_CallFunction(NWNX_Creature, sFunc);
2082 }
2083 
2084 void NWNX_Creature_SetEncounter(object oCreature, object oEncounter)
2085 {
2086  string sFunc = "SetEncounter";
2087 
2088  NWNX_PushArgumentObject(oEncounter);
2089  NWNX_PushArgumentObject(oCreature);
2090  NWNX_CallFunction(NWNX_Creature, sFunc);
2091 }
2092 
2093 object NWNX_Creature_GetEncounter(object oCreature)
2094 {
2095  string sFunc = "GetEncounter";
2096 
2097  NWNX_PushArgumentObject(oCreature);
2098  NWNX_CallFunction(NWNX_Creature, sFunc);
2099 
2100  return NWNX_GetReturnValueObject();
2101 }
2102 
2103 int NWNX_Creature_GetIsBartering(object oCreature)
2104 {
2105  string sFunc = "GetIsBartering";
2106 
2107  NWNX_PushArgumentObject(oCreature);
2108  NWNX_CallFunction(NWNX_Creature, sFunc);
2109 
2110  return NWNX_GetReturnValueInt();
2111 }
2112 
2113 void NWNX_Creature_SetLastItemCasterLevel(object oCreature, int nCasterLvl)
2114 {
2115  string sFunc = "SetLastItemCasterLevel";
2116  NWNX_PushArgumentInt(nCasterLvl);
2117  NWNX_PushArgumentObject(oCreature);
2118  NWNX_CallFunction(NWNX_Creature, sFunc);
2119 }
2120 
2121 
2123 {
2124  string sFunc = "GetLastItemCasterLevel";
2125  NWNX_PushArgumentObject(oCreature);
2126  NWNX_CallFunction(NWNX_Creature, sFunc);
2127 
2128  return NWNX_GetReturnValueInt();
2129 }
2130 
2131 int NWNX_Creature_GetArmorClassVersus(object oAttacked, object oVersus, int nTouch=FALSE)
2132 {
2133  string sFunc = "GetArmorClassVersus";
2134  NWNX_PushArgumentInt(nTouch);
2135  NWNX_PushArgumentObject(oVersus);
2136  NWNX_PushArgumentObject(oAttacked);
2137  NWNX_CallFunction(NWNX_Creature, sFunc);
2138 
2139  return NWNX_GetReturnValueInt();
2140 }
2141 
2142 int NWNX_Creature_GetWalkAnimation(object oCreature)
2143 {
2144  string sFunc = "GetWalkAnimation";
2145  NWNX_PushArgumentObject(oCreature);
2146  NWNX_CallFunction(NWNX_Creature, sFunc);
2147 
2148  return NWNX_GetReturnValueInt();
2149 }
2150 
2151 void NWNX_Creature_SetWalkAnimation(object oCreature, int nAnimation)
2152 {
2153  string sFunc = "SetWalkAnimation";
2154  NWNX_PushArgumentInt(nAnimation);
2155  NWNX_PushArgumentObject(oCreature);
2156  NWNX_CallFunction(NWNX_Creature, sFunc);
2157 }
2158 
2159 void NWNX_Creature_SetAttackRollOverride(object oCreature, int nRoll, int nModifier)
2160 {
2161  string sFunc = "SetAttackRollOverride";
2162  NWNX_PushArgumentInt(nModifier);
2163  NWNX_PushArgumentInt(nRoll);
2164  NWNX_PushArgumentObject(oCreature);
2165  NWNX_CallFunction(NWNX_Creature, sFunc);
2166 }
2167 
2168 void NWNX_Creature_SetParryAllAttacks(object oCreature, int bParry)
2169 {
2170  string sFunc = "SetParryAllAttacks";
2171  NWNX_PushArgumentInt(bParry);
2172  NWNX_PushArgumentObject(oCreature);
2173  NWNX_CallFunction(NWNX_Creature, sFunc);
2174 }
2175 
2177 {
2178  string sFunc = "GetNoPermanentDeath";
2179 
2180  NWNX_PushArgumentObject(oCreature);
2181  NWNX_CallFunction(NWNX_Creature, sFunc);
2182 
2183  return NWNX_GetReturnValueInt();
2184 }
2185 
2186 void NWNX_Creature_SetNoPermanentDeath(object oCreature, int bNoPermanentDeath)
2187 {
2188  string sFunc = "SetNoPermanentDeath";
2189 
2190  NWNX_PushArgumentInt(bNoPermanentDeath);
2191  NWNX_PushArgumentObject(oCreature);
2192  NWNX_CallFunction(NWNX_Creature, sFunc);
2193 }
2194 
2195 vector NWNX_Creature_ComputeSafeLocation(object oCreature, vector vPosition, float fRadius = 20.0f, int bWalkStraightLineRequired = TRUE)
2196 {
2197  string sFunc = "ComputeSafeLocation";
2198 
2199  NWNX_PushArgumentInt(bWalkStraightLineRequired);
2200  NWNX_PushArgumentFloat(fRadius);
2201  NWNX_PushArgumentFloat(vPosition.x);
2202  NWNX_PushArgumentFloat(vPosition.y);
2203  NWNX_PushArgumentFloat(vPosition.z);
2204  NWNX_PushArgumentObject(oCreature);
2205  NWNX_CallFunction(NWNX_Creature, sFunc);
2206 
2207  vector v;
2208  v.z = NWNX_GetReturnValueFloat();
2209  v.y = NWNX_GetReturnValueFloat();
2210  v.x = NWNX_GetReturnValueFloat();
2211 
2212  return v;
2213 }
2214 
2215 void NWNX_Creature_DoPerceptionUpdateOnCreature(object oCreature, object oTargetCreature)
2216 {
2217  string sFunc = "DoPerceptionUpdateOnCreature";
2218 
2219  NWNX_PushArgumentObject(oTargetCreature);
2220  NWNX_PushArgumentObject(oCreature);
2221  NWNX_CallFunction(NWNX_Creature, sFunc);
2222 }
2223 
2224 float NWNX_Creature_GetPersonalSpace(object oCreature)
2225 {
2226  string sFunc = "GetPersonalSpace";
2227 
2228  NWNX_PushArgumentObject(oCreature);
2229  NWNX_CallFunction(NWNX_Creature, sFunc);
2230 
2231  return NWNX_GetReturnValueFloat();
2232 }
2233 
2234 void NWNX_Creature_SetPersonalSpace(object oCreature, float fPerspace)
2235 {
2236  string sFunc = "SetPersonalSpace";
2237 
2238  NWNX_PushArgumentFloat(fPerspace);
2239  NWNX_PushArgumentObject(oCreature);
2240  NWNX_CallFunction(NWNX_Creature, sFunc);
2241 }
2242 
2244 {
2245  string sFunc = "GetCreaturePersonalSpace";
2246 
2247  NWNX_PushArgumentObject(oCreature);
2248  NWNX_CallFunction(NWNX_Creature, sFunc);
2249 
2250  return NWNX_GetReturnValueFloat();
2251 }
2252 
2253 void NWNX_Creature_SetCreaturePersonalSpace(object oCreature, float fCrePerspace)
2254 {
2255  string sFunc = "SetCreaturePersonalSpace";
2256 
2257  NWNX_PushArgumentFloat(fCrePerspace);
2258  NWNX_PushArgumentObject(oCreature);
2259  NWNX_CallFunction(NWNX_Creature, sFunc);
2260 }
2261 
2262 float NWNX_Creature_GetHeight(object oCreature)
2263 {
2264  string sFunc = "GetHeight";
2265 
2266  NWNX_PushArgumentObject(oCreature);
2267  NWNX_CallFunction(NWNX_Creature, sFunc);
2268 
2269  return NWNX_GetReturnValueFloat();
2270 }
2271 
2272 void NWNX_Creature_SetHeight(object oCreature, float fHeight)
2273 {
2274  string sFunc = "SetHeight";
2275 
2276  NWNX_PushArgumentFloat(fHeight);
2277  NWNX_PushArgumentObject(oCreature);
2278  NWNX_CallFunction(NWNX_Creature, sFunc);
2279 }
2280 
2281 float NWNX_Creature_GetHitDistance(object oCreature)
2282 {
2283  string sFunc = "GetHitDistance";
2284 
2285  NWNX_PushArgumentObject(oCreature);
2286  NWNX_CallFunction(NWNX_Creature, sFunc);
2287 
2288  return NWNX_GetReturnValueFloat();
2289 }
2290 
2291 void NWNX_Creature_SetHitDistance(object oCreature, float fHitDist)
2292 {
2293  string sFunc = "SetHitDistance";
2294 
2295  NWNX_PushArgumentFloat(fHitDist);
2296  NWNX_PushArgumentObject(oCreature);
2297  NWNX_CallFunction(NWNX_Creature, sFunc);
2298 }
2299 
2301 {
2302  string sFunc = "GetPreferredAttackDistance";
2303 
2304  NWNX_PushArgumentObject(oCreature);
2305  NWNX_CallFunction(NWNX_Creature, sFunc);
2306 
2307  return NWNX_GetReturnValueFloat();
2308 }
2309 
2310 void NWNX_Creature_SetPreferredAttackDistance(object oCreature, float fPrefAtckDist)
2311 {
2312  string sFunc = "SetPreferredAttackDistance";
2313 
2314  NWNX_PushArgumentFloat(fPrefAtckDist);
2315  NWNX_PushArgumentObject(oCreature);
2316  NWNX_CallFunction(NWNX_Creature, sFunc);
2317 }
2318 
2320 {
2321  string sFunc = "GetArmorCheckPenalty";
2322 
2323  NWNX_PushArgumentObject(oCreature);
2324  NWNX_CallFunction(NWNX_Creature, sFunc);
2325  return NWNX_GetReturnValueInt();
2326 }
2327 
2329 {
2330  string sFunc = "GetShieldCheckPenalty";
2331 
2332  NWNX_PushArgumentObject(oCreature);
2333  NWNX_CallFunction(NWNX_Creature, sFunc);
2334  return NWNX_GetReturnValueInt();
2335 }
2336 
2337 void NWNX_Creature_SetBypassEffectImmunity(object oCreature, int nImmunityType, int nChance = 100, int bPersist = FALSE)
2338 {
2339  string sFunc = "SetBypassEffectImmunity";
2340 
2341  NWNX_PushArgumentInt(bPersist);
2342  NWNX_PushArgumentInt(nChance);
2343  NWNX_PushArgumentInt(nImmunityType);
2344  NWNX_PushArgumentObject(oCreature);
2345  NWNX_CallFunction(NWNX_Creature, sFunc);
2346 }
2347 
2348 int NWNX_Creature_GetBypassEffectImmunity(object oCreature, int nImmunityType)
2349 {
2350  string sFunc = "GetBypassEffectImmunity";
2351 
2352  NWNX_PushArgumentInt(nImmunityType);
2353  NWNX_PushArgumentObject(oCreature);
2354  NWNX_CallFunction(NWNX_Creature, sFunc);
2355  return NWNX_GetReturnValueInt();
2356 }
2357 
2358 void NWNX_Creature_SetLastKiller(object oCreature, object oKiller)
2359 {
2360  string sFunc = "SetLastKiller";
2361 
2362  NWNX_PushArgumentObject(oKiller);
2363  NWNX_PushArgumentObject(oCreature);
2364  NWNX_CallFunction(NWNX_Creature, sFunc);
2365 }
2366 
2367 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 = "")
2368 {
2369  string sFunc = "DoItemCastSpell";
2370 
2371  object oArea = GetAreaFromLocation(locTarget);
2372  vector vPosition = GetPositionFromLocation(locTarget);
2373 
2374  NWNX_PushArgumentString(sImpactScript);
2375  NWNX_PushArgumentObject(oItem);
2376  NWNX_PushArgumentInt(nProjectileSpellID);
2377  NWNX_PushArgumentInt(nProjectilePathType);
2378  NWNX_PushArgumentFloat(fProjectileTime);
2379  NWNX_PushArgumentInt(nCasterLevel);
2380  NWNX_PushArgumentInt(nSpellID);
2381  NWNX_PushArgumentFloat(vPosition.z);
2382  NWNX_PushArgumentFloat(vPosition.y);
2383  NWNX_PushArgumentFloat(vPosition.x);
2384  NWNX_PushArgumentObject(oArea);
2385  NWNX_PushArgumentObject(oTarget);
2386  NWNX_PushArgumentObject(oCreature);
2387  NWNX_CallFunction(NWNX_Creature, sFunc);
2388 }
2389 
2390 int NWNX_Creature_RunEquip(object oCreature, object oItem, int nInventorySlot)
2391 {
2392  string sFunc = "RunEquip";
2393 
2394  NWNX_PushArgumentInt(nInventorySlot);
2395  NWNX_PushArgumentObject(oItem);
2396  NWNX_PushArgumentObject(oCreature);
2397  NWNX_CallFunction(NWNX_Creature, sFunc);
2398 
2399  return NWNX_GetReturnValueInt();
2400 }
2401 
2402 int NWNX_Creature_RunUnequip(object oCreature, object oItem)
2403 {
2404  string sFunc = "RunUnequip";
2405 
2406  NWNX_PushArgumentObject(oItem);
2407  NWNX_PushArgumentObject(oCreature);
2408  NWNX_CallFunction(NWNX_Creature, sFunc);
2409 
2410  return NWNX_GetReturnValueInt();
2411 }
2412 
2413 void NWNX_Creature_OverrideRangedProjectileVFX(object oCreature, int nProjectileVFX, int bPersist = FALSE)
2414 {
2415  string sFunc = "OverrideRangedProjectileVFX";
2416 
2417  NWNX_PushArgumentInt(bPersist);
2418  NWNX_PushArgumentInt(nProjectileVFX);
2419  NWNX_PushArgumentObject(oCreature);
2420  NWNX_CallFunction(NWNX_Creature, sFunc);
2421 }
2422 
2423 void NWNX_Creature_SetInitiativeModifier(object oCreature, int nMod, int bPersist = FALSE)
2424 {
2425  string sFunc = "SetInitiativeModifier";
2426 
2427  NWNX_PushArgumentInt(bPersist);
2428  NWNX_PushArgumentInt(nMod);
2429  NWNX_PushArgumentObject(oCreature);
2430  NWNX_CallFunction(NWNX_Creature, sFunc);
2431 }
2432 
2434 {
2435  string sFunc = "GetInitiativeModifier";
2436 
2437  NWNX_PushArgumentObject(oCreature);
2438  NWNX_CallFunction(NWNX_Creature, sFunc);
2439  return NWNX_GetReturnValueInt();
2440 }
2441 
2442 object NWNX_Creature_GetBodyBag(object oCreature)
2443 {
2444  string sFunc = "GetBodyBag";
2445 
2446  NWNX_PushArgumentObject(oCreature);
2447  NWNX_CallFunction(NWNX_Creature, sFunc);
2448  return NWNX_GetReturnValueObject();
2449 }
2450 
2451 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)
2452 {
2453  string sFunc = "AddCastSpellActions";
2454 
2455  NWNX_PushArgumentInt(bAddToFront);
2456  NWNX_PushArgumentInt(bClearActions);
2457  NWNX_PushArgumentInt(bInstant);
2458  NWNX_PushArgumentInt(nProjectilePathType);
2459  NWNX_PushArgumentInt(nDomainLevel);
2460  NWNX_PushArgumentInt(nMetaMagic);
2461  NWNX_PushArgumentInt(nMultiClass);
2462  NWNX_PushArgumentInt(nSpellID);
2463  NWNX_PushArgumentFloat(vTargetLocation.z);
2464  NWNX_PushArgumentFloat(vTargetLocation.y);
2465  NWNX_PushArgumentFloat(vTargetLocation.x);
2466  NWNX_PushArgumentObject(oTarget);
2467  NWNX_PushArgumentObject(oCreature);
2468 
2469  NWNX_CallFunction(NWNX_Creature, sFunc);
2470  return NWNX_GetReturnValueInt();
2471 }
2472 
2473 int NWNX_Creature_GetIsFlanking(object oCreature, object oTargetCreature)
2474 {
2475  string sFunc = "GetIsFlanking";
2476 
2477  NWNX_PushArgumentObject(oTargetCreature);
2478  NWNX_PushArgumentObject(oCreature);
2479 
2480  NWNX_CallFunction(NWNX_Creature, sFunc);
2481  return NWNX_GetReturnValueInt();
2482 }
2483 
2484 void NWNX_Creature_DecrementRemainingSpellSlots(object oCreature, int nClass, int nSpellLevel)
2485 {
2486  string sFunc = "DecrementRemainingSpellSlots";
2487 
2488  NWNX_PushArgumentInt(nSpellLevel);
2489  NWNX_PushArgumentInt(nClass);
2490  NWNX_PushArgumentObject(oCreature);
2491 
2492  NWNX_CallFunction(NWNX_Creature, sFunc);
2493 }
2494 
2495 void NWNX_Creature_IncrementRemainingSpellSlots(object oCreature, int nClass, int nSpellLevel)
2496 {
2497  string sFunc = "IncrementRemainingSpellSlots";
2498 
2499  NWNX_PushArgumentInt(nSpellLevel);
2500  NWNX_PushArgumentInt(nClass);
2501  NWNX_PushArgumentObject(oCreature);
2502 
2503  NWNX_CallFunction(NWNX_Creature, sFunc);
2504 }
2505 
2507 {
2508  string sFunc = "GetMaximumBonusAttacks";
2509 
2510  NWNX_PushArgumentObject(oCreature);
2511  NWNX_CallFunction(NWNX_Creature, sFunc);
2512  return NWNX_GetReturnValueInt();
2513 }
2514 
2515 void NWNX_Creature_SetMaximumBonusAttacks(object oCreature, int nMaxBonusAttacks, int bPersist = FALSE)
2516 {
2517  string sFunc = "SetMaximumBonusAttacks";
2518 
2519  NWNX_PushArgumentInt(bPersist);
2520  NWNX_PushArgumentInt(nMaxBonusAttacks);
2521  NWNX_PushArgumentObject(oCreature);
2522  NWNX_CallFunction(NWNX_Creature, sFunc);
2523 }
2524 
2525 void NWNX_Creature_DoCleaveAttack(object oCreature)
2526 {
2527  string sFunc = "DoCleaveAttack";
2528 
2529  NWNX_PushArgumentObject(oCreature);
2530  NWNX_CallFunction(NWNX_Creature, sFunc);
2531 }
2532 
2534 {
2535  string sFunc = "GetLockOrientationToObject";
2536 
2537  NWNX_PushArgumentObject(oCreature);
2538  NWNX_CallFunction(NWNX_Creature, sFunc);
2539 
2540  return NWNX_GetReturnValueObject();
2541 }
2542 
2543 void NWNX_Creature_SetLockOrientationToObject(object oCreature, object oTarget)
2544 {
2545  string sFunc = "SetLockOrientationToObject";
2546 
2547  NWNX_PushArgumentObject(oTarget);
2548  NWNX_PushArgumentObject(oCreature);
2549  NWNX_CallFunction(NWNX_Creature, sFunc);
2550 }
2551 
2552 void NWNX_Creature_BroadcastAttackOfOpportunity(object oCreature, object oSingleCreature = OBJECT_INVALID, int bMovement = FALSE)
2553 {
2554  string sFunc = "BroadcastAttackOfOpportunity";
2555 
2556  NWNX_PushArgumentInt(bMovement);
2557  NWNX_PushArgumentObject(oSingleCreature);
2558  NWNX_PushArgumentObject(oCreature);
2559  NWNX_CallFunction(NWNX_Creature, sFunc);
2560 }
2561 
2562 int NWNX_Creature_GetMaxSellToStorePriceOverride(object oCreature, object oStore)
2563 {
2564  string sFunc = "GetMaxSellToStorePriceOverride";
2565 
2566  NWNX_PushArgumentObject(oStore);
2567  NWNX_PushArgumentObject(oCreature);
2568  NWNX_CallFunction(NWNX_Creature, sFunc);
2569 
2570  return NWNX_GetReturnValueInt();
2571 }
2572 
2573 void NWNX_Creature_SetMaxSellToStorePriceOverride(object oCreature, object oStore, int nMaxSellToPrice)
2574 {
2575  string sFunc = "SetMaxSellToStorePriceOverride";
2576 
2577  NWNX_PushArgumentInt(nMaxSellToPrice);
2578  NWNX_PushArgumentObject(oStore);
2579  NWNX_PushArgumentObject(oCreature);
2580  NWNX_CallFunction(NWNX_Creature, sFunc);
2581 }
2582 
2583 int NWNX_Creature_GetAbilityIncreaseByLevel(object oCreature, int nLevel)
2584 {
2585  string sFunc = "GetAbilityIncreaseByLevel";
2586 
2587  NWNX_PushArgumentInt(nLevel);
2588  NWNX_PushArgumentObject(oCreature);
2589  NWNX_CallFunction(NWNX_Creature, sFunc);
2590 
2591  return NWNX_GetReturnValueInt();
2592 }
2593 
2594 void NWNX_Creature_SetAbilityIncreaseByLevel(object oCreature, int nLevel, int nAbility)
2595 {
2596  string sFunc = "SetAbilityIncreaseByLevel";
2597 
2598  NWNX_PushArgumentInt(nAbility);
2599  NWNX_PushArgumentInt(nLevel);
2600  NWNX_PushArgumentObject(oCreature);
2601  NWNX_CallFunction(NWNX_Creature, sFunc);
2602 }
2603 
2604 float NWNX_Creature_GetMaxAttackRange(object oCreature, object oTarget)
2605 {
2606  string sFunc = "GetMaxAttackRange";
2607 
2608  NWNX_PushArgumentObject(oTarget);
2609  NWNX_PushArgumentObject(oCreature);
2610  NWNX_CallFunction(NWNX_Creature, sFunc);
2611 
2612  return NWNX_GetReturnValueFloat();
2613 }
NWNX_Creature_GetBypassEffectImmunity
int NWNX_Creature_GetBypassEffectImmunity(object oCreature, int nImmunityType)
Gets a chance for normal Effect Immunities to be bypassed.
Definition: nwnx_creature.nss:2348
NWNX_Creature_OverrideRangedProjectileVFX
void NWNX_Creature_OverrideRangedProjectileVFX(object oCreature, int nProjectileVFX, int bPersist=FALSE)
Override the elemental projectile visual effect of ranged/throwing weapons.
Definition: nwnx_creature.nss:2413
NWNX_CREATURE_MOVEMENT_RATE_NORMAL
const int NWNX_CREATURE_MOVEMENT_RATE_NORMAL
Definition: nwnx_creature.nss:18
NWNX_Creature_SetCreaturePersonalSpace
void NWNX_Creature_SetCreaturePersonalSpace(object oCreature, float fCrePerspace)
Set a creatures creature personal space (meters from center to other creatures).
Definition: nwnx_creature.nss:2253
NWNX_CREATURE_BONUS_TYPE_TOUCH_ATTACK
const int NWNX_CREATURE_BONUS_TYPE_TOUCH_ATTACK
Definition: nwnx_creature.nss:47
NWNX_Creature_SetLockOrientationToObject
void NWNX_Creature_SetLockOrientationToObject(object oCreature, object oTarget)
Locks oCreature's orientation to always face oTarget.
Definition: nwnx_creature.nss:2543
NWNX_GetReturnValueInt
int NWNX_GetReturnValueInt()
Returns the specified type from the c++ side.
Definition: nwnx.nss:94
NWNX_Creature_GetCriticalMultiplierOverride
int NWNX_Creature_GetCriticalMultiplierOverride(object oCreature, int nHand=0, int nBaseItem=-1)
Gets the critical hit multiplier override for the Creature.
Definition: nwnx_creature.nss:2002
NWNX_Creature_RemoveKnownSpell
void NWNX_Creature_RemoveKnownSpell(object creature, int class, int level, int spellId)
Remove a spell from creature's spellbook for class.
Definition: nwnx_creature.nss:1290
NWNX_CREATURE_BONUS_TYPE_ATTACK
const int NWNX_CREATURE_BONUS_TYPE_ATTACK
Definition: nwnx_creature.nss:42
NWNX_Creature_RestoreItems
void NWNX_Creature_RestoreItems(object creature)
Restore uses for all items carried by the creature.
Definition: nwnx_creature.nss:1507
NWNX_Creature_SetSkillPointsRemaining
void NWNX_Creature_SetSkillPointsRemaining(object creature, int skillpoints)
Sets the creature's remaining unspent skill points.
Definition: nwnx_creature.nss:1534
NWNX_Creature_GetLastItemCasterLevel
int NWNX_Creature_GetLastItemCasterLevel(object oCreature)
Gets the caster level of the last item used.
Definition: nwnx_creature.nss:2122
NWNX_Creature_AddFeatByLevel
void NWNX_Creature_AddFeatByLevel(object creature, int feat, int level)
Gives the creature a feat assigned at a level.
Definition: nwnx_creature.nss:1021
NWNX_Creature_GetSpecialAbility
struct NWNX_Creature_SpecialAbility NWNX_Creature_GetSpecialAbility(object creature, int index)
Returns the creature's special ability at a given index.
Definition: nwnx_creature.nss:1128
NWNX_Creature_GetOriginalName
string NWNX_Creature_GetOriginalName(object creature, int isLastName)
Get the original first or last name of creature.
Definition: nwnx_creature.nss:1762
NWNX_CREATURE_BONUS_TYPE_SKILL
const int NWNX_CREATURE_BONUS_TYPE_SKILL
Definition: nwnx_creature.nss:46
NWNX_Creature_GetArmorCheckPenalty
int NWNX_Creature_GetArmorCheckPenalty(object oCreature)
Get the skill penalty from wearing armor.
Definition: nwnx_creature.nss:2319
NWNX_Creature_GetMaxHitPointsByLevel
int NWNX_Creature_GetMaxHitPointsByLevel(object creature, int level)
Gets the maximum hit points for creature for level.
Definition: nwnx_creature.nss:1327
NWNX_Creature_SpecialAbility::ready
int ready
Whether it can be used.
Definition: nwnx_creature.nss:71
NWNX_Creature_SetWalkRateCap
void NWNX_Creature_SetWalkRateCap(object creature, float fWalkRate=2000.0f)
Sets the maximum movement rate a creature can have while walking (not running)
Definition: nwnx_creature.nss:1583
NWNX_CREATURE_PROJECTILE_VFX_NONE
const int NWNX_CREATURE_PROJECTILE_VFX_NONE
No VFX.
Definition: nwnx_creature.nss:55
NWNX_Creature_SetNoPermanentDeath
void NWNX_Creature_SetNoPermanentDeath(object oCreature, int bNoPermanentDeath)
Sets the NoPermanentDeath flag of oCreature.
Definition: nwnx_creature.nss:2186
NWNX_Creature_DoItemCastSpell
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.
Definition: nwnx_creature.nss:2367
NWNX_Creature_SetDomain
void NWNX_Creature_SetDomain(object creature, int class, int index, int domain)
Sets one of creature's domains.
Definition: nwnx_creature.nss:1843
NWNX_Creature_AddFeat
void NWNX_Creature_AddFeat(object creature, int feat)
Gives the creature a feat.
Definition: nwnx_creature.nss:1012
NWNX_Creature_GetIsBartering
int NWNX_Creature_GetIsBartering(object oCreature)
Get if oCreature is currently bartering.
Definition: nwnx_creature.nss:2103
NWNX_CREATURE_MOVEMENT_RATE_SLOW
const int NWNX_CREATURE_MOVEMENT_RATE_SLOW
Definition: nwnx_creature.nss:17
NWNX_Creature_SetSkillRankByLevel
void NWNX_Creature_SetSkillRankByLevel(object creature, int skill, int rank, int level)
Set the ranks in a skill for creature assigned at a level.
Definition: nwnx_creature.nss:1439
NWNX_Creature_GetFeatByLevel
int NWNX_Creature_GetFeatByLevel(object creature, int level, int index)
Returns the feat learned at the level and index.
Definition: nwnx_creature.nss:1074
NWNX_Creature_GetMovementRateFactor
float NWNX_Creature_GetMovementRateFactor(object creature)
Returns the creature's current movement rate factor.
Definition: nwnx_creature.nss:1359
NWNX_CREATURE_PROJECTILE_VFX_ELECTRICAL
const int NWNX_CREATURE_PROJECTILE_VFX_ELECTRICAL
Definition: nwnx_creature.nss:58
NWNX_Creature_GetHeight
float NWNX_Creature_GetHeight(object oCreature)
Get a creatures height.
Definition: nwnx_creature.nss:2262
NWNX_Creature_GetPrePolymorphAbilityScore
int NWNX_Creature_GetPrePolymorphAbilityScore(object creature, int ability)
Gets the raw ability score a polymorphed creature had prior to polymorphing.
Definition: nwnx_creature.nss:1255
NWNX_Creature_RestoreSpecialAbilities
void NWNX_Creature_RestoreSpecialAbilities(object creature)
Restore all creature special ability uses.
Definition: nwnx_creature.nss:1499
NWNX_Creature_SetMovementRateFactor
void NWNX_Creature_SetMovementRateFactor(object creature, float rate)
Sets the creature's current movement rate factor.
Definition: nwnx_creature.nss:1368
NWNX_Creature_GetTotalEffectBonus
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.
Definition: nwnx_creature.nss:1732
NWNX_Creature_SetCriticalRangeOverride
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.
Definition: nwnx_creature.nss:2039
NWNX_Creature_GetSkillPointsRemainingByLevel
int NWNX_Creature_GetSkillPointsRemainingByLevel(object creature, int level)
Gets the creature's remaining unspent skill points for level.
Definition: nwnx_creature.nss:1543
NWNX_Creature_SetLastItemCasterLevel
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...
Definition: nwnx_creature.nss:2113
NWNX_CREATURE_PROJECTILE_VFX_ACID
const int NWNX_CREATURE_PROJECTILE_VFX_ACID
Definition: nwnx_creature.nss:56
NWNX_Creature_SetPersonalSpace
void NWNX_Creature_SetPersonalSpace(object oCreature, float fPerspace)
Set a creatures personal space (meters from center to non-creature objects).
Definition: nwnx_creature.nss:2234
NWNX_Creature_LevelDown
void NWNX_Creature_LevelDown(object creature, int count=1)
Remove last levels from a creature.
Definition: nwnx_creature.nss:1642
NWNX_Creature_SetPreferredAttackDistance
void NWNX_Creature_SetPreferredAttackDistance(object oCreature, float fPrefAtckDist)
Set a creatures preferred attack distance.
Definition: nwnx_creature.nss:2310
NWNX_Creature_GetCriticalMultiplierModifier
int NWNX_Creature_GetCriticalMultiplierModifier(object oCreature, int nHand=0, int nBaseItem=-1)
Gets the critical hit multiplier modifier for the Creature.
Definition: nwnx_creature.nss:1977
NWNX_Creature_SetMaxSellToStorePriceOverride
void NWNX_Creature_SetMaxSellToStorePriceOverride(object oCreature, object oStore, int nMaxSellToPrice)
Overrides the maximum price oStore will buy items from oCreature for.
Definition: nwnx_creature.nss:2573
NWNX_Creature_IncrementRemainingSpellSlots
void NWNX_Creature_IncrementRemainingSpellSlots(object oCreature, int nClass, int nSpellLevel)
Increments the remaining spell slots (innate casting) at a class level.
Definition: nwnx_creature.nss:2495
NWNX_Creature_GetFaction
int NWNX_Creature_GetFaction(object oCreature)
Gets the faction id from oCreature.
Definition: nwnx_creature.nss:1874
NWNX_Creature_SetDisarmable
void NWNX_Creature_SetDisarmable(object creature, int disarmable)
Set whether a creature can be disarmed.
Definition: nwnx_creature.nss:1833
NWNX_Creature_SetRacialType
void NWNX_Creature_SetRacialType(object creature, int racialtype)
Sets the creature's racial type.
Definition: nwnx_creature.nss:1565
NWNX_Creature_SetMaximumBonusAttacks
void NWNX_Creature_SetMaximumBonusAttacks(object oCreature, int nMaxBonusAttacks, int bPersist=FALSE)
Sets the maximum number of bonus attacks a creature can have from EffectModifyAttacks().
Definition: nwnx_creature.nss:2515
NWNX_Creature_GetRemainingSpellSlots
int NWNX_Creature_GetRemainingSpellSlots(object creature, int class, int level)
Gets the remaining spell slots (innate casting) at a class level's index.
Definition: nwnx_creature.nss:1266
NWNX_Creature_GetMovementRateFactorCap
float NWNX_Creature_GetMovementRateFactorCap(object creature)
Returns the creature's maximum movement rate cap.
Definition: nwnx_creature.nss:1378
NWNX_Creature_SetClassByPosition
void NWNX_Creature_SetClassByPosition(object creature, int position, int classID, int bUpdateLevels=TRUE)
Set the class ID in a particular position for a creature.
Definition: nwnx_creature.nss:1451
NWNX_Creature_SetOriginalName
void NWNX_Creature_SetOriginalName(object creature, string name, int isLastName)
Set the original first or last name of creature.
Definition: nwnx_creature.nss:1751
NWNX_Creature_SetSpecialAbility
void NWNX_Creature_SetSpecialAbility(object creature, int index, struct NWNX_Creature_SpecialAbility ability)
Sets a special ability at the index for the creature.
Definition: nwnx_creature.nss:1178
NWNX_Creature_GetFeatGrantLevel
int NWNX_Creature_GetFeatGrantLevel(object creature, int feat)
Returns the creature level where the specified feat was learned.
Definition: nwnx_creature.nss:1096
NWNX_Creature_GetFlatFooted
int NWNX_Creature_GetFlatFooted(object oCreature)
Get whether a creature is flat-footed.
Definition: nwnx_creature.nss:1882
NWNX_CREATURE_MOVEMENT_RATE_VERY_FAST
const int NWNX_CREATURE_MOVEMENT_RATE_VERY_FAST
Definition: nwnx_creature.nss:20
NWNX_Creature_GetAttacksPerRound
int NWNX_Creature_GetAttacksPerRound(object creature, int bBaseAPR=FALSE)
Gets the creatures current attacks per round (using equipped weapon).
Definition: nwnx_creature.nss:1481
NWNX_Creature_SetSkillRank
void NWNX_Creature_SetSkillRank(object creature, int skill, int rank)
Set the base ranks in a skill for creature.
Definition: nwnx_creature.nss:1417
NWNX_CREATURE_MOVEMENT_TYPE_STATIONARY
const int NWNX_CREATURE_MOVEMENT_TYPE_STATIONARY
Definition: nwnx_creature.nss:30
NWNX_CREATURE_MOVEMENT_RATE_DEFAULT
const int NWNX_CREATURE_MOVEMENT_RATE_DEFAULT
Definition: nwnx_creature.nss:21
NWNX_Creature_GetArmorClassVersus
int NWNX_Creature_GetArmorClassVersus(object oAttacked, object oVersus, int nTouch=FALSE)
Gets the Armor classed of attacked against versus.
Definition: nwnx_creature.nss:2131
NWNX_Creature_SetCriticalRangeModifier
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.
Definition: nwnx_creature.nss:2014
NWNX_Creature_GetEncounter
object NWNX_Creature_GetEncounter(object oCreature)
Get the encounter source of oCreature.
Definition: nwnx_creature.nss:2093
NWNX_GetReturnValueFloat
float NWNX_GetReturnValueFloat()
Returns the specified type from the c++ side.
Definition: nwnx.nss:99
NWNX_Creature_GetBaseAC
int NWNX_Creature_GetBaseAC(object creature)
Get the base AC for the creature.
Definition: nwnx_creature.nss:1212
NWNX_Creature_GetDisarmable
int NWNX_Creature_GetDisarmable(object creature)
Get whether the creature can be disarmed.
Definition: nwnx_creature.nss:1823
NWNX_Creature_SetCasterLevelOverride
void NWNX_Creature_SetCasterLevelOverride(object oCreature, int nClass, int nCasterLevel, int bPersist=FALSE)
Sets a caster level override for oCreature.
Definition: nwnx_creature.nss:1934
NWNX_Creature_GetIsFlanking
int NWNX_Creature_GetIsFlanking(object oCreature, object oTargetCreature)
Get whether oCreature is flanking oTargetCreature.
Definition: nwnx_creature.nss:2473
NWNX_Creature_SetCriticalMultiplierOverride
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.
Definition: nwnx_creature.nss:1989
NWNX_Creature_DoCleaveAttack
void NWNX_Creature_DoCleaveAttack(object oCreature)
Inserts a cleave or great cleave attack into oCreature's current attack round against the nearest ene...
Definition: nwnx_creature.nss:2525
NWNX_Creature_SetChallengeRating
void NWNX_Creature_SetChallengeRating(object creature, float fCR)
Sets the creature's challenge rating.
Definition: nwnx_creature.nss:1651
NWNX_Creature_RemoveFeat
void NWNX_Creature_RemoveFeat(object creature, int feat)
Removes a feat from a creature.
Definition: nwnx_creature.nss:1032
NWNX_Creature_GetClassByLevel
int NWNX_Creature_GetClassByLevel(object creature, int level)
Get the class taken by the creature at the provided level.
Definition: nwnx_creature.nss:1191
NWNX_CallFunction
void NWNX_CallFunction(string pluginName, string functionName)
Scripting interface to NWNX.
Definition: nwnx.nss:54
NWNX_CREATURE_BONUS_TYPE_ABILITY
const int NWNX_CREATURE_BONUS_TYPE_ABILITY
Definition: nwnx_creature.nss:45
NWNX_Creature_SpecialAbility::level
int level
The level of the ability.
Definition: nwnx_creature.nss:72
NWNX_Creature_GetNoPermanentDeath
int NWNX_Creature_GetNoPermanentDeath(object oCreature)
Gets the NoPermanentDeath flag of oCreature.
Definition: nwnx_creature.nss:2176
NWNX_Creature_RunUnequip
int NWNX_Creature_RunUnequip(object oCreature, object oItem)
Have oCreature instantly unequip oItem.
Definition: nwnx_creature.nss:2402
NWNX_Creature_SetMovementRateFactorCap
void NWNX_Creature_SetMovementRateFactorCap(object creature, float cap)
Sets the creature's maximum movement rate cap.
Definition: nwnx_creature.nss:1387
NWNX_CREATURE_MOVEMENT_RATE_IMMOBILE
const int NWNX_CREATURE_MOVEMENT_RATE_IMMOBILE
Definition: nwnx_creature.nss:15
NWNX_Creature_GetBodyBag
object NWNX_Creature_GetBodyBag(object oCreature)
Gets the Body Bag of a creature.
Definition: nwnx_creature.nss:2442
NWNX_Creature_GetAbilityIncreaseByLevel
int NWNX_Creature_GetAbilityIncreaseByLevel(object oCreature, int nLevel)
Returns the creature's ability increase for nLevel.
Definition: nwnx_creature.nss:2583
NWNX_GetReturnValueString
string NWNX_GetReturnValueString()
Returns the specified type from the c++ side.
Definition: nwnx.nss:109
NWNX_Creature_GetSkillRankByLevel
int NWNX_Creature_GetSkillRankByLevel(object creature, int skill, int level)
Get the ranks in a skill for creature assigned at a level.
Definition: nwnx_creature.nss:1427
NWNX_Creature_SetLevelByPosition
void NWNX_Creature_SetLevelByPosition(object creature, int position, int level)
Set the level at the given position for a creature.
Definition: nwnx_creature.nss:1462
NWNX_Creature_GetMaxSpellSlots
int NWNX_Creature_GetMaxSpellSlots(object creature, int class, int level)
Gets the maximum spell slots (innate casting) at a class level.
Definition: nwnx_creature.nss:1314
NWNX_PushArgumentString
void NWNX_PushArgumentString(string value)
Pushes the specified type to the c++ side.
Definition: nwnx.nss:74
NWNX_Creature_GetCriticalRangeModifier
int NWNX_Creature_GetCriticalRangeModifier(object oCreature, int nHand=0, int nBaseItem=-1)
Gets the critical hit range modifier for the creature.
Definition: nwnx_creature.nss:2027
NWNX_Creature_GetCasterLevelModifier
int NWNX_Creature_GetCasterLevelModifier(object oCreature, int nClass)
Gets the current caster level modifier for oCreature.
Definition: nwnx_creature.nss:1923
NWNX_Creature_SetRawAbilityScore
void NWNX_Creature_SetRawAbilityScore(object creature, int ability, int value)
Sets the ability score of the creature to the provided value.
Definition: nwnx_creature.nss:1222
NWNX_Creature_SetWalkAnimation
void NWNX_Creature_SetWalkAnimation(object oCreature, int nAnimation)
Sets the current walk animation of oCreature.
Definition: nwnx_creature.nss:2151
NWNX_Creature_GetLockOrientationToObject
object NWNX_Creature_GetLockOrientationToObject(object oCreature)
Gets the current object oCreature's orientation is locked to.
Definition: nwnx_creature.nss:2533
NWNX_Creature_SpecialAbility
A creature special ability.
Definition: nwnx_creature.nss:68
NWNX_Creature_SetAbilityIncreaseByLevel
void NWNX_Creature_SetAbilityIncreaseByLevel(object oCreature, int nLevel, int nAbility)
Sets the creature's ability increase for nLevel.
Definition: nwnx_creature.nss:2594
NWNX_Creature_SetBypassEffectImmunity
void NWNX_Creature_SetBypassEffectImmunity(object oCreature, int nImmunityType, int nChance=100, int bPersist=FALSE)
Sets a chance for normal Effect Immunities to be bypassed.
Definition: nwnx_creature.nss:2337
NWNX_Creature_GetMaxAttackRange
float NWNX_Creature_GetMaxAttackRange(object oCreature, object oTarget)
Returns the creature's maximum attack range to a target.
Definition: nwnx_creature.nss:2604
NWNX_Creature_SetCorpseDecayTime
void NWNX_Creature_SetCorpseDecayTime(object creature, int nDecayTime)
Sets corpse decay time in milliseconds.
Definition: nwnx_creature.nss:1601
NWNX_Creature_SetFaction
void NWNX_Creature_SetFaction(object oCreature, int nFactionId)
Sets oCreatures faction to be the faction with id nFactionId.
Definition: nwnx_creature.nss:1866
NWNX_Creature_RunEquip
int NWNX_Creature_RunEquip(object oCreature, object oItem, int nInventorySlot)
Have oCreature instantly equip oItem to nInventorySlot.
Definition: nwnx_creature.nss:2390
NWNX_CREATURE_PROJECTILE_VFX_FIRE
const int NWNX_CREATURE_PROJECTILE_VFX_FIRE
Definition: nwnx_creature.nss:59
NWNX_Creature_GetSkillPointsRemaining
int NWNX_Creature_GetSkillPointsRemaining(object creature)
Gets the creature's remaining unspent skill points.
Definition: nwnx_creature.nss:1524
NWNX_PushArgumentObject
void NWNX_PushArgumentObject(object value)
Pushes the specified type to the c++ side.
Definition: nwnx.nss:69
NWNX_Creature_DoPerceptionUpdateOnCreature
void NWNX_Creature_DoPerceptionUpdateOnCreature(object oCreature, object oTargetCreature)
Update oCreature's perception of oTargetCreature.
Definition: nwnx_creature.nss:2215
NWNX_Creature_SetRemainingSpellSlots
void NWNX_Creature_SetRemainingSpellSlots(object creature, int class, int level, int slots)
Sets the remaining spell slots (innate casting) at a class level.
Definition: nwnx_creature.nss:1278
NWNX_Creature_GetHitDistance
float NWNX_Creature_GetHitDistance(object oCreature)
Get a creatures hit distance.
Definition: nwnx_creature.nss:2281
NWNX_Creature_SetSpellResistance
void NWNX_Creature_SetSpellResistance(object creature, int sr)
Set creature's spell resistance.
Definition: nwnx_creature.nss:1773
NWNX_Creature_SetFeatRemainingUses
void NWNX_Creature_SetFeatRemainingUses(object creature, int feat, int uses)
Set feat remaining uses.
Definition: nwnx_creature.nss:1721
NWNX_Creature_SetAttackRollOverride
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...
Definition: nwnx_creature.nss:2159
NWNX_Creature_RemoveSpecialAbility
void NWNX_Creature_RemoveSpecialAbility(object creature, int index)
Removes a special ability from a creature.
Definition: nwnx_creature.nss:1168
NWNX_Creature_SetMovementRate
void NWNX_Creature_SetMovementRate(object creature, int rate)
Set creature's movement rate.
Definition: nwnx_creature.nss:1349
NWNX_PushArgumentInt
void NWNX_PushArgumentInt(int value)
Pushes the specified type to the c++ side.
Definition: nwnx.nss:59
NWNX_Creature_GetFeatCountByLevel
int NWNX_Creature_GetFeatCountByLevel(object creature, int level)
Returns the count of feats learned at the provided level.
Definition: nwnx_creature.nss:1063
NWNX_Creature_RemoveFeatByLevel
void NWNX_Creature_RemoveFeatByLevel(object creature, int feat, int level)
Removes the creature a feat assigned at a level.
Definition: nwnx_creature.nss:1041
NWNX_Creature_GetCasterLevelOverride
int NWNX_Creature_GetCasterLevelOverride(object oCreature, int nClass)
Gets the current caster level override for oCreature.
Definition: nwnx_creature.nss:1946
NWNX_Creature_SetInitiativeModifier
void NWNX_Creature_SetInitiativeModifier(object oCreature, int nMod, int bPersist=FALSE)
Sets a custom Initiative modifier.
Definition: nwnx_creature.nss:2423
NWNX_CREATURE_BONUS_TYPE_DAMAGE
const int NWNX_CREATURE_BONUS_TYPE_DAMAGE
Definition: nwnx_creature.nss:43
NWNX_Creature_SetSkillPointsRemainingByLevel
void NWNX_Creature_SetSkillPointsRemainingByLevel(object creature, int level, int value)
Sets the creature's remaining unspent skill points for level.
Definition: nwnx_creature.nss:1554
NWNX_Creature_GetFeatCount
int NWNX_Creature_GetFeatCount(object creature)
Get the total number of feats known by creature.
Definition: nwnx_creature.nss:1086
NWNX_Creature_DeserializeQuickbar
int NWNX_Creature_DeserializeQuickbar(object oCreature, string sSerializedQuickbar)
Deserialize sSerializedQuickbar for oCreature.
Definition: nwnx_creature.nss:1900
NWNX_Creature_SpecialAbility::id
int id
The spell id.
Definition: nwnx_creature.nss:70
NWNX_Creature_SetCasterLevelModifier
void NWNX_Creature_SetCasterLevelModifier(object oCreature, int nClass, int nModifier, int bPersist=FALSE)
Sets a caster level modifier for oCreature.
Definition: nwnx_creature.nss:1911
NWNX_Creature_GetFeatRemainingUses
int NWNX_Creature_GetFeatRemainingUses(object creature, int feat)
Get feat remaining uses.
Definition: nwnx_creature.nss:1699
NWNX_CREATURE_MOVEMENT_RATE_PC
const int NWNX_CREATURE_MOVEMENT_RATE_PC
Definition: nwnx_creature.nss:14
NWNX_Creature_SetAlignmentLawChaos
void NWNX_Creature_SetAlignmentLawChaos(object creature, int value)
Set creature's raw law/chaos alignment value.
Definition: nwnx_creature.nss:1407
NWNX_Creature_SetCriticalMultiplierModifier
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.
Definition: nwnx_creature.nss:1964
NWNX_Creature_LevelUp
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.
Definition: nwnx_creature.nss:1631
NWNX_Creature_GetMaxSellToStorePriceOverride
int NWNX_Creature_GetMaxSellToStorePriceOverride(object oCreature, object oStore)
Returns the maximum price oStore will buy items from oCreature for.
Definition: nwnx_creature.nss:2562
NWNX_Creature_GetRawAbilityScore
int NWNX_Creature_GetRawAbilityScore(object creature, int ability)
Gets the ability score of the creature.
Definition: nwnx_creature.nss:1233
NWNX_CREATURE_MOVEMENT_TYPE_SIDESTEP
const int NWNX_CREATURE_MOVEMENT_TYPE_SIDESTEP
Definition: nwnx_creature.nss:33
NWNX_Creature_GetBaseSavingThrow
int NWNX_Creature_GetBaseSavingThrow(object creature, int which)
Gets the creature's base save.
Definition: nwnx_creature.nss:1611
NWNX_CREATURE_BONUS_TYPE_SAVING_THROW
const int NWNX_CREATURE_BONUS_TYPE_SAVING_THROW
Definition: nwnx_creature.nss:44
NWNX_Creature_GetKnowsFeat
int NWNX_Creature_GetKnowsFeat(object creature, int feat)
Determines if the creature knows a feat.
Definition: nwnx_creature.nss:1052
NWNX_CREATURE_PROJECTILE_VFX_COLD
const int NWNX_CREATURE_PROJECTILE_VFX_COLD
Definition: nwnx_creature.nss:57
NWNX_Creature_GetFeatByIndex
int NWNX_Creature_GetFeatByIndex(object creature, int index)
Returns the creature's feat at a given index.
Definition: nwnx_creature.nss:1106
NWNX_CREATURE_MOVEMENT_RATE_DM_FAST
const int NWNX_CREATURE_MOVEMENT_RATE_DM_FAST
Definition: nwnx_creature.nss:22
NWNX_Creature_SetHitDistance
void NWNX_Creature_SetHitDistance(object oCreature, float fHitDist)
Set a creatures hit distance.
Definition: nwnx_creature.nss:2291
NWNX_CREATURE_MOVEMENT_TYPE_RUN
const int NWNX_CREATURE_MOVEMENT_TYPE_RUN
Definition: nwnx_creature.nss:32
NWNX_Creature_SetSpecialization
void NWNX_Creature_SetSpecialization(object creature, int class, int school)
Sets creature's specialist school.
Definition: nwnx_creature.nss:1855
NWNX_Creature_RestoreFeats
void NWNX_Creature_RestoreFeats(object creature)
Restore all creature feat uses.
Definition: nwnx_creature.nss:1491
NWNX_Creature_GetAttackBonus
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.
Definition: nwnx_creature.nss:1660
NWNX_Creature_SetGold
void NWNX_Creature_SetGold(object creature, int gold)
Sets the creature's gold without sending a feedback message.
Definition: nwnx_creature.nss:1592
NWNX_Creature_GetInitiativeModifier
int NWNX_Creature_GetInitiativeModifier(object oCreature)
Gets the custom Initiative modifier.
Definition: nwnx_creature.nss:2433
NWNX_Creature_SetAlignmentGoodEvil
void NWNX_Creature_SetAlignmentGoodEvil(object creature, int value)
Set creature's raw good/evil alignment value.
Definition: nwnx_creature.nss:1397
NWNX_Creature_AddKnownSpell
void NWNX_Creature_AddKnownSpell(object creature, int class, int level, int spellId)
Add a spell to a creature's spellbook for class.
Definition: nwnx_creature.nss:1302
NWNX_Creature_SetAnimalCompanionName
void NWNX_Creature_SetAnimalCompanionName(object creature, string name)
Set creature's animal companion's name.
Definition: nwnx_creature.nss:1803
NWNX_Creature_GetMaximumBonusAttacks
int NWNX_Creature_GetMaximumBonusAttacks(object oCreature)
Gets the maximum number of bonus attacks a creature can have from EffectModifyAttacks().
Definition: nwnx_creature.nss:2506
NWNX_Creature_GetWalkAnimation
int NWNX_Creature_GetWalkAnimation(object oCreature)
Gets the current walk animation of oCreature.
Definition: nwnx_creature.nss:2142
NWNX_Creature_AddSpecialAbility
void NWNX_Creature_AddSpecialAbility(object creature, struct NWNX_Creature_SpecialAbility ability)
Adds a special ability to a creature.
Definition: nwnx_creature.nss:1156
NWNX_Creature_GetMovementType
int NWNX_Creature_GetMovementType(object creature)
Returns the creature's current movement type.
Definition: nwnx_creature.nss:1574
NWNX_CREATURE_MOVEMENT_RATE_VERY_SLOW
const int NWNX_CREATURE_MOVEMENT_RATE_VERY_SLOW
Definition: nwnx_creature.nss:16
NWNX_Creature_DecrementRemainingSpellSlots
void NWNX_Creature_DecrementRemainingSpellSlots(object oCreature, int nClass, int nSpellLevel)
Decrements the remaining spell slots (innate casting) at a class level.
Definition: nwnx_creature.nss:2484
NWNX_CREATURE_PROJECTILE_VFX_RANDOM
const int NWNX_CREATURE_PROJECTILE_VFX_RANDOM
Random Elemental VFX.
Definition: nwnx_creature.nss:61
NWNX_Creature_ModifyRawAbilityScore
void NWNX_Creature_ModifyRawAbilityScore(object creature, int ability, int modifier)
Adjusts the ability score of a creature.
Definition: nwnx_creature.nss:1244
NWNX_CREATURE_MOVEMENT_TYPE_WALK_BACKWARDS
const int NWNX_CREATURE_MOVEMENT_TYPE_WALK_BACKWARDS
Definition: nwnx_creature.nss:34
NWNX_Creature_AddCastSpellActions
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.
Definition: nwnx_creature.nss:2451
NWNX_GetReturnValueObject
object NWNX_GetReturnValueObject()
Returns the specified type from the c++ side.
Definition: nwnx.nss:104
NWNX_Creature_GetHighestLevelOfFeat
int NWNX_Creature_GetHighestLevelOfFeat(object creature, int feat)
Get highest level version of feat possessed by creature.
Definition: nwnx_creature.nss:1688
NWNX_Creature_GetPreferredAttackDistance
float NWNX_Creature_GetPreferredAttackDistance(object oCreature)
Get a creatures preferred attack distance.
Definition: nwnx_creature.nss:2300
NWNX_CREATURE_PROJECTILE_VFX_SONIC
const int NWNX_CREATURE_PROJECTILE_VFX_SONIC
Definition: nwnx_creature.nss:60
NWNX_Creature_SetParryAllAttacks
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.
Definition: nwnx_creature.nss:2168
NWNX_Creature_JumpToLimbo
void NWNX_Creature_JumpToLimbo(object oCreature)
Move a creature to limbo.
Definition: nwnx_creature.nss:1957
NWNX_Creature_AddAssociate
void NWNX_Creature_AddAssociate(object oCreature, object oAssociate, int nAssociateType)
Add oAssociate as nAssociateType to oCreature.
Definition: nwnx_creature.nss:2064
NWNX_Creature_GetFeatTotalUses
int NWNX_Creature_GetFeatTotalUses(object creature, int feat)
Get feat total uses.
Definition: nwnx_creature.nss:1710
NWNX_Creature_SetAnimalCompanionCreatureType
void NWNX_Creature_SetAnimalCompanionCreatureType(object creature, int type)
Set creature's animal companion creature type.
Definition: nwnx_creature.nss:1783
NWNX_Creature_GetCreaturePersonalSpace
float NWNX_Creature_GetCreaturePersonalSpace(object oCreature)
Get a creatures creature personal space (meters from center to other creatures).
Definition: nwnx_creature.nss:2243
NWNX_CREATURE_ABILITY_NONE
const int NWNX_CREATURE_ABILITY_NONE
Definition: nwnx_creature.nss:64
NWNX_Creature_SetLastKiller
void NWNX_Creature_SetLastKiller(object oCreature, object oKiller)
Sets the killer of oCreature to oKiller.
Definition: nwnx_creature.nss:2358
NWNX_Creature_GetShieldCheckPenalty
int NWNX_Creature_GetShieldCheckPenalty(object oCreature)
Get the skill penalty from wearing a shield.
Definition: nwnx_creature.nss:2328
NWNX_Creature_BroadcastAttackOfOpportunity
void NWNX_Creature_BroadcastAttackOfOpportunity(object oCreature, object oSingleCreature=OBJECT_INVALID, int bMovement=FALSE)
Causes oCreature to broadcast an Attack of Opportunity against themself.
Definition: nwnx_creature.nss:2552
NWNX_Creature_SetBaseSavingThrow
void NWNX_Creature_SetBaseSavingThrow(object creature, int which, int value)
Sets the creature's base save.
Definition: nwnx_creature.nss:1621
NWNX_Creature_SetFamiliarCreatureType
void NWNX_Creature_SetFamiliarCreatureType(object creature, int type)
Set creature's familiar creature type.
Definition: nwnx_creature.nss:1793
NWNX_Creature_GetSpecialAbilityCount
int NWNX_Creature_GetSpecialAbilityCount(object creature)
Gets the count of special abilities of the creature.
Definition: nwnx_creature.nss:1146
NWNX_Creature_SetMaxHitPointsByLevel
void NWNX_Creature_SetMaxHitPointsByLevel(object creature, int level, int value)
Sets the maximum hit points for creature.
Definition: nwnx_creature.nss:1338
NWNX_PushArgumentFloat
void NWNX_PushArgumentFloat(float value)
Pushes the specified type to the c++ side.
Definition: nwnx.nss:64
NWNX_Creature_SetHeight
void NWNX_Creature_SetHeight(object oCreature, float fHeight)
Set a creatures height.
Definition: nwnx_creature.nss:2272
NWNX_Creature_ComputeSafeLocation
vector NWNX_Creature_ComputeSafeLocation(object oCreature, vector vPosition, float fRadius=20.0f, int bWalkStraightLineRequired=TRUE)
Compute a safe location for oCreature.
Definition: nwnx_creature.nss:2195
NWNX_Creature_SetSize
void NWNX_Creature_SetSize(object creature, int size)
Sets the creature size.
Definition: nwnx_creature.nss:1515
NWNX_Creature_GetCriticalRangeOverride
int NWNX_Creature_GetCriticalRangeOverride(object oCreature, int nHand=0, int nBaseItem=-1)
Sets the critical hit range Override for the creature.
Definition: nwnx_creature.nss:2052
NWNX_Creature_SetFamiliarName
void NWNX_Creature_SetFamiliarName(object creature, string name)
Set creature's familiar's name.
Definition: nwnx_creature.nss:1813
NWNX_Creature_GetMeetsFeatRequirements
int NWNX_Creature_GetMeetsFeatRequirements(object creature, int feat)
Gets if creature meets feat requirements.
Definition: nwnx_creature.nss:1117
NWNX_CREATURE_MOVEMENT_RATE_FAST
const int NWNX_CREATURE_MOVEMENT_RATE_FAST
Definition: nwnx_creature.nss:19
NWNX_Creature_SetEncounter
void NWNX_Creature_SetEncounter(object oCreature, object oEncounter)
Set the encounter source of oCreature.
Definition: nwnx_creature.nss:2084
NWNX_Creature_OverrideDamageLevel
void NWNX_Creature_OverrideDamageLevel(object oCreature, int nDamageLevel)
Override the damage level of oCreature.
Definition: nwnx_creature.nss:2075
NWNX_Creature_SetBaseAC
void NWNX_Creature_SetBaseAC(object creature, int ac)
Sets the base AC for the creature.
Definition: nwnx_creature.nss:1202
NWNX_Creature_GetPersonalSpace
float NWNX_Creature_GetPersonalSpace(object oCreature)
Get a creatures personal space (meters from center to non-creature objects).
Definition: nwnx_creature.nss:2224
NWNX_Creature_SerializeQuickbar
string NWNX_Creature_SerializeQuickbar(object oCreature)
Serialize oCreature's quickbar to a base64 string.
Definition: nwnx_creature.nss:1890
NWNX_Creature_SetBaseAttackBonus
void NWNX_Creature_SetBaseAttackBonus(object creature, int bab)
Set creature's base attack bonus (BAB).
Definition: nwnx_creature.nss:1472
NWNX_CREATURE_MOVEMENT_TYPE_WALK
const int NWNX_CREATURE_MOVEMENT_TYPE_WALK
Definition: nwnx_creature.nss:31