🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

foxhole-warapi

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

foxhole-warapi - npm Package Compare versions

Comparing version
1.6.0
to
1.7.0
+5
-5
docs/enums/EventType.md

@@ -23,3 +23,3 @@ [foxhole-warapi](../README.md) / EventType

[types.ts:127](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L127)
[types.ts:127](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L127)

@@ -34,3 +34,3 @@ ___

[types.ts:125](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L125)
[types.ts:125](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L125)

@@ -45,3 +45,3 @@ ___

[types.ts:128](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L128)
[types.ts:128](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L128)

@@ -56,3 +56,3 @@ ___

[types.ts:126](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L126)
[types.ts:126](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L126)

@@ -67,2 +67,2 @@ ___

[types.ts:129](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L129)
[types.ts:129](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L129)

@@ -23,3 +23,3 @@ [foxhole-warapi](../README.md) / MapFlags

[types.ts:77](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L77)
[types.ts:77](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L77)

@@ -34,3 +34,3 @@ ___

[types.ts:76](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L76)
[types.ts:76](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L76)

@@ -45,3 +45,3 @@ ___

[types.ts:78](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L78)
[types.ts:78](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L78)

@@ -56,3 +56,3 @@ ___

[types.ts:79](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L79)
[types.ts:79](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L79)

@@ -67,2 +67,2 @@ ___

[types.ts:75](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L75)
[types.ts:75](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L75)

@@ -68,3 +68,3 @@ [foxhole-warapi](../README.md) / MapIconTypes

[types.ts:52](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L52)
[types.ts:52](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L52)

@@ -79,3 +79,3 @@ ___

[types.ts:30](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L30)
[types.ts:30](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L30)

@@ -90,3 +90,3 @@ ___

[types.ts:70](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L70)
[types.ts:70](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L70)

@@ -101,3 +101,3 @@ ___

[types.ts:63](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L63)
[types.ts:63](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L63)

@@ -112,3 +112,3 @@ ___

[types.ts:38](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L38)
[types.ts:38](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L38)

@@ -123,3 +123,3 @@ ___

[types.ts:56](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L56)
[types.ts:56](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L56)

@@ -134,3 +134,3 @@ ___

[types.ts:55](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L55)
[types.ts:55](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L55)

@@ -145,3 +145,3 @@ ___

[types.ts:50](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L50)
[types.ts:50](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L50)

@@ -156,3 +156,3 @@ ___

[types.ts:46](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L46)
[types.ts:46](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L46)

@@ -167,3 +167,3 @@ ___

[types.ts:25](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L25)
[types.ts:25](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L25)

@@ -178,3 +178,3 @@ ___

[types.ts:26](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L26)
[types.ts:26](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L26)

@@ -189,3 +189,3 @@ ___

[types.ts:27](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L27)
[types.ts:27](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L27)

@@ -200,3 +200,3 @@ ___

[types.ts:39](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L39)
[types.ts:39](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L39)

@@ -211,3 +211,3 @@ ___

[types.ts:51](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L51)
[types.ts:51](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L51)

@@ -222,3 +222,3 @@ ___

[types.ts:28](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L28)
[types.ts:28](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L28)

@@ -233,3 +233,3 @@ ___

[types.ts:69](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L69)
[types.ts:69](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L69)

@@ -244,3 +244,3 @@ ___

[types.ts:33](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L33)
[types.ts:33](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L33)

@@ -255,3 +255,3 @@ ___

[types.ts:61](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L61)
[types.ts:61](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L61)

@@ -266,3 +266,3 @@ ___

[types.ts:45](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L45)
[types.ts:45](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L45)

@@ -277,3 +277,3 @@ ___

[types.ts:71](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L71)
[types.ts:71](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L71)

@@ -288,3 +288,3 @@ ___

[types.ts:57](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L57)
[types.ts:57](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L57)

@@ -299,3 +299,3 @@ ___

[types.ts:34](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L34)
[types.ts:34](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L34)

@@ -310,3 +310,3 @@ ___

[types.ts:58](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L58)
[types.ts:58](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L58)

@@ -321,3 +321,3 @@ ___

[types.ts:59](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L59)
[types.ts:59](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L59)

@@ -332,3 +332,3 @@ ___

[types.ts:60](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L60)
[types.ts:60](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L60)

@@ -343,3 +343,3 @@ ___

[types.ts:53](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L53)
[types.ts:53](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L53)

@@ -354,3 +354,3 @@ ___

[types.ts:37](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L37)
[types.ts:37](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L37)

@@ -365,3 +365,3 @@ ___

[types.ts:54](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L54)
[types.ts:54](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L54)

@@ -376,3 +376,3 @@ ___

[types.ts:62](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L62)
[types.ts:62](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L62)

@@ -387,3 +387,3 @@ ___

[types.ts:35](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L35)
[types.ts:35](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L35)

@@ -398,3 +398,3 @@ ___

[types.ts:64](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L64)
[types.ts:64](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L64)

@@ -409,3 +409,3 @@ ___

[types.ts:44](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L44)
[types.ts:44](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L44)

@@ -420,3 +420,3 @@ ___

[types.ts:22](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L22)
[types.ts:22](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L22)

@@ -431,3 +431,3 @@ ___

[types.ts:23](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L23)
[types.ts:23](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L23)

@@ -442,3 +442,3 @@ ___

[types.ts:24](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L24)
[types.ts:24](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L24)

@@ -453,3 +453,3 @@ ___

[types.ts:49](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L49)
[types.ts:49](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L49)

@@ -464,3 +464,3 @@ ___

[types.ts:68](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L68)
[types.ts:68](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L68)

@@ -475,3 +475,3 @@ ___

[types.ts:40](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L40)
[types.ts:40](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L40)

@@ -486,3 +486,3 @@ ___

[types.ts:48](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L48)
[types.ts:48](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L48)

@@ -497,3 +497,3 @@ ___

[types.ts:31](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L31)
[types.ts:31](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L31)

@@ -508,3 +508,3 @@ ___

[types.ts:36](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L36)
[types.ts:36](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L36)

@@ -519,3 +519,3 @@ ___

[types.ts:65](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L65)
[types.ts:65](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L65)

@@ -530,3 +530,3 @@ ___

[types.ts:66](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L66)
[types.ts:66](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L66)

@@ -541,3 +541,3 @@ ___

[types.ts:67](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L67)
[types.ts:67](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L67)

@@ -552,3 +552,3 @@ ___

[types.ts:43](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L43)
[types.ts:43](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L43)

@@ -563,3 +563,3 @@ ___

[types.ts:42](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L42)
[types.ts:42](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L42)

@@ -574,3 +574,3 @@ ___

[types.ts:47](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L47)
[types.ts:47](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L47)

@@ -585,3 +585,3 @@ ___

[types.ts:29](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L29)
[types.ts:29](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L29)

@@ -596,3 +596,3 @@ ___

[types.ts:32](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L32)
[types.ts:32](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L32)

@@ -607,2 +607,2 @@ ___

[types.ts:41](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L41)
[types.ts:41](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L41)

@@ -20,3 +20,3 @@ [foxhole-warapi](../README.md) / CombinedMapData

[types.ts:109](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L109)
[types.ts:109](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L109)

@@ -31,2 +31,2 @@ ___

[types.ts:110](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L110)
[types.ts:110](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L110)

@@ -27,3 +27,3 @@ [foxhole-warapi](../README.md) / DiffedMapData

[types.ts:118](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L118)
[types.ts:118](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L118)

@@ -45,2 +45,2 @@ ___

[types.ts:114](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L114)
[types.ts:114](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L114)

@@ -10,2 +10,3 @@ [foxhole-warapi](../README.md) / Event

