isaacscript-common 12.3.7 → 12.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/index.d.ts +9 -8
  2. package/dist/isaacscript-common.lua +65 -17
  3. package/dist/src/core/constants.d.ts +1 -0
  4. package/dist/src/core/constants.d.ts.map +1 -1
  5. package/dist/src/core/constants.lua +1 -0
  6. package/dist/src/features/extraConsoleCommands/listCommands.d.ts +2 -0
  7. package/dist/src/features/extraConsoleCommands/listCommands.d.ts.map +1 -1
  8. package/dist/src/features/extraConsoleCommands/listCommands.lua +6 -0
  9. package/dist/src/features/fadeInRemover.lua +1 -6
  10. package/dist/src/features/saveDataManager/exports.d.ts +1 -1
  11. package/dist/src/features/saveDataManager/exports.lua +1 -1
  12. package/dist/src/features/saveDataManager/main.d.ts.map +1 -1
  13. package/dist/src/features/saveDataManager/main.lua +22 -8
  14. package/dist/src/functions/ui.d.ts +6 -7
  15. package/dist/src/functions/ui.d.ts.map +1 -1
  16. package/dist/src/functions/ui.lua +7 -9
  17. package/dist/src/sets/entitiesWithArmorSet.d.ts +8 -0
  18. package/dist/src/sets/entitiesWithArmorSet.d.ts.map +1 -0
  19. package/dist/src/sets/entitiesWithArmorSet.lua +36 -0
  20. package/package.json +1 -1
  21. package/src/core/constants.ts +2 -0
  22. package/src/features/extraConsoleCommands/listCommands.ts +10 -1
  23. package/src/features/fadeInRemover.ts +1 -1
  24. package/src/features/saveDataManager/exports.ts +1 -1
  25. package/src/features/saveDataManager/main.ts +24 -0
  26. package/src/functions/ui.ts +7 -10
  27. package/src/sets/entitiesWithArmorSet.ts +58 -0
  28. package/dist/src/indexLua.d.ts +0 -181
  29. package/dist/src/indexLua.d.ts.map +0 -1
  30. package/dist/src/indexLua.lua +0 -1282
