warcraft-3-w3ts-utils 0.1.12 → 0.1.14
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.
- package/dist/dist/tstl_output.lua.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.lua +0 -2
- package/dist/index.lua.map +1 -0
- package/dist/package.json +40 -39
- package/dist/utils/abilities.d.ts +1 -1
- package/dist/utils/abilities.d.ts.map +1 -0
- package/dist/utils/abilities.lua +0 -2
- package/dist/utils/abilities.lua.map +1 -0
- package/dist/utils/camera.d.ts +1 -1
- package/dist/utils/camera.d.ts.map +1 -0
- package/dist/utils/camera.lua +0 -2
- package/dist/utils/camera.lua.map +1 -0
- package/dist/utils/chat-command.d.ts +1 -1
- package/dist/utils/chat-command.d.ts.map +1 -0
- package/dist/utils/chat-command.lua +0 -2
- package/dist/utils/chat-command.lua.map +1 -0
- package/dist/utils/color.d.ts +104 -1
- package/dist/utils/color.d.ts.map +1 -0
- package/dist/utils/color.lua +0 -2
- package/dist/utils/color.lua.map +1 -0
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.lua +0 -2
- package/dist/utils/index.lua.map +1 -0
- package/dist/utils/item.d.ts +1 -1
- package/dist/utils/item.d.ts.map +1 -0
- package/dist/utils/item.lua +0 -2
- package/dist/utils/item.lua.map +1 -0
- package/dist/utils/math.d.ts +1 -1
- package/dist/utils/math.d.ts.map +1 -0
- package/dist/utils/math.lua +0 -2
- package/dist/utils/math.lua.map +1 -0
- package/dist/utils/minimapIcons.d.ts +1 -1
- package/dist/utils/minimapIcons.d.ts.map +1 -0
- package/dist/utils/minimapIcons.lua +0 -2
- package/dist/utils/minimapIcons.lua.map +1 -0
- package/dist/utils/misc.d.ts +1 -1
- package/dist/utils/misc.d.ts.map +1 -0
- package/dist/utils/misc.lua +0 -2
- package/dist/utils/misc.lua.map +1 -0
- package/dist/utils/physics.d.ts +1 -1
- package/dist/utils/physics.d.ts.map +1 -0
- package/dist/utils/physics.lua +0 -2
- package/dist/utils/physics.lua.map +1 -0
- package/dist/utils/players.d.ts +1 -1
- package/dist/utils/players.d.ts.map +1 -0
- package/dist/utils/players.lua +0 -2
- package/dist/utils/players.lua.map +1 -0
- package/dist/utils/point.d.ts +1 -1
- package/dist/utils/point.d.ts.map +1 -0
- package/dist/utils/point.lua +0 -2
- package/dist/utils/point.lua.map +1 -0
- package/dist/utils/quests.d.ts +1 -1
- package/dist/utils/quests.d.ts.map +1 -0
- package/dist/utils/quests.lua +0 -2
- package/dist/utils/quests.lua.map +1 -0
- package/dist/utils/textTag.d.ts +1 -1
- package/dist/utils/textTag.d.ts.map +1 -0
- package/dist/utils/textTag.lua +0 -2
- package/dist/utils/textTag.lua.map +1 -0
- package/dist/utils/timer.d.ts +1 -1
- package/dist/utils/timer.d.ts.map +1 -0
- package/dist/utils/timer.lua +0 -2
- package/dist/utils/timer.lua.map +1 -0
- package/dist/utils/units.d.ts +1 -1
- package/dist/utils/units.d.ts.map +1 -0
- package/dist/utils/units.lua +0 -2
- package/dist/utils/units.lua.map +1 -0
- package/package.json +40 -39
- package/src/index.ts +1 -0
- package/src/utils/abilities.ts +158 -0
- package/src/utils/camera.ts +63 -0
- package/src/utils/chat-command.ts +22 -0
- package/src/utils/color.ts +139 -0
- package/src/utils/index.ts +15 -0
- package/src/utils/item.ts +163 -0
- package/src/utils/math.ts +14 -0
- package/src/utils/minimapIcons.ts +34 -0
- package/src/utils/misc.ts +179 -0
- package/src/utils/physics.ts +295 -0
- package/src/utils/players.ts +213 -0
- package/src/utils/point.ts +81 -0
- package/src/utils/quests.ts +38 -0
- package/src/utils/textTag.ts +80 -0
- package/src/utils/timer.ts +14 -0
- package/src/utils/units.ts +84 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/players.ts"],"names":[],"mappings":"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","file":"players.lua","sourceRoot":""}
|
package/dist/utils/point.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** @noSelfInFile */
|
|
2
1
|
import { Point } from "w3ts";
|
|
3
2
|
export declare function createValidPoint(maxAttempts: number, validatorFn: (p: Point) => {}): Point | undefined;
|
|
4
3
|
export declare function getRandomCoordinatesInCircularArea(relativeX: number, relativeY: number, radius: number): {
|
|
@@ -14,3 +13,4 @@ export declare function getRandomCoordinatesOnCircle(relativeX: number, relative
|
|
|
14
13
|
*/
|
|
15
14
|
export declare function getAngleBetweenPoints(x1: number, y1: number, x2: number, y2: number): number;
|
|
16
15
|
export declare function distanceBetweenPoints(x1: number, y1: number, x2: number, y2: number): number;
|
|
16
|
+
//# sourceMappingURL=point.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../src/utils/point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,MAAM,CAAC;AAGxC,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,EAAE,qBA2BlF;AAED,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;EAWtG;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;EAUhG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAUnF;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAQnF"}
|
package/dist/utils/point.lua
CHANGED
|
@@ -56,5 +56,3 @@ function ____exports.distanceBetweenPoints(self, x1, y1, x2, y2)
|
|
|
56
56
|
return dist
|
|
57
57
|
end
|
|
58
58
|
return ____exports
|
|
59
|
-
|
|
60
|
-
--# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9wb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlCQUFpQztBQUF4QjtBQUFPO0FBQ1YsNkJBQXVCO0FBRTdCLDRDQUFpQyxhQUFxQjtBQUM1Qyx5QkFBZTtBQUNqQiw0QkFBa0I7QUFDaEIsd0JBQWMsVUFBVSxXQUFXO1dBQ3BDO0FBQWE7O0FBQ0csVUFBZCxNQUFNLE9BQVMsc0JBQXNCO1VBRXJDLG1CQUFtQjtBQUNoQixxQkFBTyxXQUFXLGdCQUFnQixRQUFRLE9BQUssTUFBSztBQUNwRCxxQkFBTyxXQUFXLGdCQUFnQixRQUFRLE9BQUssTUFBSztBQUdwRCxzQkFBUSxPQUFPLFVBQVUsZ0JBQWdCLFFBQVEsT0FBTztBQUN4RCxzQkFBUSxPQUFPLFVBQVUsZ0JBQWdCLFFBQVEsT0FBTztBQUV4RCxrQkFBSSxNQUFNLE9BQU8sT0FBTztBQUV4Qiw2QkFBZSxpQkFBWTtXQUU3QjtBQUVBLG1CQUFPOztBQUdQOzs7QUF4Qlo7QUE2QkEsOERBQW1ELFdBQW1CLFdBQW1CO0FBQy9FLHdCQUFjLGdCQUFnQjtBQUM5Qix5QkFBZSxnQkFBZ0I7QUFFL0Isb0JBQVUsWUFBWSxlQUFlLElBQUk7QUFDekMsb0JBQVUsWUFBWSxlQUFlLElBQUk7QUFFL0MsV0FBTyxDQUNILElBQUcsU0FDSCxJQUFHO0FBVFg7QUFhQSx3REFBNkMsV0FBbUIsV0FBbUI7QUFDekUsd0JBQWMsZ0JBQWdCO0FBRTlCLG9CQUFVLFlBQVksU0FBUyxJQUFJO0FBQ25DLG9CQUFVLFlBQVksU0FBUyxJQUFJO0FBRXpDLFdBQU8sQ0FDSCxJQUFHLFNBQ0gsSUFBRztBQVJYOztBQWVBLGlEQUFzQyxJQUFZLElBQVksSUFBWTtBQUNoRSxpQkFBTyxTQUFTLElBQUk7QUFDcEIsaUJBQU8sU0FBUyxJQUFJO0FBRXBCLGtCQUFRLG1CQUFtQixNQUFNO0lBRXZDLGVBQWU7SUFDZixlQUFlO0FBRWYsV0FBTztBQVRYO0FBWUEsaURBQXNDLElBQVksSUFBWSxJQUFZO0FBQ2hFLG1CQUFTLEtBQUs7QUFDZCxtQkFBUyxLQUFLO0FBQ2Qsd0JBQWMsU0FBUyxTQUFTLFNBQVM7QUFFekMsaUJBQU8sVUFBVTtBQUV2QixXQUFPO0FBUFgiLCJmaWxlIjoicG9pbnQubHVhIiwic291cmNlUm9vdCI6IiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/point.ts"],"names":[],"mappings":";;AAAA,iBAAiC;AAAxB;AAAO;AACV,6BAAuB;AAE7B,4CAAiC,aAAqB;AAC5C,yBAAe;AACjB,4BAAkB;AAChB,wBAAc,UAAU,WAAW;WACpC;AAAa;;AACG,UAAd,MAAM,OAAS,sBAAsB;UAErC,mBAAmB;AAChB,qBAAO,WAAW,gBAAgB,QAAQ,OAAK,MAAK;AACpD,qBAAO,WAAW,gBAAgB,QAAQ,OAAK,MAAK;AAGpD,sBAAQ,OAAO,UAAU,gBAAgB,QAAQ,OAAO;AACxD,sBAAQ,OAAO,UAAU,gBAAgB,QAAQ,OAAO;AAExD,kBAAI,MAAM,OAAO,OAAO;AAExB,6BAAe,iBAAY;WAE7B;AAEA,mBAAO;;AAGP;;;AAxBZ;AA6BA,8DAAmD,WAAmB,WAAmB;AAC/E,wBAAc,gBAAgB;AAC9B,yBAAe,gBAAgB;AAE/B,oBAAU,YAAY,eAAe,IAAI;AACzC,oBAAU,YAAY,eAAe,IAAI;AAE/C,WAAO,CACH,IAAG,SACH,IAAG;AATX;AAaA,wDAA6C,WAAmB,WAAmB;AACzE,wBAAc,gBAAgB;AAE9B,oBAAU,YAAY,SAAS,IAAI;AACnC,oBAAU,YAAY,SAAS,IAAI;AAEzC,WAAO,CACH,IAAG,SACH,IAAG;AARX;;AAeA,iDAAsC,IAAY,IAAY,IAAY;AAChE,iBAAO,SAAS,IAAI;AACpB,iBAAO,SAAS,IAAI;AAEpB,kBAAQ,mBAAmB,MAAM;IAEvC,eAAe;IACf,eAAe;AAEf,WAAO;AATX;AAYA,iDAAsC,IAAY,IAAY,IAAY;AAChE,mBAAS,KAAK;AACd,mBAAS,KAAK;AACd,wBAAc,SAAS,SAAS,SAAS;AAEzC,iBAAO,UAAU;AAEvB,WAAO;AAPX","file":"point.lua","sourceRoot":""}
|
package/dist/utils/quests.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quests.d.ts","sourceRoot":"","sources":["../../src/utils/quests.ts"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,SAsB3B;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,QAUvG"}
|
package/dist/utils/quests.lua
CHANGED
|
@@ -43,5 +43,3 @@ function ____exports.setup_quests(self)
|
|
|
43
43
|
)
|
|
44
44
|
end
|
|
45
45
|
return ____exports
|
|
46
|
-
|
|
47
|
-
--# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9xdWVzdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQkFBNkI7QUFBcEI7QUFBTztBQUNoQixpQkFBdUI7QUFBZDtBQTBCVCxvQ0FBeUIsT0FBZSxhQUFxQixVQUFtQjtPQUFBO1FBQUEsV0FBb0I7O0FBQzFGLGNBQUksTUFBTTtPQUNaO1FBQ0EsRUFBRSxTQUFTO0FBQ1gscUJBQWE7UUFDYixFQUFFLGVBQWU7V0FDYjtZQUNBLEVBQUUsUUFBUTs7O0FBUHRCO0FBeEJBO0lBQ0ksTUFBTSxTQUFTO1FBQU07UUFBRztRQUFPO1lBQzNCLDBCQUNJLG1CQUNBLG9MQUVBO1lBSUo7O2dCQUNJO2lCQUNBLHNCQUNJLFlBQU8sYUFBYSxpQkFBWTtnQkFHcEM7Z0JBQ0E7O1lBR0o7O2dCQUFTO2dCQUE4QztnQkFBMkM7Z0JBQTREOztRQW5Cbkk7O0FBRG5DIiwiZmlsZSI6InF1ZXN0cy5sdWEiLCJzb3VyY2VSb290IjoiIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/quests.ts"],"names":[],"mappings":";;AAAA,iBAA6B;AAApB;AAAO;AAChB,iBAAuB;AAAd;AA0BT,oCAAyB,OAAe,aAAqB,UAAmB;OAAA;QAAA,WAAoB;;AAC1F,cAAI,MAAM;OACZ;QACA,EAAE,SAAS;AACX,qBAAa;QACb,EAAE,eAAe;WACb;YACA,EAAE,QAAQ;;;AAPtB;AAxBA;IACI,MAAM,SAAS;QAAM;QAAG;QAAO;YAC3B,0BACI,mBACA,oLAEA;YAIJ;;gBACI;iBACA,sBACI,YAAO,aAAa,iBAAY;gBAGpC;gBACA;;YAGJ;;gBAAS;gBAA8C;gBAA2C;gBAA4D;;QAnBnI;;AADnC","file":"quests.lua","sourceRoot":""}
|
package/dist/utils/textTag.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** @noSelfInFile */
|
|
2
1
|
import { Unit } from "w3ts";
|
|
3
2
|
/**
|
|
4
3
|
* https://www.hiveworkshop.com/threads/floating-text.149719/
|
|
@@ -28,3 +27,4 @@ export declare function createFloatingTextTagOnUnit(unit: Unit, text: string, co
|
|
|
28
27
|
}): void;
|
|
29
28
|
export declare function createPermanentTextTagOnPoint(text: string, x: number, y: number): void;
|
|
30
29
|
export declare function setup_createTextForSpellCast(): void;
|
|
30
|
+
//# sourceMappingURL=textTag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textTag.d.ts","sourceRoot":"","sources":["../../src/utils/textTag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,IAAI,EAAE,MAAM,MAAM,CAAC;AAI9C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,QAwB9J;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,QAU/E;AAED,wBAAgB,4BAA4B,SAiB3C"}
|
package/dist/utils/textTag.lua
CHANGED
|
@@ -106,5 +106,3 @@ function ____exports.setup_createTextForSpellCast(self)
|
|
|
106
106
|
end)
|
|
107
107
|
end
|
|
108
108
|
return ____exports
|
|
109
|
-
|
|
110
|
-
--# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy90ZXh0VGFnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaUJBQXVDO0FBQTlCO0FBQVM7QUFBUztBQUMzQixpQkFBd0I7QUFBZjtBQUNULGtCQUE2QjtBQUFwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzQlQsdURBQTRDLE1BQVksTUFBYztBQUM1RCxnQkFBTSxRQUFRO09BQ3BCO1FBQUEsSUFBSyxXQUFXOztPQUVoQjtRQUFBLElBQUssUUFBUSxNQUFNLElBQUk7O09BRXZCO1FBQUEsSUFBSyxZQUFZLGdDQUFxQixRQUFZLEtBQUk7O09BRWxELCtCQUFvQjtXQUNwQjtZQUFBLElBQUssYUFBYTs7O09BR3RCO1FBQUEsSUFBSyxZQUFZLGlDQUFzQixRQUFZLEtBQUksa0JBQWtCLGlDQUFzQixRQUFZLFNBQVE7O09BQ25IO1FBQUEsSUFBSyxhQUFhOztPQUVsQjtRQUFBLElBQUssV0FBVyxNQUFNOztPQUVsQixXQUFVLG9CQUFtQixtQkFBb0I7QUFDakQ7O0lBR0o7O1FBQWEsOEJBQW9CO1FBQUc7ZUFDaEM7Z0JBQUEsSUFBSzs7UUFEMkI7O0FBckJ4QztBQTBCQSx5REFBOEMsTUFBYyxHQUFXO0FBQzdELGdCQUFNLFFBQVE7T0FDcEI7UUFBQSxJQUFLLFdBQVc7O09BRWhCO1FBQUEsSUFBSyxRQUFRLE1BQU0sSUFBSTs7T0FDdkI7UUFBQSxJQUFLLFlBQVk7O09BRWpCO1FBQUEsSUFBSyxZQUFZLEdBQUc7O09BQ3BCO1FBQUEsSUFBSyxhQUFhOztPQUNsQjtRQUFBLElBQUssT0FBTyxHQUFHLEdBQUc7O0FBVHRCO0FBWUE7QUFDVSxjQUFJLFFBQVE7SUFFbEIsRUFBRSxxQkFBcUI7SUFFdkIsRUFBRSxVQUFVO0FBQ0Ysa0JBQUksS0FBSztXQUVYO0FBQ00sZ0NBQWM7QUFDZCw4QkFBWSxlQUFlO2VBQzdCLElBQUMsYUFBYSxhQUFjO0FBQWtCOztZQUdsRDs7Z0JBQTRCO2dCQUFHLGFBQVEsU0FBUyxVQUFTOzs7SUFUckQ7QUFMaEIiLCJmaWxlIjoidGV4dFRhZy5sdWEiLCJzb3VyY2VSb290IjoiIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/textTag.ts"],"names":[],"mappings":";;AAAA,iBAAuC;AAA9B;AAAS;AAAS;AAC3B,iBAAwB;AAAf;AACT,kBAA6B;AAApB;;;;;;;;;;;;;;;;;;;;AAsBT,uDAA4C,MAAY,MAAc;AAC5D,gBAAM,QAAQ;OACpB;QAAA,IAAK,WAAW;;OAEhB;QAAA,IAAK,QAAQ,MAAM,IAAI;;OAEvB;QAAA,IAAK,YAAY,gCAAqB,QAAY,KAAI;;OAElD,+BAAoB;WACpB;YAAA,IAAK,aAAa;;;OAGtB;QAAA,IAAK,YAAY,iCAAsB,QAAY,KAAI,kBAAkB,iCAAsB,QAAY,SAAQ;;OACnH;QAAA,IAAK,aAAa;;OAElB;QAAA,IAAK,WAAW,MAAM;;OAElB,WAAU,oBAAmB,mBAAoB;AACjD;;IAGJ;;QAAa,8BAAoB;QAAG;eAChC;gBAAA,IAAK;;QAD2B;;AArBxC;AA0BA,yDAA8C,MAAc,GAAW;AAC7D,gBAAM,QAAQ;OACpB;QAAA,IAAK,WAAW;;OAEhB;QAAA,IAAK,QAAQ,MAAM,IAAI;;OACvB;QAAA,IAAK,YAAY;;OAEjB;QAAA,IAAK,YAAY,GAAG;;OACpB;QAAA,IAAK,aAAa;;OAClB;QAAA,IAAK,OAAO,GAAG,GAAG;;AATtB;AAYA;AACU,cAAI,QAAQ;IAElB,EAAE,qBAAqB;IAEvB,EAAE,UAAU;AACF,kBAAI,KAAK;WAEX;AACM,gCAAc;AACd,8BAAY,eAAe;eAC7B,IAAC,aAAa,aAAc;AAAkB;;YAGlD;;gBAA4B;gBAAG,aAAQ,SAAS,UAAS;;;IATrD;AALhB","file":"textTag.lua","sourceRoot":""}
|
package/dist/utils/timer.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../../src/utils/timer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAE7B;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,SAQzE"}
|
package/dist/utils/timer.lua
CHANGED
|
@@ -17,5 +17,3 @@ function ____exports.delayedTimer(self, duration, cb)
|
|
|
17
17
|
return timer
|
|
18
18
|
end
|
|
19
19
|
return ____exports
|
|
20
|
-
|
|
21
|
-
--# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy90aW1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlCQUFzQjtBQUFiOzs7QUFLVCx3Q0FBNkIsVUFBa0I7QUFDckMsa0JBQVEsTUFBTTtJQUNwQixNQUFNO1FBQU07UUFBVTtRQUFPO1lBQ3pCO1lBQ0EsTUFBTTtRQUZtQjs7QUFLN0IsV0FBTztBQVBYIiwiZmlsZSI6InRpbWVyLmx1YSIsInNvdXJjZVJvb3QiOiIifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/timer.ts"],"names":[],"mappings":";;AAAA,iBAAsB;AAAb;;;AAKT,wCAA6B,UAAkB;AACrC,kBAAQ,MAAM;IACpB,MAAM;QAAM;QAAU;QAAO;YACzB;YACA,MAAM;QAFmB;;AAK7B,WAAO;AAPX","file":"timer.lua","sourceRoot":""}
|
package/dist/utils/units.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** @noSelfInFile */
|
|
2
1
|
import { MapPlayer, Unit } from "w3ts";
|
|
3
2
|
export declare function createUnits(quantity: number, useFood: boolean, ...args: Parameters<typeof Unit.create>): Unit[];
|
|
4
3
|
/**
|
|
@@ -25,3 +24,4 @@ export declare function useTempDummyUnit(dummyUnitCode: number, cb: (dummy: Unit
|
|
|
25
24
|
abilityLevel?: number;
|
|
26
25
|
dummyLifeSpan?: number;
|
|
27
26
|
}): void;
|
|
27
|
+
//# sourceMappingURL=units.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../src/utils/units.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAAS,IAAI,EAAE,MAAM,MAAM,CAAC;AAGrD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAYtG;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,QAKrC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAUrE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,QAa1F;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,QAgBxN"}
|
package/dist/utils/units.lua
CHANGED
|
@@ -98,5 +98,3 @@ function ____exports.useTempDummyUnit(self, dummyUnitCode, cb, abilityId, owner,
|
|
|
98
98
|
end
|
|
99
99
|
end
|
|
100
100
|
return ____exports
|
|
101
|
-
|
|
102
|
-
--# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy91bml0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlCQUE4QztBQUFyQztBQUFrQjtBQUFPO0FBQ2xDLG9CQUF5QztBQUFoQztBQUFZO0FBRXJCLHVDQUE0QixVQUFrQjtBQUNwQyxrQkFBZ0I7O0FBQ2Isa0JBQUk7Y0FBRyxJQUFJO0FBQ1Ysc0JBQUksS0FBSyxPQUFPO2VBRWxCO2dCQUNBLEVBQUUsV0FBVztBQUNiLG9DQUFXOztBQUxXOzs7QUFTOUIsV0FBTztBQVhYOzs7O0FBa0JBLDBDQUErQjtBQUNyQixpQkFBTyxnQkFBZ0I7QUFDdkIsaUJBQU8sZ0JBQWdCO0lBQzdCLGdCQUFXLFNBQVM7SUFDcEIsa0JBQWEsU0FBUztBQUoxQjs7Ozs7O0FBYUEsMENBQStCLE1BQVk7O0FBQzlCLGtCQUFJO2NBQUcsSUFBSTtBQUNWLG1DQUFpQixLQUFLLGtCQUFrQjtlQUUxQyxtQkFBa0Isa0JBQW1CLEtBQUssV0FBVyxlQUFjLEtBQUs7QUFDeEUsdUJBQU87O0FBSlM7OztBQVF4QixXQUFPO0FBVFg7QUFZQSx3Q0FBNkIsR0FBVyxHQUFXLFFBQWdCO0FBQ3pELGNBQUksTUFBTTtPQUNaO1FBQ0EsRUFBRTtZQUFpQjtZQUFHO1lBQUc7WUFBUTtBQUN2Qiw2QkFBTyxLQUFLO21CQUNkO29CQUNBLFFBQUc7O0FBRVAsdUJBQU87WUFMc0I7O1FBUWpDLEVBQUU7O0FBWFY7Ozs7O0FBcUJBLDRDQUFpQyxlQUF1QixJQUEyQixXQUFtQixPQUFrQixHQUFXLEdBQVc7QUFDdEksa0JBQTBCO0FBQzlCLFlBQVEsS0FBSztRQUFPO1FBQU87UUFBZTtRQUFHO1FBQUcsNEJBQWtCOztBQUU1RCxjQUFJLE1BQU07T0FFWjtRQUNBLE1BQU0sV0FBVztRQUNqQixNQUFNLG1CQUFtQixXQUFXLG1DQUF1QixzQkFBc0IsS0FBSSxHQUFHO1FBQ3hGLFFBQUc7UUFFSCxFQUFFO1lBQU0sbUNBQXlCO1lBQUc7WUFBTzttQkFDdkM7b0JBQUEsTUFBTzs7Z0JBQ1AsRUFBRTtZQUZxQzs7O0FBWG5EIiwiZmlsZSI6InVuaXRzLmx1YSIsInNvdXJjZVJvb3QiOiIifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/units.ts"],"names":[],"mappings":";;AAAA,iBAA8C;AAArC;AAAkB;AAAO;AAClC,oBAAyC;AAAhC;AAAY;AAErB,uCAA4B,UAAkB;AACpC,kBAAgB;;AACb,kBAAI;cAAG,IAAI;AACV,sBAAI,KAAK,OAAO;eAElB;gBACA,EAAE,WAAW;AACb,oCAAW;;AALW;;;AAS9B,WAAO;AAXX;;;;AAkBA,0CAA+B;AACrB,iBAAO,gBAAgB;AACvB,iBAAO,gBAAgB;IAC7B,gBAAW,SAAS;IACpB,kBAAa,SAAS;AAJ1B;;;;;;AAaA,0CAA+B,MAAY;;AAC9B,kBAAI;cAAG,IAAI;AACV,mCAAiB,KAAK,kBAAkB;eAE1C,mBAAkB,kBAAmB,KAAK,WAAW,eAAc,KAAK;AACxE,uBAAO;;AAJS;;;AAQxB,WAAO;AATX;AAYA,wCAA6B,GAAW,GAAW,QAAgB;AACzD,cAAI,MAAM;OACZ;QACA,EAAE;YAAiB;YAAG;YAAG;YAAQ;AACvB,6BAAO,KAAK;mBACd;oBACA,QAAG;;AAEP,uBAAO;YALsB;;QAQjC,EAAE;;AAXV;;;;;AAqBA,4CAAiC,eAAuB,IAA2B,WAAmB,OAAkB,GAAW,GAAW;AACtI,kBAA0B;AAC9B,YAAQ,KAAK;QAAO;QAAO;QAAe;QAAG;QAAG,4BAAkB;;AAE5D,cAAI,MAAM;OAEZ;QACA,MAAM,WAAW;QACjB,MAAM,mBAAmB,WAAW,mCAAuB,sBAAsB,KAAI,GAAG;QACxF,QAAG;QAEH,EAAE;YAAM,mCAAyB;YAAG;YAAO;mBACvC;oBAAA,MAAO;;gBACP,EAAE;YAFqC;;;AAXnD","file":"units.lua","sourceRoot":""}
|
package/package.json
CHANGED
|
@@ -1,41 +1,42 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
2
|
+
"name": "warcraft-3-w3ts-utils",
|
|
3
|
+
"version": "0.1.14",
|
|
4
|
+
"description": "A library of utility functions for modding Warcraft 3 utilizing the W3TS template.",
|
|
5
|
+
"main": "./dist/index.lua",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"Warcraft 3"
|
|
8
|
+
],
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "tstl -p tsconfig.json",
|
|
11
|
+
"prepare": "npm run build && cp package.json ./dist/"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"dist",
|
|
15
|
+
"src"
|
|
16
|
+
],
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/bertman12/WC3-W3TS-utils.git"
|
|
20
|
+
},
|
|
21
|
+
"author": "bertman12",
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"bugs": {
|
|
24
|
+
"url": "https://github.com/bertman12/WC3-W3TS-utils/issues"
|
|
25
|
+
},
|
|
26
|
+
"homepage": "https://github.com/bertman12/WC3-W3TS-utils#readme",
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"war3-types-strict": "^0.1.3"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"lua-types": "^2.13.1",
|
|
32
|
+
"typescript-to-lua": "1.31.0",
|
|
33
|
+
"war3-objectdata-th": "^0.2.11",
|
|
34
|
+
"war3-transformer": "^3.0.10",
|
|
35
|
+
"war3tstlhelper": "1.0.1"
|
|
36
|
+
},
|
|
37
|
+
"peerDependencies": {
|
|
38
|
+
"typescript": "^5.0.4",
|
|
39
|
+
"w3ts": "3.0.2",
|
|
40
|
+
"lua-types": "^2.13.1"
|
|
41
|
+
}
|
|
41
42
|
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./utils/index";
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { Timer, Trigger, Unit } from "w3ts";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Good for once a unit gets near you, but not good while they are near you since the event is only triggered on entry, not during
|
|
5
|
+
* @param unit
|
|
6
|
+
* @param range
|
|
7
|
+
* @param cb
|
|
8
|
+
* @param config
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
export function unitGetsNearThisUnit(
|
|
12
|
+
unit: Unit,
|
|
13
|
+
range: number,
|
|
14
|
+
cb: (u: Unit) => void,
|
|
15
|
+
config?: {
|
|
16
|
+
uniqueUnitsOnly: boolean;
|
|
17
|
+
filter?: boolexpr | (() => boolean);
|
|
18
|
+
onDestroy?: (unitsEffected: Unit[]) => void;
|
|
19
|
+
}
|
|
20
|
+
) {
|
|
21
|
+
const trig = Trigger.create();
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A unique set of the units effected
|
|
25
|
+
*/
|
|
26
|
+
let effectedUnitPool: Unit[] = [];
|
|
27
|
+
|
|
28
|
+
trig.registerUnitInRage(unit.handle, range, config?.filter ?? (() => true));
|
|
29
|
+
|
|
30
|
+
trig.addAction(() => {
|
|
31
|
+
const u = Unit.fromEvent();
|
|
32
|
+
|
|
33
|
+
if (!u) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (!effectedUnitPool.includes(u)) {
|
|
38
|
+
effectedUnitPool.push(u);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (config?.uniqueUnitsOnly && !effectedUnitPool.includes(u)) {
|
|
42
|
+
cb(u);
|
|
43
|
+
} else {
|
|
44
|
+
cb(u);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
const destroy = () => {
|
|
49
|
+
if (config?.onDestroy) {
|
|
50
|
+
config?.onDestroy(effectedUnitPool);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
trig.destroy();
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const clearUniqueUnits = () => {
|
|
57
|
+
effectedUnitPool = [];
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
cleanupUnitGetsNearThisUnit: (delay?: number) => {
|
|
62
|
+
if (delay) {
|
|
63
|
+
const timer = Timer.create();
|
|
64
|
+
timer.start(delay, false, () => {
|
|
65
|
+
destroy();
|
|
66
|
+
timer.destroy();
|
|
67
|
+
});
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
destroy();
|
|
72
|
+
},
|
|
73
|
+
clearUniqueUnits,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
*
|
|
79
|
+
* @param cb
|
|
80
|
+
* @param abilityId
|
|
81
|
+
* @param dummyLifeTime Maybe be necessary to have a long lifetime so spells like chain lightning will have time to bounce to all targets
|
|
82
|
+
* @param owner
|
|
83
|
+
*/
|
|
84
|
+
// export function useTempDummyUnit(cb: (dummy: Unit) => void, abilityId: number, dummyLifeTime: number, owner: MapPlayer, x: number, y: number, facing: number, config?: { abilityLevel?: number; modelType?: "cenariusGhost" }) {
|
|
85
|
+
// let dummy: Unit | undefined = undefined;
|
|
86
|
+
|
|
87
|
+
// if (config?.modelType === "cenariusGhost") {
|
|
88
|
+
// dummy = Unit.create(owner, UNITS.dummyCaster_cenariusGhost, x, y, facing);
|
|
89
|
+
// dummy?.setScale(1, 1, 1);
|
|
90
|
+
// } else {
|
|
91
|
+
// dummy = Unit.create(owner, UNITS.dummyCaster, x, y, facing);
|
|
92
|
+
// }
|
|
93
|
+
|
|
94
|
+
// const t = Timer.create();
|
|
95
|
+
|
|
96
|
+
// if (dummy) {
|
|
97
|
+
// dummy.addAbility(abilityId);
|
|
98
|
+
// dummy.setAbilityManaCost(abilityId, config?.abilityLevel ? config.abilityLevel - 1 : 0, 0);
|
|
99
|
+
// cb(dummy);
|
|
100
|
+
|
|
101
|
+
// t.start(dummyLifeTime, false, () => {
|
|
102
|
+
// dummy?.destroy();
|
|
103
|
+
// t.destroy();
|
|
104
|
+
// });
|
|
105
|
+
// }
|
|
106
|
+
// }
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Creates a trigger to monitor when a unit is attacked
|
|
110
|
+
*
|
|
111
|
+
* We could also have all functions execute in this single trigger's context instead of creating new triggers each time the function is used.
|
|
112
|
+
* @param cb
|
|
113
|
+
* @param config
|
|
114
|
+
*/
|
|
115
|
+
export function onUnitAttacked(
|
|
116
|
+
cb: (attacker: Unit, victim: Unit) => void,
|
|
117
|
+
config: { attackerCooldown?: boolean; procChance?: number }
|
|
118
|
+
) {
|
|
119
|
+
const attackerTriggerCooldown = new Set<Unit>();
|
|
120
|
+
const t = Trigger.create();
|
|
121
|
+
|
|
122
|
+
t.registerAnyUnitEvent(EVENT_PLAYER_UNIT_ATTACKED);
|
|
123
|
+
|
|
124
|
+
t.addAction(() => {
|
|
125
|
+
const attacker = Unit.fromHandle(GetAttacker());
|
|
126
|
+
const victim = Unit.fromHandle(GetAttackedUnitBJ());
|
|
127
|
+
|
|
128
|
+
if (!attacker || !victim) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
//Attack was not below the proc chance, and thus we will not use the cb function
|
|
133
|
+
if (
|
|
134
|
+
config.procChance &&
|
|
135
|
+
Math.ceil(Math.random() * 100) >= config.procChance
|
|
136
|
+
) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
//Attacker has already used the trigger
|
|
141
|
+
if (config.attackerCooldown && attackerTriggerCooldown.has(attacker)) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
attackerTriggerCooldown.add(attacker);
|
|
146
|
+
|
|
147
|
+
//Finally, after all conditions have been met, use the cb function
|
|
148
|
+
cb(attacker, victim);
|
|
149
|
+
|
|
150
|
+
const t = Timer.create();
|
|
151
|
+
|
|
152
|
+
//removes the attacker from the cooldown group after 1/3 of that units attack cooldown has passed.
|
|
153
|
+
t.start(attacker.getAttackCooldown(0) / 3, false, () => {
|
|
154
|
+
attackerTriggerCooldown.delete(attacker);
|
|
155
|
+
t.destroy();
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Trigger } from "w3ts";
|
|
2
|
+
import { forEachPlayer } from "./players";
|
|
3
|
+
|
|
4
|
+
type CameraDistances = "mid" | "far" | "max";
|
|
5
|
+
|
|
6
|
+
export function enableCameraZoom() {
|
|
7
|
+
const t = Trigger.create();
|
|
8
|
+
forEachPlayer((p) => {
|
|
9
|
+
SetCameraFieldForPlayer(p.handle, CAMERA_FIELD_FARZ, 10000, 0.25);
|
|
10
|
+
|
|
11
|
+
t.registerPlayerChatEvent(p, "-cam", false);
|
|
12
|
+
|
|
13
|
+
t.addAction(() => {
|
|
14
|
+
const str = GetEventPlayerChatString();
|
|
15
|
+
const triggeringPlayer = GetTriggerPlayer();
|
|
16
|
+
if (str && triggeringPlayer) {
|
|
17
|
+
const [command, distance] = str?.split(" ");
|
|
18
|
+
SetCameraFieldForPlayer(
|
|
19
|
+
triggeringPlayer,
|
|
20
|
+
CAMERA_FIELD_FARZ,
|
|
21
|
+
10000,
|
|
22
|
+
0.25
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
if ((distance as CameraDistances) === "mid") {
|
|
26
|
+
SetCameraFieldForPlayer(
|
|
27
|
+
triggeringPlayer,
|
|
28
|
+
CAMERA_FIELD_TARGET_DISTANCE,
|
|
29
|
+
4500,
|
|
30
|
+
0.25
|
|
31
|
+
);
|
|
32
|
+
return;
|
|
33
|
+
} else if ((distance as CameraDistances) === "far") {
|
|
34
|
+
SetCameraFieldForPlayer(
|
|
35
|
+
triggeringPlayer,
|
|
36
|
+
CAMERA_FIELD_TARGET_DISTANCE,
|
|
37
|
+
6000,
|
|
38
|
+
0.25
|
|
39
|
+
);
|
|
40
|
+
return;
|
|
41
|
+
} else if ((distance as CameraDistances) === "max") {
|
|
42
|
+
SetCameraFieldForPlayer(
|
|
43
|
+
triggeringPlayer,
|
|
44
|
+
CAMERA_FIELD_TARGET_DISTANCE,
|
|
45
|
+
7800,
|
|
46
|
+
0.25
|
|
47
|
+
);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const distanceAsNumber = Number(distance);
|
|
52
|
+
if (typeof distanceAsNumber !== "number") return;
|
|
53
|
+
|
|
54
|
+
SetCameraFieldForPlayer(
|
|
55
|
+
triggeringPlayer,
|
|
56
|
+
CAMERA_FIELD_TARGET_DISTANCE,
|
|
57
|
+
distanceAsNumber,
|
|
58
|
+
0.25
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { MapPlayer, Trigger } from "w3ts";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Setup trigger to listen for a chat command for the players specified in the array. Execute function when triggered
|
|
5
|
+
* @param command -cam , -name, -start, etc
|
|
6
|
+
* @param players
|
|
7
|
+
* @param fn
|
|
8
|
+
*/
|
|
9
|
+
export function createChatCommand(players: MapPlayer[], command: string, exact: boolean, fn: (player: MapPlayer, data: { trigger: Trigger; command: string; data?: string }) => void) {
|
|
10
|
+
const trigger = Trigger.create();
|
|
11
|
+
|
|
12
|
+
players.forEach((p) => {
|
|
13
|
+
trigger.registerPlayerChatEvent(p, command, exact);
|
|
14
|
+
|
|
15
|
+
trigger.addAction(() => {
|
|
16
|
+
const str = GetEventPlayerChatString();
|
|
17
|
+
const [_, data] = str?.split(" ") ?? [];
|
|
18
|
+
|
|
19
|
+
fn(p, { trigger, command, data });
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
export const playerRGBMap = new Map<number, { r: number; g: number; b: number }>([
|
|
2
|
+
[0, { r: 255, g: 0, b: 0 }],
|
|
3
|
+
[1, { r: 0, g: 0, b: 255 }],
|
|
4
|
+
[2, { r: 0, g: 255, b: 255 }],
|
|
5
|
+
[3, { r: 128, g: 0, b: 128 }],
|
|
6
|
+
[4, { r: 255, g: 255, b: 0 }],
|
|
7
|
+
[5, { r: 254, g: 137, b: 13 }],
|
|
8
|
+
[6, { r: 32, g: 192, b: 0 }],
|
|
9
|
+
[7, { r: 229, g: 91, b: 176 }],
|
|
10
|
+
[8, { r: 149, g: 150, b: 151 }],
|
|
11
|
+
[9, { r: 126, g: 191, b: 241 }],
|
|
12
|
+
[10, { r: 16, g: 98, b: 70 }],
|
|
13
|
+
[11, { r: 78, g: 42, b: 4 }],
|
|
14
|
+
[12, { r: 155, g: 0, b: 0 }],
|
|
15
|
+
[13, { r: 0, g: 0, b: 195 }],
|
|
16
|
+
[14, { r: 155, g: 234, b: 255 }],
|
|
17
|
+
[15, { r: 190, g: 0, b: 254 }],
|
|
18
|
+
[16, { r: 235, g: 205, b: 135 }],
|
|
19
|
+
[17, { r: 248, g: 164, b: 139 }],
|
|
20
|
+
[18, { r: 191, g: 255, b: 128 }],
|
|
21
|
+
[19, { r: 220, g: 185, b: 235 }],
|
|
22
|
+
[20, { r: 40, g: 40, b: 40 }],
|
|
23
|
+
[21, { r: 235, g: 240, b: 255 }],
|
|
24
|
+
[22, { r: 0, g: 120, b: 30 }],
|
|
25
|
+
[23, { r: 164, g: 111, b: 51 }],
|
|
26
|
+
]);
|
|
27
|
+
|
|
28
|
+
export const playerHexColorMap = new Map<number, string>([
|
|
29
|
+
[0, "ff0303"],
|
|
30
|
+
[1, "0042ff"],
|
|
31
|
+
[2, "1ce6b9"],
|
|
32
|
+
[3, "540081"],
|
|
33
|
+
[4, "fffc00"],
|
|
34
|
+
[5, "fe8a0e"],
|
|
35
|
+
]);
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
*
|
|
40
|
+
PlayerStrings[0].colour = "|c00ff0303"
|
|
41
|
+
PlayerStrings[1].colour = "|c000042ff"
|
|
42
|
+
PlayerStrings[2].colour = "|c001ce6b9"
|
|
43
|
+
PlayerStrings[3].colour = "|c00540081"
|
|
44
|
+
PlayerStrings[4].colour = "|c00fffc00"
|
|
45
|
+
PlayerStrings[5].colour = "|c00fe8a0e"
|
|
46
|
+
PlayerStrings[6].colour = "|c0020c000"
|
|
47
|
+
PlayerStrings[7].colour = "|c00e55bb0"
|
|
48
|
+
PlayerStrings[8].colour = "|c00959697"
|
|
49
|
+
PlayerStrings[9].colour = "|c007ebff1"
|
|
50
|
+
PlayerStrings[10].colour = "|c00106246"
|
|
51
|
+
PlayerStrings[11].colour = "|c004e2a04"
|
|
52
|
+
PlayerStrings[12].colour = "|c009b0000"
|
|
53
|
+
PlayerStrings[13].colour = "|c000000c3"
|
|
54
|
+
PlayerStrings[14].colour = "|c0000eaff"
|
|
55
|
+
PlayerStrings[15].colour = "|c00be00fe"
|
|
56
|
+
PlayerStrings[16].colour = "|c00ebcd87"
|
|
57
|
+
PlayerStrings[17].colour = "|c00f8a48b"
|
|
58
|
+
PlayerStrings[18].colour = "|c00bfff80"
|
|
59
|
+
PlayerStrings[19].colour = "|c00dcb9eb"
|
|
60
|
+
PlayerStrings[20].colour = "|c00282828"
|
|
61
|
+
PlayerStrings[21].colour = "|c00ebf0ff"
|
|
62
|
+
PlayerStrings[22].colour = "|c0000781e"
|
|
63
|
+
PlayerStrings[23].colour = "|c00a46f33"
|
|
64
|
+
-- RGB
|
|
65
|
+
PlayerStrings[0].red = 255
|
|
66
|
+
PlayerStrings[0].green = 3
|
|
67
|
+
PlayerStrings[0].blue = 3
|
|
68
|
+
PlayerStrings[1].red = 0
|
|
69
|
+
PlayerStrings[1].green = 66
|
|
70
|
+
PlayerStrings[1].blue = 255
|
|
71
|
+
PlayerStrings[2].red = 28
|
|
72
|
+
PlayerStrings[2].green = 230
|
|
73
|
+
PlayerStrings[2].blue = 185
|
|
74
|
+
PlayerStrings[3].red = 84
|
|
75
|
+
PlayerStrings[3].green = 0
|
|
76
|
+
PlayerStrings[3].blue = 129
|
|
77
|
+
PlayerStrings[4].red = 255
|
|
78
|
+
PlayerStrings[4].green = 254
|
|
79
|
+
PlayerStrings[4].blue = 0
|
|
80
|
+
PlayerStrings[5].red = 254
|
|
81
|
+
PlayerStrings[5].green = 138
|
|
82
|
+
PlayerStrings[5].blue = 14
|
|
83
|
+
PlayerStrings[6].red = 32
|
|
84
|
+
PlayerStrings[6].green = 192
|
|
85
|
+
PlayerStrings[6].blue = 0
|
|
86
|
+
PlayerStrings[7].red = 229
|
|
87
|
+
PlayerStrings[7].green = 91
|
|
88
|
+
PlayerStrings[7].blue = 176
|
|
89
|
+
PlayerStrings[8].red = 149
|
|
90
|
+
PlayerStrings[8].green = 150
|
|
91
|
+
PlayerStrings[8].blue = 151
|
|
92
|
+
PlayerStrings[9].red = 126
|
|
93
|
+
PlayerStrings[9].green = 191
|
|
94
|
+
PlayerStrings[9].blue = 241
|
|
95
|
+
PlayerStrings[10].red = 16
|
|
96
|
+
PlayerStrings[10].green = 98
|
|
97
|
+
PlayerStrings[10].blue = 70
|
|
98
|
+
PlayerStrings[11].red = 78
|
|
99
|
+
PlayerStrings[11].green = 42
|
|
100
|
+
PlayerStrings[11].blue = 4
|
|
101
|
+
PlayerStrings[12].red = 155
|
|
102
|
+
PlayerStrings[12].green = 0
|
|
103
|
+
PlayerStrings[12].blue = 0
|
|
104
|
+
PlayerStrings[13].red = 0
|
|
105
|
+
PlayerStrings[13].green = 0
|
|
106
|
+
PlayerStrings[13].blue = 195
|
|
107
|
+
PlayerStrings[14].red = 155
|
|
108
|
+
PlayerStrings[14].green = 234
|
|
109
|
+
PlayerStrings[14].blue = 255
|
|
110
|
+
PlayerStrings[15].red = 190
|
|
111
|
+
PlayerStrings[15].green = 0
|
|
112
|
+
PlayerStrings[15].blue = 254
|
|
113
|
+
PlayerStrings[16].red = 235
|
|
114
|
+
PlayerStrings[16].green = 205
|
|
115
|
+
PlayerStrings[16].blue = 135
|
|
116
|
+
PlayerStrings[17].red = 248
|
|
117
|
+
PlayerStrings[17].green = 164
|
|
118
|
+
PlayerStrings[17].blue = 139
|
|
119
|
+
PlayerStrings[18].red = 191
|
|
120
|
+
PlayerStrings[18].green = 255
|
|
121
|
+
PlayerStrings[18].blue = 128
|
|
122
|
+
PlayerStrings[19].red = 220
|
|
123
|
+
PlayerStrings[19].green = 185
|
|
124
|
+
PlayerStrings[19].blue = 235
|
|
125
|
+
PlayerStrings[20].red = 40
|
|
126
|
+
PlayerStrings[20].green = 40
|
|
127
|
+
PlayerStrings[20].blue = 40
|
|
128
|
+
PlayerStrings[21].red = 235
|
|
129
|
+
PlayerStrings[21].green = 240
|
|
130
|
+
PlayerStrings[21].blue = 255
|
|
131
|
+
PlayerStrings[22].red = 0
|
|
132
|
+
PlayerStrings[22].green = 120
|
|
133
|
+
PlayerStrings[22].blue = 30
|
|
134
|
+
PlayerStrings[23].red = 164
|
|
135
|
+
PlayerStrings[23].green = 111
|
|
136
|
+
PlayerStrings[23].blue = 51
|
|
137
|
+
*
|
|
138
|
+
*
|
|
139
|
+
*/
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from "./abilities";
|
|
2
|
+
export * from "./camera";
|
|
3
|
+
export * from "./chat-command";
|
|
4
|
+
export * from "./color";
|
|
5
|
+
export * from "./item";
|
|
6
|
+
export * from "./math";
|
|
7
|
+
export * from "./minimapIcons";
|
|
8
|
+
export * from "./misc";
|
|
9
|
+
export * from "./physics";
|
|
10
|
+
export * from "./players";
|
|
11
|
+
export * from "./point";
|
|
12
|
+
export * from "./quests";
|
|
13
|
+
export * from "./textTag";
|
|
14
|
+
export * from "./timer";
|
|
15
|
+
export * from "./units";
|