- [byTeam](Event.md#byteam)
- [date](Event.md#date)
- [event](Event.md#event)

@@ -25,6 +26,16 @@ - [iconType](Event.md#icontype)

[types.ts:134](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L134)
[types.ts:135](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L135)
___
### date
• **date**: `Date`
#### Defined in
[types.ts:133](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L133)
___
### event

@@ -36,3 +47,3 @@

[types.ts:133](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L133)
[types.ts:134](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L134)

@@ -47,3 +58,3 @@ ___

[types.ts:135](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L135)
[types.ts:136](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L136)

@@ -58,3 +69,3 @@ ___

[types.ts:136](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L136)
[types.ts:137](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L137)

@@ -69,3 +80,3 @@ ___

[types.ts:137](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L137)
[types.ts:138](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L138)

@@ -80,2 +91,2 @@ ___

[types.ts:138](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L138)
[types.ts:139](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L139)

@@ -24,3 +24,3 @@ [foxhole-warapi](../README.md) / MapData

[types.ts:95](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L95)
[types.ts:95](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L95)

@@ -35,3 +35,3 @@ ___

[types.ts:93](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L93)
[types.ts:93](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L93)

@@ -46,3 +46,3 @@ ___

[types.ts:94](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L94)
[types.ts:94](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L94)

@@ -57,3 +57,3 @@ ___

[types.ts:91](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L91)
[types.ts:91](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L91)

@@ -68,3 +68,3 @@ ___

[types.ts:92](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L92)
[types.ts:92](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L92)

@@ -79,2 +79,2 @@ ___

[types.ts:96](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L96)
[types.ts:96](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L96)

@@ -23,3 +23,3 @@ [foxhole-warapi](../README.md) / MapItem

[types.ts:87](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L87)
[types.ts:87](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L87)

@@ -34,3 +34,3 @@ ___

[types.ts:84](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L84)
[types.ts:84](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L84)

@@ -45,3 +45,3 @@ ___

[types.ts:83](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L83)
[types.ts:83](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L83)

@@ -56,3 +56,3 @@ ___

[types.ts:85](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L85)
[types.ts:85](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L85)

@@ -67,2 +67,2 @@ ___

[types.ts:86](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L86)
[types.ts:86](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L86)

@@ -22,3 +22,3 @@ [foxhole-warapi](../README.md) / MapTextItem

[types.ts:105](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L105)
[types.ts:105](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L105)

@@ -33,3 +33,3 @@ ___

[types.ts:102](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L102)
[types.ts:102](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L102)

@@ -44,3 +44,3 @@ ___

[types.ts:103](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L103)
[types.ts:103](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L103)

@@ -55,2 +55,2 @@ ___

[types.ts:104](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L104)
[types.ts:104](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L104)

@@ -25,3 +25,3 @@ [foxhole-warapi](../README.md) / WarInfo

[types.ts:8](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L8)
[types.ts:8](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L8)

@@ -36,3 +36,3 @@ ___

[types.ts:7](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L7)
[types.ts:7](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L7)

@@ -47,3 +47,3 @@ ___

[types.ts:10](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L10)
[types.ts:10](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L10)

@@ -58,3 +58,3 @@ ___

[types.ts:9](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L9)
[types.ts:9](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L9)

@@ -69,3 +69,3 @@ ___

[types.ts:4](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L4)
[types.ts:4](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L4)

@@ -80,3 +80,3 @@ ___

[types.ts:5](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L5)
[types.ts:5](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L5)

@@ -91,2 +91,2 @@ ___

[types.ts:6](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L6)
[types.ts:6](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L6)

@@ -23,3 +23,3 @@ [foxhole-warapi](../README.md) / WarReport

[types.ts:15](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L15)
[types.ts:15](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L15)

@@ -34,3 +34,3 @@ ___

[types.ts:17](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L17)
[types.ts:17](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L17)

@@ -45,3 +45,3 @@ ___

[types.ts:14](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L14)
[types.ts:14](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L14)

@@ -56,3 +56,3 @@ ___

[types.ts:18](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L18)
[types.ts:18](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L18)

@@ -67,2 +67,2 @@ ___

[types.ts:16](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L16)
[types.ts:16](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L16)

@@ -46,3 +46,3 @@ foxhole-warapi

[types.ts:99](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L99)
[types.ts:99](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L99)

@@ -57,3 +57,3 @@ ___

[types.ts:1](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/types.ts#L1)
[types.ts:1](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/types.ts#L1)

@@ -81,3 +81,3 @@ ## Functions

[war-api.ts:24](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/war-api.ts#L24)
[war-api.ts:24](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/war-api.ts#L24)

@@ -102,3 +102,3 @@ ___

[war-api.ts:74](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/war-api.ts#L74)
[war-api.ts:74](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/war-api.ts#L74)

@@ -126,3 +126,3 @@ ___

[war-api.ts:60](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/war-api.ts#L60)
[war-api.ts:60](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/war-api.ts#L60)

@@ -150,3 +150,3 @@ ___

[war-api.ts:15](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/war-api.ts#L15)
[war-api.ts:15](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/war-api.ts#L15)

@@ -173,3 +173,3 @@ ___

[war-api.ts:50](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/war-api.ts#L50)
[war-api.ts:50](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/war-api.ts#L50)

@@ -197,2 +197,2 @@ ___

[war-api.ts:42](https://github.com/art0rz/foxhole-warapi/blob/f01d4a6/src/war-api.ts#L42)
[war-api.ts:42](https://github.com/art0rz/foxhole-warapi/blob/52442fe/src/war-api.ts#L42)

@@ -121,2 +121,3 @@ type TeamId = 'WARDENS' | 'COLONIALS' | 'NONE';

interface Event {
date: Date;
event: EventType;

@@ -123,0 +124,0 @@ byTeam: TeamId;

@@ -119,4 +119,6 @@ 'use strict';

const newFlags = getMapFlags(data.new.mapItem.flags);
const date = /* @__PURE__ */ new Date();
if (oldFlags.includes(MapFlags.IsBuildSite) === false && newFlags.includes(MapFlags.IsBuildSite) === true && data.old.mapItem.teamId === "NONE" && data.new.mapItem.teamId !== "NONE") {
return {
date,
event: EventType.UnderConstruction,

@@ -132,2 +134,3 @@ byTeam: data.new.mapItem.teamId,

return {
date,
event: EventType.Upgraded,

@@ -143,2 +146,3 @@ byTeam: data.new.mapItem.teamId,

return {
date,
event: EventType.Taken,

@@ -154,2 +158,3 @@ byTeam: data.new.mapItem.teamId,

return {
date,
event: EventType.Taken,

@@ -165,2 +170,3 @@ byTeam: data.new.mapItem.teamId,

return {
date,
event: EventType.Lost,

@@ -176,2 +182,3 @@ byTeam: data.old.mapItem.teamId,

return {
date,
event: EventType.ConstructionCancelled,

@@ -178,0 +185,0 @@ byTeam: data.old.mapItem.teamId,

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sources":["src/types.ts","src/math.ts","src/war-api.ts"],"sourcesContent":["export type TeamId = 'WARDENS' | 'COLONIALS' | 'NONE';\n\nexport interface WarInfo {\n\twarId: string;\n\twarNumber: number;\n\twinner: TeamId;\n\tconquestStartTime: number;\n\tconquestEndTime: number | null;\n\tresistanceStartTime: number | null;\n\trequiredVictoryTowns: number;\n}\n\nexport interface WarReport {\n\ttotalEnlistments: number;\n\tcolonialCasualties: number;\n\twardenCasualties: number;\n\tdayOfWar: number;\n\tversion: number;\n}\n\nexport enum MapIconTypes {\n\tStatic_Base_1 = 5, // Removed in v0.46\n\tStatic_Base_2 = 6, // Removed in v0.46\n\tStatic_Base_3 = 7, // Removed in v0.46\n\tForward_Base_1 = 8,\n\tForward_Base_2 = 9, // Removed in v0.50\n\tForward_Base_3 = 10, // Removed in v0.50\n\tHospital = 11,\n\tVehicle_Factory = 12,\n\tArmory = 13,\n\tSupply_Station = 14,\n\tWorkshop = 15,\n\tManufacturing_Plant = 16,\n\tRefinery = 17,\n\tShipyard = 18,\n\tTech_Center = 19, // (Engineering Center in v0.37)\n\tSalvage_Field = 20,\n\tComponent_Field = 21,\n\tFuel_Field = 22,\n\tSulfur_Field = 23,\n\tWorld_Map_Tent = 24,\n\tTravel_Tent = 25,\n\tTraining_Area = 26,\n\tSpecial_Base_Keep = 27, // v0.14\n\tObservation_Tower = 28, // v0.14\n\tFort = 29, // v0.14\n\tTroop_Ship = 30, // v0.14\n\tSulfur_Mine = 32, // v0.16\n\tStorage_Facility = 33, // v0.17\n\tFactory = 34, // v0.17\n\tGarrison_Station = 35, // v0.20\n\tAmmo_Factory = 36, // v0.20\n\tRocket_Site = 37, // v0.20\n\tSalvage_Mine = 38, // v0.22\n\tConstruction_Yard = 39, // v0.26\n\tComponent_Mine = 40, // v0.26\n\tOil_Well = 41, // v0.26 // Removed in v0.50\n\tRelic_Base_1 = 45, // v0.32\n\tRelic_Base_2 = 46, // v0.32\n\tRelic_Base_3 = 47, // v0.32\n\tMass_Production_Factory = 51, // v0.35\n\tSeaport = 52, // v0.37\n\tCoastal_Gun = 53, // v0.37\n\tSoul_Factory = 54, // v0.39\n\tTown_Base_1 = 56, // v0.46\n\tTown_Base_2 = 57, // v0.46\n\tTown_Base_3 = 58, // v0.46\n\tStorm_Cannon = 59, // v0.47\n\tIntel_Center = 60, // v0.47\n\tCoal_Field = 61, // v0.50\n\tOil_Field = 62, // v0.50\n}\n\nexport enum MapFlags {\n\tIsVictoryBase = 'IsVictoryBase',\n\tIsHomeBase = 'IsHomeBase', // Removed in v0.29\n\tIsBuildSite = 'IsBuildSite',\n\tIsScorched = 'IsScorched', // v0.22\n\tIsTownClaimed = 'IsTownClaimed', // v0.26\n}\n\nexport interface MapItem {\n\tteamId: TeamId;\n\ticonType: MapIconTypes;\n\tx: number;\n\ty: number;\n\tflags: number;\n}\n\nexport interface MapData {\n\tregionId: number;\n\tscorchedVictoryTowns: number;\n\tmapItems: Array<MapItem>;\n\tmapTextItems: Array<MapTextItem>;\n\tlastUpdated: number;\n\tversion: number;\n}\n\nexport type MapMarkerType = 'Major' | 'Minor';\n\nexport interface MapTextItem {\n\ttext: string;\n\tx: number;\n\ty: number;\n\tmapMarkerType: MapMarkerType;\n}\n\nexport interface CombinedMapData {\n\tmapItem: MapItem;\n\tmapTextItem: MapTextItem;\n}\n\nexport interface DiffedMapData {\n\told: {\n\t\tmapItem: MapItem;\n\t\tmapTextItem: MapTextItem;\n\t};\n\tnew: {\n\t\tmapItem: MapItem;\n\t\tmapTextItem: MapTextItem;\n\t};\n}\n\nexport enum EventType {\n\tLost = 'Lost',\n\tUnderConstruction = 'UnderConstruction',\n\tConstructionCancelled = 'ConstructionCancelled',\n\tTaken = 'Taken',\n\tUpgraded = 'Upgraded',\n}\n\nexport interface Event {\n\tevent: EventType;\n\tbyTeam: TeamId;\n\ticonType: number;\n\ttext: string;\n\tx: number;\n\ty: number;\n}\n","// Define the Point type\nexport type Point = { x: number; y: number };\n\n/**\n * Calculates the distance between two points using the Pythagorean theorem.\n */\nexport function distanceBetweenPoints<P1 extends Point, P2 extends Point>(p1: P1, p2: P2): number {\n\tconst deltaX = p2.x - p1.x;\n\tconst deltaY = p2.y - p1.y;\n\tconst distance = Math.sqrt(deltaX ** 2 + deltaY ** 2);\n\treturn distance;\n}\n","import { CombinedMapData, DiffedMapData, Event, EventType, MapFlags, MapItem, MapTextItem } from './types';\nimport { distanceBetweenPoints } from './math';\n\nconst mapFlagValues: Record<MapFlags, number> = {\n\t[MapFlags.IsVictoryBase]: 0x01,\n\t[MapFlags.IsHomeBase]: 0x02,\n\t[MapFlags.IsBuildSite]: 0x04,\n\t[MapFlags.IsScorched]: 0x10,\n\t[MapFlags.IsTownClaimed]: 0x20,\n};\n\n/**\n * Given a MapItem and a list of MapTextItems, finds the nearest MapTextItem. This is useful for determining which town a MapItem belongs to.\n */\nexport function findNearestTextItem(mapItem: MapItem, mapTextItems: Array<MapTextItem>): MapTextItem {\n\tconst distances = mapTextItems.map(item => distanceBetweenPoints(mapItem, item));\n\tconst closest = [...distances].sort()[0];\n\treturn mapTextItems[distances.indexOf(closest)];\n}\n\n/**\n * Matches each MapItem with the closest MapTextItem.\n */\nexport function combineDynamicWithStaticData(\n\tmapItems: Array<MapItem>,\n\tmapTextItems: Array<MapTextItem>\n): Array<CombinedMapData> {\n\treturn mapItems\n\t\t.map<any>(mapItem => {\n\t\t\tconst mapTextItem = findNearestTextItem(mapItem, mapTextItems);\n\t\t\treturn {\n\t\t\t\tmapItem,\n\t\t\t\tmapTextItem,\n\t\t\t};\n\t\t})\n\t\t.filter(item => item);\n}\n\n/**\n * Returns true if the flags number contains the given MapFlag.\n */\nexport function hasMapFlag(flags: number, flag: MapFlags): boolean {\n\t// eslint-disable-next-line no-bitwise\n\treturn (flags & mapFlagValues[flag]) !== 0;\n}\n\n/**\n * Returns a list of each MapFlag that the flags contain.\n */\nexport function getMapFlags(flags: number): Array<MapFlags> {\n\t// eslint-disable-next-line no-bitwise\n\treturn Object.values(MapFlags).filter(flag => hasMapFlag(flags, flag));\n}\n\n/**\n * Returns a list of CombinedMapData where the map flags or team id from the two arguments is different. Assumes that the order of the two lists is the same.\n * @param data1\n * @param data2\n */\nexport function diffCombinedMapData(\n\tdata1: Array<CombinedMapData>,\n\tdata2: Array<CombinedMapData>\n): Array<DiffedMapData> {\n\tconst different = data2.filter((item, index) => {\n\t\treturn item.mapItem.flags !== data1[index].mapItem.flags || item.mapItem.teamId !== data1[index].mapItem.teamId;\n\t});\n\n\treturn different.map(item => ({\n\t\told: data1[data2.indexOf(item)],\n\t\tnew: item,\n\t}));\n}\n\nexport function determineEventStatusType(data: DiffedMapData): Event | undefined {\n\tconst oldFlags = getMapFlags(data.old.mapItem.flags);\n\tconst newFlags = getMapFlags(data.new.mapItem.flags);\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === true &&\n\t\tdata.old.mapItem.teamId === 'NONE' &&\n\t\tdata.new.mapItem.teamId !== 'NONE'\n\t) {\n\t\treturn {\n\t\t\tevent: EventType.UnderConstruction,\n\t\t\tbyTeam: data.new.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === true &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId !== 'NONE' &&\n\t\tdata.new.mapItem.teamId !== 'NONE' &&\n\t\tdata.old.mapItem.iconType !== data.new.mapItem.iconType &&\n\t\tdata.old.mapItem.teamId === data.new.mapItem.teamId\n\t) {\n\t\treturn {\n\t\t\tevent: EventType.Upgraded,\n\t\t\tbyTeam: data.new.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId === 'NONE' &&\n\t\tdata.new.mapItem.teamId !== 'NONE'\n\t) {\n\t\treturn {\n\t\t\tevent: EventType.Taken,\n\t\t\tbyTeam: data.new.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === true &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId !== 'NONE' &&\n\t\tdata.old.mapItem.teamId === data.new.mapItem.teamId\n\t) {\n\t\treturn {\n\t\t\tevent: EventType.Taken,\n\t\t\tbyTeam: data.new.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId !== 'NONE' &&\n\t\tdata.new.mapItem.teamId === 'NONE'\n\t) {\n\t\treturn {\n\t\t\tevent: EventType.Lost,\n\t\t\tbyTeam: data.old.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === true &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId !== 'NONE' &&\n\t\tdata.new.mapItem.teamId === 'NONE'\n\t) {\n\t\treturn {\n\t\t\tevent: EventType.ConstructionCancelled,\n\t\t\tbyTeam: data.old.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\treturn undefined;\n}\n"],"names":["MapIconTypes","MapFlags","EventType"],"mappings":"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"}
{"version":3,"file":"index.js","sources":["src/types.ts","src/math.ts","src/war-api.ts"],"sourcesContent":["export type TeamId = 'WARDENS' | 'COLONIALS' | 'NONE';\n\nexport interface WarInfo {\n\twarId: string;\n\twarNumber: number;\n\twinner: TeamId;\n\tconquestStartTime: number;\n\tconquestEndTime: number | null;\n\tresistanceStartTime: number | null;\n\trequiredVictoryTowns: number;\n}\n\nexport interface WarReport {\n\ttotalEnlistments: number;\n\tcolonialCasualties: number;\n\twardenCasualties: number;\n\tdayOfWar: number;\n\tversion: number;\n}\n\nexport enum MapIconTypes {\n\tStatic_Base_1 = 5, // Removed in v0.46\n\tStatic_Base_2 = 6, // Removed in v0.46\n\tStatic_Base_3 = 7, // Removed in v0.46\n\tForward_Base_1 = 8,\n\tForward_Base_2 = 9, // Removed in v0.50\n\tForward_Base_3 = 10, // Removed in v0.50\n\tHospital = 11,\n\tVehicle_Factory = 12,\n\tArmory = 13,\n\tSupply_Station = 14,\n\tWorkshop = 15,\n\tManufacturing_Plant = 16,\n\tRefinery = 17,\n\tShipyard = 18,\n\tTech_Center = 19, // (Engineering Center in v0.37)\n\tSalvage_Field = 20,\n\tComponent_Field = 21,\n\tFuel_Field = 22,\n\tSulfur_Field = 23,\n\tWorld_Map_Tent = 24,\n\tTravel_Tent = 25,\n\tTraining_Area = 26,\n\tSpecial_Base_Keep = 27, // v0.14\n\tObservation_Tower = 28, // v0.14\n\tFort = 29, // v0.14\n\tTroop_Ship = 30, // v0.14\n\tSulfur_Mine = 32, // v0.16\n\tStorage_Facility = 33, // v0.17\n\tFactory = 34, // v0.17\n\tGarrison_Station = 35, // v0.20\n\tAmmo_Factory = 36, // v0.20\n\tRocket_Site = 37, // v0.20\n\tSalvage_Mine = 38, // v0.22\n\tConstruction_Yard = 39, // v0.26\n\tComponent_Mine = 40, // v0.26\n\tOil_Well = 41, // v0.26 // Removed in v0.50\n\tRelic_Base_1 = 45, // v0.32\n\tRelic_Base_2 = 46, // v0.32\n\tRelic_Base_3 = 47, // v0.32\n\tMass_Production_Factory = 51, // v0.35\n\tSeaport = 52, // v0.37\n\tCoastal_Gun = 53, // v0.37\n\tSoul_Factory = 54, // v0.39\n\tTown_Base_1 = 56, // v0.46\n\tTown_Base_2 = 57, // v0.46\n\tTown_Base_3 = 58, // v0.46\n\tStorm_Cannon = 59, // v0.47\n\tIntel_Center = 60, // v0.47\n\tCoal_Field = 61, // v0.50\n\tOil_Field = 62, // v0.50\n}\n\nexport enum MapFlags {\n\tIsVictoryBase = 'IsVictoryBase',\n\tIsHomeBase = 'IsHomeBase', // Removed in v0.29\n\tIsBuildSite = 'IsBuildSite',\n\tIsScorched = 'IsScorched', // v0.22\n\tIsTownClaimed = 'IsTownClaimed', // v0.26\n}\n\nexport interface MapItem {\n\tteamId: TeamId;\n\ticonType: MapIconTypes;\n\tx: number;\n\ty: number;\n\tflags: number;\n}\n\nexport interface MapData {\n\tregionId: number;\n\tscorchedVictoryTowns: number;\n\tmapItems: Array<MapItem>;\n\tmapTextItems: Array<MapTextItem>;\n\tlastUpdated: number;\n\tversion: number;\n}\n\nexport type MapMarkerType = 'Major' | 'Minor';\n\nexport interface MapTextItem {\n\ttext: string;\n\tx: number;\n\ty: number;\n\tmapMarkerType: MapMarkerType;\n}\n\nexport interface CombinedMapData {\n\tmapItem: MapItem;\n\tmapTextItem: MapTextItem;\n}\n\nexport interface DiffedMapData {\n\told: {\n\t\tmapItem: MapItem;\n\t\tmapTextItem: MapTextItem;\n\t};\n\tnew: {\n\t\tmapItem: MapItem;\n\t\tmapTextItem: MapTextItem;\n\t};\n}\n\nexport enum EventType {\n\tLost = 'Lost',\n\tUnderConstruction = 'UnderConstruction',\n\tConstructionCancelled = 'ConstructionCancelled',\n\tTaken = 'Taken',\n\tUpgraded = 'Upgraded',\n}\n\nexport interface Event {\n\tdate: Date;\n\tevent: EventType;\n\tbyTeam: TeamId;\n\ticonType: number;\n\ttext: string;\n\tx: number;\n\ty: number;\n}\n","// Define the Point type\nexport type Point = { x: number; y: number };\n\n/**\n * Calculates the distance between two points using the Pythagorean theorem.\n */\nexport function distanceBetweenPoints<P1 extends Point, P2 extends Point>(p1: P1, p2: P2): number {\n\tconst deltaX = p2.x - p1.x;\n\tconst deltaY = p2.y - p1.y;\n\tconst distance = Math.sqrt(deltaX ** 2 + deltaY ** 2);\n\treturn distance;\n}\n","import { CombinedMapData, DiffedMapData, Event, EventType, MapFlags, MapItem, MapTextItem } from './types';\nimport { distanceBetweenPoints } from './math';\n\nconst mapFlagValues: Record<MapFlags, number> = {\n\t[MapFlags.IsVictoryBase]: 0x01,\n\t[MapFlags.IsHomeBase]: 0x02,\n\t[MapFlags.IsBuildSite]: 0x04,\n\t[MapFlags.IsScorched]: 0x10,\n\t[MapFlags.IsTownClaimed]: 0x20,\n};\n\n/**\n * Given a MapItem and a list of MapTextItems, finds the nearest MapTextItem. This is useful for determining which town a MapItem belongs to.\n */\nexport function findNearestTextItem(mapItem: MapItem, mapTextItems: Array<MapTextItem>): MapTextItem {\n\tconst distances = mapTextItems.map(item => distanceBetweenPoints(mapItem, item));\n\tconst closest = [...distances].sort()[0];\n\treturn mapTextItems[distances.indexOf(closest)];\n}\n\n/**\n * Matches each MapItem with the closest MapTextItem.\n */\nexport function combineDynamicWithStaticData(\n\tmapItems: Array<MapItem>,\n\tmapTextItems: Array<MapTextItem>\n): Array<CombinedMapData> {\n\treturn mapItems\n\t\t.map<any>(mapItem => {\n\t\t\tconst mapTextItem = findNearestTextItem(mapItem, mapTextItems);\n\t\t\treturn {\n\t\t\t\tmapItem,\n\t\t\t\tmapTextItem,\n\t\t\t};\n\t\t})\n\t\t.filter(item => item);\n}\n\n/**\n * Returns true if the flags number contains the given MapFlag.\n */\nexport function hasMapFlag(flags: number, flag: MapFlags): boolean {\n\t// eslint-disable-next-line no-bitwise\n\treturn (flags & mapFlagValues[flag]) !== 0;\n}\n\n/**\n * Returns a list of each MapFlag that the flags contain.\n */\nexport function getMapFlags(flags: number): Array<MapFlags> {\n\t// eslint-disable-next-line no-bitwise\n\treturn Object.values(MapFlags).filter(flag => hasMapFlag(flags, flag));\n}\n\n/**\n * Returns a list of CombinedMapData where the map flags or team id from the two arguments is different. Assumes that the order of the two lists is the same.\n * @param data1\n * @param data2\n */\nexport function diffCombinedMapData(\n\tdata1: Array<CombinedMapData>,\n\tdata2: Array<CombinedMapData>\n): Array<DiffedMapData> {\n\tconst different = data2.filter((item, index) => {\n\t\treturn item.mapItem.flags !== data1[index].mapItem.flags || item.mapItem.teamId !== data1[index].mapItem.teamId;\n\t});\n\n\treturn different.map(item => ({\n\t\told: data1[data2.indexOf(item)],\n\t\tnew: item,\n\t}));\n}\n\nexport function determineEventStatusType(data: DiffedMapData): Event | undefined {\n\tconst oldFlags = getMapFlags(data.old.mapItem.flags);\n\tconst newFlags = getMapFlags(data.new.mapItem.flags);\n\tconst date = new Date();\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === true &&\n\t\tdata.old.mapItem.teamId === 'NONE' &&\n\t\tdata.new.mapItem.teamId !== 'NONE'\n\t) {\n\t\treturn {\n\t\t\tdate,\n\t\t\tevent: EventType.UnderConstruction,\n\t\t\tbyTeam: data.new.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === true &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId !== 'NONE' &&\n\t\tdata.new.mapItem.teamId !== 'NONE' &&\n\t\tdata.old.mapItem.iconType !== data.new.mapItem.iconType &&\n\t\tdata.old.mapItem.teamId === data.new.mapItem.teamId\n\t) {\n\t\treturn {\n\t\t\tdate,\n\t\t\tevent: EventType.Upgraded,\n\t\t\tbyTeam: data.new.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId === 'NONE' &&\n\t\tdata.new.mapItem.teamId !== 'NONE'\n\t) {\n\t\treturn {\n\t\t\tdate,\n\t\t\tevent: EventType.Taken,\n\t\t\tbyTeam: data.new.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === true &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId !== 'NONE' &&\n\t\tdata.old.mapItem.teamId === data.new.mapItem.teamId\n\t) {\n\t\treturn {\n\t\t\tdate,\n\t\t\tevent: EventType.Taken,\n\t\t\tbyTeam: data.new.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId !== 'NONE' &&\n\t\tdata.new.mapItem.teamId === 'NONE'\n\t) {\n\t\treturn {\n\t\t\tdate,\n\t\t\tevent: EventType.Lost,\n\t\t\tbyTeam: data.old.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === true &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId !== 'NONE' &&\n\t\tdata.new.mapItem.teamId === 'NONE'\n\t) {\n\t\treturn {\n\t\t\tdate,\n\t\t\tevent: EventType.ConstructionCancelled,\n\t\t\tbyTeam: data.old.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\treturn undefined;\n}\n"],"names":["MapIconTypes","MapFlags","EventType"],"mappings":"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"}

@@ -117,4 +117,6 @@ var MapIconTypes = /* @__PURE__ */ ((MapIconTypes2) => {

const newFlags = getMapFlags(data.new.mapItem.flags);
const date = /* @__PURE__ */ new Date();
if (oldFlags.includes(MapFlags.IsBuildSite) === false && newFlags.includes(MapFlags.IsBuildSite) === true && data.old.mapItem.teamId === "NONE" && data.new.mapItem.teamId !== "NONE") {
return {
date,
event: EventType.UnderConstruction,

@@ -130,2 +132,3 @@ byTeam: data.new.mapItem.teamId,

return {
date,
event: EventType.Upgraded,

@@ -141,2 +144,3 @@ byTeam: data.new.mapItem.teamId,

return {
date,
event: EventType.Taken,

@@ -152,2 +156,3 @@ byTeam: data.new.mapItem.teamId,

return {
date,
event: EventType.Taken,

@@ -163,2 +168,3 @@ byTeam: data.new.mapItem.teamId,

return {
date,
event: EventType.Lost,

@@ -174,2 +180,3 @@ byTeam: data.old.mapItem.teamId,

return {
date,
event: EventType.ConstructionCancelled,

@@ -176,0 +183,0 @@ byTeam: data.old.mapItem.teamId,

@@ -1,1 +0,1 @@

{"version":3,"file":"index.mjs","sources":["src/types.ts","src/math.ts","src/war-api.ts"],"sourcesContent":["export type TeamId = 'WARDENS' | 'COLONIALS' | 'NONE';\n\nexport interface WarInfo {\n\twarId: string;\n\twarNumber: number;\n\twinner: TeamId;\n\tconquestStartTime: number;\n\tconquestEndTime: number | null;\n\tresistanceStartTime: number | null;\n\trequiredVictoryTowns: number;\n}\n\nexport interface WarReport {\n\ttotalEnlistments: number;\n\tcolonialCasualties: number;\n\twardenCasualties: number;\n\tdayOfWar: number;\n\tversion: number;\n}\n\nexport enum MapIconTypes {\n\tStatic_Base_1 = 5, // Removed in v0.46\n\tStatic_Base_2 = 6, // Removed in v0.46\n\tStatic_Base_3 = 7, // Removed in v0.46\n\tForward_Base_1 = 8,\n\tForward_Base_2 = 9, // Removed in v0.50\n\tForward_Base_3 = 10, // Removed in v0.50\n\tHospital = 11,\n\tVehicle_Factory = 12,\n\tArmory = 13,\n\tSupply_Station = 14,\n\tWorkshop = 15,\n\tManufacturing_Plant = 16,\n\tRefinery = 17,\n\tShipyard = 18,\n\tTech_Center = 19, // (Engineering Center in v0.37)\n\tSalvage_Field = 20,\n\tComponent_Field = 21,\n\tFuel_Field = 22,\n\tSulfur_Field = 23,\n\tWorld_Map_Tent = 24,\n\tTravel_Tent = 25,\n\tTraining_Area = 26,\n\tSpecial_Base_Keep = 27, // v0.14\n\tObservation_Tower = 28, // v0.14\n\tFort = 29, // v0.14\n\tTroop_Ship = 30, // v0.14\n\tSulfur_Mine = 32, // v0.16\n\tStorage_Facility = 33, // v0.17\n\tFactory = 34, // v0.17\n\tGarrison_Station = 35, // v0.20\n\tAmmo_Factory = 36, // v0.20\n\tRocket_Site = 37, // v0.20\n\tSalvage_Mine = 38, // v0.22\n\tConstruction_Yard = 39, // v0.26\n\tComponent_Mine = 40, // v0.26\n\tOil_Well = 41, // v0.26 // Removed in v0.50\n\tRelic_Base_1 = 45, // v0.32\n\tRelic_Base_2 = 46, // v0.32\n\tRelic_Base_3 = 47, // v0.32\n\tMass_Production_Factory = 51, // v0.35\n\tSeaport = 52, // v0.37\n\tCoastal_Gun = 53, // v0.37\n\tSoul_Factory = 54, // v0.39\n\tTown_Base_1 = 56, // v0.46\n\tTown_Base_2 = 57, // v0.46\n\tTown_Base_3 = 58, // v0.46\n\tStorm_Cannon = 59, // v0.47\n\tIntel_Center = 60, // v0.47\n\tCoal_Field = 61, // v0.50\n\tOil_Field = 62, // v0.50\n}\n\nexport enum MapFlags {\n\tIsVictoryBase = 'IsVictoryBase',\n\tIsHomeBase = 'IsHomeBase', // Removed in v0.29\n\tIsBuildSite = 'IsBuildSite',\n\tIsScorched = 'IsScorched', // v0.22\n\tIsTownClaimed = 'IsTownClaimed', // v0.26\n}\n\nexport interface MapItem {\n\tteamId: TeamId;\n\ticonType: MapIconTypes;\n\tx: number;\n\ty: number;\n\tflags: number;\n}\n\nexport interface MapData {\n\tregionId: number;\n\tscorchedVictoryTowns: number;\n\tmapItems: Array<MapItem>;\n\tmapTextItems: Array<MapTextItem>;\n\tlastUpdated: number;\n\tversion: number;\n}\n\nexport type MapMarkerType = 'Major' | 'Minor';\n\nexport interface MapTextItem {\n\ttext: string;\n\tx: number;\n\ty: number;\n\tmapMarkerType: MapMarkerType;\n}\n\nexport interface CombinedMapData {\n\tmapItem: MapItem;\n\tmapTextItem: MapTextItem;\n}\n\nexport interface DiffedMapData {\n\told: {\n\t\tmapItem: MapItem;\n\t\tmapTextItem: MapTextItem;\n\t};\n\tnew: {\n\t\tmapItem: MapItem;\n\t\tmapTextItem: MapTextItem;\n\t};\n}\n\nexport enum EventType {\n\tLost = 'Lost',\n\tUnderConstruction = 'UnderConstruction',\n\tConstructionCancelled = 'ConstructionCancelled',\n\tTaken = 'Taken',\n\tUpgraded = 'Upgraded',\n}\n\nexport interface Event {\n\tevent: EventType;\n\tbyTeam: TeamId;\n\ticonType: number;\n\ttext: string;\n\tx: number;\n\ty: number;\n}\n","// Define the Point type\nexport type Point = { x: number; y: number };\n\n/**\n * Calculates the distance between two points using the Pythagorean theorem.\n */\nexport function distanceBetweenPoints<P1 extends Point, P2 extends Point>(p1: P1, p2: P2): number {\n\tconst deltaX = p2.x - p1.x;\n\tconst deltaY = p2.y - p1.y;\n\tconst distance = Math.sqrt(deltaX ** 2 + deltaY ** 2);\n\treturn distance;\n}\n","import { CombinedMapData, DiffedMapData, Event, EventType, MapFlags, MapItem, MapTextItem } from './types';\nimport { distanceBetweenPoints } from './math';\n\nconst mapFlagValues: Record<MapFlags, number> = {\n\t[MapFlags.IsVictoryBase]: 0x01,\n\t[MapFlags.IsHomeBase]: 0x02,\n\t[MapFlags.IsBuildSite]: 0x04,\n\t[MapFlags.IsScorched]: 0x10,\n\t[MapFlags.IsTownClaimed]: 0x20,\n};\n\n/**\n * Given a MapItem and a list of MapTextItems, finds the nearest MapTextItem. This is useful for determining which town a MapItem belongs to.\n */\nexport function findNearestTextItem(mapItem: MapItem, mapTextItems: Array<MapTextItem>): MapTextItem {\n\tconst distances = mapTextItems.map(item => distanceBetweenPoints(mapItem, item));\n\tconst closest = [...distances].sort()[0];\n\treturn mapTextItems[distances.indexOf(closest)];\n}\n\n/**\n * Matches each MapItem with the closest MapTextItem.\n */\nexport function combineDynamicWithStaticData(\n\tmapItems: Array<MapItem>,\n\tmapTextItems: Array<MapTextItem>\n): Array<CombinedMapData> {\n\treturn mapItems\n\t\t.map<any>(mapItem => {\n\t\t\tconst mapTextItem = findNearestTextItem(mapItem, mapTextItems);\n\t\t\treturn {\n\t\t\t\tmapItem,\n\t\t\t\tmapTextItem,\n\t\t\t};\n\t\t})\n\t\t.filter(item => item);\n}\n\n/**\n * Returns true if the flags number contains the given MapFlag.\n */\nexport function hasMapFlag(flags: number, flag: MapFlags): boolean {\n\t// eslint-disable-next-line no-bitwise\n\treturn (flags & mapFlagValues[flag]) !== 0;\n}\n\n/**\n * Returns a list of each MapFlag that the flags contain.\n */\nexport function getMapFlags(flags: number): Array<MapFlags> {\n\t// eslint-disable-next-line no-bitwise\n\treturn Object.values(MapFlags).filter(flag => hasMapFlag(flags, flag));\n}\n\n/**\n * Returns a list of CombinedMapData where the map flags or team id from the two arguments is different. Assumes that the order of the two lists is the same.\n * @param data1\n * @param data2\n */\nexport function diffCombinedMapData(\n\tdata1: Array<CombinedMapData>,\n\tdata2: Array<CombinedMapData>\n): Array<DiffedMapData> {\n\tconst different = data2.filter((item, index) => {\n\t\treturn item.mapItem.flags !== data1[index].mapItem.flags || item.mapItem.teamId !== data1[index].mapItem.teamId;\n\t});\n\n\treturn different.map(item => ({\n\t\told: data1[data2.indexOf(item)],\n\t\tnew: item,\n\t}));\n}\n\nexport function determineEventStatusType(data: DiffedMapData): Event | undefined {\n\tconst oldFlags = getMapFlags(data.old.mapItem.flags);\n\tconst newFlags = getMapFlags(data.new.mapItem.flags);\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === true &&\n\t\tdata.old.mapItem.teamId === 'NONE' &&\n\t\tdata.new.mapItem.teamId !== 'NONE'\n\t) {\n\t\treturn {\n\t\t\tevent: EventType.UnderConstruction,\n\t\t\tbyTeam: data.new.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === true &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId !== 'NONE' &&\n\t\tdata.new.mapItem.teamId !== 'NONE' &&\n\t\tdata.old.mapItem.iconType !== data.new.mapItem.iconType &&\n\t\tdata.old.mapItem.teamId === data.new.mapItem.teamId\n\t) {\n\t\treturn {\n\t\t\tevent: EventType.Upgraded,\n\t\t\tbyTeam: data.new.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId === 'NONE' &&\n\t\tdata.new.mapItem.teamId !== 'NONE'\n\t) {\n\t\treturn {\n\t\t\tevent: EventType.Taken,\n\t\t\tbyTeam: data.new.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === true &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId !== 'NONE' &&\n\t\tdata.old.mapItem.teamId === data.new.mapItem.teamId\n\t) {\n\t\treturn {\n\t\t\tevent: EventType.Taken,\n\t\t\tbyTeam: data.new.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId !== 'NONE' &&\n\t\tdata.new.mapItem.teamId === 'NONE'\n\t) {\n\t\treturn {\n\t\t\tevent: EventType.Lost,\n\t\t\tbyTeam: data.old.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === true &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId !== 'NONE' &&\n\t\tdata.new.mapItem.teamId === 'NONE'\n\t) {\n\t\treturn {\n\t\t\tevent: EventType.ConstructionCancelled,\n\t\t\tbyTeam: data.old.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\treturn undefined;\n}\n"],"names":["MapIconTypes","MapFlags","EventType"],"mappings":"AAoBY,IAAA,YAAA,qBAAAA,aAAL,KAAA;AACN,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,mBAAgB,CAAhB,CAAA,GAAA,eAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,mBAAgB,CAAhB,CAAA,GAAA,eAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,mBAAgB,CAAhB,CAAA,GAAA,eAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,oBAAiB,CAAjB,CAAA,GAAA,gBAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,oBAAiB,CAAjB,CAAA,GAAA,gBAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,oBAAiB,EAAjB,CAAA,GAAA,gBAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,cAAW,EAAX,CAAA,GAAA,UAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,qBAAkB,EAAlB,CAAA,GAAA,iBAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,YAAS,EAAT,CAAA,GAAA,QAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,oBAAiB,EAAjB,CAAA,GAAA,gBAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,cAAW,EAAX,CAAA,GAAA,UAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,yBAAsB,EAAtB,CAAA,GAAA,qBAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,cAAW,EAAX,CAAA,GAAA,UAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,cAAW,EAAX,CAAA,GAAA,UAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,iBAAc,EAAd,CAAA,GAAA,aAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,mBAAgB,EAAhB,CAAA,GAAA,eAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,qBAAkB,EAAlB,CAAA,GAAA,iBAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,gBAAa,EAAb,CAAA,GAAA,YAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,kBAAe,EAAf,CAAA,GAAA,cAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,oBAAiB,EAAjB,CAAA,GAAA,gBAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,iBAAc,EAAd,CAAA,GAAA,aAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,mBAAgB,EAAhB,CAAA,GAAA,eAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,uBAAoB,EAApB,CAAA,GAAA,mBAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,uBAAoB,EAApB,CAAA,GAAA,mBAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,UAAO,EAAP,CAAA,GAAA,MAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,gBAAa,EAAb,CAAA,GAAA,YAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,iBAAc,EAAd,CAAA,GAAA,aAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,sBAAmB,EAAnB,CAAA,GAAA,kBAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,aAAU,EAAV,CAAA,GAAA,SAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,sBAAmB,EAAnB,CAAA,GAAA,kBAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,kBAAe,EAAf,CAAA,GAAA,cAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,iBAAc,EAAd,CAAA,GAAA,aAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,kBAAe,EAAf,CAAA,GAAA,cAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,uBAAoB,EAApB,CAAA,GAAA,mBAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,oBAAiB,EAAjB,CAAA,GAAA,gBAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,cAAW,EAAX,CAAA,GAAA,UAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,kBAAe,EAAf,CAAA,GAAA,cAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,kBAAe,EAAf,CAAA,GAAA,cAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,kBAAe,EAAf,CAAA,GAAA,cAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,6BAA0B,EAA1B,CAAA,GAAA,yBAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,aAAU,EAAV,CAAA,GAAA,SAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,iBAAc,EAAd,CAAA,GAAA,aAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,kBAAe,EAAf,CAAA,GAAA,cAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,iBAAc,EAAd,CAAA,GAAA,aAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,iBAAc,EAAd,CAAA,GAAA,aAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,iBAAc,EAAd,CAAA,GAAA,aAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,kBAAe,EAAf,CAAA,GAAA,cAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,kBAAe,EAAf,CAAA,GAAA,cAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,gBAAa,EAAb,CAAA,GAAA,YAAA,CAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,eAAY,EAAZ,CAAA,GAAA,WAAA,CAAA;AAlDW,EAAAA,OAAAA,aAAAA,CAAAA;AAAA,CAAA,EAAA,YAAA,IAAA,EAAA,EAAA;AAqDA,IAAA,QAAA,qBAAAC,SAAL,KAAA;AACN,EAAAA,UAAA,eAAgB,CAAA,GAAA,eAAA,CAAA;AAChB,EAAAA,UAAA,YAAa,CAAA,GAAA,YAAA,CAAA;AACb,EAAAA,UAAA,aAAc,CAAA,GAAA,aAAA,CAAA;AACd,EAAAA,UAAA,YAAa,CAAA,GAAA,YAAA,CAAA;AACb,EAAAA,UAAA,eAAgB,CAAA,GAAA,eAAA,CAAA;AALL,EAAAA,OAAAA,SAAAA,CAAAA;AAAA,CAAA,EAAA,QAAA,IAAA,EAAA,EAAA;AAkDA,IAAA,SAAA,qBAAAC,UAAL,KAAA;AACN,EAAAA,WAAA,MAAO,CAAA,GAAA,MAAA,CAAA;AACP,EAAAA,WAAA,mBAAoB,CAAA,GAAA,mBAAA,CAAA;AACpB,EAAAA,WAAA,uBAAwB,CAAA,GAAA,uBAAA,CAAA;AACxB,EAAAA,WAAA,OAAQ,CAAA,GAAA,OAAA,CAAA;AACR,EAAAA,WAAA,UAAW,CAAA,GAAA,UAAA,CAAA;AALA,EAAAA,OAAAA,UAAAA,CAAAA;AAAA,CAAA,EAAA,SAAA,IAAA,EAAA;;ACrHI,SAAA,qBAAA,CAA0D,IAAQ,EAAgB,EAAA;AACjG,EAAM,MAAA,MAAA,GAAS,EAAG,CAAA,CAAA,GAAI,EAAG,CAAA,CAAA,CAAA;AACzB,EAAM,MAAA,MAAA,GAAS,EAAG,CAAA,CAAA,GAAI,EAAG,CAAA,CAAA,CAAA;AACzB,EAAA,MAAM,WAAW,IAAK,CAAA,IAAA,CAAK,MAAU,IAAA,CAAA,GAAI,UAAU,CAAC,CAAA,CAAA;AACpD,EAAO,OAAA,QAAA,CAAA;AACR;;ACRA,MAAM,aAA0C,GAAA;AAAA,EAC/C,CAAC,QAAS,CAAA,aAAa,GAAG,CAAA;AAAA,EAC1B,CAAC,QAAS,CAAA,UAAU,GAAG,CAAA;AAAA,EACvB,CAAC,QAAS,CAAA,WAAW,GAAG,CAAA;AAAA,EACxB,CAAC,QAAS,CAAA,UAAU,GAAG,EAAA;AAAA,EACvB,CAAC,QAAS,CAAA,aAAa,GAAG,EAAA;AAC3B,CAAA,CAAA;AAKgB,SAAA,mBAAA,CAAoB,SAAkB,YAA+C,EAAA;AACpG,EAAA,MAAM,YAAY,YAAa,CAAA,GAAA,CAAI,UAAQ,qBAAsB,CAAA,OAAA,EAAS,IAAI,CAAC,CAAA,CAAA;AAC/E,EAAA,MAAM,UAAU,CAAC,GAAG,SAAS,CAAE,CAAA,IAAA,GAAO,CAAC,CAAA,CAAA;AACvC,EAAA,OAAO,YAAa,CAAA,SAAA,CAAU,OAAQ,CAAA,OAAO,CAAC,CAAA,CAAA;AAC/C,CAAA;AAKgB,SAAA,4BAAA,CACf,UACA,YACyB,EAAA;AACzB,EAAO,OAAA,QAAA,CACL,IAAS,CAAW,OAAA,KAAA;AACpB,IAAM,MAAA,WAAA,GAAc,mBAAoB,CAAA,OAAA,EAAS,YAAY,CAAA,CAAA;AAC7D,IAAO,OAAA;AAAA,MACN,OAAA;AAAA,MACA,WAAA;AAAA,KACD,CAAA;AAAA,GACA,CAAA,CACA,MAAO,CAAA,CAAA,IAAA,KAAQ,IAAI,CAAA,CAAA;AACtB,CAAA;AAKgB,SAAA,UAAA,CAAW,OAAe,IAAyB,EAAA;AAElE,EAAQ,OAAA,CAAA,KAAA,GAAQ,aAAc,CAAA,IAAI,CAAO,MAAA,CAAA,CAAA;AAC1C,CAAA;AAKO,SAAS,YAAY,KAAgC,EAAA;AAE3D,EAAO,OAAA,MAAA,CAAO,OAAO,QAAQ,CAAA,CAAE,OAAO,CAAQ,IAAA,KAAA,UAAA,CAAW,KAAO,EAAA,IAAI,CAAC,CAAA,CAAA;AACtE,CAAA;AAOgB,SAAA,mBAAA,CACf,OACA,KACuB,EAAA;AACvB,EAAA,MAAM,SAAY,GAAA,KAAA,CAAM,MAAO,CAAA,CAAC,MAAM,KAAU,KAAA;AAC/C,IAAA,OAAO,IAAK,CAAA,OAAA,CAAQ,KAAU,KAAA,KAAA,CAAM,KAAK,CAAE,CAAA,OAAA,CAAQ,KAAS,IAAA,IAAA,CAAK,OAAQ,CAAA,MAAA,KAAW,KAAM,CAAA,KAAK,EAAE,OAAQ,CAAA,MAAA,CAAA;AAAA,GACzG,CAAA,CAAA;AAED,EAAO,OAAA,SAAA,CAAU,IAAI,CAAS,IAAA,MAAA;AAAA,IAC7B,GAAK,EAAA,KAAA,CAAM,KAAM,CAAA,OAAA,CAAQ,IAAI,CAAC,CAAA;AAAA,IAC9B,GAAK,EAAA,IAAA;AAAA,GACJ,CAAA,CAAA,CAAA;AACH,CAAA;AAEO,SAAS,yBAAyB,IAAwC,EAAA;AAChF,EAAA,MAAM,QAAW,GAAA,WAAA,CAAY,IAAK,CAAA,GAAA,CAAI,QAAQ,KAAK,CAAA,CAAA;AACnD,EAAA,MAAM,QAAW,GAAA,WAAA,CAAY,IAAK,CAAA,GAAA,CAAI,QAAQ,KAAK,CAAA,CAAA;AAEnD,EACC,IAAA,QAAA,CAAS,SAAS,QAAS,CAAA,WAAW,MAAM,KAC5C,IAAA,QAAA,CAAS,SAAS,QAAS,CAAA,WAAW,MAAM,IAC5C,IAAA,IAAA,CAAK,IAAI,OAAQ,CAAA,MAAA,KAAW,UAC5B,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,MAAA,KAAW,MAC3B,EAAA;AACD,IAAO,OAAA;AAAA,MACN,OAAO,SAAU,CAAA,iBAAA;AAAA,MACjB,MAAA,EAAQ,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,MAAA;AAAA,MACzB,QAAA,EAAU,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,QAAA;AAAA,MAC3B,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,CAAA;AAAA,MACpB,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,CAAA;AAAA,MACpB,IAAA,EAAM,IAAK,CAAA,GAAA,CAAI,WAAY,CAAA,IAAA;AAAA,KAC5B,CAAA;AAAA,GACD;AAEA,EAAA,IACC,SAAS,QAAS,CAAA,QAAA,CAAS,WAAW,CAAA,KAAM,QAC5C,QAAS,CAAA,QAAA,CAAS,QAAS,CAAA,WAAW,MAAM,KAC5C,IAAA,IAAA,CAAK,GAAI,CAAA,OAAA,CAAQ,WAAW,MAC5B,IAAA,IAAA,CAAK,GAAI,CAAA,OAAA,CAAQ,WAAW,MAC5B,IAAA,IAAA,CAAK,GAAI,CAAA,OAAA,CAAQ,aAAa,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,QAAA,IAC/C,KAAK,GAAI,CAAA,OAAA,CAAQ,WAAW,IAAK,CAAA,GAAA,CAAI,QAAQ,MAC5C,EAAA;AACD,IAAO,OAAA;AAAA,MACN,OAAO,SAAU,CAAA,QAAA;AAAA,MACjB,MAAA,EAAQ,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,MAAA;AAAA,MACzB,QAAA,EAAU,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,QAAA;AAAA,MAC3B,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,CAAA;AAAA,MACpB,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,CAAA;AAAA,MACpB,IAAA,EAAM,IAAK,CAAA,GAAA,CAAI,WAAY,CAAA,IAAA;AAAA,KAC5B,CAAA;AAAA,GACD;AAEA,EACC,IAAA,QAAA,CAAS,SAAS,QAAS,CAAA,WAAW,MAAM,KAC5C,IAAA,QAAA,CAAS,SAAS,QAAS,CAAA,WAAW,MAAM,KAC5C,IAAA,IAAA,CAAK,IAAI,OAAQ,CAAA,MAAA,KAAW,UAC5B,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,MAAA,KAAW,MAC3B,EAAA;AACD,IAAO,OAAA;AAAA,MACN,OAAO,SAAU,CAAA,KAAA;AAAA,MACjB,MAAA,EAAQ,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,MAAA;AAAA,MACzB,QAAA,EAAU,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,QAAA;AAAA,MAC3B,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,CAAA;AAAA,MACpB,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,CAAA;AAAA,MACpB,IAAA,EAAM,IAAK,CAAA,GAAA,CAAI,WAAY,CAAA,IAAA;AAAA,KAC5B,CAAA;AAAA,GACD;AAEA,EACC,IAAA,QAAA,CAAS,QAAS,CAAA,QAAA,CAAS,WAAW,CAAA,KAAM,QAC5C,QAAS,CAAA,QAAA,CAAS,QAAS,CAAA,WAAW,CAAM,KAAA,KAAA,IAC5C,KAAK,GAAI,CAAA,OAAA,CAAQ,MAAW,KAAA,MAAA,IAC5B,IAAK,CAAA,GAAA,CAAI,QAAQ,MAAW,KAAA,IAAA,CAAK,GAAI,CAAA,OAAA,CAAQ,MAC5C,EAAA;AACD,IAAO,OAAA;AAAA,MACN,OAAO,SAAU,CAAA,KAAA;AAAA,MACjB,MAAA,EAAQ,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,MAAA;AAAA,MACzB,QAAA,EAAU,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,QAAA;AAAA,MAC3B,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,CAAA;AAAA,MACpB,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,CAAA;AAAA,MACpB,IAAA,EAAM,IAAK,CAAA,GAAA,CAAI,WAAY,CAAA,IAAA;AAAA,KAC5B,CAAA;AAAA,GACD;AAEA,EACC,IAAA,QAAA,CAAS,SAAS,QAAS,CAAA,WAAW,MAAM,KAC5C,IAAA,QAAA,CAAS,SAAS,QAAS,CAAA,WAAW,MAAM,KAC5C,IAAA,IAAA,CAAK,IAAI,OAAQ,CAAA,MAAA,KAAW,UAC5B,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,MAAA,KAAW,MAC3B,EAAA;AACD,IAAO,OAAA;AAAA,MACN,OAAO,SAAU,CAAA,IAAA;AAAA,MACjB,MAAA,EAAQ,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,MAAA;AAAA,MACzB,QAAA,EAAU,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,QAAA;AAAA,MAC3B,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,CAAA;AAAA,MACpB,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,CAAA;AAAA,MACpB,IAAA,EAAM,IAAK,CAAA,GAAA,CAAI,WAAY,CAAA,IAAA;AAAA,KAC5B,CAAA;AAAA,GACD;AAEA,EACC,IAAA,QAAA,CAAS,SAAS,QAAS,CAAA,WAAW,MAAM,IAC5C,IAAA,QAAA,CAAS,SAAS,QAAS,CAAA,WAAW,MAAM,KAC5C,IAAA,IAAA,CAAK,IAAI,OAAQ,CAAA,MAAA,KAAW,UAC5B,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,MAAA,KAAW,MAC3B,EAAA;AACD,IAAO,OAAA;AAAA,MACN,OAAO,SAAU,CAAA,qBAAA;AAAA,MACjB,MAAA,EAAQ,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,MAAA;AAAA,MACzB,QAAA,EAAU,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,QAAA;AAAA,MAC3B,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,CAAA;AAAA,MACpB,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,OAAQ,CAAA,CAAA;AAAA,MACpB,IAAA,EAAM,IAAK,CAAA,GAAA,CAAI,WAAY,CAAA,IAAA;AAAA,KAC5B,CAAA;AAAA,GACD;AAEA,EAAO,OAAA,KAAA,CAAA,CAAA;AACR;;;;"}
{"version":3,"file":"index.mjs","sources":["src/types.ts","src/math.ts","src/war-api.ts"],"sourcesContent":["export type TeamId = 'WARDENS' | 'COLONIALS' | 'NONE';\n\nexport interface WarInfo {\n\twarId: string;\n\twarNumber: number;\n\twinner: TeamId;\n\tconquestStartTime: number;\n\tconquestEndTime: number | null;\n\tresistanceStartTime: number | null;\n\trequiredVictoryTowns: number;\n}\n\nexport interface WarReport {\n\ttotalEnlistments: number;\n\tcolonialCasualties: number;\n\twardenCasualties: number;\n\tdayOfWar: number;\n\tversion: number;\n}\n\nexport enum MapIconTypes {\n\tStatic_Base_1 = 5, // Removed in v0.46\n\tStatic_Base_2 = 6, // Removed in v0.46\n\tStatic_Base_3 = 7, // Removed in v0.46\n\tForward_Base_1 = 8,\n\tForward_Base_2 = 9, // Removed in v0.50\n\tForward_Base_3 = 10, // Removed in v0.50\n\tHospital = 11,\n\tVehicle_Factory = 12,\n\tArmory = 13,\n\tSupply_Station = 14,\n\tWorkshop = 15,\n\tManufacturing_Plant = 16,\n\tRefinery = 17,\n\tShipyard = 18,\n\tTech_Center = 19, // (Engineering Center in v0.37)\n\tSalvage_Field = 20,\n\tComponent_Field = 21,\n\tFuel_Field = 22,\n\tSulfur_Field = 23,\n\tWorld_Map_Tent = 24,\n\tTravel_Tent = 25,\n\tTraining_Area = 26,\n\tSpecial_Base_Keep = 27, // v0.14\n\tObservation_Tower = 28, // v0.14\n\tFort = 29, // v0.14\n\tTroop_Ship = 30, // v0.14\n\tSulfur_Mine = 32, // v0.16\n\tStorage_Facility = 33, // v0.17\n\tFactory = 34, // v0.17\n\tGarrison_Station = 35, // v0.20\n\tAmmo_Factory = 36, // v0.20\n\tRocket_Site = 37, // v0.20\n\tSalvage_Mine = 38, // v0.22\n\tConstruction_Yard = 39, // v0.26\n\tComponent_Mine = 40, // v0.26\n\tOil_Well = 41, // v0.26 // Removed in v0.50\n\tRelic_Base_1 = 45, // v0.32\n\tRelic_Base_2 = 46, // v0.32\n\tRelic_Base_3 = 47, // v0.32\n\tMass_Production_Factory = 51, // v0.35\n\tSeaport = 52, // v0.37\n\tCoastal_Gun = 53, // v0.37\n\tSoul_Factory = 54, // v0.39\n\tTown_Base_1 = 56, // v0.46\n\tTown_Base_2 = 57, // v0.46\n\tTown_Base_3 = 58, // v0.46\n\tStorm_Cannon = 59, // v0.47\n\tIntel_Center = 60, // v0.47\n\tCoal_Field = 61, // v0.50\n\tOil_Field = 62, // v0.50\n}\n\nexport enum MapFlags {\n\tIsVictoryBase = 'IsVictoryBase',\n\tIsHomeBase = 'IsHomeBase', // Removed in v0.29\n\tIsBuildSite = 'IsBuildSite',\n\tIsScorched = 'IsScorched', // v0.22\n\tIsTownClaimed = 'IsTownClaimed', // v0.26\n}\n\nexport interface MapItem {\n\tteamId: TeamId;\n\ticonType: MapIconTypes;\n\tx: number;\n\ty: number;\n\tflags: number;\n}\n\nexport interface MapData {\n\tregionId: number;\n\tscorchedVictoryTowns: number;\n\tmapItems: Array<MapItem>;\n\tmapTextItems: Array<MapTextItem>;\n\tlastUpdated: number;\n\tversion: number;\n}\n\nexport type MapMarkerType = 'Major' | 'Minor';\n\nexport interface MapTextItem {\n\ttext: string;\n\tx: number;\n\ty: number;\n\tmapMarkerType: MapMarkerType;\n}\n\nexport interface CombinedMapData {\n\tmapItem: MapItem;\n\tmapTextItem: MapTextItem;\n}\n\nexport interface DiffedMapData {\n\told: {\n\t\tmapItem: MapItem;\n\t\tmapTextItem: MapTextItem;\n\t};\n\tnew: {\n\t\tmapItem: MapItem;\n\t\tmapTextItem: MapTextItem;\n\t};\n}\n\nexport enum EventType {\n\tLost = 'Lost',\n\tUnderConstruction = 'UnderConstruction',\n\tConstructionCancelled = 'ConstructionCancelled',\n\tTaken = 'Taken',\n\tUpgraded = 'Upgraded',\n}\n\nexport interface Event {\n\tdate: Date;\n\tevent: EventType;\n\tbyTeam: TeamId;\n\ticonType: number;\n\ttext: string;\n\tx: number;\n\ty: number;\n}\n","// Define the Point type\nexport type Point = { x: number; y: number };\n\n/**\n * Calculates the distance between two points using the Pythagorean theorem.\n */\nexport function distanceBetweenPoints<P1 extends Point, P2 extends Point>(p1: P1, p2: P2): number {\n\tconst deltaX = p2.x - p1.x;\n\tconst deltaY = p2.y - p1.y;\n\tconst distance = Math.sqrt(deltaX ** 2 + deltaY ** 2);\n\treturn distance;\n}\n","import { CombinedMapData, DiffedMapData, Event, EventType, MapFlags, MapItem, MapTextItem } from './types';\nimport { distanceBetweenPoints } from './math';\n\nconst mapFlagValues: Record<MapFlags, number> = {\n\t[MapFlags.IsVictoryBase]: 0x01,\n\t[MapFlags.IsHomeBase]: 0x02,\n\t[MapFlags.IsBuildSite]: 0x04,\n\t[MapFlags.IsScorched]: 0x10,\n\t[MapFlags.IsTownClaimed]: 0x20,\n};\n\n/**\n * Given a MapItem and a list of MapTextItems, finds the nearest MapTextItem. This is useful for determining which town a MapItem belongs to.\n */\nexport function findNearestTextItem(mapItem: MapItem, mapTextItems: Array<MapTextItem>): MapTextItem {\n\tconst distances = mapTextItems.map(item => distanceBetweenPoints(mapItem, item));\n\tconst closest = [...distances].sort()[0];\n\treturn mapTextItems[distances.indexOf(closest)];\n}\n\n/**\n * Matches each MapItem with the closest MapTextItem.\n */\nexport function combineDynamicWithStaticData(\n\tmapItems: Array<MapItem>,\n\tmapTextItems: Array<MapTextItem>\n): Array<CombinedMapData> {\n\treturn mapItems\n\t\t.map<any>(mapItem => {\n\t\t\tconst mapTextItem = findNearestTextItem(mapItem, mapTextItems);\n\t\t\treturn {\n\t\t\t\tmapItem,\n\t\t\t\tmapTextItem,\n\t\t\t};\n\t\t})\n\t\t.filter(item => item);\n}\n\n/**\n * Returns true if the flags number contains the given MapFlag.\n */\nexport function hasMapFlag(flags: number, flag: MapFlags): boolean {\n\t// eslint-disable-next-line no-bitwise\n\treturn (flags & mapFlagValues[flag]) !== 0;\n}\n\n/**\n * Returns a list of each MapFlag that the flags contain.\n */\nexport function getMapFlags(flags: number): Array<MapFlags> {\n\t// eslint-disable-next-line no-bitwise\n\treturn Object.values(MapFlags).filter(flag => hasMapFlag(flags, flag));\n}\n\n/**\n * Returns a list of CombinedMapData where the map flags or team id from the two arguments is different. Assumes that the order of the two lists is the same.\n * @param data1\n * @param data2\n */\nexport function diffCombinedMapData(\n\tdata1: Array<CombinedMapData>,\n\tdata2: Array<CombinedMapData>\n): Array<DiffedMapData> {\n\tconst different = data2.filter((item, index) => {\n\t\treturn item.mapItem.flags !== data1[index].mapItem.flags || item.mapItem.teamId !== data1[index].mapItem.teamId;\n\t});\n\n\treturn different.map(item => ({\n\t\told: data1[data2.indexOf(item)],\n\t\tnew: item,\n\t}));\n}\n\nexport function determineEventStatusType(data: DiffedMapData): Event | undefined {\n\tconst oldFlags = getMapFlags(data.old.mapItem.flags);\n\tconst newFlags = getMapFlags(data.new.mapItem.flags);\n\tconst date = new Date();\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === true &&\n\t\tdata.old.mapItem.teamId === 'NONE' &&\n\t\tdata.new.mapItem.teamId !== 'NONE'\n\t) {\n\t\treturn {\n\t\t\tdate,\n\t\t\tevent: EventType.UnderConstruction,\n\t\t\tbyTeam: data.new.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === true &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId !== 'NONE' &&\n\t\tdata.new.mapItem.teamId !== 'NONE' &&\n\t\tdata.old.mapItem.iconType !== data.new.mapItem.iconType &&\n\t\tdata.old.mapItem.teamId === data.new.mapItem.teamId\n\t) {\n\t\treturn {\n\t\t\tdate,\n\t\t\tevent: EventType.Upgraded,\n\t\t\tbyTeam: data.new.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId === 'NONE' &&\n\t\tdata.new.mapItem.teamId !== 'NONE'\n\t) {\n\t\treturn {\n\t\t\tdate,\n\t\t\tevent: EventType.Taken,\n\t\t\tbyTeam: data.new.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === true &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId !== 'NONE' &&\n\t\tdata.old.mapItem.teamId === data.new.mapItem.teamId\n\t) {\n\t\treturn {\n\t\t\tdate,\n\t\t\tevent: EventType.Taken,\n\t\t\tbyTeam: data.new.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId !== 'NONE' &&\n\t\tdata.new.mapItem.teamId === 'NONE'\n\t) {\n\t\treturn {\n\t\t\tdate,\n\t\t\tevent: EventType.Lost,\n\t\t\tbyTeam: data.old.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\tif (\n\t\toldFlags.includes(MapFlags.IsBuildSite) === true &&\n\t\tnewFlags.includes(MapFlags.IsBuildSite) === false &&\n\t\tdata.old.mapItem.teamId !== 'NONE' &&\n\t\tdata.new.mapItem.teamId === 'NONE'\n\t) {\n\t\treturn {\n\t\t\tdate,\n\t\t\tevent: EventType.ConstructionCancelled,\n\t\t\tbyTeam: data.old.mapItem.teamId,\n\t\t\ticonType: data.old.mapItem.iconType,\n\t\t\tx: data.old.mapItem.x,\n\t\t\ty: data.old.mapItem.y,\n\t\t\ttext: data.old.mapTextItem.text,\n\t\t};\n\t}\n\n\treturn undefined;\n}\n"],"names":["MapIconTypes","MapFlags","EventType"],"mappings":"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"}
{
"name": "foxhole-warapi",
"version": "1.6.0",
"version": "1.7.0",
"description": "Foxhole WarAPI utilities and types",

@@ -5,0 +5,0 @@ "source": "src/index.ts",

@@ -1,2 +0,2 @@

![](https://img.shields.io/badge/Coverage-92%25-83A603.svg?prefix=$coverage$)
![](https://img.shields.io/badge/Coverage-93%25-83A603.svg?prefix=$coverage$)
[![pipeline status](https://github.com/art0rz/foxhole-warapi/actions/workflows/release.yml/badge.svg)](https://github.com/github/docs/actions/workflows/main.yml/badge.svg)

@@ -3,0 +3,0 @@ [![npm version](https://badge.fury.io/js/foxhole-warapi.svg)](https://www.npmjs.com/package/foxhole-warapi)