@airbreather/mod-nodejs-types 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/acore.d.ts +35 -0
  2. package/classes/ACMap.d.ts +29 -0
  3. package/classes/ACObject.d.ts +33 -0
  4. package/classes/Auction.d.ts +39 -0
  5. package/classes/AuctionHouse.d.ts +18 -0
  6. package/classes/Aura.d.ts +25 -0
  7. package/classes/AuraApplication.d.ts +21 -0
  8. package/classes/AuraEffect.d.ts +45 -0
  9. package/classes/Battleground.d.ts +16 -0
  10. package/classes/BattlegroundQueue.d.ts +12 -0
  11. package/classes/ByteBuffer.d.ts +34 -0
  12. package/classes/CastSpellBuilder.d.ts +41 -0
  13. package/classes/ChatCommandBuilder.d.ts +13 -0
  14. package/classes/ChatHandler.d.ts +23 -0
  15. package/classes/Condition.d.ts +29 -0
  16. package/classes/ConditionSourceInfo.d.ts +15 -0
  17. package/classes/Config.d.ts +22 -0
  18. package/classes/Corpse.d.ts +14 -0
  19. package/classes/Creature.d.ts +82 -0
  20. package/classes/CreatureTemplate.d.ts +73 -0
  21. package/classes/DynamicObject.d.ts +23 -0
  22. package/classes/Field.d.ts +23 -0
  23. package/classes/GameObject.d.ts +36 -0
  24. package/classes/GmTicket.d.ts +24 -0
  25. package/classes/Group.d.ts +28 -0
  26. package/classes/Guardian.d.ts +7 -0
  27. package/classes/Guild.d.ts +28 -0
  28. package/classes/GuildMember.d.ts +25 -0
  29. package/classes/Item.d.ts +41 -0
  30. package/classes/ItemTemplate.d.ts +123 -0
  31. package/classes/Loot.d.ts +29 -0
  32. package/classes/LootStore.d.ts +16 -0
  33. package/classes/LootTemplate.d.ts +8 -0
  34. package/classes/MailDraft.d.ts +15 -0
  35. package/classes/MailSender.d.ts +24 -0
  36. package/classes/Minion.d.ts +12 -0
  37. package/classes/Pet.d.ts +18 -0
  38. package/classes/Player.d.ts +156 -0
  39. package/classes/QueryResult.d.ts +14 -0
  40. package/classes/Quest.d.ts +21 -0
  41. package/classes/Roll.d.ts +14 -0
  42. package/classes/Spell.d.ts +18 -0
  43. package/classes/SpellChainNode.d.ts +7 -0
  44. package/classes/SpellEffectInfo.d.ts +50 -0
  45. package/classes/SpellImplicitTargetInfo.d.ts +15 -0
  46. package/classes/SpellInfo.d.ts +200 -0
  47. package/classes/TempSummon.d.ts +15 -0
  48. package/classes/ThreatReference.d.ts +24 -0
  49. package/classes/Transport.d.ts +13 -0
  50. package/classes/Unit.d.ts +173 -0
  51. package/classes/Vehicle.d.ts +15 -0
  52. package/classes/WorldObject.d.ts +51 -0
  53. package/classes/WorldPacket.d.ts +8 -0
  54. package/classes/index.d.ts +52 -0
  55. package/enums/AURA_FLAGS.d.ts +20 -0
  56. package/enums/AccountFlags.d.ts +39 -0
  57. package/enums/AccountTypes.d.ts +10 -0
  58. package/enums/AchievementFlags.d.ts +15 -0
  59. package/enums/AcoreStrings.d.ts +1507 -0
  60. package/enums/ArenaTeamInfoType.d.ts +14 -0
  61. package/enums/ArenaType.d.ts +9 -0
  62. package/enums/AuctionHouseId.d.ts +8 -0
  63. package/enums/AuraRemoveMode.d.ts +11 -0
  64. package/enums/AuraStateType.d.ts +33 -0
  65. package/enums/AuraType.d.ts +323 -0
  66. package/enums/BAG_FAMILY_MASK.d.ts +21 -0
  67. package/enums/BattlegroundDesertionType.d.ts +14 -0
  68. package/enums/BattlegroundQueueGroupTypes.d.ts +13 -0
  69. package/enums/BattlegroundTypeId.d.ts +20 -0
  70. package/enums/CharterTypes.d.ts +9 -0
  71. package/enums/ChatMsg.d.ts +58 -0
  72. package/enums/ClassContext.d.ts +24 -0
  73. package/enums/Classes.d.ts +18 -0
  74. package/enums/ConditionSourceType.d.ts +37 -0
  75. package/enums/ConditionTypes.d.ts +67 -0
  76. package/enums/CorpseType.d.ts +8 -0
  77. package/enums/CreatureChaseMovementType.d.ts +10 -0
  78. package/enums/CreatureClasses.d.ts +11 -0
  79. package/enums/CreatureEliteType.d.ts +11 -0
  80. package/enums/CreatureFamily.d.ts +47 -0
  81. package/enums/CreatureFlagsExtra.d.ts +40 -0
  82. package/enums/CreatureFlightMovementType.d.ts +10 -0
  83. package/enums/CreatureGroundMovementType.d.ts +10 -0
  84. package/enums/CreatureRandomMovementType.d.ts +10 -0
  85. package/enums/CreatureType.d.ts +35 -0
  86. package/enums/CreatureTypeFlags.d.ts +37 -0
  87. package/enums/CurrentSpellTypes.d.ts +9 -0
  88. package/enums/DamageEffectType.d.ts +11 -0
  89. package/enums/DatabaseFieldTypes.d.ts +15 -0
  90. package/enums/Db.d.ts +9 -0
  91. package/enums/DeathState.d.ts +10 -0
  92. package/enums/Difficulty.d.ts +15 -0
  93. package/enums/DispelType.d.ts +34 -0
  94. package/enums/DuelCompleteType.d.ts +8 -0
  95. package/enums/Emote.d.ts +181 -0
  96. package/enums/EnchantmentSlot.d.ts +21 -0
  97. package/enums/EvadeReason.d.ts +10 -0
  98. package/enums/Expansions.d.ts +9 -0
  99. package/enums/GMTicketEscalationStatus.d.ts +14 -0
  100. package/enums/GOState.d.ts +9 -0
  101. package/enums/Gender.d.ts +8 -0
  102. package/enums/GossipAction.d.ts +18 -0
  103. package/enums/GossipSender.d.ts +15 -0
  104. package/enums/GroupJoinBattlegroundResult.d.ts +22 -0
  105. package/enums/GroupMemberFlags.d.ts +8 -0
  106. package/enums/GroupType.d.ts +14 -0
  107. package/enums/GuildBankEventLogTypes.d.ts +14 -0
  108. package/enums/GuildDefaultRanks.d.ts +13 -0
  109. package/enums/GuildEventLogTypes.d.ts +11 -0
  110. package/enums/GuildMemberFlags.d.ts +10 -0
  111. package/enums/HighGuid.d.ts +18 -0
  112. package/enums/HolidayIds.d.ts +34 -0
  113. package/enums/InventoryResult.d.ts +94 -0
  114. package/enums/InventoryType.d.ts +66 -0
  115. package/enums/ItemBondingType.d.ts +11 -0
  116. package/enums/ItemClass.d.ts +22 -0
  117. package/enums/ItemFlags.d.ts +37 -0
  118. package/enums/ItemFlags2.d.ts +37 -0
  119. package/enums/ItemFlagsCustom.d.ts +8 -0
  120. package/enums/ItemModType.d.ts +49 -0
  121. package/enums/ItemQualities.d.ts +13 -0
  122. package/enums/ItemSpelltriggerType.d.ts +17 -0
  123. package/enums/ItemSubclass.d.ts +42 -0
  124. package/enums/ItemSubclassArmor.d.ts +30 -0
  125. package/enums/ItemSubclassConsumable.d.ts +26 -0
  126. package/enums/ItemSubclassContainer.d.ts +26 -0
  127. package/enums/ItemSubclassGem.d.ts +26 -0
  128. package/enums/ItemSubclassGeneric.d.ts +10 -0
  129. package/enums/ItemSubclassGlyph.d.ts +28 -0
  130. package/enums/ItemSubclassJunk.d.ts +20 -0
  131. package/enums/ItemSubclassKey.d.ts +12 -0
  132. package/enums/ItemSubclassMoney.d.ts +10 -0
  133. package/enums/ItemSubclassPermanent.d.ts +10 -0
  134. package/enums/ItemSubclassProjectile.d.ts +18 -0
  135. package/enums/ItemSubclassQuest.d.ts +10 -0
  136. package/enums/ItemSubclassQuiver.d.ts +16 -0
  137. package/enums/ItemSubclassReagent.d.ts +10 -0
  138. package/enums/ItemSubclassRecipe.d.ts +30 -0
  139. package/enums/ItemSubclassTradeGoods.d.ts +40 -0
  140. package/enums/ItemSubclassWeapon.d.ts +50 -0
  141. package/enums/Language.d.ts +24 -0
  142. package/enums/LfgRoles.d.ts +10 -0
  143. package/enums/LocaleConstant.d.ts +14 -0
  144. package/enums/LogLevel.d.ts +12 -0
  145. package/enums/LootModes.d.ts +12 -0
  146. package/enums/LootState.d.ts +13 -0
  147. package/enums/LootStoreType.d.ts +19 -0
  148. package/enums/LootType.d.ts +19 -0
  149. package/enums/MailCheckedMask.d.ts +11 -0
  150. package/enums/MailMessageType.d.ts +10 -0
  151. package/enums/MailStationery.d.ts +13 -0
  152. package/enums/Mechanics.d.ts +44 -0
  153. package/enums/MovementGeneratorType.d.ts +27 -0
  154. package/enums/MovementSlot.d.ts +8 -0
  155. package/enums/NPCFlags.d.ts +35 -0
  156. package/enums/NearObjectsMask.d.ts +9 -0
  157. package/enums/OBJECT_UPDATE_TYPE.d.ts +11 -0
  158. package/enums/OnlineState.d.ts +8 -0
  159. package/enums/PetDiet.d.ts +14 -0
  160. package/enums/PetSpellState.d.ts +9 -0
  161. package/enums/PetType.d.ts +8 -0
  162. package/enums/PlayerChatTag.d.ts +11 -0
  163. package/enums/PlayerXPSource.d.ts +11 -0
  164. package/enums/Powers.d.ts +15 -0
  165. package/enums/ProcFlags.d.ts +93 -0
  166. package/enums/ProcFlagsHit.d.ts +21 -0
  167. package/enums/QuestStatus.d.ts +12 -0
  168. package/enums/QuestTypes.d.ts +17 -0
  169. package/enums/Races.d.ts +28 -0
  170. package/enums/ReactStates.d.ts +8 -0
  171. package/enums/RemoveMethod.d.ts +9 -0
  172. package/enums/ReputationRank.d.ts +13 -0
  173. package/enums/ReputationSource.d.ts +12 -0
  174. package/enums/RollMask.d.ts +12 -0
  175. package/enums/RollVote.d.ts +11 -0
  176. package/enums/ServerSideVisibilityType.d.ts +9 -0
  177. package/enums/ShapeshiftForm.d.ts +37 -0
  178. package/enums/SheathState.d.ts +9 -0
  179. package/enums/ShutdownMask.d.ts +8 -0
  180. package/enums/SkillType.d.ts +157 -0
  181. package/enums/SocketColor.d.ts +9 -0
  182. package/enums/SpellAttributes.d.ts +317 -0
  183. package/enums/SpellAuraInterruptFlags.d.ts +36 -0
  184. package/enums/SpellCastResult.d.ts +195 -0
  185. package/enums/SpellCastTargetFlags.d.ts +33 -0
  186. package/enums/SpellCategoryFlags.d.ts +7 -0
  187. package/enums/SpellDmgClass.d.ts +9 -0
  188. package/enums/SpellEffIndex.d.ts +14 -0
  189. package/enums/SpellEffectImplicitTargetTypes.d.ts +8 -0
  190. package/enums/SpellEffects.d.ts +170 -0
  191. package/enums/SpellFacingFlags.d.ts +6 -0
  192. package/enums/SpellFamilyFlag.d.ts +46 -0
  193. package/enums/SpellFamilyNames.d.ts +23 -0
  194. package/enums/SpellImmuneBlockType.d.ts +7 -0
  195. package/enums/SpellImmunity.d.ts +17 -0
  196. package/enums/SpellInterruptFlags.d.ts +11 -0
  197. package/enums/SpellModOp.d.ts +36 -0
  198. package/enums/SpellModType.d.ts +8 -0
  199. package/enums/SpellPreventionType.d.ts +8 -0
  200. package/enums/SpellRangeFlag.d.ts +8 -0
  201. package/enums/SpellSchoolMask.d.ts +25 -0
  202. package/enums/SpellSchools.d.ts +12 -0
  203. package/enums/SpellSpecificType.d.ts +28 -0
  204. package/enums/SpellTargetCheckTypes.d.ts +14 -0
  205. package/enums/SpellTargetDirectionTypes.d.ts +16 -0
  206. package/enums/SpellTargetObjectTypes.d.ts +17 -0
  207. package/enums/SpellTargetReferenceTypes.d.ts +11 -0
  208. package/enums/SpellTargetSelectionCategories.d.ts +12 -0
  209. package/enums/SpellValueMod.d.ts +16 -0
  210. package/enums/Stats.d.ts +10 -0
  211. package/enums/SummonCategory.d.ts +12 -0
  212. package/enums/SummonPropFlags.d.ts +23 -0
  213. package/enums/SummonType.d.ts +18 -0
  214. package/enums/TargetIcon.d.ts +14 -0
  215. package/enums/Targets.d.ts +112 -0
  216. package/enums/TauntState.d.ts +8 -0
  217. package/enums/TeamId.d.ts +8 -0
  218. package/enums/TeleportToOptions.d.ts +13 -0
  219. package/enums/TempSummonType.d.ts +15 -0
  220. package/enums/TextEmote.d.ts +258 -0
  221. package/enums/TriggerCastFlags.d.ts +27 -0
  222. package/enums/TypeId.d.ts +13 -0
  223. package/enums/UnitDynFlags.d.ts +14 -0
  224. package/enums/UnitFlags.d.ts +38 -0
  225. package/enums/UnitFlags2.d.ts +25 -0
  226. package/enums/UnitModifierFlatType.d.ts +8 -0
  227. package/enums/UnitModifierPctType.d.ts +8 -0
  228. package/enums/UnitMods.d.ts +38 -0
  229. package/enums/UnitMoveType.d.ts +14 -0
  230. package/enums/UnitStandStateType.d.ts +16 -0
  231. package/enums/UnitState.d.ts +60 -0
  232. package/enums/WeaponAttackType.d.ts +8 -0
  233. package/enums/index.d.ts +177 -0
  234. package/hooks/account.d.ts +19 -0
  235. package/hooks/auction.d.ts +67 -0
  236. package/hooks/battleground-queue.d.ts +88 -0
  237. package/hooks/battleground.d.ts +33 -0
  238. package/hooks/creature.d.ts +58 -0
  239. package/hooks/game-object.d.ts +68 -0
  240. package/hooks/group.d.ts +39 -0
  241. package/hooks/guild.d.ts +138 -0
  242. package/hooks/index.d.ts +20 -0
  243. package/hooks/item.d.ts +40 -0
  244. package/hooks/loot.d.ts +9 -0
  245. package/hooks/map.d.ts +30 -0
  246. package/hooks/misc.d.ts +54 -0
  247. package/hooks/nodejs.d.ts +7 -0
  248. package/hooks/pet.d.ts +30 -0
  249. package/hooks/player.d.ts +966 -0
  250. package/hooks/spell.d.ts +82 -0
  251. package/hooks/ticket.d.ts +10 -0
  252. package/hooks/unit.d.ts +116 -0
  253. package/hooks/vehicle.d.ts +21 -0
  254. package/hooks/world-object.d.ts +16 -0
  255. package/hooks/world.d.ts +7 -0
  256. package/package.json +37 -0
  257. package/records/AchievementEntry.d.ts +14 -0
  258. package/records/BattlegroundScore.d.ts +58 -0
  259. package/records/Box.d.ts +6 -0
  260. package/records/ChaseAngle.d.ts +7 -0
  261. package/records/ChaseRange.d.ts +8 -0
  262. package/records/CreatureModel.d.ts +8 -0
  263. package/records/CreatureMovementData.d.ts +12 -0
  264. package/records/GlyphPropertiesEntry.d.ts +9 -0
  265. package/records/GroupMember.d.ts +9 -0
  266. package/records/GroupQueueInfo.d.ts +22 -0
  267. package/records/Homebind.d.ts +10 -0
  268. package/records/ImmunityInfo.d.ts +12 -0
  269. package/records/ItemDamage.d.ts +8 -0
  270. package/records/ItemSocket.d.ts +7 -0
  271. package/records/ItemSpell.d.ts +12 -0
  272. package/records/ItemStat.d.ts +7 -0
  273. package/records/LootItem.d.ts +12 -0
  274. package/records/ObjectGuid.d.ts +10 -0
  275. package/records/PetInfo.d.ts +20 -0
  276. package/records/Position.d.ts +9 -0
  277. package/records/PvPDifficultyEntry.d.ts +10 -0
  278. package/records/SpellCastTimesEntry.d.ts +7 -0
  279. package/records/SpellCategoryEntry.d.ts +7 -0
  280. package/records/SpellDurationEntry.d.ts +7 -0
  281. package/records/SpellModifier.d.ts +11 -0
  282. package/records/SpellRadiusEntry.d.ts +9 -0
  283. package/records/SpellRangeEntry.d.ts +11 -0
  284. package/records/SummonPropertiesEntry.d.ts +11 -0
  285. package/records/index.d.ts +27 -0
