isaacscript-common 51.4.0 → 51.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.rollup.d.ts +12 -0
- package/dist/isaacscript-common.lua +64 -15
- package/dist/src/functions/logEntities.d.ts +1 -2
- package/dist/src/functions/logEntities.d.ts.map +1 -1
- package/dist/src/functions/logEntities.lua +52 -11
- package/dist/src/functions/rooms.d.ts +10 -0
- package/dist/src/functions/rooms.d.ts.map +1 -1
- package/dist/src/functions/rooms.lua +14 -2
- package/package.json +2 -2
- package/src/functions/logEntities.ts +77 -19
- package/src/functions/rooms.ts +22 -0
package/dist/index.rollup.d.ts
CHANGED
|
@@ -8120,6 +8120,12 @@ export declare function includes<T>(array: T[], element: T): boolean;
|
|
|
8120
8120
|
*/
|
|
8121
8121
|
export declare function inCrawlSpace(): boolean;
|
|
8122
8122
|
|
|
8123
|
+
/**
|
|
8124
|
+
* Helper function for checking whether the current room is a crawl space with a door corresponding
|
|
8125
|
+
* to `DoorSlotFlag.RIGHT_0` (1 << 2).
|
|
8126
|
+
*/
|
|
8127
|
+
export declare function inCrawlSpaceWithBlackMarketEntrance(): boolean;
|
|
8128
|
+
|
|
8123
8129
|
/**
|
|
8124
8130
|
* Helper type to add one to a number type.
|
|
8125
8131
|
*
|
|
@@ -8714,6 +8720,12 @@ export declare function isCopyableIsaacAPIClass(object: unknown): object is Copy
|
|
|
8714
8720
|
*/
|
|
8715
8721
|
export declare function isCrawlSpace(roomData: RoomConfig): boolean;
|
|
8716
8722
|
|
|
8723
|
+
/**
|
|
8724
|
+
* Helper function for checking whether the provided room is a crawl space with a door corresponding
|
|
8725
|
+
* to `DoorSlotFlag.RIGHT_0` (1 << 2).
|
|
8726
|
+
*/
|
|
8727
|
+
export declare function isCrawlSpaceWithBlackMarketEntrance(roomData: RoomConfig): boolean;
|
|
8728
|
+
|
|
8717
8729
|
/**
|
|
8718
8730
|
* Helper function to distinguish between a normal Daddy Long Legs / Triachnid and the child entity
|
|
8719
8731
|
* that is spawned when the boss does the multi-stomp attack.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
--[[
|
|
2
2
|
|
|
3
|
-
isaacscript-common 51.
|
|
3
|
+
isaacscript-common 51.5.1
|
|
4
4
|
|
|
5
5
|
This is the "isaacscript-common" library, which was created with the IsaacScript tool.
|
|
6
6
|
|
|
@@ -5073,7 +5073,7 @@ ____exports.LaserVariant.GIANT_BRIMSTONE_TECHNOLOGY = 15
|
|
|
5073
5073
|
____exports.LaserVariant[____exports.LaserVariant.GIANT_BRIMSTONE_TECHNOLOGY] = "GIANT_BRIMSTONE_TECHNOLOGY"
|
|
5074
5074
|
--- For `EntityType.KNIFE` (8).
|
|
5075
5075
|
____exports.KnifeVariant = {}
|
|
5076
|
-
____exports.KnifeVariant.MOMS_KNIFE =
|
|
5076
|
+
____exports.KnifeVariant.MOMS_KNIFE = 0
|
|
5077
5077
|
____exports.KnifeVariant[____exports.KnifeVariant.MOMS_KNIFE] = "MOMS_KNIFE"
|
|
5078
5078
|
____exports.KnifeVariant.BONE_CLUB = 1
|
|
5079
5079
|
____exports.KnifeVariant[____exports.KnifeVariant.BONE_CLUB] = "BONE_CLUB"
|
|
@@ -27887,6 +27887,7 @@ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescri
|
|
|
27887
27887
|
local AngelRoomSubType = ____isaac_2Dtypescript_2Ddefinitions.AngelRoomSubType
|
|
27888
27888
|
local Dimension = ____isaac_2Dtypescript_2Ddefinitions.Dimension
|
|
27889
27889
|
local DoorSlot = ____isaac_2Dtypescript_2Ddefinitions.DoorSlot
|
|
27890
|
+
local DoorSlotFlag = ____isaac_2Dtypescript_2Ddefinitions.DoorSlotFlag
|
|
27890
27891
|
local DownpourRoomSubType = ____isaac_2Dtypescript_2Ddefinitions.DownpourRoomSubType
|
|
27891
27892
|
local DungeonSubType = ____isaac_2Dtypescript_2Ddefinitions.DungeonSubType
|
|
27892
27893
|
local GridRoom = ____isaac_2Dtypescript_2Ddefinitions.GridRoom
|
|
@@ -28000,6 +28001,9 @@ end
|
|
|
28000
28001
|
function ____exports.isCrawlSpace(self, roomData)
|
|
28001
28002
|
return roomData.Type == RoomType.DUNGEON and roomData.Subtype == asNumber(nil, DungeonSubType.NORMAL)
|
|
28002
28003
|
end
|
|
28004
|
+
function ____exports.isCrawlSpaceWithBlackMarketEntrance(self, roomData)
|
|
28005
|
+
return ____exports.isCrawlSpace(nil, roomData) and hasFlag(nil, roomData.Doors, DoorSlotFlag.RIGHT_0)
|
|
28006
|
+
end
|
|
28003
28007
|
function ____exports.isDeathCertificateArea(self, roomData)
|
|
28004
28008
|
return roomData.StageID == StageID.HOME and (roomData.Subtype == asNumber(nil, HomeRoomSubType.DEATH_CERTIFICATE_ENTRANCE) or roomData.Subtype == asNumber(nil, HomeRoomSubType.DEATH_CERTIFICATE_ITEMS))
|
|
28005
28009
|
end
|
|
@@ -28130,6 +28134,10 @@ function ____exports.inCrawlSpace(self)
|
|
|
28130
28134
|
local roomData = getRoomData(nil)
|
|
28131
28135
|
return ____exports.isCrawlSpace(nil, roomData)
|
|
28132
28136
|
end
|
|
28137
|
+
function ____exports.inCrawlSpaceWithBlackMarketEntrance(self)
|
|
28138
|
+
local roomData = getRoomData(nil)
|
|
28139
|
+
return ____exports.isCrawlSpaceWithBlackMarketEntrance(nil, roomData)
|
|
28140
|
+
end
|
|
28133
28141
|
function ____exports.inDeathCertificateArea(self)
|
|
28134
28142
|
local roomData = getRoomData(nil)
|
|
28135
28143
|
return ____exports.isDeathCertificateArea(nil, roomData)
|
|
@@ -28253,12 +28261,12 @@ function ____exports.setRoomCleared(self)
|
|
|
28253
28261
|
for ____, door in ipairs(getDoors(nil)) do
|
|
28254
28262
|
do
|
|
28255
28263
|
if isHiddenSecretRoomDoor(nil, door) then
|
|
28256
|
-
goto
|
|
28264
|
+
goto __continue80
|
|
28257
28265
|
end
|
|
28258
28266
|
openDoorFast(nil, door)
|
|
28259
28267
|
door.ExtraVisible = false
|
|
28260
28268
|
end
|
|
28261
|
-
::
|
|
28269
|
+
::__continue80::
|
|
28262
28270
|
end
|
|
28263
28271
|
sfxManager:Stop(SoundEffect.DOOR_HEAVY_OPEN)
|
|
28264
28272
|
game:ShakeScreen(0)
|
|
@@ -49560,10 +49568,11 @@ local __TS__Iterator = ____lualib.__TS__Iterator
|
|
|
49560
49568
|
local __TS__StringTrim = ____lualib.__TS__StringTrim
|
|
49561
49569
|
local __TS__StringSplit = ____lualib.__TS__StringSplit
|
|
49562
49570
|
local ____exports = {}
|
|
49563
|
-
local getEntityLogLine, getGridEntityLogLine
|
|
49571
|
+
local getEntityLogLine, getBombVariantName, getEffectVariantName, getFamiliarVariantName, getKnifeVariantName, getLaserVariantName, getEntityTypeName, getPickupVariantName, getPlayerVariantName, getProjectileVariantName, getTearVariantName, getGridEntityLogLine
|
|
49564
49572
|
local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
|
|
49565
49573
|
local BombVariant = ____isaac_2Dtypescript_2Ddefinitions.BombVariant
|
|
49566
49574
|
local EffectVariant = ____isaac_2Dtypescript_2Ddefinitions.EffectVariant
|
|
49575
|
+
local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
|
|
49567
49576
|
local FamiliarVariant = ____isaac_2Dtypescript_2Ddefinitions.FamiliarVariant
|
|
49568
49577
|
local GridEntityType = ____isaac_2Dtypescript_2Ddefinitions.GridEntityType
|
|
49569
49578
|
local KnifeVariant = ____isaac_2Dtypescript_2Ddefinitions.KnifeVariant
|
|
@@ -49592,43 +49601,43 @@ function getEntityLogLine(entity, num)
|
|
|
49592
49601
|
msg = msg .. getEntityID(nil, entity)
|
|
49593
49602
|
local bomb = entity:ToBomb()
|
|
49594
49603
|
if bomb ~= nil then
|
|
49595
|
-
msg = msg .. (" (bomb -
|
|
49604
|
+
msg = msg .. (" (bomb - " .. getBombVariantName(nil, bomb)) .. ")"
|
|
49596
49605
|
end
|
|
49597
49606
|
local effect = entity:ToEffect()
|
|
49598
49607
|
if effect ~= nil then
|
|
49599
|
-
msg = msg .. (((" (effect -
|
|
49608
|
+
msg = msg .. (((" (effect - " .. getEffectVariantName(nil, effect)) .. ") (State: ") .. tostring(effect.State)) .. ")"
|
|
49600
49609
|
end
|
|
49601
49610
|
local familiar = entity:ToFamiliar()
|
|
49602
49611
|
if familiar ~= nil then
|
|
49603
|
-
msg = msg .. (((" (familiar -
|
|
49612
|
+
msg = msg .. (((" (familiar - " .. getFamiliarVariantName(nil, familiar)) .. ") (State: ") .. tostring(familiar.State)) .. ")"
|
|
49604
49613
|
end
|
|
49605
49614
|
local knife = entity:ToKnife()
|
|
49606
49615
|
if knife ~= nil then
|
|
49607
|
-
msg = msg .. (" (knife -
|
|
49616
|
+
msg = msg .. (" (knife - " .. getKnifeVariantName(nil, knife)) .. ")"
|
|
49608
49617
|
end
|
|
49609
49618
|
local laser = entity:ToLaser()
|
|
49610
49619
|
if laser ~= nil then
|
|
49611
|
-
msg = msg .. (" (laser -
|
|
49620
|
+
msg = msg .. (" (laser - " .. getLaserVariantName(nil, laser)) .. ")"
|
|
49612
49621
|
end
|
|
49613
49622
|
local npc = entity:ToNPC()
|
|
49614
49623
|
if npc ~= nil then
|
|
49615
|
-
msg = msg .. (" (NPC) (State: " .. tostring(npc.State)) .. ")"
|
|
49624
|
+
msg = msg .. (((" (NPC - " .. getEntityTypeName(nil, npc)) .. ") (State: ") .. tostring(npc.State)) .. ")"
|
|
49616
49625
|
end
|
|
49617
49626
|
local pickup = entity:ToPickup()
|
|
49618
49627
|
if pickup ~= nil then
|
|
49619
|
-
msg = msg .. (((" (pickup -
|
|
49628
|
+
msg = msg .. (((" (pickup - " .. getPickupVariantName(nil, pickup)) .. ") (State: ") .. tostring(pickup.State)) .. ")"
|
|
49620
49629
|
end
|
|
49621
49630
|
local player = entity:ToPlayer()
|
|
49622
49631
|
if player ~= nil then
|
|
49623
|
-
msg = msg .. (" (player -
|
|
49632
|
+
msg = msg .. (" (player - " .. getPlayerVariantName(nil, player)) .. ")"
|
|
49624
49633
|
end
|
|
49625
49634
|
local projectile = entity:ToProjectile()
|
|
49626
49635
|
if projectile ~= nil then
|
|
49627
|
-
msg = msg .. (" (projectile -
|
|
49636
|
+
msg = msg .. (" (projectile - " .. getProjectileVariantName(nil, projectile)) .. ")"
|
|
49628
49637
|
end
|
|
49629
49638
|
local tear = entity:ToTear()
|
|
49630
49639
|
if tear ~= nil then
|
|
49631
|
-
msg = msg .. (" (tear -
|
|
49640
|
+
msg = msg .. (" (tear - " .. getTearVariantName(nil, tear)) .. ")"
|
|
49632
49641
|
end
|
|
49633
49642
|
msg = msg .. "\n"
|
|
49634
49643
|
msg = msg .. (" - Index: " .. tostring(entity.Index)) .. "\n"
|
|
@@ -49647,6 +49656,46 @@ function getEntityLogLine(entity, num)
|
|
|
49647
49656
|
end
|
|
49648
49657
|
return msg
|
|
49649
49658
|
end
|
|
49659
|
+
function getBombVariantName(self, bomb)
|
|
49660
|
+
local enumName = BombVariant[bomb.Variant]
|
|
49661
|
+
return enumName == nil and "unknown" or "BombVariant." .. enumName
|
|
49662
|
+
end
|
|
49663
|
+
function getEffectVariantName(self, effect)
|
|
49664
|
+
local enumName = EffectVariant[effect.Variant]
|
|
49665
|
+
return enumName == nil and "unknown" or "EffectVariant." .. enumName
|
|
49666
|
+
end
|
|
49667
|
+
function getFamiliarVariantName(self, familiar)
|
|
49668
|
+
local enumName = FamiliarVariant[familiar.Variant]
|
|
49669
|
+
return enumName == nil and "unknown" or "FamiliarVariant." .. enumName
|
|
49670
|
+
end
|
|
49671
|
+
function getKnifeVariantName(self, knife)
|
|
49672
|
+
local enumName = KnifeVariant[knife.Variant]
|
|
49673
|
+
return enumName == nil and "unknown" or "KnifeVariant." .. enumName
|
|
49674
|
+
end
|
|
49675
|
+
function getLaserVariantName(self, laser)
|
|
49676
|
+
local enumName = LaserVariant[laser.Variant]
|
|
49677
|
+
return enumName == nil and "unknown" or "LaserVariant." .. enumName
|
|
49678
|
+
end
|
|
49679
|
+
function getEntityTypeName(self, npc)
|
|
49680
|
+
local enumName = EntityType[npc.Type]
|
|
49681
|
+
return enumName == nil and "unknown" or "EntityType." .. enumName
|
|
49682
|
+
end
|
|
49683
|
+
function getPickupVariantName(self, pickup)
|
|
49684
|
+
local enumName = PickupVariant[pickup.Variant]
|
|
49685
|
+
return enumName == nil and "unknown" or "PickupVariant." .. enumName
|
|
49686
|
+
end
|
|
49687
|
+
function getPlayerVariantName(self, player)
|
|
49688
|
+
local enumName = PlayerVariant[player.Variant]
|
|
49689
|
+
return enumName == nil and "unknown" or "PlayerVariant." .. enumName
|
|
49690
|
+
end
|
|
49691
|
+
function getProjectileVariantName(self, projectile)
|
|
49692
|
+
local enumName = ProjectileVariant[projectile.Variant]
|
|
49693
|
+
return enumName == nil and "unknown" or "ProjectileVariant." .. enumName
|
|
49694
|
+
end
|
|
49695
|
+
function getTearVariantName(self, tear)
|
|
49696
|
+
local enumName = TearVariant[tear.Variant]
|
|
49697
|
+
return enumName == nil and "unknown" or "TearVariant." .. enumName
|
|
49698
|
+
end
|
|
49650
49699
|
function ____exports.logGridEntity(gridEntity)
|
|
49651
49700
|
local msg = getGridEntityLogLine(gridEntity)
|
|
49652
49701
|
log(msg)
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { GridEntityType } from "isaac-typescript-definitions";
|
|
1
|
+
import { EntityType, GridEntityType } from "isaac-typescript-definitions";
|
|
3
2
|
/** Helper function for printing out every entity (or filtered entity) in the current room. */
|
|
4
3
|
export declare function logAllEntities(this: void, includeBackgroundEffects: boolean, entityTypeFilter?: EntityType): void;
|
|
5
4
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logEntities.d.ts","sourceRoot":"","sources":["../../../src/functions/logEntities.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"logEntities.d.ts","sourceRoot":"","sources":["../../../src/functions/logEntities.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAEV,cAAc,EAOf,MAAM,8BAA8B,CAAC;AAkBtC,8FAA8F;AAC9F,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,EACV,wBAAwB,EAAE,OAAO,EACjC,gBAAgB,CAAC,EAAE,UAAU,GAC5B,IAAI,CA2CN;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,YAAY,UAAQ,EACpB,oBAAoB,CAAC,EAAE,cAAc,GACpC,IAAI,CA+CN;AAED,iEAAiE;AACjE,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAIhE;AAED,kEAAkE;AAClE,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAG1D;AA8ID,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,IAAI,CAI5E;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAGtE;AA+DD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ7D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAInE"}
|
|
@@ -5,10 +5,11 @@ local __TS__Iterator = ____lualib.__TS__Iterator
|
|
|
5
5
|
local __TS__StringTrim = ____lualib.__TS__StringTrim
|
|
6
6
|
local __TS__StringSplit = ____lualib.__TS__StringSplit
|
|
7
7
|
local ____exports = {}
|
|
8
|
-
local getEntityLogLine, getGridEntityLogLine
|
|
8
|
+
local getEntityLogLine, getBombVariantName, getEffectVariantName, getFamiliarVariantName, getKnifeVariantName, getLaserVariantName, getEntityTypeName, getPickupVariantName, getPlayerVariantName, getProjectileVariantName, getTearVariantName, getGridEntityLogLine
|
|
9
9
|
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
10
10
|
local BombVariant = ____isaac_2Dtypescript_2Ddefinitions.BombVariant
|
|
11
11
|
local EffectVariant = ____isaac_2Dtypescript_2Ddefinitions.EffectVariant
|
|
12
|
+
local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
|
|
12
13
|
local FamiliarVariant = ____isaac_2Dtypescript_2Ddefinitions.FamiliarVariant
|
|
13
14
|
local GridEntityType = ____isaac_2Dtypescript_2Ddefinitions.GridEntityType
|
|
14
15
|
local KnifeVariant = ____isaac_2Dtypescript_2Ddefinitions.KnifeVariant
|
|
@@ -38,43 +39,43 @@ function getEntityLogLine(entity, num)
|
|
|
38
39
|
msg = msg .. getEntityID(nil, entity)
|
|
39
40
|
local bomb = entity:ToBomb()
|
|
40
41
|
if bomb ~= nil then
|
|
41
|
-
msg = msg .. (" (bomb -
|
|
42
|
+
msg = msg .. (" (bomb - " .. getBombVariantName(nil, bomb)) .. ")"
|
|
42
43
|
end
|
|
43
44
|
local effect = entity:ToEffect()
|
|
44
45
|
if effect ~= nil then
|
|
45
|
-
msg = msg .. (((" (effect -
|
|
46
|
+
msg = msg .. (((" (effect - " .. getEffectVariantName(nil, effect)) .. ") (State: ") .. tostring(effect.State)) .. ")"
|
|
46
47
|
end
|
|
47
48
|
local familiar = entity:ToFamiliar()
|
|
48
49
|
if familiar ~= nil then
|
|
49
|
-
msg = msg .. (((" (familiar -
|
|
50
|
+
msg = msg .. (((" (familiar - " .. getFamiliarVariantName(nil, familiar)) .. ") (State: ") .. tostring(familiar.State)) .. ")"
|
|
50
51
|
end
|
|
51
52
|
local knife = entity:ToKnife()
|
|
52
53
|
if knife ~= nil then
|
|
53
|
-
msg = msg .. (" (knife -
|
|
54
|
+
msg = msg .. (" (knife - " .. getKnifeVariantName(nil, knife)) .. ")"
|
|
54
55
|
end
|
|
55
56
|
local laser = entity:ToLaser()
|
|
56
57
|
if laser ~= nil then
|
|
57
|
-
msg = msg .. (" (laser -
|
|
58
|
+
msg = msg .. (" (laser - " .. getLaserVariantName(nil, laser)) .. ")"
|
|
58
59
|
end
|
|
59
60
|
local npc = entity:ToNPC()
|
|
60
61
|
if npc ~= nil then
|
|
61
|
-
msg = msg .. (" (NPC) (State: " .. tostring(npc.State)) .. ")"
|
|
62
|
+
msg = msg .. (((" (NPC - " .. getEntityTypeName(nil, npc)) .. ") (State: ") .. tostring(npc.State)) .. ")"
|
|
62
63
|
end
|
|
63
64
|
local pickup = entity:ToPickup()
|
|
64
65
|
if pickup ~= nil then
|
|
65
|
-
msg = msg .. (((" (pickup -
|
|
66
|
+
msg = msg .. (((" (pickup - " .. getPickupVariantName(nil, pickup)) .. ") (State: ") .. tostring(pickup.State)) .. ")"
|
|
66
67
|
end
|
|
67
68
|
local player = entity:ToPlayer()
|
|
68
69
|
if player ~= nil then
|
|
69
|
-
msg = msg .. (" (player -
|
|
70
|
+
msg = msg .. (" (player - " .. getPlayerVariantName(nil, player)) .. ")"
|
|
70
71
|
end
|
|
71
72
|
local projectile = entity:ToProjectile()
|
|
72
73
|
if projectile ~= nil then
|
|
73
|
-
msg = msg .. (" (projectile -
|
|
74
|
+
msg = msg .. (" (projectile - " .. getProjectileVariantName(nil, projectile)) .. ")"
|
|
74
75
|
end
|
|
75
76
|
local tear = entity:ToTear()
|
|
76
77
|
if tear ~= nil then
|
|
77
|
-
msg = msg .. (" (tear -
|
|
78
|
+
msg = msg .. (" (tear - " .. getTearVariantName(nil, tear)) .. ")"
|
|
78
79
|
end
|
|
79
80
|
msg = msg .. "\n"
|
|
80
81
|
msg = msg .. (" - Index: " .. tostring(entity.Index)) .. "\n"
|
|
@@ -93,6 +94,46 @@ function getEntityLogLine(entity, num)
|
|
|
93
94
|
end
|
|
94
95
|
return msg
|
|
95
96
|
end
|
|
97
|
+
function getBombVariantName(self, bomb)
|
|
98
|
+
local enumName = BombVariant[bomb.Variant]
|
|
99
|
+
return enumName == nil and "unknown" or "BombVariant." .. enumName
|
|
100
|
+
end
|
|
101
|
+
function getEffectVariantName(self, effect)
|
|
102
|
+
local enumName = EffectVariant[effect.Variant]
|
|
103
|
+
return enumName == nil and "unknown" or "EffectVariant." .. enumName
|
|
104
|
+
end
|
|
105
|
+
function getFamiliarVariantName(self, familiar)
|
|
106
|
+
local enumName = FamiliarVariant[familiar.Variant]
|
|
107
|
+
return enumName == nil and "unknown" or "FamiliarVariant." .. enumName
|
|
108
|
+
end
|
|
109
|
+
function getKnifeVariantName(self, knife)
|
|
110
|
+
local enumName = KnifeVariant[knife.Variant]
|
|
111
|
+
return enumName == nil and "unknown" or "KnifeVariant." .. enumName
|
|
112
|
+
end
|
|
113
|
+
function getLaserVariantName(self, laser)
|
|
114
|
+
local enumName = LaserVariant[laser.Variant]
|
|
115
|
+
return enumName == nil and "unknown" or "LaserVariant." .. enumName
|
|
116
|
+
end
|
|
117
|
+
function getEntityTypeName(self, npc)
|
|
118
|
+
local enumName = EntityType[npc.Type]
|
|
119
|
+
return enumName == nil and "unknown" or "EntityType." .. enumName
|
|
120
|
+
end
|
|
121
|
+
function getPickupVariantName(self, pickup)
|
|
122
|
+
local enumName = PickupVariant[pickup.Variant]
|
|
123
|
+
return enumName == nil and "unknown" or "PickupVariant." .. enumName
|
|
124
|
+
end
|
|
125
|
+
function getPlayerVariantName(self, player)
|
|
126
|
+
local enumName = PlayerVariant[player.Variant]
|
|
127
|
+
return enumName == nil and "unknown" or "PlayerVariant." .. enumName
|
|
128
|
+
end
|
|
129
|
+
function getProjectileVariantName(self, projectile)
|
|
130
|
+
local enumName = ProjectileVariant[projectile.Variant]
|
|
131
|
+
return enumName == nil and "unknown" or "ProjectileVariant." .. enumName
|
|
132
|
+
end
|
|
133
|
+
function getTearVariantName(self, tear)
|
|
134
|
+
local enumName = TearVariant[tear.Variant]
|
|
135
|
+
return enumName == nil and "unknown" or "TearVariant." .. enumName
|
|
136
|
+
end
|
|
96
137
|
--- Helper function for log information about a specific grid entity.
|
|
97
138
|
function ____exports.logGridEntity(gridEntity)
|
|
98
139
|
local msg = getGridEntityLogLine(gridEntity)
|
|
@@ -121,6 +121,11 @@ export declare function inBossRoomOf(bossID: BossID): boolean;
|
|
|
121
121
|
* player being in a boss fight that takes place in a dungeon.
|
|
122
122
|
*/
|
|
123
123
|
export declare function inCrawlSpace(): boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Helper function for checking whether the current room is a crawl space with a door corresponding
|
|
126
|
+
* to `DoorSlotFlag.RIGHT_0` (1 << 2).
|
|
127
|
+
*/
|
|
128
|
+
export declare function inCrawlSpaceWithBlackMarketEntrance(): boolean;
|
|
124
129
|
/**
|
|
125
130
|
* Helper function to detect if the current room is one of the rooms in the Death Certificate area.
|
|
126
131
|
*/
|
|
@@ -241,6 +246,11 @@ export declare function isBossRoomOf(roomData: RoomConfig, bossID: BossID): bool
|
|
|
241
246
|
* the player being in a boss fight that takes place in a dungeon.
|
|
242
247
|
*/
|
|
243
248
|
export declare function isCrawlSpace(roomData: RoomConfig): boolean;
|
|
249
|
+
/**
|
|
250
|
+
* Helper function for checking whether the provided room is a crawl space with a door corresponding
|
|
251
|
+
* to `DoorSlotFlag.RIGHT_0` (1 << 2).
|
|
252
|
+
*/
|
|
253
|
+
export declare function isCrawlSpaceWithBlackMarketEntrance(roomData: RoomConfig): boolean;
|
|
244
254
|
/**
|
|
245
255
|
* Helper function to detect if the provided room is one of the rooms in the Death Certificate area.
|
|
246
256
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rooms.d.ts","sourceRoot":"","sources":["../../../src/functions/rooms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,UAAU,EACX,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,SAAS,
|
|
1
|
+
{"version":3,"file":"rooms.d.ts","sourceRoot":"","sources":["../../../src/functions/rooms.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitio
|
|
|
15
15
|
local AngelRoomSubType = ____isaac_2Dtypescript_2Ddefinitions.AngelRoomSubType
|
|
16
16
|
local Dimension = ____isaac_2Dtypescript_2Ddefinitions.Dimension
|
|
17
17
|
local DoorSlot = ____isaac_2Dtypescript_2Ddefinitions.DoorSlot
|
|
18
|
+
local DoorSlotFlag = ____isaac_2Dtypescript_2Ddefinitions.DoorSlotFlag
|
|
18
19
|
local DownpourRoomSubType = ____isaac_2Dtypescript_2Ddefinitions.DownpourRoomSubType
|
|
19
20
|
local DungeonSubType = ____isaac_2Dtypescript_2Ddefinitions.DungeonSubType
|
|
20
21
|
local GridRoom = ____isaac_2Dtypescript_2Ddefinitions.GridRoom
|
|
@@ -159,6 +160,11 @@ end
|
|
|
159
160
|
function ____exports.isCrawlSpace(self, roomData)
|
|
160
161
|
return roomData.Type == RoomType.DUNGEON and roomData.Subtype == asNumber(nil, DungeonSubType.NORMAL)
|
|
161
162
|
end
|
|
163
|
+
--- Helper function for checking whether the provided room is a crawl space with a door corresponding
|
|
164
|
+
-- to `DoorSlotFlag.RIGHT_0` (1 << 2).
|
|
165
|
+
function ____exports.isCrawlSpaceWithBlackMarketEntrance(self, roomData)
|
|
166
|
+
return ____exports.isCrawlSpace(nil, roomData) and hasFlag(nil, roomData.Doors, DoorSlotFlag.RIGHT_0)
|
|
167
|
+
end
|
|
162
168
|
--- Helper function to detect if the provided room is one of the rooms in the Death Certificate area.
|
|
163
169
|
function ____exports.isDeathCertificateArea(self, roomData)
|
|
164
170
|
return roomData.StageID == StageID.HOME and (roomData.Subtype == asNumber(nil, HomeRoomSubType.DEATH_CERTIFICATE_ENTRANCE) or roomData.Subtype == asNumber(nil, HomeRoomSubType.DEATH_CERTIFICATE_ITEMS))
|
|
@@ -388,6 +394,12 @@ function ____exports.inCrawlSpace(self)
|
|
|
388
394
|
local roomData = getRoomData(nil)
|
|
389
395
|
return ____exports.isCrawlSpace(nil, roomData)
|
|
390
396
|
end
|
|
397
|
+
--- Helper function for checking whether the current room is a crawl space with a door corresponding
|
|
398
|
+
-- to `DoorSlotFlag.RIGHT_0` (1 << 2).
|
|
399
|
+
function ____exports.inCrawlSpaceWithBlackMarketEntrance(self)
|
|
400
|
+
local roomData = getRoomData(nil)
|
|
401
|
+
return ____exports.isCrawlSpaceWithBlackMarketEntrance(nil, roomData)
|
|
402
|
+
end
|
|
391
403
|
--- Helper function to detect if the current room is one of the rooms in the Death Certificate area.
|
|
392
404
|
function ____exports.inDeathCertificateArea(self)
|
|
393
405
|
local roomData = getRoomData(nil)
|
|
@@ -577,12 +589,12 @@ function ____exports.setRoomCleared(self)
|
|
|
577
589
|
for ____, door in ipairs(getDoors(nil)) do
|
|
578
590
|
do
|
|
579
591
|
if isHiddenSecretRoomDoor(nil, door) then
|
|
580
|
-
goto
|
|
592
|
+
goto __continue80
|
|
581
593
|
end
|
|
582
594
|
openDoorFast(nil, door)
|
|
583
595
|
door.ExtraVisible = false
|
|
584
596
|
end
|
|
585
|
-
::
|
|
597
|
+
::__continue80::
|
|
586
598
|
end
|
|
587
599
|
sfxManager:Stop(SoundEffect.DOOR_HEAVY_OPEN)
|
|
588
600
|
game:ShakeScreen(0)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "isaacscript-common",
|
|
3
|
-
"version": "51.
|
|
3
|
+
"version": "51.5.1",
|
|
4
4
|
"description": "Helper functions and features for IsaacScript mods.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"isaac",
|
|
@@ -25,6 +25,6 @@
|
|
|
25
25
|
"main": "dist/src/index",
|
|
26
26
|
"types": "dist/index.rollup.d.ts",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"isaac-typescript-definitions": "^21.0.
|
|
28
|
+
"isaac-typescript-definitions": "^21.0.1"
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { EntityType } from "isaac-typescript-definitions";
|
|
2
1
|
import {
|
|
3
2
|
BombVariant,
|
|
4
3
|
EffectVariant,
|
|
4
|
+
EntityType,
|
|
5
5
|
FamiliarVariant,
|
|
6
6
|
GridEntityType,
|
|
7
7
|
KnifeVariant,
|
|
@@ -158,60 +158,58 @@ function getEntityLogLine(this: void, entity: Entity, num?: int): string {
|
|
|
158
158
|
|
|
159
159
|
const bomb = entity.ToBomb();
|
|
160
160
|
if (bomb !== undefined) {
|
|
161
|
-
msg += ` (bomb -
|
|
161
|
+
msg += ` (bomb - ${getBombVariantName(bomb)})`;
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
const effect = entity.ToEffect();
|
|
165
165
|
if (effect !== undefined) {
|
|
166
|
-
msg += ` (effect -
|
|
167
|
-
|
|
168
|
-
})
|
|
166
|
+
msg += ` (effect - ${getEffectVariantName(effect)}) (State: ${
|
|
167
|
+
effect.State
|
|
168
|
+
})`;
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
const familiar = entity.ToFamiliar();
|
|
172
172
|
if (familiar !== undefined) {
|
|
173
|
-
msg += ` (familiar -
|
|
174
|
-
|
|
175
|
-
})
|
|
173
|
+
msg += ` (familiar - ${getFamiliarVariantName(familiar)}) (State: ${
|
|
174
|
+
familiar.State
|
|
175
|
+
})`;
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
const knife = entity.ToKnife();
|
|
179
179
|
if (knife !== undefined) {
|
|
180
|
-
msg += ` (knife -
|
|
180
|
+
msg += ` (knife - ${getKnifeVariantName(knife)})`;
|
|
181
181
|
}
|
|
182
182
|
|
|
183
183
|
const laser = entity.ToLaser();
|
|
184
184
|
if (laser !== undefined) {
|
|
185
|
-
msg += ` (laser -
|
|
185
|
+
msg += ` (laser - ${getLaserVariantName(laser)})`;
|
|
186
186
|
}
|
|
187
187
|
|
|
188
188
|
const npc = entity.ToNPC();
|
|
189
189
|
if (npc !== undefined) {
|
|
190
|
-
msg += ` (NPC) (State: ${npc.State})`;
|
|
190
|
+
msg += ` (NPC - ${getEntityTypeName(npc)}) (State: ${npc.State})`;
|
|
191
191
|
}
|
|
192
192
|
|
|
193
193
|
const pickup = entity.ToPickup();
|
|
194
194
|
if (pickup !== undefined) {
|
|
195
|
-
msg += ` (pickup -
|
|
196
|
-
|
|
197
|
-
})
|
|
195
|
+
msg += ` (pickup - ${getPickupVariantName(pickup)}) (State: ${
|
|
196
|
+
pickup.State
|
|
197
|
+
})`;
|
|
198
198
|
}
|
|
199
199
|
|
|
200
200
|
const player = entity.ToPlayer();
|
|
201
201
|
if (player !== undefined) {
|
|
202
|
-
msg += ` (player -
|
|
202
|
+
msg += ` (player - ${getPlayerVariantName(player)})`;
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
const projectile = entity.ToProjectile();
|
|
206
206
|
if (projectile !== undefined) {
|
|
207
|
-
msg += ` (projectile -
|
|
208
|
-
ProjectileVariant[projectile.Variant]
|
|
209
|
-
}))`;
|
|
207
|
+
msg += ` (projectile - ${getProjectileVariantName(projectile)})`;
|
|
210
208
|
}
|
|
211
209
|
|
|
212
210
|
const tear = entity.ToTear();
|
|
213
211
|
if (tear !== undefined) {
|
|
214
|
-
msg += ` (tear -
|
|
212
|
+
msg += ` (tear - ${getTearVariantName(tear)})`;
|
|
215
213
|
}
|
|
216
214
|
|
|
217
215
|
msg += "\n";
|
|
@@ -233,6 +231,66 @@ function getEntityLogLine(this: void, entity: Entity, num?: int): string {
|
|
|
233
231
|
return msg;
|
|
234
232
|
}
|
|
235
233
|
|
|
234
|
+
function getBombVariantName(bomb: EntityBomb) {
|
|
235
|
+
// Handle modded entities.
|
|
236
|
+
const enumName = BombVariant[bomb.Variant] as string | undefined;
|
|
237
|
+
return enumName === undefined ? "unknown" : `BombVariant.${enumName}`;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
function getEffectVariantName(effect: EntityEffect) {
|
|
241
|
+
// Handle modded entities.
|
|
242
|
+
const enumName = EffectVariant[effect.Variant] as string | undefined;
|
|
243
|
+
return enumName === undefined ? "unknown" : `EffectVariant.${enumName}`;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
function getFamiliarVariantName(familiar: EntityFamiliar) {
|
|
247
|
+
// Handle modded entities.
|
|
248
|
+
const enumName = FamiliarVariant[familiar.Variant] as string | undefined;
|
|
249
|
+
return enumName === undefined ? "unknown" : `FamiliarVariant.${enumName}`;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
function getKnifeVariantName(knife: EntityKnife) {
|
|
253
|
+
// Handle modded entities.
|
|
254
|
+
const enumName = KnifeVariant[knife.Variant] as string | undefined;
|
|
255
|
+
return enumName === undefined ? "unknown" : `KnifeVariant.${enumName}`;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
function getLaserVariantName(laser: EntityLaser) {
|
|
259
|
+
// Handle modded entities.
|
|
260
|
+
const enumName = LaserVariant[laser.Variant] as string | undefined;
|
|
261
|
+
return enumName === undefined ? "unknown" : `LaserVariant.${enumName}`;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
function getEntityTypeName(npc: EntityNPC) {
|
|
265
|
+
// Handle modded entities.
|
|
266
|
+
const enumName = EntityType[npc.Type] as string | undefined;
|
|
267
|
+
return enumName === undefined ? "unknown" : `EntityType.${enumName}`;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
function getPickupVariantName(pickup: EntityPickup) {
|
|
271
|
+
// Handle modded entities.
|
|
272
|
+
const enumName = PickupVariant[pickup.Variant] as string | undefined;
|
|
273
|
+
return enumName === undefined ? "unknown" : `PickupVariant.${enumName}`;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
function getPlayerVariantName(player: EntityPlayer) {
|
|
277
|
+
// Handle modded entities.
|
|
278
|
+
const enumName = PlayerVariant[player.Variant] as string | undefined;
|
|
279
|
+
return enumName === undefined ? "unknown" : `PlayerVariant.${enumName}`;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
function getProjectileVariantName(projectile: EntityProjectile) {
|
|
283
|
+
// Handle modded entities.
|
|
284
|
+
const enumName = ProjectileVariant[projectile.Variant] as string | undefined;
|
|
285
|
+
return enumName === undefined ? "unknown" : `ProjectileVariant.${enumName}`;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
function getTearVariantName(tear: EntityTear) {
|
|
289
|
+
// Handle modded entities.
|
|
290
|
+
const enumName = TearVariant[tear.Variant] as string | undefined;
|
|
291
|
+
return enumName === undefined ? "unknown" : `TearVariant.${enumName}`;
|
|
292
|
+
}
|
|
293
|
+
|
|
236
294
|
/** Helper function for logging an array of specific grid entities. */
|
|
237
295
|
export function logGridEntities(this: void, gridEntities: GridEntity[]): void {
|
|
238
296
|
for (const gridEntity of gridEntities) {
|
package/src/functions/rooms.ts
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
AngelRoomSubType,
|
|
9
9
|
Dimension,
|
|
10
10
|
DoorSlot,
|
|
11
|
+
DoorSlotFlag,
|
|
11
12
|
DownpourRoomSubType,
|
|
12
13
|
DungeonSubType,
|
|
13
14
|
GridRoom,
|
|
@@ -327,6 +328,15 @@ export function inCrawlSpace(): boolean {
|
|
|
327
328
|
return isCrawlSpace(roomData);
|
|
328
329
|
}
|
|
329
330
|
|
|
331
|
+
/**
|
|
332
|
+
* Helper function for checking whether the current room is a crawl space with a door corresponding
|
|
333
|
+
* to `DoorSlotFlag.RIGHT_0` (1 << 2).
|
|
334
|
+
*/
|
|
335
|
+
export function inCrawlSpaceWithBlackMarketEntrance(): boolean {
|
|
336
|
+
const roomData = getRoomData();
|
|
337
|
+
return isCrawlSpaceWithBlackMarketEntrance(roomData);
|
|
338
|
+
}
|
|
339
|
+
|
|
330
340
|
/**
|
|
331
341
|
* Helper function to detect if the current room is one of the rooms in the Death Certificate area.
|
|
332
342
|
*/
|
|
@@ -579,6 +589,18 @@ export function isCrawlSpace(roomData: RoomConfig): boolean {
|
|
|
579
589
|
);
|
|
580
590
|
}
|
|
581
591
|
|
|
592
|
+
/**
|
|
593
|
+
* Helper function for checking whether the provided room is a crawl space with a door corresponding
|
|
594
|
+
* to `DoorSlotFlag.RIGHT_0` (1 << 2).
|
|
595
|
+
*/
|
|
596
|
+
export function isCrawlSpaceWithBlackMarketEntrance(
|
|
597
|
+
roomData: RoomConfig,
|
|
598
|
+
): boolean {
|
|
599
|
+
return (
|
|
600
|
+
isCrawlSpace(roomData) && hasFlag(roomData.Doors, DoorSlotFlag.RIGHT_0)
|
|
601
|
+
);
|
|
602
|
+
}
|
|
603
|
+
|
|
582
604
|
/**
|
|
583
605
|
* Helper function to detect if the provided room is one of the rooms in the Death Certificate area.
|
|
584
606
|
*/
|