@@ -138,6 +138,18 @@ function makeGlowingHourGlassBackup() {
138
138
  iterateTableInOrder(
139
139
  saveDataMap,
140
140
  (subscriberName, saveData) => {
141
+ // We make the Glowing Hour Glass backup using `SerializationType.SERIALIZE`, which means that
142
+ // we cannot operate on unserializable data, such as functions. Save data that utilizes
143
+ // unserializable data will typically be marked using a conditional function that evaluates to
144
+ // false, so we skip all save data that matches this criteria.
145
+ const conditionalFunc = saveDataConditionalFuncMap.get(subscriberName);
146
+ if (conditionalFunc !== undefined) {
147
+ const shouldSave = conditionalFunc();
148
+ if (!shouldSave) {
149
+ return;
150
+ }
151
+ }
152
+
141
153
  for (const saveDataKey of SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_BACKUP_KEYS) {
142
154
  const childTable = saveData[saveDataKey];
143
155
  if (childTable === undefined) {
@@ -180,6 +192,18 @@ function restoreGlowingHourGlassBackup() {
180
192
  iterateTableInOrder(
181
193
  saveDataMap,
182
194
  (subscriberName, saveData) => {
195
+ // We make the Glowing Hour Glass backup using `SerializationType.SERIALIZE`, which means that
196
+ // we cannot operate on unserializable data, such as functions. Save data that utilizes
197
+ // unserializable data will typically be marked using a conditional function that evaluates to
198
+ // false, so we skip all save data that matches this criteria.
199
+ const conditionalFunc = saveDataConditionalFuncMap.get(subscriberName);
200
+ if (conditionalFunc !== undefined) {
201
+ const shouldSave = conditionalFunc();
202
+ if (!shouldSave) {
203
+ return;
204
+ }
205
+ }
206
+
183
207
  for (const saveDataKey of SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_BACKUP_KEYS) {
184
208
  const childTable = saveData[saveDataKey];
185
209
  if (childTable === undefined) {
@@ -4,24 +4,21 @@ import { UI_HEART_WIDTH, VectorZero } from "../core/constants";
4
4
  import { copyVector } from "./vector";
5
5
 
6
6
  /**
7
- * In the options menu, players have the ability to set a HUD offset. However, mods do not have
8
- * access to this value. To get around this, Mod Config Menu provides a separate HUD offset setting
9
- * on the first page of the menu. This is intended to be set by end-users to match their vanilla HUD
10
- * offset setting so that mods can render UI elements to the screen in the correct position.
7
+ * In the options menu, players have the ability to set a HUD offset. This uses the current HUD
8
+ * offset to generate a vector that should be added to the corresponding position that you want to
9
+ * draw a UI element.
11
10
  *
12
- * @returns If the user does not have Mod Config Menu enabled, or does not have this option set,
13
- * then this function will return `Vector.Zero.` Otherwise, it will return a Vector that
14
- * represents a HUD offset that should be added to the position of a UI element.
11
+ * For example:
12
+ * - If the user does not have a HUD offset configured, this function will return `Vector(0, 0)`.
13
+ * - If the user has a HUD offset of 1.0 configured, this function will return 10
15
14
  */
16
15
  export function getHUDOffsetVector(): Vector {
17
- const defaultVector = copyVector(VectorZero);
18
-
19
16
  // Convert e.g. 0.4 to 4.
20
17
  const hudOffset = math.floor(Options.HUDOffset * 10);
21
18
 
22
19
  // Expected values are integers between 1 and 10.
23
20
  if (hudOffset < 1 || hudOffset > 10) {
24
- return defaultVector;
21
+ return copyVector(VectorZero);
25
22
  }
26
23
 
27
24
  const x = hudOffset * 2;
@@ -0,0 +1,58 @@
1
+ import {
2
+ BeastVariant,
3
+ BoomFlyVariant,
4
+ DogmaVariant,
5
+ EntityType,
6
+ HiveVariant,
7
+ HopperVariant,
8
+ MotherVariant,
9
+ PooterVariant,
10
+ } from "isaac-typescript-definitions";
11
+
12
+ /**
13
+ * Corresponds to:
14
+ * https://bindingofisaacrebirth.fandom.com/wiki/Damage_Scaling#Entities_with_Armor_Values
15
+ *
16
+ * We use the entity ID instead of type + variant tuple so that we can have O(1) lookups.
17
+ */
18
+ export const ENTITIES_WITH_ARMOR_SET = new Set([
19
+ `${EntityType.POOTER}.${PooterVariant.TAINTED_POOTER}`, // 14.2
20
+ `${EntityType.HIVE}.${HiveVariant.TAINTED_MULLIGAN}`, // 22.3
21
+ `${EntityType.BOOM_FLY}.${BoomFlyVariant.TAINTED_BOOM_FLY}`, // 22.6
22
+ `${EntityType.HOPPER}.${HopperVariant.TAINTED_HOPPER}`, // 29.3
23
+ `${EntityType.SPITTY}`, // 31.1
24
+ // 61.7
25
+ // 102.2
26
+ // 240.3
27
+ // 244.2
28
+ // 244.3
29
+ // 274.0
30
+ // 274.1
31
+ // 274.2
32
+ // 275.0
33
+ // 275.1
34
+ // 275.2
35
+ // 406.0
36
+ // 407.0
37
+ // 412.0
38
+ // 802.0
39
+ // 802.1
40
+ // 812.1
41
+ // 827.1
42
+ // 829.1
43
+ // 831.0
44
+ // 850.0
45
+ // 850.1
46
+ // 850.2
47
+ // 855.0
48
+ // 855.1
49
+ // 888.0
50
+ `${EntityType.MOTHER}.${MotherVariant.MOTHER_1}`, // 912.0
51
+ `${EntityType.MOTHER}.${MotherVariant.MOTHER_2}`, // 912.10
52
+ `${EntityType.DOGMA}.${DogmaVariant.DOGMA_PHASE_1}`, // 950.0
53
+ `${EntityType.BEAST}.${BeastVariant.BEAST}`, // 951.0
54
+ `${EntityType.BEAST}.${BeastVariant.ULTRA_FAMINE}`, // 951.10
55
+ `${EntityType.BEAST}.${BeastVariant.ULTRA_PESTILENCE}`, // 951.20
56
+ `${EntityType.BEAST}.${BeastVariant.ULTRA_WAR}`, // 951.30
57
+ `${EntityType.BEAST}.${BeastVariant.ULTRA_DEATH}`, // 951.40
58
+ ]);
@@ -1,181 +0,0 @@
1
- export * from "./classes/DefaultMap";
2
- export * from "./classes/ModUpgraded";
3
- export * from "./core/cachedClasses";
4
- export * from "./core/constants";
5
- export * from "./core/constantsFirstLast";
6
- export * from "./core/upgradeMod";
7
- export * from "./enums/AmbushType";
8
- export * from "./enums/CornerType";
9
- export * from "./enums/HealthType";
10
- export * from "./enums/ModCallbackCustom";
11
- export * from "./enums/PocketItemType";
12
- export * from "./enums/RockAltType";
13
- export * from "./enums/SaveDataKey";
14
- export * from "./enums/SerializationType";
15
- export * from "./enums/SlotDestructionType";
16
- export * from "./enums/StatType";
17
- export * from "./features/characterHealthConversion";
18
- export * from "./features/characterStats";
19
- export * from "./features/collectibleItemPoolType";
20
- export * from "./features/customDoor";
21
- export * from "./features/customGridEntity";
22
- export * from "./features/customPickup";
23
- export * from "./features/customStage/exports";
24
- export * from "./features/customTrapdoor/exports";
25
- export * from "./features/debugDisplay/exports";
26
- export * from "./features/deployJSONRoom";
27
- export * from "./features/disableAllSound";
28
- export * from "./features/disableInputs";
29
- export * from "./features/extraConsoleCommands/exports";
30
- export * from "./features/fadeInRemover";
31
- export * from "./features/fastReset";
32
- export * from "./features/firstLast";
33
- export * from "./features/forgottenSwitch";
34
- export * from "./features/pause";
35
- export * from "./features/persistentEntities";
36
- export * from "./features/pickupIndex";
37
- export * from "./features/playerInventory";
38
- export * from "./features/ponyDetection";
39
- export * from "./features/preventChildEntities";
40
- export * from "./features/preventCollectibleRotation";
41
- export * from "./features/registerHotkey";
42
- export * from "./features/roomClearFrame";
43
- export * from "./features/roomHistory";
44
- export * from "./features/runInNFrames";
45
- export * from "./features/saveDataManager/exports";
46
- export * from "./features/sirenHelpers";
47
- export * from "./features/stageHistory";
48
- export * from "./features/taintedLazarusPlayers";
49
- export * from "./functions/ambush";
50
- export * from "./functions/array";
51
- export * from "./functions/arrayLua";
52
- export * from "./functions/benchmark";
53
- export * from "./functions/bitSet128";
54
- export * from "./functions/bitwise";
55
- export * from "./functions/bombs";
56
- export * from "./functions/bosses";
57
- export * from "./functions/cards";
58
- export * from "./functions/challenges";
59
- export * from "./functions/characters";
60
- export * from "./functions/charge";
61
- export * from "./functions/chargeBar";
62
- export * from "./functions/collectibleCacheFlag";
63
- export * from "./functions/collectibles";
64
- export * from "./functions/collectibleSet";
65
- export * from "./functions/collectibleTag";
66
- export * from "./functions/color";
67
- export * from "./functions/curses";
68
- export * from "./functions/debugFunctions";
69
- export * from "./functions/deepCopy";
70
- export * from "./functions/deepCopyTests";
71
- export * from "./functions/dimensions";
72
- export * from "./functions/direction";
73
- export * from "./functions/doors";
74
- export * from "./functions/easing";
75
- export * from "./functions/eden";
76
- export * from "./functions/effects";
77
- export * from "./functions/entities";
78
- export * from "./functions/entitiesSpecific";
79
- export * from "./functions/entityTypes";
80
- export * from "./functions/enums";
81
- export * from "./functions/familiars";
82
- export * from "./functions/flag";
83
- export * from "./functions/flying";
84
- export * from "./functions/globals";
85
- export * from "./functions/gridEntities";
86
- export * from "./functions/gridEntitiesSpecific";
87
- export * from "./functions/hex";
88
- export * from "./functions/initArray";
89
- export * from "./functions/input";
90
- export * from "./functions/isaacAPIClass";
91
- export * from "./functions/itemPool";
92
- export * from "./functions/jsonHelpers";
93
- export * from "./functions/jsonRoom";
94
- export * from "./functions/kColor";
95
- export * from "./functions/language";
96
- export * from "./functions/level";
97
- export * from "./functions/levelGrid";
98
- export * from "./functions/log";
99
- export * from "./functions/logEntities";
100
- export * from "./functions/map";
101
- export * from "./functions/math";
102
- export * from "./functions/mergeTests";
103
- export * from "./functions/minimap";
104
- export * from "./functions/nextStage";
105
- export * from "./functions/npcs";
106
- export * from "./functions/pickups";
107
- export * from "./functions/pickupsSpecific";
108
- export * from "./functions/pickupVariants";
109
- export * from "./functions/pills";
110
- export * from "./functions/playerCenter";
111
- export * from "./functions/playerDataStructures";
112
- export * from "./functions/playerHealth";
113
- export * from "./functions/playerIndex";
114
- export * from "./functions/players";
115
- export * from "./functions/playerStats";
116
- export * from "./functions/pocketItems";
117
- export * from "./functions/positionVelocity";
118
- export * from "./functions/pressurePlate";
119
- export * from "./functions/projectiles";
120
- export * from "./functions/random";
121
- export * from "./functions/reorderedCallbacks";
122
- export * from "./functions/revive";
123
- export * from "./functions/rng";
124
- export * from "./functions/rockAlt";
125
- export * from "./functions/roomData";
126
- export * from "./functions/roomGrid";
127
- export * from "./functions/rooms";
128
- export * from "./functions/roomShape";
129
- export * from "./functions/roomTransition";
130
- export * from "./functions/run";
131
- export * from "./functions/saveFile";
132
- export * from "./functions/seeds";
133
- export * from "./functions/serialization";
134
- export * from "./functions/set";
135
- export * from "./functions/sound";
136
- export * from "./functions/spawnCollectible";
137
- export * from "./functions/sprites";
138
- export * from "./functions/stage";
139
- export * from "./functions/string";
140
- export * from "./functions/table";
141
- export * from "./functions/tears";
142
- export * from "./functions/transformations";
143
- export * from "./functions/trinketCacheFlag";
144
- export * from "./functions/trinketGive";
145
- export * from "./functions/trinkets";
146
- export * from "./functions/trinketSet";
147
- export * from "./functions/tstlClass";
148
- export * from "./functions/types";
149
- export * from "./functions/ui";
150
- export * from "./functions/utils";
151
- export * from "./functions/vector";
152
- export * from "./functions/weighted";
153
- export * from "./interfaces/ChargeBarSprites";
154
- export * from "./interfaces/Corner";
155
- export * from "./interfaces/CustomStageTSConfig";
156
- export * from "./interfaces/GridEntityCustomData";
157
- export * from "./interfaces/JSONRoomsFile";
158
- export * from "./interfaces/PlayerHealth";
159
- export * from "./interfaces/PocketItemDescription";
160
- export * from "./interfaces/RoomDescription";
161
- export * from "./interfaces/SaveData";
162
- export * from "./interfaces/StatTypeType";
163
- export * from "./interfaces/TrinketSituation";
164
- export * from "./maps/cardNameToTypeMap";
165
- export * from "./maps/characterNameToTypeMap";
166
- export * from "./maps/pillNameToEffectMap";
167
- export * from "./maps/roomNameToTypeMap";
168
- export * from "./objects/colors";
169
- export * from "./objects/kColors";
170
- export * from "./types/AnyEntity";
171
- export * from "./types/AnyGridEntity";
172
- export * from "./types/CollectibleIndex";
173
- export * from "./types/Immutable";
174
- export * from "./types/PickingUpItem";
175
- export * from "./types/PickupIndex";
176
- export * from "./types/PlayerIndex";
177
- export * from "./types/PossibleStatType";
178
- export * from "./types/TSTLClass";
179
- export * from "./types/WeightedArray";
180
- export * from "isaac-typescript-definitions";
181
- //# sourceMappingURL=indexLua.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indexLua.d.ts","sourceRoot":"","sources":["../../src/indexLua.ts"],"names":[],"mappings":"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"}