isaacscript-common 6.3.0 → 6.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 (58) hide show
  1. package/cachedClasses.d.ts +15 -0
  2. package/cachedClasses.lua +20 -0
  3. package/constants.d.ts +17 -4
  4. package/constants.lua +13 -4
  5. package/features/customStage/backdrop.lua +4 -2
  6. package/features/customStage/customStageConstants.d.ts +1 -0
  7. package/features/customStage/customStageConstants.lua +3 -0
  8. package/features/customStage/exports.d.ts +27 -0
  9. package/features/customStage/exports.lua +33 -3
  10. package/features/customStage/init.lua +14 -7
  11. package/features/customStage/streakText.d.ts +2 -0
  12. package/features/customStage/streakText.lua +22 -0
  13. package/features/customStage/v.d.ts +3 -0
  14. package/features/customStage/v.lua +3 -1
  15. package/features/customStage/versusScreen.d.ts +3 -0
  16. package/features/customStage/versusScreen.lua +193 -0
  17. package/features/deployJSONRoom.lua +6 -2
  18. package/features/saveDataManager/exports.lua +2 -2
  19. package/features/saveDataManager/load.lua +3 -3
  20. package/features/saveDataManager/main.lua +3 -3
  21. package/features/saveDataManager/merge.lua +2 -2
  22. package/features/saveDataManager/save.lua +3 -3
  23. package/features/saveDataManager/{constants.d.ts → saveDataManagerConstants.d.ts} +0 -0
  24. package/features/saveDataManager/{constants.lua → saveDataManagerConstants.lua} +0 -0
  25. package/functions/color.d.ts +0 -2
  26. package/functions/color.lua +0 -4
  27. package/functions/deepCopy.lua +2 -2
  28. package/functions/entity.d.ts +5 -0
  29. package/functions/entity.lua +13 -0
  30. package/functions/gridEntity.d.ts +5 -0
  31. package/functions/gridEntity.lua +7 -2
  32. package/functions/kColor.d.ts +0 -2
  33. package/functions/kColor.lua +0 -4
  34. package/functions/log.lua +2 -1
  35. package/functions/ui.d.ts +2 -0
  36. package/functions/ui.lua +8 -0
  37. package/functions/utils.d.ts +6 -4
  38. package/functions/utils.lua +6 -4
  39. package/interfaces/CustomStageLua.d.ts +25 -0
  40. package/objects/bossNamePNGFileNames.d.ts +5 -0
  41. package/objects/bossNamePNGFileNames.lua +108 -0
  42. package/objects/bossPortraitPNGFileNames.d.ts +5 -0
  43. package/objects/bossPortraitPNGFileNames.lua +108 -0
  44. package/objects/colors.d.ts +15 -8
  45. package/objects/colors.lua +9 -2
  46. package/objects/playerNamePNGFileNames.d.ts +5 -0
  47. package/objects/playerNamePNGFileNames.lua +49 -0
  48. package/objects/playerPortraitPNGFileNames.d.ts +5 -0
  49. package/objects/playerPortraitPNGFileNames.lua +49 -0
  50. package/objects/versusScreenBackgroundColors.d.ts +5 -0
  51. package/objects/versusScreenBackgroundColors.lua +38 -0
  52. package/objects/versusScreenDirtSpotColors.d.ts +5 -0
  53. package/objects/versusScreenDirtSpotColors.lua +38 -0
  54. package/package.json +2 -2
  55. package/features/customStage/boss.d.ts +0 -2
  56. package/features/customStage/boss.lua +0 -74
  57. package/features/customStage/stageAPIBoss.d.ts +0 -29
  58. package/features/customStage/stageAPIBoss.lua +0 -9
@@ -13,9 +13,9 @@ local ____log = require("functions.log")
13
13
  local log = ____log.log
14
14
  local ____table = require("functions.table")
15
15
  local iterateTableInOrder = ____table.iterateTableInOrder
16
- local ____constants = require("features.saveDataManager.constants")
17
- local SAVE_DATA_MANAGER_DEBUG = ____constants.SAVE_DATA_MANAGER_DEBUG
18
- local SAVE_DATA_MANAGER_FEATURE_NAME = ____constants.SAVE_DATA_MANAGER_FEATURE_NAME
16
+ local ____saveDataManagerConstants = require("features.saveDataManager.saveDataManagerConstants")
17
+ local SAVE_DATA_MANAGER_DEBUG = ____saveDataManagerConstants.SAVE_DATA_MANAGER_DEBUG
18
+ local SAVE_DATA_MANAGER_FEATURE_NAME = ____saveDataManagerConstants.SAVE_DATA_MANAGER_FEATURE_NAME
19
19
  function getAllSaveDataToWriteToDisk(self, saveDataMap, saveDataConditionalFuncMap)
20
20
  local allSaveData = {}
