warcraft-3-w3ts-utils 0.1.7 → 0.1.9

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 (83) hide show
  1. package/dist/index.lua +13 -0
  2. package/dist/lua_modules/w3ts/globals/index.lua +23 -0
  3. package/dist/lua_modules/w3ts/globals/order.lua +2 -0
  4. package/dist/lua_modules/w3ts/handles/camera.lua +348 -0
  5. package/dist/lua_modules/w3ts/handles/destructable.lua +237 -0
  6. package/dist/lua_modules/w3ts/handles/dialog.lua +161 -0
  7. package/dist/lua_modules/w3ts/handles/effect.lua +198 -0
  8. package/dist/lua_modules/w3ts/handles/fogmodifier.lua +76 -0
  9. package/dist/lua_modules/w3ts/handles/force.lua +105 -0
  10. package/dist/lua_modules/w3ts/handles/frame.lua +417 -0
  11. package/dist/lua_modules/w3ts/handles/gamecache.lua +132 -0
  12. package/dist/lua_modules/w3ts/handles/group.lua +215 -0
  13. package/dist/lua_modules/w3ts/handles/handle.lua +38 -0
  14. package/dist/lua_modules/w3ts/handles/image.lua +105 -0
  15. package/dist/lua_modules/w3ts/handles/index.lua +226 -0
  16. package/dist/lua_modules/w3ts/handles/item.lua +375 -0
  17. package/dist/lua_modules/w3ts/handles/leaderboard.lua +211 -0
  18. package/dist/lua_modules/w3ts/handles/multiboard.lua +193 -0
  19. package/dist/lua_modules/w3ts/handles/player.lua +311 -0
  20. package/dist/lua_modules/w3ts/handles/point.lua +80 -0
  21. package/dist/lua_modules/w3ts/handles/quest.lua +176 -0
  22. package/dist/lua_modules/w3ts/handles/rect.lua +129 -0
  23. package/dist/lua_modules/w3ts/handles/region.lua +72 -0
  24. package/dist/lua_modules/w3ts/handles/sound.lua +174 -0
  25. package/dist/lua_modules/w3ts/handles/texttag.lua +97 -0
  26. package/dist/lua_modules/w3ts/handles/timer.lua +83 -0
  27. package/dist/lua_modules/w3ts/handles/timerdialog.lua +86 -0
  28. package/dist/lua_modules/w3ts/handles/trigger.lua +265 -0
  29. package/dist/lua_modules/w3ts/handles/ubersplat.lua +84 -0
  30. package/dist/lua_modules/w3ts/handles/unit.lua +1330 -0
  31. package/dist/lua_modules/w3ts/handles/weathereffect.lua +42 -0
  32. package/dist/lua_modules/w3ts/handles/widget.lua +53 -0
  33. package/dist/lua_modules/w3ts/hooks/index.lua +52 -0
  34. package/dist/lua_modules/w3ts/index.lua +36 -0
  35. package/dist/lua_modules/w3ts/system/base64.lua +108 -0
  36. package/dist/lua_modules/w3ts/system/binaryreader.lua +74 -0
  37. package/dist/lua_modules/w3ts/system/binarywriter.lua +88 -0
  38. package/dist/lua_modules/w3ts/system/file.lua +88 -0
  39. package/dist/lua_modules/w3ts/system/gametime.lua +27 -0
  40. package/dist/lua_modules/w3ts/system/host.lua +104 -0
  41. package/dist/lua_modules/w3ts/system/index.lua +58 -0
  42. package/dist/lua_modules/w3ts/system/sync.lua +239 -0
  43. package/dist/lua_modules/w3ts/utils/color.lua +189 -0
  44. package/dist/lua_modules/w3ts/utils/index.lua +38 -0
  45. package/dist/lualib_bundle.lua +2733 -0
  46. package/dist/package.json +41 -0
  47. package/dist/utils/abilities.lua +107 -0
  48. package/dist/utils/camera.lua +46 -0
  49. package/dist/utils/chat-command.lua +30 -0
  50. package/dist/utils/color.lua +41 -0
  51. package/dist/utils/index.lua +125 -0
  52. package/dist/utils/item.d.ts +14 -1
  53. package/dist/utils/item.lua +179 -0
  54. package/dist/utils/math.lua +17 -0
  55. package/dist/utils/minimapIcons.lua +28 -0
  56. package/dist/utils/misc.lua +143 -0
  57. package/dist/utils/physics.lua +161 -0
  58. package/dist/utils/players.d.ts +0 -1
  59. package/dist/utils/players.lua +233 -0
  60. package/dist/utils/point.lua +60 -0
  61. package/dist/utils/quests.lua +47 -0
  62. package/dist/utils/textTag.lua +110 -0
  63. package/dist/utils/timer.lua +21 -0
  64. package/dist/utils/units.lua +102 -0
  65. package/package.json +4 -6
  66. package/dist/index.js +0 -18
  67. package/dist/utils/abilities.js +0 -125
  68. package/dist/utils/camera.js +0 -37
  69. package/dist/utils/chat-command.js +0 -22
  70. package/dist/utils/color.js +0 -141
  71. package/dist/utils/index.js +0 -32
  72. package/dist/utils/item.js +0 -124
  73. package/dist/utils/math.js +0 -17
  74. package/dist/utils/minimapIcons.js +0 -27
  75. package/dist/utils/misc.js +0 -175
  76. package/dist/utils/physics.js +0 -194
  77. package/dist/utils/players.js +0 -189
  78. package/dist/utils/point.js +0 -74
  79. package/dist/utils/quests.js +0 -30
  80. package/dist/utils/textTag.js +0 -72
  81. package/dist/utils/timer.js +0 -16
  82. package/dist/utils/units.js +0 -81
  83. package/tsconfig.json +0 -40