@@ -0,0 +1,23 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class Field {
4
+ readonly fieldType: DatabaseFieldTypes;
5
+ readonly isNull: boolean;
6
+
7
+ getBool(): boolean;
8
+ getU8(): number;
9
+ getI8(): number;
10
+ getU16(): number;
11
+ getI16(): number;
12
+ getU32(): number;
13
+ getI32(): number;
14
+ getU64(): number | bigint;
15
+ getI64(): number | bigint;
16
+ getF32(): number;
17
+ getF64(): number;
18
+ getString(): string;
19
+ getBinary(): Uint8Array<ArrayBuffer>;
20
+ }
21
+ }
22
+ }
23
+ export {};
@@ -0,0 +1,36 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class GameObject extends WorldObject {
4
+ readonly mapId: number;
5
+ readonly isSpawned: boolean;
6
+ readonly isTransport: boolean;
7
+ readonly isActive: boolean;
8
+ readonly displayId: number;
9
+ readonly lootState: LootState;
10
+ readonly spawnId: number;
11
+ // readonly lootRecipientGuid: ObjectGuidNative; // not in the core PR yet.
12
+ readonly lootRecipient: Player | undefined;
13
+ // readonly lootRecipientGroupId: number; // not in the core PR yet.
14
+ readonly lootRecipientGroup: Group | undefined;
15
+ goState: GOState;
16
+ nextAbsoluteRespawnTime: Temporal.Instant;
17
+ ownerGuid: ObjectGuid | undefined;
18
+ spellId: number;
19
+ isSpawnedByDefault: boolean;
20
+
21
+ setLootState(lootState: LootState, unit?: Unit): void;
22
+ useDoorOrButton(timeToRestore?: Temporal.Duration, alternative?: boolean, user?: Unit): void;
23
+ despawn(): void;
24
+ despawnOrUnsummon(timeToDespawn?: Temporal.Duration, forcedRespawnTimer?: Temporal.Duration): void;
25
+ respawn(): void;
26
+ refresh(): void;
27
+ saveToDB(saveAddon?: boolean): void;
28
+ saveToDBExtra(mapId: number, spawnMask: number, phaseMask: number, saveAddon?: boolean): void;
29
+ // mod-nodejs inventions: SetRespawnTime and SetRespawnDelay names confuse me greatly. when I
30
+ // worked out what they were, I thought of better names and a nicer way to handle the former.
31
+ setTimeUntilNextRespawn(delay: Temporal.Duration): void;
32
+ setTimeBetweenRespawns(delay: Temporal.Duration): void;
33
+ }
34
+ }
35
+ }
36
+ export {};
@@ -0,0 +1,24 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class GmTicket {
4
+ readonly ticketId: number;
5
+ readonly lastModifiedTime: Temporal.Instant;
6
+ readonly escalatedStatus: GMTicketEscalationStatus;
7
+ readonly playerName: string;
8
+ readonly assignedGmName: string | undefined;
9
+ readonly isClosed: boolean;
10
+ readonly isCompleted: boolean;
11
+ readonly isAssigned: boolean;
12
+ readonly response: string;
13
+ readonly chatLog: string;
14
+ message: string;
15
+ assignedToGuid: ObjectGuid | undefined;
16
+
17
+ appendResponse(response: string): void;
18
+ deleteResponse(): void;
19
+ setViewed(): void;
20
+ setCompleted(): void;
21
+ }
22
+ }
23
+ }
24
+ export {};
@@ -0,0 +1,28 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class Group {
4
+ readonly isRaid: boolean;
5
+ readonly isLFG: boolean;
6
+ readonly isBG: boolean;
7
+ readonly isFull: boolean;
8
+ readonly leaderName: string;
9
+ readonly guid: ObjectGuidNative;
10
+ readonly memberCount: number;
11
+ readonly groupType: GroupType;
12
+ readonly members: GroupMember[];
13
+ leaderGuid: ObjectGuid;
14
+
15
+ hasFreeSlotInSubgroup(subgroup: number): boolean;
16
+ disband(): void;
17
+ convertToRaid(): void;
18
+ changeSubgroup(member: ObjectGuid, subgroup: number): void;
19
+ setTargetIcon(icon: TargetIcon, setBy: ObjectGuid | undefined, target: ObjectGuid | undefined): void;
20
+ addMember(player: Player, roles?: LfgRoles): boolean;
21
+ removeMember(member: ObjectGuid, method?: RemoveMethod, kicker?: ObjectGuid, reason?: string): void;
22
+ setAssistant(player: ObjectGuid): void;
23
+ removeAssistant(member: ObjectGuid): void;
24
+ sendPacket(packet: WorldPacket, ignorePlayersInBG?: boolean, subgroup?: number, ignorePlayer?: ObjectGuid): void;
25
+ }
26
+ }
27
+ }
28
+ export {};
@@ -0,0 +1,7 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class Guardian extends Minion {
4
+ }
5
+ }
6
+ }
7
+ export {};
@@ -0,0 +1,28 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class Guild {
4
+ static byLeaderGuid(guid: ObjectGuid): Guild | undefined;
5
+ static byName(name: string): Guild | undefined;
6
+ static byId(id: number): Guild | undefined;
7
+
8
+ readonly id: number;
9
+ readonly leaderGuid: ObjectGuidNative;
10
+ readonly memberCount: GuildMember[];
11
+ readonly members: number;
12
+ readonly totalBankMoney: number | bigint;
13
+ readonly createdDate: Temporal.Instant;
14
+ name: string;
15
+ motd: string;
16
+ info: string;
17
+
18
+ getMemberByGuid(guid: ObjectGuid): GuildMember | undefined;
19
+ getMemberByName(name: string): GuildMember | undefined;
20
+ addMember(guid: ObjectGuid, rank?: GuildDefaultRanks | number): void;
21
+ removeMember(guid: ObjectGuid, kicked?: boolean): void;
22
+ disband(): void;
23
+ modifyBankMoney(money: number | bigint): boolean;
24
+ // more to come, see the TODOs on the C++ side.
25
+ }
26
+ }
27
+ }
28
+ export {};
@@ -0,0 +1,25 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class GuildMember {
4
+ readonly playerGuid: ObjectGuidNative;
5
+ readonly playerName: string;
6
+ readonly clazz: Classes;
7
+ readonly level: number;
8
+ readonly gender: Gender;
9
+ readonly accountId: number;
10
+ readonly logoutTime: Temporal.Instant;
11
+ readonly flags: GuildMemberFlags;
12
+ readonly zoneId: number;
13
+ readonly isOnline: boolean;
14
+ readonly remainingWithdrawalAllowedTodayTotal: number;
15
+ rankId: GuildDefaultRanks | number;
16
+ publicNote: string;
17
+ officerNote: string;
18
+
19
+ remainingWithdrawalAllowedTodayOnTab(tab: number): number;
20
+ refresh(): void;
21
+ updateLogoutTime(): void;
22
+ }
23
+ }
24
+ }
25
+ export {};
@@ -0,0 +1,41 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class Item extends ACObject {
4
+ readonly isBoundAccountWide: boolean;
5
+ readonly isBoundByEnchant: boolean;
6
+ readonly isLocked: boolean;
7
+ readonly isBag: boolean;
8
+ readonly isCurrencyToken: boolean;
9
+ readonly isNotEmptyBag: boolean;
10
+ readonly isBroken: boolean;
11
+ readonly isInTrade: boolean;
12
+ readonly isInBag: boolean;
13
+ readonly isEquipped: boolean;
14
+ readonly isPotion: boolean;
15
+ readonly isWeaponVellum: boolean;
16
+ readonly isArmorVellum: boolean;
17
+ readonly isConjuredConsumable: boolean;
18
+ readonly isRefundExpired: boolean;
19
+ readonly maxStackCount: number;
20
+ readonly slot: number;
21
+ readonly bagSlot: number;
22
+ readonly template: ItemTemplateNarrowable;
23
+ readonly bagSize: number;
24
+ ownerGuid: ObjectGuid;
25
+ count: number;
26
+ isSoulBound: boolean;
27
+
28
+ hasQuest(questId: number): boolean;
29
+ getEnchantmentId(slot: EnchantmentSlot): number;
30
+ canBeTraded(mail?: boolean, trade?: boolean): boolean;
31
+ isBindedNotWith(player: Player): boolean;
32
+ getItemLinkText(locale?: LocaleConstant): string;
33
+ setEnchantment(slot: EnchantmentSlot, enchantmentId: number, duration: number, charges: number, caster?: ObjectGuid): boolean;
34
+ clearEnchantment(slot: EnchantmentSlot): boolean;
35
+ setRandomProperties(prop: number): void;
36
+ setRandomSuffix(suffix: number): void;
37
+ save(): void;
38
+ }
39
+ }
40
+ }
41
+ export {};
@@ -0,0 +1,123 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class ItemTemplate {
4
+ readonly itemId: number;
5
+ readonly clazz: ItemClass;
6
+ readonly subClass: ItemSubclass;
7
+ readonly soundOverrideSubclass: number; // < 0: id from ItemSubClass.dbc, used to override weapon sound from actual SubClass
8
+ readonly name1: string;
9
+ readonly displayInfoId: number; // id from ItemDisplayInfo.dbc
10
+ readonly quality: ItemQualities;
11
+ readonly flags: ItemFlags;
12
+ readonly flags2: ItemFlags2;
13
+ readonly buyCount: number;
14
+ readonly buyPrice: number;
15
+ readonly sellPrice: number;
16
+ readonly inventoryType: InventoryType;
17
+ readonly allowableClass: number; // bitmask of (1 << Classes) values
18
+ readonly allowableRace: number; // bitmask of (1 << Races) values
19
+ readonly itemLevel: number;
20
+ readonly requiredLevel: number;
21
+ readonly requiredSkill: number; // id from SkillLine.dbc
22
+ readonly requiredSkillRank: number;
23
+ readonly requiredSpell: number; // id from Spell.dbc
24
+ readonly requiredHonorRank: number;
25
+ readonly requiredCityRank: number;
26
+ readonly requiredReputationFaction: number; // id from Faction.dbc
27
+ readonly requiredReputationRank: ReputationRank;
28
+ readonly maxCount: number; // <= 0: no limit
29
+ readonly stackable: number; // 0: not allowed, -1: put in player coin info tab and don't limit stacking (so 1 slot)
30
+ readonly containerSlots: number;
31
+ readonly statsCount: number;
32
+ readonly itemStat: ItemStat[];
33
+ readonly scalingStatDistribution: number; // id from ScalingStatDistribution.dbc
34
+ readonly scalingStatValue: number; // mask for selecting column in ScalingStatValues.dbc
35
+ readonly damage: ItemDamage[];
36
+ readonly armor: number;
37
+ readonly holyRes: number;
38
+ readonly fireRes: number;
39
+ readonly natureRes: number;
40
+ readonly frostRes: number;
41
+ readonly shadowRes: number;
42
+ readonly arcaneRes: number;
43
+ readonly delay: Temporal.Duration;
44
+ readonly ammoType: ItemSubclassProjectile;
45
+ readonly rangedModRange: number;
46
+ readonly spells: ItemSpell[];
47
+ readonly bonding: ItemBondingType;
48
+ readonly description: string;
49
+ readonly pageText: number;
50
+ readonly languageId: number;
51
+ readonly pageMaterial: number;
52
+ readonly startQuest: number; // id from QuestCache.wdb
53
+ readonly lockId: number;
54
+ readonly material: number; // id from Material.dbc
55
+ readonly sheath: number; // MIGHT be the enum SheathTypes? unsure
56
+ readonly randomProperty: number; // id from ItemRandomProperties.dbc
57
+ readonly randomSuffix: number; // id from ItemRandomSuffix.dbc
58
+ readonly block: number;
59
+ readonly itemSet: number; // id from ItemSet.dbc
60
+ readonly maxDurability: number;
61
+ readonly area: number; // id from AreaTable.dbc
62
+ readonly map: number; // id from Map.dbc
63
+ readonly bagFamily: BAG_FAMILY_MASK; // bit mask (1 << id from ItemBagFamily.dbc)
64
+ readonly totemCategory: number; // id from TotemCategory.dbc
65
+ readonly socket: ItemSocket[];
66
+ readonly socketBonus: number; // id from SpellItemEnchantment.dbc
67
+ readonly gemProperties: number; // id from GemProperties.dbc
68
+ readonly requiredDisenchantSkill: number;
69
+ readonly armorDamageModifier: number;
70
+ readonly duration: Temporal.Duration;
71
+ readonly itemLimitCategory: number; // id from ItemLimitCategory.dbc
72
+ readonly holidayId: HolidayIds;
73
+ readonly scriptId: number;
74
+ readonly disenchantID: number;
75
+ readonly foodType: PetDiet;
76
+ readonly minMoneyLoot: number;
77
+ readonly maxMoneyLoot: number;
78
+ readonly flagsCu: ItemFlagsCustom;
79
+ readonly hasSignature: boolean;
80
+ readonly canChangeEquipStateInCombat: boolean;
81
+ readonly isCurrencyToken: boolean;
82
+ readonly maxStackSize: number;
83
+ readonly dps: number;
84
+ readonly skill: SkillType; // TODO: separate enum for the subset that this can ACTUALLY return
85
+ readonly isPotion: boolean;
86
+ readonly isWeaponVellum: boolean;
87
+ readonly isArmorVellum: boolean;
88
+ readonly isConjuredConsumable: boolean;
89
+ readonly hasSpellPowerStat: boolean;
90
+
91
+ getFeralBonus(extraDps?: number): number;
92
+ getItemLevelIncludingQuality(playerLevel: number): number;
93
+ hasStat(stat: ItemModType): boolean;
94
+ hasFlag(flag: ItemFlags): boolean;
95
+ hasFlag2(flag: ItemFlags2): boolean;
96
+ hasFlagCu(flag: ItemFlagsCustom): boolean;
97
+ }
98
+
99
+ // technically there's only ItemTemplate at runtime, but the subclasses have overlapping values
100
+ // with different meanings depending on the class value - which is something that TypeScript has
101
+ // a very specific, very powerful tool to help use it correctly.
102
+ type ItemTemplateNarrowable = ItemTemplate & (
103
+ | { clazz: ItemClass.ITEM_CLASS_ARMOR; subclass: ItemSubclassArmor }
104
+ | { clazz: ItemClass.ITEM_CLASS_CONSUMABLE; subclass: ItemSubclassConsumable }
105
+ | { clazz: ItemClass.ITEM_CLASS_CONTAINER; subclass: ItemSubclassContainer }
106
+ | { clazz: ItemClass.ITEM_CLASS_GEM; subclass: ItemSubclassGem }
107
+ | { clazz: ItemClass.ITEM_CLASS_GENERIC; subclass: ItemSubclassGeneric }
108
+ | { clazz: ItemClass.ITEM_CLASS_GLYPH; subclass: ItemSubclassGlyph }
109
+ | { clazz: ItemClass.ITEM_CLASS_MISC; subclass: ItemSubclassJunk }
110
+ | { clazz: ItemClass.ITEM_CLASS_KEY; subclass: ItemSubclassKey }
111
+ | { clazz: ItemClass.ITEM_CLASS_MONEY; subclass: ItemSubclassMoney }
112
+ | { clazz: ItemClass.ITEM_CLASS_PERMANENT; subclass: ItemSubclassPermanent }
113
+ | { clazz: ItemClass.ITEM_CLASS_PROJECTILE; subclass: ItemSubclassProjectile }
114
+ | { clazz: ItemClass.ITEM_CLASS_QUEST; subclass: ItemSubclassQuest }
115
+ | { clazz: ItemClass.ITEM_CLASS_QUIVER; subclass: ItemSubclassQuiver }
116
+ | { clazz: ItemClass.ITEM_CLASS_REAGENT; subclass: ItemSubclassReagent }
117
+ | { clazz: ItemClass.ITEM_CLASS_RECIPE; subclass: ItemSubclassRecipe }
118
+ | { clazz: ItemClass.ITEM_CLASS_TRADE_GOODS; subclass: ItemSubclassTradeGoods }
119
+ | { clazz: ItemClass.ITEM_CLASS_WEAPON; subclass: ItemSubclassWeapon }
120
+ );
121
+ }
122
+ }
123
+ export {};
@@ -0,0 +1,29 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class Loot {
4
+ readonly itemCount: number;
5
+ readonly isLooted: boolean;
6
+ readonly isEmpty: boolean;
7
+ readonly hasQuestItems: boolean;
8
+ readonly hasItemForAll: boolean;
9
+ readonly hasOverThresholdItem: boolean;
10
+ readonly items: LootItem[];
11
+ readonly questItems: LootItem[];
12
+ lootType: LootType;
13
+ unlootedCount: number;
14
+ gold: number;
15
+ // SOME of these `| undefined` MAY be incorrect. SOME of them are DEFINITELY correct.
16
+ roundRobinPlayer: ObjectGuidNative | undefined;
17
+ lootOwnerGuid: ObjectGuidNative | undefined;
18
+ containerGuid: ObjectGuidNative | undefined;
19
+ sourceWorldObjectGuid: ObjectGuidNative | undefined;
20
+
21
+ addItem(itemId: number, minCount: number, maxCount: number, chance: number, lootMode: LootModes, needsQuest?: boolean, allowStacking?: boolean, maxStackSize?: number): void;
22
+ clear(): void;
23
+ generateMoney(min: number, max: number): void;
24
+ addLooter(looter: ObjectGuid): void;
25
+ removeLooter(looter: ObjectGuid): void;
26
+ }
27
+ }
28
+ }
29
+ export {};
@@ -0,0 +1,16 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class LootStore {
4
+ readonly name: string;
5
+ readonly entryName: string;
6
+ readonly ratesAllowed: boolean;
7
+
8
+ haveLootFor(lootId: number): boolean;
9
+ haveQuestLootFor(lootId: number, player?: Player): boolean;
10
+ getLootFor(lootId: number): LootTemplate;
11
+ }
12
+
13
+ type LootStoreArg = LootStore | LootStoreType;
14
+ }
15
+ }
16
+ export {};
@@ -0,0 +1,8 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class LootTemplate {
4
+ process(loot: Loot, lootStore: LootStore, lootMode: LootModes, player: Player, groupId?: number, isTopLevel?: boolean): void;
5
+ }
6
+ }
7
+ }
8
+ export {};
@@ -0,0 +1,15 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class MailDraft {
4
+ constructor(subject: string, text: string);
5
+
6
+ addMoney(money: number): MailDraft;
7
+ addCOD(money: number): MailDraft;
8
+ addItem(item: Item): MailDraft;
9
+ createAndAddItem(entry: number, amount?: number): ObjectGuid;
10
+ send(receiver: ObjectGuid, sender: MailSender, checked?: MailCheckedMask, deliverDelay?: number, customExpiration?: number): void;
11
+ sendReturnToSender(senderAccount: number, sender: ObjectGuid, receiver: ObjectGuid): void;
12
+ }
13
+ }
14
+ }
15
+ export {};
@@ -0,0 +1,24 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class MailSender {
4
+ constructor(messageType: MailMessageType, sender: number, stationery?: MailStationery);
5
+
6
+ readonly messageType: MailMessageType;
7
+ // creature's entry,
8
+ // game object's entry,
9
+ // player's ObjectGuid's counter,
10
+ // {@link AuctionHouseId}, or
11
+ // calendar entry's id (truncated to 32 bits for some reason)
12
+ readonly senderId: number;
13
+ readonly stationery: MailStationery;
14
+
15
+ static thePostmaster(stationery?: MailStationery): MailSender;
16
+ static forCreature(entry: number, stationery?: MailStationery): MailSender;
17
+ static forPlayer(guid: ObjectGuid, stationery?: MailStationery): MailSender;
18
+ static forGameObject(entry: number, stationery?: MailStationery): MailSender;
19
+ static forAuctionHouse(id: AuctionHouseId, stationery?: MailStationery): MailSender;
20
+ static forCalendarEvent(entry: number, stationery?: MailStationery): MailSender;
21
+ }
22
+ }
23
+ }
24
+ export {};
@@ -0,0 +1,12 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class Minion extends TempSummon {
4
+ readonly owner: Unit;
5
+ readonly isPetGhoul: boolean;
6
+ readonly isGuardianPet: boolean;
7
+
8
+ followAngle: number;
9
+ }
10
+ }
11
+ }
12
+ export {};
@@ -0,0 +1,18 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class Pet extends Guardian {
4
+ readonly isHappy: boolean;
5
+ readonly owner: Player;
6
+ readonly isControlled: boolean;
7
+ readonly isTemporary: boolean;
8
+ readonly hasTempSpell: boolean;
9
+ readonly autoSpellSize: number;
10
+ readonly petInfo: PetInfo;
11
+ readonly spells: Map<number, PetSpellState>;
12
+ readonly autospells: number[];
13
+ readonly usedTalentCount: number;
14
+ readonly declinedNames: string[];
15
+ }
16
+ }
17
+ }
18
+ export {};
@@ -0,0 +1,156 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class Player extends Unit {
4
+ readonly race: Races;
5
+ readonly raceMask: number;
6
+ readonly clazz: Classes;
7
+ readonly classMask: number;
8
+ readonly teamId: TeamId;
9
+ readonly guildId: number;
10
+ readonly isInGroup: boolean;
11
+ readonly isInGuild: boolean;
12
+ readonly isRested: boolean;
13
+ readonly hasCorpse: boolean;
14
+ readonly isMaxLevel: boolean;
15
+ readonly activeSpec: number;
16
+ readonly specsCount: number;
17
+ readonly restBonus: number;
18
+ readonly xp: number;
19
+ readonly battlegroundTypeId: BattlegroundTypeId;
20
+ readonly gmRank: AccountTypes;
21
+ readonly accountId: number;
22
+ readonly accountFlags: AccountFlag;
23
+ readonly accountName: string;
24
+ readonly completedQuestsCount: number;
25
+ readonly corpse: Corpse | undefined;
26
+ readonly playerIP: string;
27
+ readonly mailCount: number;
28
+ readonly mostPointsTalentTree: number;
29
+ readonly group: Group | undefined;
30
+ readonly difficulty: Difficulty;
31
+ readonly inventoryFreeSlots: number;
32
+ readonly canSpeak: boolean;
33
+ readonly canUninviteFromGroup: boolean;
34
+ readonly inBattlegroundQueue: boolean;
35
+ readonly inArena: boolean;
36
+ readonly inBattleground: boolean;
37
+ readonly hasTankSpec: boolean;
38
+ readonly hasMeleeSpec: boolean;
39
+ readonly hasCasterSpec: boolean;
40
+ readonly hasHealSpec: boolean;
41
+ readonly hasPet: boolean;
42
+ readonly canTameExoticPets: boolean;
43
+ readonly canPetResurrect: boolean;
44
+ readonly canResummonPet: boolean;
45
+ readonly inRandomLfgDungeon: boolean;
46
+ readonly isUsingLfg: boolean;
47
+ readonly achievementPoints: number;
48
+ readonly dodgeFromAgility: number;
49
+ readonly meleeCritFromAgility: number;
50
+ readonly spellCritFromIntellect: number;
51
+ readonly ammoDPS: number;
52
+ readonly canSeeDKPet: boolean;
53
+ readonly isImmuneToDamage: boolean;
54
+ readonly battlegroundId: number;
55
+ readonly championingFactionId: number;
56
+ readonly chatTag: PlayerChatTag;
57
+ readonly dbLocaleIndex: LocaleConstant;
58
+ readonly dbcLocale: LocaleConstant;
59
+ readonly latency: Temporal.Duration;
60
+ readonly groupInvite: Group | undefined;
61
+ /**
62
+ * Keeping this for parity with C++, but it has a weak name and an awkward type.
63
+ *
64
+ * Some may prefer the mod-nodejs invention {@link loginTimestamp} instead.
65
+ */
66
+ readonly inGameTime: number;
67
+ readonly loginTimestamp: Temporal.Instant;
68
+ readonly healthBonusFromStamina: number;
69
+ readonly manaBonusFromIntellect: number;
70
+ readonly originalGroup: number
71
+ readonly originalSubGroup: number;
72
+ // used for proper set phase for DB at GM-mode creature/GO spawn
73
+ readonly phaseMaskForSpawn: number;
74
+ readonly selectedPlayer: Player | undefined;
75
+ readonly selectedUnit: Unit | undefined;
76
+ readonly shield: Item | undefined;
77
+ readonly shieldBlockValue: number;
78
+ readonly subGroup: number;
79
+ readonly todayHonorPoints: number;
80
+ readonly todayKills: number;
81
+ readonly trader: Player | undefined;
82
+ readonly yesterdayHonorPoints: number;
83
+ readonly yesterdayKills: number;
84
+ readonly recruiterId: number;
85
+ readonly bankFreeSlots: number;
86
+ readonly levelPlayedTime: Temporal.Duration;
87
+ readonly averageItemLevel: number;
88
+ readonly totalPlayedTime: Temporal.Duration;
89
+ readonly guildName: string;
90
+ readonly runesState: number;
91
+ // false if mod_playerbots is not installed
92
+ readonly isBot: boolean;
93
+ readonly isHorde: boolean;
94
+ readonly isAlliance: boolean;
95
+ readonly isInArena: boolean;
96
+ readonly isInBattleground: boolean;
97
+ readonly isInBattlegroundQueue: boolean;
98
+ readonly canTitanGrip: boolean;
99
+ readonly pet: Pet | undefined;
100
+ readonly homebind: Homebind;
101
+ readonly talentTreePoints: number[];
102
+ readonly completedAchievementsCount: number;
103
+ readonly completedAchievementsCountExcludingFeatsOfStrength: number;
104
+
105
+ static byGuid(guid: ObjectGuid): Player | undefined;
106
+ static byName(name: string): Player | undefined;
107
+ static allInWorld(): Player[];
108
+
109
+ hasAccountFlag(flag: AccountFlag): boolean;
110
+ setAccountFlag(flag: AccountFlag): boolean;
111
+ clearAccountFlag(flag: AccountFlag): boolean;
112
+ resetTalentsCost(): void;
113
+ getRaceAsString(locale?: LocaleConstant): string;
114
+ getClassAsString(locale?: LocaleConstant): string;
115
+ hasSpell(spellId: number): boolean;
116
+ hasQuest(questId: number): boolean;
117
+ hasItemCount(itemId: number, count?: number, checkBank?: false): boolean;
118
+ getItemCount(itemId: number, checkBank?: false, skipItem?: Item): number;
119
+ getReputationWith(factionId: number): number;
120
+ getReputationRankWith(factionId: number): ReputationRank;
121
+ getQuestStatus(questId: number): QuestStatus;
122
+ // TODO: verify correctness
123
+ getEquippedItemBySlot(slot: number): Item | undefined;
124
+ // TODO: verify correctness
125
+ getInventoryItem(slot: number): Item | undefined;
126
+ // TODO: verify correctness
127
+ getBankItem(slot: number): Item | undefined;
128
+ getBarberShopCost(hairstyle: number, haircolor: number, facialhair: number, skincolor?: number): number;
129
+ getSkillValue(skill: SkillType): number;
130
+ getMaxSkillValue(skill: SkillType): number;
131
+ hasTalent(talentId: number, spec?: number): boolean;
132
+ hasAchieved(achievementId: number): boolean;
133
+ hasQuestForItem(itemId: number, excludeQuestId?: number, turnIn?: boolean, showInLoot?: Box<boolean>): boolean;
134
+ canUseItem(itemId: number): boolean;
135
+ hasSpellCooldown(spellId: number): boolean;
136
+ canShareQuest(questId: number): boolean;
137
+ isGroupVisibleFor(player: Player): boolean;
138
+ isInSameRaidWith(player: Player): boolean;
139
+ isInSameGroupWith(player: Player): boolean;
140
+ isHonorOrXPTarget(target: Unit): boolean;
141
+ isVisibleFor(player: Player): boolean;
142
+ hasKnownTaxiNode(nodeId: number): boolean;
143
+ isAtGroupRewardDistanceFor(target: Unit): boolean;
144
+ isAtLootRewardDistanceFor(target: Unit): boolean;
145
+ canEquipNewItem(itemId: number, slot: number, swap: boolean): boolean;
146
+ isDailyQuestDone(quest: Quest): boolean;
147
+ canSeeStartQuest(quest: Quest): boolean;
148
+ canInteractWithQuestGiver(target: WorldObject): boolean;
149
+ hasArmorProficiency(armor: ItemSubclassArmor): boolean;
150
+ hasWeaponProficiency(weapon: ItemSubclassWeapon): boolean;
151
+ getGlyph(slot: number): GlyphPropertiesEntry | undefined;
152
+ sendSystemMessage(msg: string): void;
153
+ }
154
+ }
155
+ }
156
+ export {};
@@ -0,0 +1,14 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class QueryResult {
4
+ readonly rowCount: number;
5
+ readonly fieldCount: number;
6
+ readonly allFields: Field[];
7
+
8
+ getFieldName(i: number): string;
9
+ getField(i: number): Field;
10
+ nextRow(): boolean;
11
+ }
12
+ }
13
+ }
14
+ export {};
@@ -0,0 +1,21 @@
1
+ declare global {
2
+ namespace Acore {
3
+ class Quest {
4
+ static byId(id: number): Quest | undefined;
5
+
6
+ readonly questId: number;
7
+ readonly questType: QuestTypes;
8
+ readonly level: number;
9
+ readonly logTitle: string;
10
+ readonly objectiveText: string;
11
+ readonly objectiveDescription: string;
12
+ readonly areaDescription: string;
13
+ readonly startAreaId: number;
14
+ readonly rewardSpell: number;
15
+ readonly isRepeatable: boolean;
16
+ readonly isDaily: boolean;
17
+ readonly isWeekly: boolean;
18
+ }
19
+ }
20
+ }
21
+ export {};