21
21
  iterateTableInOrder(
@@ -19,8 +19,6 @@ export declare function colorEquals(color1: Color, color2: Color): boolean;
19
19
  */
20
20
  export declare function copyColor<C extends Color | SerializedColor, S extends SerializationType>(color: C, serializationType: S): CopyColorReturn[S];
21
21
  export declare function copyColor<C extends Color | SerializedColor>(color: C): CopyColorReturn[SerializationType.NONE];
22
- /** Returns `Color(1, 1, 1)`. */
23
- export declare function getDefaultColor(): Color;
24
22
  /** Helper function to check if something is an instantiated Color object. */
25
23
  export declare function isColor(object: unknown): object is Color;
26
24
  /**
@@ -104,10 +104,6 @@ function ____exports.copyColor(self, color, serializationType)
104
104
  end
105
105
  until true
106
106
  end
107
- --- Returns `Color(1, 1, 1)`.
108
- function ____exports.getDefaultColor(self)
109
- return Color(1, 1, 1)
110
- end
111
107
  --- Used to determine is the given table is a serialized `Color` object created by the save data
112
108
  -- manager and/or the `deepCopy` function.
113
109
  function ____exports.isSerializedColor(self, object)
@@ -15,8 +15,8 @@ local ____SerializationBrand = require("enums.private.SerializationBrand")
15
15
  local SerializationBrand = ____SerializationBrand.SerializationBrand
16
16
  local ____SerializationType = require("enums.SerializationType")
17
17
  local SerializationType = ____SerializationType.SerializationType
18
- local ____constants = require("features.saveDataManager.constants")
19
- local SAVE_DATA_MANAGER_DEBUG = ____constants.SAVE_DATA_MANAGER_DEBUG
18
+ local ____saveDataManagerConstants = require("features.saveDataManager.saveDataManagerConstants")
19
+ local SAVE_DATA_MANAGER_DEBUG = ____saveDataManagerConstants.SAVE_DATA_MANAGER_DEBUG
20
20
  local ____serializationBrand = require("features.saveDataManager.serializationBrand")
21
21
  local isSerializationBrand = ____serializationBrand.isSerializationBrand
22
22
  local ____array = require("functions.array")
@@ -72,6 +72,11 @@ export declare function getEntities(entityType?: EntityType, variant?: number, s
72
72
  export declare function getEntityFields(entity: Entity): LuaTable<string, boolean | number | string>;
73
73
  /** Helper function to return a string containing the entity's type, variant, and sub-type. */
74
74
  export declare function getEntityID(entity: Entity): string;
75
+ /**
76
+ * Helper function to return a formatted string in the format returned by the `getEntityID`
77
+ * function.
78
+ */
79
+ export declare function getEntityIDFromConstituents(entityType: EntityType, variant: int, subType: int): string;
75
80
  /**
76
81
  * Helper function to compare two different arrays of entities. Returns the entities that are in the
77
82
  * second array but not in the first array.
@@ -202,6 +202,11 @@ end
202
202
  function ____exports.getEntityID(self, entity)
203
203
  return (((tostring(entity.Type) .. ".") .. tostring(entity.Variant)) .. ".") .. tostring(entity.SubType)
204
204
  end
205
+ --- Helper function to return a formatted string in the format returned by the `getEntityID`
206
+ -- function.
207
+ function ____exports.getEntityIDFromConstituents(self, entityType, variant, subType)
208
+ return (((tostring(entityType) .. ".") .. tostring(variant)) .. ".") .. tostring(subType)
209
+ end
205
210
  --- Helper function to compare two different arrays of entities. Returns the entities that are in the
206
211
  -- second array but not in the first array.
207
212
  function ____exports.getFilteredNewEntities(self, oldEntities, newEntities)
@@ -349,6 +354,14 @@ function ____exports.spawn(self, entityType, variant, subType, position, velocit
349
354
  if seedOrRNG == nil then
350
355
  seedOrRNG = nil
351
356
  end
357
+ if position == nil then
358
+ local entityID = ____exports.getEntityIDFromConstituents(nil, entityType, variant, subType)
359
+ error(("Failed to spawn entity " .. entityID) .. " since an undefined position was passed to the \"spawn\" function.")
360
+ end
361
+ if velocity == nil then
362
+ local entityID = ____exports.getEntityIDFromConstituents(nil, entityType, variant, subType)
363
+ error(("Failed to spawn entity " .. entityID) .. " since an undefined velocity was passed to the \"spawn\" function.")
364
+ end
352
365
  if seedOrRNG == nil then
353
366
  return Isaac.Spawn(
354
367
  entityType,
@@ -61,6 +61,11 @@ export declare function getGridEntitiesExcept(...gridEntityTypes: GridEntityType
61
61
  export declare function getGridEntitiesMap(...gridEntityTypes: GridEntityType[]): Map<int, GridEntity>;
62
62
  /** Helper function to return a string containing the grid entity's type and variant. */
63
63
  export declare function getGridEntityID(gridEntity: GridEntity): string;
64
+ /**
65
+ * Helper function to return a formatted string in the format returned by the `getGridEntityID`
66
+ * function.
67
+ */
68
+ export declare function getGridEntityIDFromConstituents(gridEntityType: GridEntityType, variant: int): string;
64
69
  /**
65
70
  * Helper function to get all of the grid entities in the room that specifically match the type and
66
71
  * variant provided.
@@ -238,8 +238,13 @@ end
238
238
  --- Helper function to return a string containing the grid entity's type and variant.
239
239
  function ____exports.getGridEntityID(self, gridEntity)
240
240
  local gridEntityType = gridEntity:GetType()
241
- local gridEntityVariant = gridEntity:GetVariant()
242
- return (tostring(gridEntityType) .. ".") .. tostring(gridEntityVariant)
241
+ local variant = gridEntity:GetVariant()
242
+ return (tostring(gridEntityType) .. ".") .. tostring(variant)
243
+ end
244
+ --- Helper function to return a formatted string in the format returned by the `getGridEntityID`
245
+ -- function.
246
+ function ____exports.getGridEntityIDFromConstituents(self, gridEntityType, variant)
247
+ return (tostring(gridEntityType) .. ".") .. tostring(variant)
243
248
  end
244
249
  --- Helper function to get all of the grid entities in the room that specifically match the type and
245
250
  -- variant provided.
@@ -18,8 +18,6 @@ interface CopyKColorReturn {
18
18
  */
19
19
  export declare function copyKColor<K extends KColor | SerializedKColor, S extends SerializationType>(kColor: K, serializationType: S): CopyKColorReturn[S];
20
20
  export declare function copyKColor<K extends KColor | SerializedKColor>(kColor: K): CopyKColorReturn[SerializationType.NONE];
21
- /** Returns `KColor(1, 1, 1, 1)`. */
22
- export declare function getDefaultKColor(): KColor;
23
21
  /** Helper function to check if something is an instantiated KColor object. */
24
22
  export declare function isKColor(object: unknown): object is KColor;
25
23
  /**
@@ -80,10 +80,6 @@ function ____exports.copyKColor(self, kColor, serializationType)
80
80
  end
81
81
  until true
82
82
  end
83
- --- Returns `KColor(1, 1, 1, 1)`.
84
- function ____exports.getDefaultKColor(self)
85
- return KColor(1, 1, 1, 1)
86
- end
87
83
  --- Used to determine is the given table is a serialized `KColor` object created by the save data
88
84
  -- manager and/or the `deepCopy` function.
89
85
  function ____exports.isSerializedKColor(self, object)
package/functions/log.lua CHANGED
@@ -247,7 +247,8 @@ function ____exports.logEntityFlags(flags)
247
247
  ____exports.logFlags(flags, EntityFlag, "entity")
248
248
  end
249
249
  function ____exports.logEntityID(entity)
250
- ____exports.log((((("Entity: " .. tostring(entity.Type)) .. ".") .. tostring(entity.Variant)) .. ".") .. tostring(entity.SubType))
250
+ local entityID = getEntityID(nil, entity)
251
+ ____exports.log("Entity: " .. entityID)
251
252
  end
252
253
  --- Helper function to log an error message and also print it to the console for better visibility.
253
254
  --
package/functions/ui.d.ts CHANGED
@@ -23,9 +23,11 @@ export declare function getHeartRowLength(player: EntityPlayer): int;
23
23
  * combination with the the `getHUDOffsetVector` helper function.
24
24
  */
25
25
  export declare function getHeartsUIWidth(): int;
26
+ export declare function getScreenBottomCenterPos(): Vector;
26
27
  export declare function getScreenBottomLeftPos(): Vector;
27
28
  export declare function getScreenBottomRightPos(): Vector;
28
29
  export declare function getScreenCenterPos(): Vector;
30
+ export declare function getScreenTopCenterPos(): Vector;
29
31
  export declare function getScreenTopLeftPos(): Vector;
30
32
  export declare function getScreenTopRightPos(): Vector;
31
33
  /**
package/functions/ui.lua CHANGED
@@ -79,6 +79,10 @@ function ____exports.getHeartsUIWidth(self)
79
79
  end
80
80
  return width
81
81
  end
82
+ function ____exports.getScreenBottomCenterPos(self)
83
+ local bottomRight = ____exports.getScreenBottomRightPos(nil)
84
+ return Vector(bottomRight.X / 2, bottomRight.Y)
85
+ end
82
86
  function ____exports.getScreenBottomLeftPos(self)
83
87
  local bottomRight = ____exports.getScreenBottomRightPos(nil)
84
88
  return Vector(0, bottomRight.Y)
@@ -87,6 +91,10 @@ function ____exports.getScreenCenterPos(self)
87
91
  local bottomRight = ____exports.getScreenBottomRightPos(nil)
88
92
  return bottomRight / 2
89
93
  end
94
+ function ____exports.getScreenTopCenterPos(self)
95
+ local bottomRight = ____exports.getScreenBottomRightPos(nil)
96
+ return Vector(bottomRight.X / 2, 0)
97
+ end
90
98
  function ____exports.getScreenTopLeftPos(self)
91
99
  return copyVector(nil, VectorZero)
92
100
  end
@@ -4,9 +4,10 @@
4
4
  * Helper function to return an array with the elements from start to end. It is inclusive at the
5
5
  * start and exclusive at the end. (The "e" stands for exclusive.)
6
6
  *
7
- * For example, `erange(1, 3)` will return `[1, 2]`.
8
- *
9
7
  * If only one argument is specified, then it will assume that the start is 0.
8
+ *
9
+ * - For example, `erange(1, 3)` will return `[1, 2]`.
10
+ * - For example, `erange(2)` will return `[0, 1]`.
10
11
  */
11
12
  export declare function erange(start: int, end?: int): int[];
12
13
  /**
@@ -24,9 +25,10 @@ export declare function hexToKColor(hexString: string, alpha: float): KColor;
24
25
  * Helper function to return an array with the elements from start to end, inclusive. (The "i"
25
26
  * stands for inclusive.)
26
27
  *
27
- * For example, `irange(1, 3)` will return `[1, 2, 3]`.
28
- *
29
28
  * If only one argument is specified, then it will assume that the start is 0.
29
+ *
30
+ * - For example, `irange(1, 3)` will return `[1, 2, 3]`.
31
+ * - For example, `irange(2)` will return `[0, 1, 2]`.
30
32
  */
31
33
  export declare function irange(start: int, end?: int): int[];
32
34
  /**
@@ -12,9 +12,10 @@ local HEX_STRING_LENGTH = 6
12
12
  --- Helper function to return an array with the elements from start to end. It is inclusive at the
13
13
  -- start and exclusive at the end. (The "e" stands for exclusive.)
14
14
  --
15
- -- For example, `erange(1, 3)` will return `[1, 2]`.
16
- --
17
15
  -- If only one argument is specified, then it will assume that the start is 0.
16
+ --
17
+ -- - For example, `erange(1, 3)` will return `[1, 2]`.
18
+ -- - For example, `erange(2)` will return `[0, 1]`.
18
19
  function ____exports.erange(self, start, ____end)
19
20
  if ____end == nil then
20
21
  ____end = start
@@ -68,9 +69,10 @@ end
68
69
  --- Helper function to return an array with the elements from start to end, inclusive. (The "i"
69
70
  -- stands for inclusive.)
70
71
  --
71
- -- For example, `irange(1, 3)` will return `[1, 2, 3]`.
72
- --
73
72
  -- If only one argument is specified, then it will assume that the start is 0.
73
+ --
74
+ -- - For example, `irange(1, 3)` will return `[1, 2, 3]`.
75
+ -- - For example, `irange(2)` will return `[0, 1, 2]`.
74
76
  function ____exports.irange(self, start, ____end)
75
77
  if ____end == nil then
76
78
  ____end = start
@@ -39,6 +39,31 @@ export interface CustomStageTSConfig {
39
39
  * the walls and floor.) Mandatory.
40
40
  */
41
41
  readonly backdrop: CustomStageBackdrop;
42
+ /**
43
+ * Optional. An object representing the color to use for the background of the boss "versus"
44
+ * screen. If not specified, the color for Basement 1 will be used.
45
+ *
46
+ * For a list of the colors that correspond to the vanilla stages, see
47
+ * `versusScreenBackgroundColors.ts`.
48
+ */
49
+ readonly versusScreenBackgroundColor?: {
50
+ r: number;
51
+ g: number;
52
+ b: number;
53
+ };
54
+ /**
55
+ * Optional. An object representing the color to use for the dirt spots in the boss "versus"
56
+ * screen. (There are two dirt spots; one for the player and one for the boss.) If not specified,
57
+ * the color for Basement 1 will be used.
58
+ *
59
+ * For a list of the colors that correspond to the vanilla stages, see
60
+ * `versusScreenDirtSpotColors.ts`.
61
+ */
62
+ readonly versusScreenDirtSpotColor?: {
63
+ r: number;
64
+ g: number;
65
+ b: number;
66
+ };
42
67
  }