@@ -1,189 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.forEachUnitOfPlayerWithAbility = forEachUnitOfPlayerWithAbility;
4
- exports.forEachAlliedPlayer = forEachAlliedPlayer;
5
- exports.forEachPlayer = forEachPlayer;
6
- exports.forEachUnitTypeOfPlayer = forEachUnitTypeOfPlayer;
7
- exports.forEachUnitOfType = forEachUnitOfType;
8
- exports.forEachUnitOfPlayer = forEachUnitOfPlayer;
9
- exports.forEachUnitInRectangle = forEachUnitInRectangle;
10
- exports.isPlaying = isPlaying;
11
- exports.isUser = isUser;
12
- exports.isComputer = isComputer;
13
- exports.isPlayingUser = isPlayingUser;
14
- exports.adjustPlayerState = adjustPlayerState;
15
- exports.adjustGold = adjustGold;
16
- exports.adjustLumber = adjustLumber;
17
- exports.adjustFoodCap = adjustFoodCap;
18
- exports.adjustFoodUsed = adjustFoodUsed;
19
- exports.playerHasResources = playerHasResources;
20
- exports.setPlayerName = setPlayerName;
21
- const w3ts_1 = require("w3ts");
22
- const globals_1 = require("w3ts/globals");
23
- /**
24
- * Does a callback for every unit of the player that has the ability
25
- * @param player
26
- * @param abilityId
27
- * @param cb
28
- */
29
- function forEachUnitOfPlayerWithAbility(player, abilityId, cb) {
30
- forEachUnitOfPlayer(player, (u) => {
31
- for (let x = 0; x < 12; x++) {
32
- const currentAbility = u.getAbilityByIndex(x);
33
- if (currentAbility && currentAbility === u.getAbility(abilityId) && u.isAlive()) {
34
- cb(u);
35
- }
36
- }
37
- });
38
- }
39
- /**
40
- * Calls a function for each player playing and is an ally of red.
41
- * @warning specific to map
42
- */
43
- function forEachAlliedPlayer(cb) {
44
- globals_1.Players.forEach((player, index) => {
45
- //For testing purposes, include player[9] (the human ally) so their units can also be included when iterating the units OR i should make a separate function for all units.
46
- if (player.slotState === PLAYER_SLOT_STATE_PLAYING && player.isPlayerAlly(globals_1.Players[0]) && player != globals_1.Players[25] && player != globals_1.Players[27]) {
47
- cb(player, index);
48
- }
49
- });
50
- }
51
- function forEachPlayer(cb) {
52
- globals_1.Players.forEach((p, index) => {
53
- cb(p, index);
54
- });
55
- }
56
- /**
57
- * Executes the callback function for each unit matching the unit type for the player
58
- * @param unitType Unit Type Id or the Unit Type String "hcas", etc
59
- */
60
- function forEachUnitTypeOfPlayer(unitType, player, cb) {
61
- if (typeof unitType === "string") {
62
- unitType = FourCC(unitType);
63
- }
64
- const g = w3ts_1.Group.create();
65
- g?.enumUnitsOfPlayer(player, () => {
66
- const unit = w3ts_1.Group.getFilterUnit();
67
- if (unit && unit?.typeId === unitType) {
68
- cb(unit);
69
- }
70
- return true;
71
- });
72
- g?.destroy();
73
- }
74
- /**
75
- * Doesn;'t appear to actually work?
76
- * @broken
77
- * @param unitName
78
- * @param unitType
79
- * @param fn
80
- */
81
- function forEachUnitOfType(unitName, unitType, fn) {
82
- if (typeof unitType === "string") {
83
- unitType = FourCC(unitType);
84
- }
85
- print(unitName);
86
- const g = w3ts_1.Group.create();
87
- g?.enumUnitsOfType(unitName, () => {
88
- const unit = w3ts_1.Group.getFilterUnit();
89
- if (unit && unit?.typeId === unitType) {
90
- fn(unit);
91
- }
92
- return true;
93
- });
94
- print(`Total units of name ${unitName} found: ${g?.size}`);
95
- g?.destroy();
96
- }
97
- /**
98
- * @param unitType Unit Type Id or the Unit Type String "hcas", etc
99
- */
100
- function forEachUnitOfPlayer(player, cb) {
101
- const g = w3ts_1.Group.create();
102
- g?.enumUnitsOfPlayer(player, () => {
103
- const unit = w3ts_1.Group.getFilterUnit();
104
- if (!unit) {
105
- print("Enumerating over a unit that doesn't exist!");
106
- }
107
- if (unit) {
108
- cb(unit);
109
- }
110
- return true;
111
- });
112
- g?.destroy();
113
- }
114
- /**
115
- * Executes the callback function for each unit matching the unit type for the player
116
- * @param unitType Unit Type Id or the Unit Type String "hcas", etc
117
- */
118
- function forEachUnitInRectangle(rectangle, cb) {
119
- const g = w3ts_1.Group.create();
120
- g?.enumUnitsInRect(rectangle, () => {
121
- const unit = w3ts_1.Group.getFilterUnit();
122
- if (unit) {
123
- cb(unit);
124
- }
125
- return true;
126
- });
127
- g?.destroy();
128
- }
129
- function isPlaying(player) {
130
- if (player instanceof w3ts_1.MapPlayer) {
131
- return player.slotState === PLAYER_SLOT_STATE_PLAYING;
132
- }
133
- return GetPlayerSlotState(player) === PLAYER_SLOT_STATE_PLAYING;
134
- }
135
- function isUser(player) {
136
- if (player instanceof w3ts_1.MapPlayer) {
137
- return GetPlayerController(player.handle) === MAP_CONTROL_USER;
138
- }
139
- return GetPlayerController(player) === MAP_CONTROL_USER;
140
- }
141
- function isComputer(player) {
142
- if (player instanceof w3ts_1.MapPlayer) {
143
- return GetPlayerController(player.handle) === MAP_CONTROL_COMPUTER;
144
- }
145
- return GetPlayerController(player) === MAP_CONTROL_COMPUTER;
146
- }
147
- function isPlayingUser(player) {
148
- return isUser(player) && isPlaying(player);
149
- }
150
- function adjustPlayerState(player, whichState, amount) {
151
- player.setState(whichState, player.getState(whichState) + amount);
152
- }
153
- function adjustGold(player, amount) {
154
- player.setState(PLAYER_STATE_RESOURCE_GOLD, player.getState(PLAYER_STATE_RESOURCE_GOLD) + amount);
155
- }
156
- function adjustLumber(player, amount) {
157
- player.setState(PLAYER_STATE_RESOURCE_LUMBER, player.getState(PLAYER_STATE_RESOURCE_LUMBER) + amount);
158
- }
159
- function adjustFoodCap(player, amount) {
160
- player.setState(PLAYER_STATE_RESOURCE_FOOD_CAP, player.getState(PLAYER_STATE_RESOURCE_FOOD_CAP) + amount);
161
- }
162
- function adjustFoodUsed(player, amount) {
163
- player.setState(PLAYER_STATE_RESOURCE_FOOD_USED, player.getState(PLAYER_STATE_RESOURCE_FOOD_USED) + amount);
164
- }
165
- function playerHasResources(player, data) {
166
- let hasGold = true;
167
- let hasLumber = true;
168
- if (data.gold && data.gold != 0) {
169
- hasGold = player.getState(PLAYER_STATE_RESOURCE_GOLD) >= data.gold;
170
- }
171
- if (data.lumber && data.lumber != 0) {
172
- hasLumber = player.getState(PLAYER_STATE_RESOURCE_LUMBER) >= data.lumber;
173
- }
174
- return hasGold && hasLumber;
175
- }
176
- function setPlayerName() {
177
- const t = w3ts_1.Trigger.create();
178
- forEachPlayer((p) => {
179
- t.registerPlayerChatEvent(p, "-playername ", false);
180
- t.addAction(() => {
181
- const str = GetEventPlayerChatString();
182
- const newName = str?.replace("-playername", "");
183
- if (newName) {
184
- SetPlayerName(p.handle, newName);
185
- }
186
- });
187
- });
188
- }
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9wbGF5ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0Esd0VBVUM7QUFNRCxrREFPQztBQUVELHNDQUlDO0FBTUQsMERBa0JDO0FBU0QsOENBc0JDO0FBS0Qsa0RBaUJDO0FBTUQsd0RBY0M7QUFFRCw4QkFNQztBQUVELHdCQU1DO0FBRUQsZ0NBTUM7QUFFRCxzQ0FFQztBQUVELDhDQUVDO0FBRUQsZ0NBRUM7QUFFRCxvQ0FFQztBQUVELHNDQUVDO0FBRUQsd0NBRUM7QUFFRCxnREFhQztBQUVELHNDQWFDO0FBck5ELCtCQUFrRTtBQUNsRSwwQ0FBdUM7QUFFdkM7Ozs7O0dBS0c7QUFDSCxTQUFnQiw4QkFBOEIsQ0FBQyxNQUFpQixFQUFFLFNBQWlCLEVBQUUsRUFBd0I7SUFDekcsbUJBQW1CLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzFCLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUU5QyxJQUFJLGNBQWMsSUFBSSxjQUFjLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztnQkFDOUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ1YsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxFQUE4QztJQUM5RSxpQkFBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUM5QiwyS0FBMks7UUFDM0ssSUFBSSxNQUFNLENBQUMs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
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createValidPoint = createValidPoint;
4
- exports.getRandomCoordinatesInCircularArea = getRandomCoordinatesInCircularArea;
5
- exports.getRandomCoordinatesOnCircle = getRandomCoordinatesOnCircle;
6
- exports.getAngleBetweenPoints = getAngleBetweenPoints;
7
- exports.distanceBetweenPoints = distanceBetweenPoints;
8
- const w3ts_1 = require("w3ts");
9
- const MAP_EDGE_BUFFER_DIST = 300;
10
- function createValidPoint(maxAttempts, validatorFn) {
11
- const MAX_ATTEMPTS = 65000; // 100 was about 10 seconds; 1000 gets good coverage
12
- let currentAttempts = 0;
13
- const worldBounds = w3ts_1.Rectangle.fromHandle(GetWorldBounds());
14
- if (!worldBounds)
15
- return;
16
- const [maxX, maxY] = [GetCameraBoundMaxX(), GetCameraBoundMaxY()];
17
- while (currentAttempts <= MAX_ATTEMPTS) {
18
- const dirX = Math.floor(Math.random() * 100) >= 50 ? 1 : -1;
19
- const dirY = Math.floor(Math.random() * 100) >= 50 ? 1 : -1;
20
- //multiply dir by the buffer distance from max bounds since we can get a negative number
21
- const randX = dirX * Math.ceil(Math.random() * maxX) - dirX * MAP_EDGE_BUFFER_DIST;
22
- const randY = dirY * Math.ceil(Math.random() * maxY) - dirY * MAP_EDGE_BUFFER_DIST;
23
- const p = w3ts_1.Point.create(randX, randY);
24
- const isValidPoint = validatorFn(p);
25
- if (isValidPoint) {
26
- // pointsChosen.push(p);
27
- return p;
28
- }
29
- else {
30
- //well add it here later, just testing for now
31
- currentAttempts++;
32
- }
33
- }
34
- }
35
- function getRandomCoordinatesInCircularArea(relativeX, relativeY, radius) {
36
- const randomTheta = Math.random() * 360;
37
- const randomRadius = Math.random() * radius;
38
- const randomX = relativeX + randomRadius * Cos(randomTheta);
39
- const randomY = relativeY + randomRadius * Sin(randomTheta);
40
- return {
41
- x: randomX,
42
- y: randomY,
43
- };
44
- }
45
- function getRandomCoordinatesOnCircle(relativeX, relativeY, radius) {
46
- const randomTheta = Math.random() * 360;
47
- const randomX = relativeX + radius * Cos(randomTheta);
48
- const randomY = relativeY + radius * Sin(randomTheta);
49
- return {
50
- x: randomX,
51
- y: randomY,
52
- };
53
- }
54
- /**
55
- * Returns degrees or radians?
56
- */
57
- function getAngleBetweenPoints(x1, y1, x2, y2) {
58
- const locA = Location(x1, y1);
59
- const locB = Location(x2, y2);
60
- const angle = AngleBetweenPoints(locA, locB);
61
- //arc tan
62
- RemoveLocation(locA);
63
- RemoveLocation(locB);
64
- return angle;
65
- }
66
- function distanceBetweenPoints(x1, y1, x2, y2) {
67
- const deltaX = x1 - x2;
68
- const deltaY = y1 - y2;
69
- const squaredDist = deltaX * deltaX + deltaY * deltaY;
70
- // const squaredDist = Math.pow(deltaX, 2) + Math.pow(deltaY, 2);
71
- const dist = Math.sqrt(squaredDist);
72
- return dist;
73
- }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSw0Q0EyQkM7QUFFRCxnRkFXQztBQUVELG9FQVVDO0FBS0Qsc0RBVUM7QUFFRCxzREFRQztBQWhGRCwrQkFBd0M7QUFDeEMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFFakMsU0FBZ0IsZ0JBQWdCLENBQUMsV0FBbUIsRUFBRSxXQUE2QjtJQUMvRSxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxvREFBb0Q7SUFDaEYsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLE1BQU0sV0FBVyxHQUFHLGdCQUFTLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDM0QsSUFBSSxDQUFDLFdBQVc7UUFBRSxPQUFPO0lBQ3pCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUVsRSxPQUFPLGVBQWUsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTVELHdGQUF3RjtRQUN4RixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdB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
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setup_quests = setup_quests;
4
- exports.addQuest = addQuest;
5
- const w3ts_1 = require("w3ts");
6
- const misc_1 = require("./misc");
7
- function setup_quests() {
8
- w3ts_1.Timer.create().start(1, false, () => {
9
- addQuest("Basic Game Info", `\nA roguelite base assault game. \nChoose from a wide variety of units that are trained in various schools of magic and skills.\n Outsmart and counter your opponent..
10
- `, "ReplaceableTextures\\CommandButtons\\BTNPeasant.blp");
11
- // \n${tColor("-fixSpawns", "goldenrod")}: Player 1 can only use this. This will fix add all player's spawn units to their corresponding spawn pool.
12
- addQuest("Commands", `
13
- \n${(0, misc_1.tColor)("-cam ####", "goldenrod")}: Sets the camera distance.
14
- \n-playername xxxx This will change your name.
15
- `, "ReplaceableTextures\\WorldEditUI\\Doodad-Cinematic.blp", false);
16
- addQuest("|cffffcc00Evolution Castle Assault v0.01|r", "Created by JediMindTrix/NihilismIsDeath", "ReplaceableTextures\\CommandButtons\\BTNClayFigurine.blp", false);
17
- });
18
- }
19
- function addQuest(title, description, iconPath, required = true) {
20
- const q = w3ts_1.Quest.create();
21
- if (q) {
22
- q.setTitle(title);
23
- q.required = required;
24
- q.setDescription(description);
25
- if (iconPath) {
26
- q.setIcon(iconPath);
27
- }
28
- }
29
- }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3F1ZXN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLG9DQXNCQztBQUVELDRCQVVDO0FBckNELCtCQUFvQztBQUNwQyxpQ0FBZ0M7QUFFaEMsU0FBZ0IsWUFBWTtJQUN4QixZQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO1FBQ2hDLFFBQVEsQ0FDSixpQkFBaUIsRUFDakI7U0FDSCxFQUNHLHFEQUFxRCxDQUN4RCxDQUFDO1FBRUYsb0pBQW9KO1FBQ3BKLFFBQVEsQ0FDSixVQUFVLEVBQ1Y7Z0JBQ0ksSUFBQSxhQUFNLEVBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQzs7U0FFdkMsRUFDRyx3REFBd0QsRUFDeEQsS0FBSyxDQUNSLENBQUM7UUFFRixRQUFRLENBQUMsNENBQTRDLEVBQUUseUNBQXlDLEVBQUUsMERBQTBELEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekssQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsU0FBZ0IsUUFBUSxDQUFDLEtBQWEsRUFBRSxXQUFtQixFQUFFLFFBQWlCLEVBQUUsV0FBb0IsSUFBSTtJQUNwRyxNQUFNLENBQUMsR0FBRyxZQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekIsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNKLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDdEIsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5QixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ1gsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQztBQUNMLENBQUMifQ==
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createFloatingTextTagOnUnit = createFloatingTextTagOnUnit;
4
- exports.createPermanentTextTagOnPoint = createPermanentTextTagOnPoint;
5
- exports.setup_createTextForSpellCast = setup_createTextForSpellCast;
6
- const w3ts_1 = require("w3ts");
7
- const misc_1 = require("./misc");
8
- const timer_1 = require("./timer");
9
- /**
10
- * https://www.hiveworkshop.com/threads/floating-text.149719/
11
- *
12
- * function CreateFloatingText takes string text, real x, real y, real heightOffset, real duration, real size returns nothing
13
- local texttag tt = CreateTextTag()
14
- call SetTextTagText(tt, text, size)
15
- call SetTextTagPos(tt, x, y, heightOffset)
16
- call SetTextTagColor(tt, 255, 255, 255, 255) // RGBA format
17
- call SetTextTagVisibility(tt, true)
18
- call SetTextTagLifespan(tt, duration)
19
- call SetTextTagPermanent(tt, false)
20
- endfunction
21
-
22
- function ExampleUsage takes nothing returns nothing
23
- call CreateFloatingText("Hello World", 0.0, 0.0, 25.0, 5.0, 10.0)
24
- endfunction
25
- * @param unit
26
- * @param text
27
- * @param duration
28
- */
29
- function createFloatingTextTagOnUnit(unit, text, config) {
30
- const tag = w3ts_1.TextTag.create();
31
- tag?.setVisible(true);
32
- tag?.setText(text, 10, true);
33
- tag?.setLifespan(config?.duration === undefined ? 2 : config.duration);
34
- if (config?.useFade !== false) {
35
- tag?.setFadepoint(0.01);
36
- }
37
- tag?.setVelocity(config?.xVelocity === undefined ? 0 : config.xVelocity, config?.yVelocity === undefined ? 0.025 : config.yVelocity);
38
- tag?.setPermanent(false);
39
- tag?.setPosUnit(unit, 10);
40
- if (config && config.duration && config.duration === 0) {
41
- return;
42
- }
43
- (0, timer_1.delayedTimer)(config?.duration ?? 2, () => {
44
- tag?.destroy();
45
- });
46
- }
47
- function createPermanentTextTagOnPoint(text, x, y) {
48
- const tag = w3ts_1.TextTag.create();
49
- tag?.setVisible(true);
50
- tag?.setText(text, 20, true);
51
- tag?.setLifespan(2);
52
- tag?.setVelocity(0, 0);
53
- tag?.setPermanent(true);
54
- tag?.setPos(x, y, 20);
55
- }
56
- function setup_createTextForSpellCast() {
57
- const t = w3ts_1.Trigger.create();
58
- t.registerAnyUnitEvent(EVENT_PLAYER_UNIT_SPELL_EFFECT);
59
- t.addAction(() => {
60
- const u = w3ts_1.Unit.fromEvent();
61
- if (u) {
62
- const spellNumber = GetSpellAbilityId();
63
- const spellName = GetAbilityName(spellNumber);
64
- if (!spellName || spellName === "Default String")
65
- return;
66
- //alt + 0164 ¤
67
- //alt + 0149 •
68
- createFloatingTextTagOnUnit(u, (0, misc_1.ptColor)(u.owner, "¤ ") + spellName);
69
- }
70
- });
71
- }
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dFRhZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy90ZXh0VGFnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBd0JBLGtFQXdCQztBQUVELHNFQVVDO0FBRUQsb0VBaUJDO0FBL0VELCtCQUE4QztBQUM5QyxpQ0FBaUM7QUFDakMsbUNBQXVDO0FBRXZDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsU0FBZ0IsMkJBQTJCLENBQUMsSUFBVSxFQUFFLElBQVksRUFBRSxNQUF5RjtJQUMzSixNQUFNLEdBQUcsR0FBRyxjQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsR0FBRyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV0QixHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFN0IsR0FBRyxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFdkUsSUFBSSxNQUFNLEVBQUUsT0FBTyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQzVCLEdBQUcsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELEdBQUcsRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckksR0FBRyxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUV6QixHQUFHLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUUxQixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckQsT0FBTztJQUNYLENBQUM7SUFFRCxJQUFBLG9CQUFZLEVBQUMsTUFBTSxFQUFFLFFBQVEsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFO1FBQ3JDLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxTQUFnQiw2QkFBNkIsQ0FBQyxJQUFZLEVBQUUsQ0FBUyxFQUFFLENBQVM7SUFDNUUsTUFBTSxHQUFHLEdBQUcsY0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLEdBQUcsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdEIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdCLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFcEIsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkIsR0FBRyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVELFNBQWdCLDRCQUE0QjtJQUN4QyxNQUFNLENBQUMsR0FBRyxjQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFM0IsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFFdkQsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixNQUFNLENBQUMsR0FBRyxXQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFM0IsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNKLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixFQUFFLENBQUM7WUFDeEMsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxLQUFLLGdCQUFnQjtnQkFBRSxPQUFPO1lBQ3pELGNBQWM7WUFDZCxjQUFjO1lBQ2QsMkJBQTJCLENBQUMsQ0FBQyxFQUFFLElBQUEsY0FBTyxFQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDeEUsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyJ9
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.delayedTimer = delayedTimer;
4
- const w3ts_1 = require("w3ts");
5
- /**
6
- * @param duration milliseconds
7
- */
8
- function delayedTimer(duration, cb) {
9
- const timer = w3ts_1.Timer.create();
10
- timer.start(duration, false, () => {
11
- cb();
12
- timer.destroy();
13
- });
14
- return timer;
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdGltZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSxvQ0FRQztBQWJELCtCQUE2QjtBQUU3Qjs7R0FFRztBQUNILFNBQWdCLFlBQVksQ0FBQyxRQUFnQixFQUFFLEVBQTJCO0lBQ3RFLE1BQU0sS0FBSyxHQUFHLFlBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO1FBQzlCLEVBQUUsRUFBRSxDQUFDO1FBQ0wsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyJ9
@@ -1,81 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createUnits = createUnits;
4
- exports.refundUnitCost = refundUnitCost;
5
- exports.unitHasAbility = unitHasAbility;
6
- exports.unitsInRange = unitsInRange;
7
- exports.useTempDummyUnit = useTempDummyUnit;
8
- const w3ts_1 = require("w3ts");
9
- const players_1 = require("./players");
10
- function createUnits(quantity, useFood, ...args) {
11
- const units = [];
12
- for (let x = 0; x < quantity; x++) {
13
- const u = w3ts_1.Unit.create(...args);
14
- if (u) {
15
- u.setUseFood(useFood);
16
- units.push(u);
17
- }
18
- }
19
- return units;
20
- }
21
- /**
22
- * Refund unit's gold and wood cost.
23
- * @param u
24
- */
25
- function refundUnitCost(u) {
26
- const gold = GetUnitGoldCost(u.typeId);
27
- const wood = GetUnitWoodCost(u.typeId);
28
- (0, players_1.adjustGold)(u.owner, gold);
29
- (0, players_1.adjustLumber)(u.owner, wood);
30
- }
31
- /**
32
- * Returns true if the ALIVE unit has the ability within their first 12 abilities
33
- * @param unit
34
- * @param abilityId
35
- * @returns
36
- */
37
- function unitHasAbility(unit, abilityId) {
38
- for (let x = 0; x < 12; x++) {
39
- const currentAbility = unit.getAbilityByIndex(x);
40
- if (currentAbility &&
41
- currentAbility === unit.getAbility(abilityId) &&
42
- unit.isAlive()) {
43
- return true;
44
- }
45
- }
46
- return false;
47
- }
48
- function unitsInRange(x, y, radius, cb) {
49
- const g = w3ts_1.Group.create();
50
- if (g) {
51
- g.enumUnitsInRange(x, y, radius, () => {
52
- const unit = w3ts_1.Unit.fromFilter();
53
- if (unit) {
54
- cb(unit);
55
- }
56
- return true;
57
- });
58
- g.destroy();
59
- }
60
- }
61
- /**
62
- *
63
- * @param cb
64
- * @param abilityId
65
- * @param owner
66
- */
67
- function useTempDummyUnit(dummyUnitCode, cb, abilityId, owner, x, y, config) {
68
- let dummy = undefined;
69
- dummy = w3ts_1.Unit.create(owner, dummyUnitCode, x, y, config?.facing ?? 0);
70
- const t = w3ts_1.Timer.create();
71
- if (dummy) {
72
- dummy.addAbility(abilityId);
73
- dummy.setAbilityManaCost(abilityId, config?.abilityLevel ? config.abilityLevel - 1 : 0, 0);
74
- cb(dummy);
75
- t.start(config?.dummyLifeSpan ?? 2, false, () => {
76
- dummy?.destroy();
77
- t.destroy();
78
- });
79
- }
80
- }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdW5pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxrQ0FnQkM7QUFNRCx3Q0FLQztBQVFELHdDQWNDO0FBRUQsb0NBa0JDO0FBUUQsNENBNEJDO0FBNUdELCtCQUFxRDtBQUNyRCx1Q0FBcUQ7QUFFckQsU0FBZ0IsV0FBVyxDQUN6QixRQUFnQixFQUNoQixPQUFnQixFQUNoQixHQUFHLElBQW9DO0lBRXZDLE1BQU0sS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUN6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDbEMsTUFBTSxDQUFDLEdBQUcsV0FBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBRS9CLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDTixDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixjQUFjLENBQUMsQ0FBTztJQUNwQyxNQUFNLElBQUksR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsSUFBQSxvQkFBVSxFQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUIsSUFBQSxzQkFBWSxFQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsY0FBYyxDQUFDLElBQVUsRUFBRSxTQUFpQjtJQUMxRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDNUIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWpELElBQ0UsY0FBYztZQUNkLGNBQWMsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztZQUM3QyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQ2QsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxTQUFnQixZQUFZLENBQzFCLENBQVMsRUFDVCxDQUFTLEVBQ1QsTUFBYyxFQUNkLEVBQXdCO0lBRXhCLE1BQU0sQ0FBQyxHQUFHLFlBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN6QixJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ04sQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUNwQyxNQUFNLElBQUksR0FBRyxXQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDL0IsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDWCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztRQUVILENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FDOUIsYUFBcUIsRUFDckIsRUFBeUIsRUFDekIsU0FBaUIsRUFDakIsS0FBZ0IsRUFDaEIsQ0FBUyxFQUNULENBQVMsRUFDVCxNQUEyRTtJQUUzRSxJQUFJLEtBQUssR0FBcUIsU0FBUyxDQUFDO0lBQ3hDLEtBQUssR0FBRyxXQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRXJFLE1BQU0sQ0FBQyxHQUFHLFlBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUV6QixJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ1YsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1QixLQUFLLENBQUMsa0JBQWtCLENBQ3RCLFNBQVMsRUFDVCxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsRCxDQUFDLENBQ0YsQ0FBQztRQUNGLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVWLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLGFBQWEsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtZQUM5QyxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDakIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0FBQ0gsQ0FBQyJ9
package/tsconfig.json DELETED
@@ -1,40 +0,0 @@
1
- {
2
- "include": ["src/**/*.ts", "src/**/*.js"],
3
- "exclude": ["node_modules/**"],
4
- "compilerOptions": {
5
- "incremental": true,
6
- "strict": true,
7
- "declaration": true,
8
- "inlineSourceMap": true,
9
- "allowJs": false,
10
- "rootDir": "./src",
11
- "outDir": "./dist",
12
- "baseUrl": "./",
13
- "forceConsistentCasingInFileNames": true,
14
- "target": "esnext",
15
- "module": "commonjs",
16
- "lib": ["ESNext"],
17
- "moduleResolution": "node10",
18
-
19
- "paths": {
20
- "@objectdata/*": [
21
- "./node_modules/war3-objectdata-th/dist/cjs/generated/constants/*"
22
- ]
23
- },
24
- "types": [
25
- "@typescript-to-lua/language-extensions",
26
- "lua-types/core/coroutine",
27
- "lua-types/core/global",
28
- "lua-types/core/math",
29
- "lua-types/core/metatable",
30
- "lua-types/core/modules",
31
- "lua-types/core/string",
32
- "lua-types/core/table",
33
- "lua-types/core/os",
34
- "lua-types/special/5.3",
35
- "war3-types-strict/1.33.0",
36
- "war3-transformer/types",
37
- "war3-objectdata-th/dist/cjs/objectdata"
38
- ]
39
- }
40
- }