43
68
  interface CustomStageBackdrop {
44
69
  /**
@@ -0,0 +1,5 @@
1
+ import { BossID } from "isaac-typescript-definitions";
2
+ /** Used when rendering the "versusscreen.anm2" sprite. */
3
+ export declare const BOSS_NAME_PNG_FILE_NAMES: {
4
+ readonly [key in BossID]: string;
5
+ };
@@ -0,0 +1,108 @@
1
+ local ____exports = {}
2
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
3
+ local BossID = ____isaac_2Dtypescript_2Ddefinitions.BossID
4
+ --- Used when rendering the "versusscreen.anm2" sprite.
5
+ ____exports.BOSS_NAME_PNG_FILE_NAMES = {
6
+ [BossID.MONSTRO] = "bossname_20.0_monstro.png",
7
+ [BossID.LARRY_JR] = "bossname_19.0_larryjr.png",
8
+ [BossID.CHUB] = "bossname_28.0_chub.png",
9
+ [BossID.GURDY] = "bossname_36.0_gurdy.png",
10
+ [BossID.MONSTRO_II] = "bossname_43.0_monstro2.png",
11
+ [BossID.MOM] = "bossname_45.0_mom.png",
12
+ [BossID.SCOLEX] = "bossname_62.1_scolex.png",
13
+ [BossID.MOMS_HEART] = "bossname_78.0_momsheart.png",
14
+ [BossID.FAMINE] = "bossname_63.0_famine.png",
15
+ [BossID.PESTILENCE] = "bossname_64.0_pestilence.png",
16
+ [BossID.WAR] = "bossname_65.0_war.png",
17
+ [BossID.DEATH] = "bossname_66.0_death.png",
18
+ [BossID.DUKE_OF_FLIES] = "bossname_67.0_dukeofflies.png",
19
+ [BossID.PEEP] = "bossname_68.0_peep.png",
20
+ [BossID.LOKI] = "bossname_69.0_loki.png",
21
+ [BossID.BLASTOCYST] = "bossname_74.0_blastocyst.png",
22
+ [BossID.GEMINI] = "bossname_79.0_gemini.png",
23
+ [BossID.FISTULA] = "bossname_71.0_fistula.png",
24
+ [BossID.GISH] = "bossname_43.1_gish.png",
25
+ [BossID.STEVEN] = "bossname_79.1_steven.png",
26
+ [BossID.CHAD] = "bossname_28.1_chad.png",
27
+ [BossID.HEADLESS_HORSEMAN] = "bossname_82.0_headlesshorseman.png",
28
+ [BossID.THE_FALLEN] = "bossname_81.0_thefallen.png",
29
+ [BossID.SATAN] = "bossname_84.0_satan.png",
30
+ [BossID.IT_LIVES] = "bossname_78.1_itlives.png",
31
+ [BossID.THE_HOLLOW] = "bossname_19.1_thehollow.png",
32
+ [BossID.THE_CARRION_QUEEN] = "bossname_28.2_carrionqueen.png",
33
+ [BossID.GURDY_JR] = "bossname_99.0_gurdyjr.png",
34
+ [BossID.THE_HUSK] = "bossname_67.1_thehusk.png",
35
+ [BossID.THE_BLOAT] = "bossname_68.1_bloat.png",
36
+ [BossID.LOKII] = "bossname_69.1_lokii.png",
37
+ [BossID.THE_BLIGHTED_OVUM] = "bossname_79.2_blightedovum.png",
38
+ [BossID.TERATOMA] = "bossname_71.1_teratoma.png",
39
+ [BossID.THE_WIDOW] = "bossname_100.0_widow.png",
40
+ [BossID.MASK_OF_INFAMY] = "bossname_97.0_maskofinfamy.png",
41
+ [BossID.THE_WRETCHED] = "bossname_100.1_thewretched.png",
42
+ [BossID.PIN] = "bossname_62.0_pin.png",
43
+ [BossID.CONQUEST] = "bossname_65.1_conquest.png",
44
+ [BossID.ISAAC] = "playername_01_isaac.png",
45
+ [BossID.BLUE_BABY] = "bossname_102.1_bluebaby.png",
46
+ [BossID.DADDY_LONG_LEGS] = "bossname_101.0_daddylonglegs.png",
47
+ [BossID.TRIACHNID] = "bossname_101.1_triachnid.png",
48
+ [BossID.THE_HAUNT] = "bossname_260.0_thehaunt.png",
49
+ [BossID.DINGLE] = "bossname_261.0_dingle.png",
50
+ [BossID.MEGA_MAW] = "bossname_262.0_megamaw.png",
51
+ [BossID.THE_GATE] = "bossname_263.0_megamaw2.png",
52
+ [BossID.MEGA_FATTY] = "bossname_264.0_megafatty.png",
53
+ [BossID.THE_CAGE] = "bossname_265.0_fatty2.png",
54
+ [BossID.MAMA_GURDY] = "bossname_266.0_mamagurdy.png",
55
+ [BossID.DARK_ONE] = "bossname_267.0_darkone.png",
56
+ [BossID.THE_ADVERSARY] = "bossname_268.0_darkone2.png",
57
+ [BossID.POLYCEPHALUS] = "bossname_269.0_polycephalus.png",
58
+ [BossID.MR_FRED] = "bossname_270.0_megafred.png",
59
+ [BossID.THE_LAMB] = "bossname_273.0_thelamb.png",
60
+ [BossID.MEGA_SATAN] = "bossname_274.0_megasatan.png",
61
+ [BossID.GURGLINGS] = "bossname_276.0_gurglings.png",
62
+ [BossID.THE_STAIN] = "bossname_401.0_thestain.png",
63
+ [BossID.BROWNIE] = "bossname_402.0_brownie.png",
64
+ [BossID.THE_FORSAKEN] = "bossname_403.0_theforsaken.png",
65
+ [BossID.LITTLE_HORN] = "bossname_404.0_littlehorn.png",
66
+ [BossID.RAG_MAN] = "bossname_405.0_ragman.png",
67
+ [BossID.ULTRA_GREED] = "bossname_406.0_ultragreed.png",
68
+ [BossID.HUSH] = "bossname_407.0_hush.png",
69
+ [BossID.DANGLE] = "bossname_dangle.png",
70
+ [BossID.TURDLING] = "bossname_turdlings.png",
71
+ [BossID.THE_FRAIL] = "bossname_thefrail.png",
72
+ [BossID.RAG_MEGA] = "bossname_ragmega.png",
73
+ [BossID.SISTERS_VIS] = "bossname_sisterssvis.png",
74
+ [BossID.BIG_HORN] = "bossname_bighorn.png",
75
+ [BossID.DELIRIUM] = "bossname_delirium.png",
76
+ [BossID.THE_MATRIARCH] = "bossname_matriarch.png",
77
+ [BossID.THE_PILE] = "bossname_polycephalus2.png",
78
+ [BossID.REAP_CREEP] = "bossname_reapcreep.png",
79
+ [BossID.LIL_BLUB] = "bossname_beelzeblub.png",
80
+ [BossID.WORMWOOD] = "bossname_wormwood.png",
81
+ [BossID.RAINMAKER] = "bossname_rainmaker.png",
82
+ [BossID.THE_VISAGE] = "bossname_visage.png",
83
+ [BossID.THE_SIREN] = "bossname_siren.png",
84
+ [BossID.TUFF_TWINS] = "bossname_tufftwins.png",
85
+ [BossID.THE_HERETIC] = "bossname_heretic.png",
86
+ [BossID.HORNFEL] = "bossname_hornfel.png",
87
+ [BossID.GREAT_GIDEON] = "bossname_gideon.png",
88
+ [BossID.BABY_PLUM] = "bossname_babyplum.png",
89
+ [BossID.THE_SCOURGE] = "bossname_scourge.png",
90
+ [BossID.CHIMERA] = "bossname_chimera.png",
91
+ [BossID.ROTGUT] = "bossname_rotgut.png",
92
+ [BossID.MOTHER] = "bossname_mother.png",
93
+ [BossID.MAUSOLEUM_MOM] = "bossname_45.0_mom.png",
94
+ [BossID.MAUSOLEUM_MOMS_HEART] = "bossname_78.0_momsheart.png",
95
+ [BossID.MIN_MIN] = "bossname_minmin.png",
96
+ [BossID.CLOG] = "bossname_clog.png",
97
+ [BossID.SINGE] = "bossname_singe.png",
98
+ [BossID.BUMBINO] = "bossname_bumbino.png",
99
+ [BossID.COLOSTOMIA] = "bossname_colostomia.png",
100
+ [BossID.THE_SHELL] = "bossname_shell.png",
101
+ [BossID.TURDLET] = "bossname_turdlet.png",
102
+ [BossID.RAGLICH] = "bossname_raglich.png",
103
+ [BossID.DOGMA] = "bossname_dogma.png",
104
+ [BossID.BEAST] = "bossname_dogma.png",
105
+ [BossID.HORNY_BOYS] = "bossname_hornyboys.png",
106
+ [BossID.CLUTCH] = "bossname_clutch.png"
107
+ }
108
+ return ____exports
@@ -0,0 +1,5 @@
1
+ import { BossID } from "isaac-typescript-definitions";
2
+ /** Used when rendering the "versusscreen.anm2" sprite. */
3
+ export declare const BOSS_PORTRAIT_PNG_FILE_NAMES: {
4
+ readonly [key in BossID]: string;
5
+ };
@@ -0,0 +1,108 @@
1
+ local ____exports = {}
2
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
3
+ local BossID = ____isaac_2Dtypescript_2Ddefinitions.BossID
4
+ --- Used when rendering the "versusscreen.anm2" sprite.
5
+ ____exports.BOSS_PORTRAIT_PNG_FILE_NAMES = {
6
+ [BossID.MONSTRO] = "portrait_20.0_monstro.png",
7
+ [BossID.LARRY_JR] = "portrait_19.0_larryjr.png",
8
+ [BossID.CHUB] = "portrait_28.0_chub.png",
9
+ [BossID.GURDY] = "portrait_36.0_gurdy.png",
10
+ [BossID.MONSTRO_II] = "portrait_43.0_monstro2.png",
11
+ [BossID.MOM] = "portrait_45.0_mom.png",
12
+ [BossID.SCOLEX] = "portrait_62.1_scolex.png",
13
+ [BossID.MOMS_HEART] = "portrait_78.0_momsheart.png",
14
+ [BossID.FAMINE] = "portrait_63.0_famine.png",
15
+ [BossID.PESTILENCE] = "portrait_64.0_pestilence.png",
16
+ [BossID.WAR] = "portrait_65.0_war.png",
17
+ [BossID.DEATH] = "portrait_66.0_death.png",
18
+ [BossID.DUKE_OF_FLIES] = "portrait_67.0_dukeofflies.png",
19
+ [BossID.PEEP] = "portrait_68.0_peep.png",
20
+ [BossID.LOKI] = "portrait_69.0_loki.png",
21
+ [BossID.BLASTOCYST] = "portrait_74.0_blastocyst.png",
22
+ [BossID.GEMINI] = "portrait_79.0_gemini.png",
23
+ [BossID.FISTULA] = "portrait_71.0_fistula.png",
24
+ [BossID.GISH] = "portrait_43.1_gish.png",
25
+ [BossID.STEVEN] = "portrait_79.1_steven.png",
26
+ [BossID.CHAD] = "portrait_28.1_chad.png",
27
+ [BossID.HEADLESS_HORSEMAN] = "portrait_82.0_headlesshorseman.png",
28
+ [BossID.THE_FALLEN] = "portrait_81.0_thefallen.png",
29
+ [BossID.SATAN] = "portrait_84.0_satan.png",
30
+ [BossID.IT_LIVES] = "portrait_78.1_itlives.png",
31
+ [BossID.THE_HOLLOW] = "portrait_19.1_thehollow.png",
32
+ [BossID.THE_CARRION_QUEEN] = "portrait_28.2_carrionqueen.png",
33
+ [BossID.GURDY_JR] = "portrait_99.0_gurdyjr.png",
34
+ [BossID.THE_HUSK] = "portrait_67.1_thehusk.png",
35
+ [BossID.THE_BLOAT] = "portrait_68.1_bloat.png",
36
+ [BossID.LOKII] = "portrait_69.1_lokii.png",
37
+ [BossID.THE_BLIGHTED_OVUM] = "portrait_79.2_blightedovum.png",
38
+ [BossID.TERATOMA] = "portrait_71.1_teratoma.png",
39
+ [BossID.THE_WIDOW] = "portrait_100.0_widow.png",
40
+ [BossID.MASK_OF_INFAMY] = "portrait_97.0_maskofinfamy.png",
41
+ [BossID.THE_WRETCHED] = "portrait_100.1_thewretched.png",
42
+ [BossID.PIN] = "portrait_62.0_pin.png",
43
+ [BossID.CONQUEST] = "portrait_65.1_conquest.png",
44
+ [BossID.ISAAC] = "portrait_102.0_isaac.png",
45
+ [BossID.BLUE_BABY] = "portrait_102.1_bluebaby.png",
46
+ [BossID.DADDY_LONG_LEGS] = "portrait_101.0_daddylonglegs.png",
47
+ [BossID.TRIACHNID] = "portrait_101.1_triachnid.png",
48
+ [BossID.THE_HAUNT] = "portrait_260.0_thehaunt.png",
49
+ [BossID.DINGLE] = "portrait_261.0_dingle.png",
50
+ [BossID.MEGA_MAW] = "portrait_262.0_megamaw.png",
51
+ [BossID.THE_GATE] = "portrait_263.0_megamaw2.png",
52
+ [BossID.MEGA_FATTY] = "portrait_264.0_megafatty.png",
53
+ [BossID.THE_CAGE] = "portrait_265.0_fatty2.png",
54
+ [BossID.MAMA_GURDY] = "portrait_266.0_mamagurdy.png",
55
+ [BossID.DARK_ONE] = "portrait_267.0_darkone.png",
56
+ [BossID.THE_ADVERSARY] = "portrait_268.0_darkone2.png",
57
+ [BossID.POLYCEPHALUS] = "portrait_269.0_polycephalus.png",
58
+ [BossID.MR_FRED] = "portrait_270.0_megafred.png",
59
+ [BossID.THE_LAMB] = "portrait_273.0_thelamb.png",
60
+ [BossID.MEGA_SATAN] = "portrait_274.0_megasatan.png",
61
+ [BossID.GURGLINGS] = "portrait_276.0_gurglings.png",
62
+ [BossID.THE_STAIN] = "portrait_401.0_thestain.png",
63
+ [BossID.BROWNIE] = "portrait_402.0_brownie.png",
64
+ [BossID.THE_FORSAKEN] = "portrait_403.0_theforsaken.png",
65
+ [BossID.LITTLE_HORN] = "portrait_404.0_littlehorn.png",
66
+ [BossID.RAG_MAN] = "portrait_405.0_ragman.png",
67
+ [BossID.ULTRA_GREED] = "portrait_406.0_ultragreed.png",
68
+ [BossID.HUSH] = "portrait_407.0_hush.png",
69
+ [BossID.DANGLE] = "portrait_dangle.png",
70
+ [BossID.TURDLING] = "portrait_turdlings.png",
71
+ [BossID.THE_FRAIL] = "portrait_thefrail.png",
72
+ [BossID.RAG_MEGA] = "portrait_ragmega.png",
73
+ [BossID.SISTERS_VIS] = "portrait_sistersvis.png",
74
+ [BossID.BIG_HORN] = "portrait_bighorn.png",
75
+ [BossID.DELIRIUM] = "portrait_delirium.png",
76
+ [BossID.THE_MATRIARCH] = "portrait_matriarch.png",
77
+ [BossID.THE_PILE] = "portrait_269.1_polycephalus2.png",
78
+ [BossID.REAP_CREEP] = "portrait_900.0_reapcreep.png",
79
+ [BossID.LIL_BLUB] = "portrait_901.0_beelzeblub.png",
80
+ [BossID.WORMWOOD] = "portrait_902.0_wormwood.png",
81
+ [BossID.RAINMAKER] = "portrait_902.0_rainmaker.png",
82
+ [BossID.THE_VISAGE] = "portrait_903.0_visage.png",
83
+ [BossID.THE_SIREN] = "portrait_904.0_siren.png",
84
+ [BossID.TUFF_TWINS] = "portrait_19.100_tufftwins.png",
85
+ [BossID.THE_HERETIC] = "portrait_905.0_heretic.png",
86
+ [BossID.HORNFEL] = "portrait_906.0_hornfel.png",
87
+ [BossID.GREAT_GIDEON] = "portrait_907.0_gideon.png",
88
+ [BossID.BABY_PLUM] = "portrait_908.0_babyplum.png",
89
+ [BossID.THE_SCOURGE] = "portrait_909.0_scourge.png",
90
+ [BossID.CHIMERA] = "portrait_910.0_chimera.png",
91
+ [BossID.ROTGUT] = "portrait_911.0_rotgut.png",
92
+ [BossID.MOTHER] = "portrait_mother.png",
93
+ [BossID.MAUSOLEUM_MOM] = "portrait_45.0_mom.png",
94
+ [BossID.MAUSOLEUM_MOMS_HEART] = "portrait_78.0_momsheart.png",
95
+ [BossID.MIN_MIN] = "portrait_minmin.png",
96
+ [BossID.CLOG] = "portrait_clog.png",
97
+ [BossID.SINGE] = "portrait_singe.png",
98
+ [BossID.BUMBINO] = "portrait_bumbino.png",
99
+ [BossID.COLOSTOMIA] = "portrait_colostomia.png",
100
+ [BossID.THE_SHELL] = "portrait_shell.png",
101
+ [BossID.TURDLET] = "portrait_turdlet.png",
102
+ [BossID.RAGLICH] = "portrait_raglich.png",
103
+ [BossID.DOGMA] = "portrait_dogma.png",
104
+ [BossID.BEAST] = "portrait_dogma.png",
105
+ [BossID.HORNY_BOYS] = "portrait_hornyboys.png",
106
+ [BossID.CLUTCH] = "portrait_clutch.png"
107
+ }
108
+ return ____exports
@@ -3,14 +3,21 @@
3
3
  *
4
4
  * Note that if you want to further modify these colors, you should copy them first with the
5
5
  * `copyColor` function.
6
+ *
7
+ * The non-standard colors come from:
8
+ * https://htmlcolorcodes.com/color-names/
6
9
  */
7
10
  export declare const COLORS: {
8
- readonly Black: Color;
9
- readonly Red: Color;
10
- readonly Green: Color;
11
- readonly Blue: Color;
12
- readonly Yellow: Color;
13
- readonly Pink: Color;
14
- readonly Cyan: Color;
15
- readonly White: Color;
11
+ readonly Black: Readonly<Color>;
12
+ readonly Red: Readonly<Color>;
13
+ readonly Green: Readonly<Color>;
14
+ readonly Blue: Readonly<Color>;
15
+ readonly Yellow: Readonly<Color>;
16
+ readonly Pink: Readonly<Color>;
17
+ readonly Cyan: Readonly<Color>;
18
+ readonly White: Readonly<Color>;
19
+ readonly Brown: Readonly<Color>;
20
+ readonly Gray: Readonly<Color>;
21
+ readonly Orange: Readonly<Color>;
22
+ readonly Purple: Readonly<Color>;
16
23
  };
@@ -3,14 +3,21 @@ local ____exports = {}
3
3
  --
4
4
  -- Note that if you want to further modify these colors, you should copy them first with the
5
5
  -- `copyColor` function.
6
+ --
7
+ -- The non-standard colors come from:
8
+ -- https://htmlcolorcodes.com/color-names/
6
9
  ____exports.COLORS = {
7
- Black = Color(1, 1, 1),
10
+ Black = Color(0, 0, 0),
8
11
  Red = Color(1, 0, 0),
9
12
  Green = Color(0, 1, 0),
10
13
  Blue = Color(0, 0, 1),
11
14
  Yellow = Color(1, 1, 0),
12
15
  Pink = Color(1, 0, 1),
13
16
  Cyan = Color(0, 1, 1),
14
- White = Color(1, 1, 1)
17
+ White = Color(1, 1, 1),
18
+ Brown = Color(0.588, 0.294, 0),
19
+ Gray = Color(0.5, 0.5, 0.5),
20
+ Orange = Color(1, 0.647, 0),
21
+ Purple = Color(0.5, 0, 0.5)
15
22
  }
16
23
  return ____exports
@@ -0,0 +1,5 @@
1
+ import { PlayerType } from "isaac-typescript-definitions";
2
+ /** Used when rendering the "versusscreen.anm2" sprite. */
3
+ export declare const PLAYER_NAME_PNG_FILE_NAMES: {
4
+ readonly [key in PlayerType]: string | undefined;
5
+ };
@@ -0,0 +1,49 @@
1
+ local ____exports = {}
2
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
3
+ local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
4
+ --- Used when rendering the "versusscreen.anm2" sprite.
5
+ ____exports.PLAYER_NAME_PNG_FILE_NAMES = {
6
+ [PlayerType.POSSESSOR] = nil,
7
+ [PlayerType.ISAAC] = "playername_01_isaac.png",
8
+ [PlayerType.MAGDALENE] = "playername_02_magdalene.png",
9
+ [PlayerType.CAIN] = "playername_03_cain.png",
10
+ [PlayerType.JUDAS] = "playername_04_judas.png",
11
+ [PlayerType.BLUE_BABY] = "playername_06_bluebaby.png",
12
+ [PlayerType.EVE] = "playername_05_eve.png",
13
+ [PlayerType.SAMSON] = "playername_07_samson.png",
14
+ [PlayerType.AZAZEL] = "playername_08_azazel.png",
15
+ [PlayerType.LAZARUS] = "playername_10_lazarus.png",
16
+ [PlayerType.EDEN] = "playername_09_eden.png",
17
+ [PlayerType.THE_LOST] = "playername_12_thelost.png",
18
+ [PlayerType.LAZARUS_2] = "playername_10_lazarus.png",
19
+ [PlayerType.BLACK_JUDAS] = "playername_04_judas.png",
20
+ [PlayerType.LILITH] = "playername_13_lilith.png",
21
+ [PlayerType.KEEPER] = "playername_14_thekeeper.png",
22
+ [PlayerType.APOLLYON] = "playername_15_apollyon.png",
23
+ [PlayerType.THE_FORGOTTEN] = "playername_16_theforgotten.png",
24
+ [PlayerType.THE_SOUL] = "playername_16_theforgotten.png",
25
+ [PlayerType.BETHANY] = "playername_01x_bethany.png",
26
+ [PlayerType.JACOB] = "playername_02x_jacob_esau.png",
27
+ [PlayerType.ESAU] = "playername_02x_jacob_esau.png",
28
+ [PlayerType.ISAAC_B] = "playername_01_isaac.png",
29
+ [PlayerType.MAGDALENE_B] = "playername_02_magdalene.png",
30
+ [PlayerType.CAIN_B] = "playername_03_cain.png",
31
+ [PlayerType.JUDAS_B] = "playername_04_judas.png",
32
+ [PlayerType.BLUE_BABY_B] = "playername_06_bluebaby.png",
33
+ [PlayerType.EVE_B] = "playername_05_eve.png",
34
+ [PlayerType.SAMSON_B] = "playername_07_samson.png",
35
+ [PlayerType.AZAZEL_B] = "playername_08_azazel.png",
36
+ [PlayerType.LAZARUS_B] = "playername_10_lazarus.png",
37
+ [PlayerType.EDEN_B] = "playername_09_eden.png",
38
+ [PlayerType.THE_LOST_B] = "playername_12_thelost.png",
39
+ [PlayerType.LILITH_B] = "playername_13_lilith.png",
40
+ [PlayerType.KEEPER_B] = "playername_14_thekeeper.png",
41
+ [PlayerType.APOLLYON_B] = "playername_15_apollyon.png",
42
+ [PlayerType.THE_FORGOTTEN_B] = "playername_16_theforgotten.png",
43
+ [PlayerType.BETHANY_B] = "playername_01x_bethany.png",
44
+ [PlayerType.JACOB_B] = "playername_02x_jacob.png",
45
+ [PlayerType.LAZARUS_2_B] = "playername_10_lazarus.png",
46
+ [PlayerType.JACOB_2_B] = "playername_02x_jacob.png",
47
+ [PlayerType.THE_SOUL_B] = "playername_16_theforgotten.png"
48
+ }
49
+ return ____exports
@@ -0,0 +1,5 @@
1
+ import { PlayerType } from "isaac-typescript-definitions";
2
+ /** Used when rendering the "versusscreen.anm2" sprite. */
3
+ export declare const PLAYER_PORTRAIT_PNG_FILE_NAMES: {
4
+ readonly [key in PlayerType]: string | undefined;
5
+ };