diff --git a/ExpandAssets/Assets/AssetBundles/AssetBundles b/ExpandAssets/Assets/AssetBundles/AssetBundles index 62766a5..d757765 100644 Binary files a/ExpandAssets/Assets/AssetBundles/AssetBundles and b/ExpandAssets/Assets/AssetBundles/AssetBundles differ diff --git a/ExpandAssets/Assets/AssetBundles/AssetBundles.manifest b/ExpandAssets/Assets/AssetBundles/AssetBundles.manifest index 77dcd6d..f5940a1 100644 --- a/ExpandAssets/Assets/AssetBundles/AssetBundles.manifest +++ b/ExpandAssets/Assets/AssetBundles/AssetBundles.manifest @@ -1,5 +1,5 @@ ManifestFileVersion: 0 -CRC: 1216126238 +CRC: 3602897831 AssetBundleManifest: AssetBundleInfos: Info_0: diff --git a/ExpandAssets/Assets/AssetBundles/expandsharedauto b/ExpandAssets/Assets/AssetBundles/expandsharedauto index 52b07c5..7319ea7 100644 Binary files a/ExpandAssets/Assets/AssetBundles/expandsharedauto and b/ExpandAssets/Assets/AssetBundles/expandsharedauto differ diff --git a/ExpandAssets/Assets/AssetBundles/expandsharedauto.manifest b/ExpandAssets/Assets/AssetBundles/expandsharedauto.manifest index 0dd1cc9..3ba2d79 100644 --- a/ExpandAssets/Assets/AssetBundles/expandsharedauto.manifest +++ b/ExpandAssets/Assets/AssetBundles/expandsharedauto.manifest @@ -1,9 +1,9 @@ ManifestFileVersion: 0 -CRC: 4037480594 +CRC: 3937097182 Hashes: AssetFileHash: serializedVersion: 2 - Hash: a7168a278c52302407b96741ddf7f159 + Hash: 48c1897f0032b2a33fbef7c72666f38d TypeTreeHash: serializedVersion: 2 Hash: 2241b0dac22d22b9de2222ad79842819 @@ -1053,6 +1053,7 @@ Assets: - Assets/ExpandPrefabs/SpriteCollections/Misc/EXOfficeCollection.prefab - Assets/ExpandSerializedData/TilesetData/Nakatomi/Nakatomi_Blue/facewallGrids_2_grid.txt - Assets/ExpandSerializedData/SpriteCollections/EXPortableElevatorCollection.txt +- Assets/ExpandTextures/Misc/JungleOcclusionTest.png - Assets/ExpandSerializedData/SpriteCollections/EXSecretDoorCollection.txt - Assets/ExpandSerializedData/SpriteCollections/GungeoneerMimicCollection.txt - Assets/ExpandTextures/SpriteCollections/Misc/EXLargeMonster_Collection.png diff --git a/ExpandAssets/Assets/AssetBundles/expandspritesbase b/ExpandAssets/Assets/AssetBundles/expandspritesbase index 023f56f..69ec2d7 100644 Binary files a/ExpandAssets/Assets/AssetBundles/expandspritesbase and b/ExpandAssets/Assets/AssetBundles/expandspritesbase differ diff --git a/ExpandAssets/Assets/AssetBundles/expandspritesbase.manifest b/ExpandAssets/Assets/AssetBundles/expandspritesbase.manifest index e492b4e..8453609 100644 --- a/ExpandAssets/Assets/AssetBundles/expandspritesbase.manifest +++ b/ExpandAssets/Assets/AssetBundles/expandspritesbase.manifest @@ -1,9 +1,9 @@ ManifestFileVersion: 0 -CRC: 3133764107 +CRC: 1620197715 Hashes: AssetFileHash: serializedVersion: 2 - Hash: ee61bc3441ab5c2f2bf5d6f664f16fae + Hash: 0a024bbee988145ff8a96ef6a1b60a56 TypeTreeHash: serializedVersion: 2 Hash: c73412a662fd4e4f36af34cbdf078b85 @@ -61,6 +61,7 @@ Assets: - Assets/ExpandSprites/AIActors/BootlegShotgunManBlue_Collection/shotgunman_blue_move_left_002.png - Assets/ExpandSprites/AIActors/CultistCompanion_Collection/cultist_move_front_left_001.png - Assets/ExpandSprites/AIActors/CultistCompanion_Collection/cultist_dodge_front_left_003.png +- Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Small.png - Assets/ExpandSprites/AIActors/CultistCompanion_Collection/cultist_idle_front_002.png - Assets/ExpandSprites/AIActors/Cronenberg_Collection/Cronenberg_Spawn_001.png - Assets/ExpandSprites/AIActors/CultistCompanion_Collection/cultist_dodge_front_right_005.png @@ -105,11 +106,13 @@ Assets: - Assets/ExpandSprites/AIActors/BootlegShotgunManBlue_Collection/shotgunman_blue_hit_right.png - Assets/ExpandSprites/Misc/EXChest_Collection/chest_west_shadow.png - Assets/ExpandSprites/AIActors/CultistCompanion_Collection/cultist_dodge_back_right_009.png +- Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Small_Shadow.png - Assets/ExpandSprites/AIActors/WestBrosCollection/gr_tuc_rev_fire_001.png - Assets/ExpandSprites/GunsAndItems/EXItem_Collection/corrupted_poopsack_09.png - Assets/ExpandSprites/AIActors/CultistCompanion_Collection/cultist_idle_back_right_004.png - Assets/ExpandSprites/AIActors/CultistCompanion_Collection/cultist_idle_front_left_004.png - Assets/ExpandSprites/GunsAndItems/EXItem_Collection/babygoodhammer_spawn_02.png +- Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Medium_Stump.png - Assets/ExpandSprites/AIActors/WestBrosCollection/gr_golden_revolver_idle_004.png - Assets/ExpandSprites/Misc/EXOffice_Collection/office_one_way_blocker_horizontal_bottom_001.png - Assets/ExpandSprites/Misc/EXPortableElevator_Collection/portable_elevator_floor.png @@ -388,6 +391,7 @@ Assets: - Assets/ExpandSprites/AIActors/SonicCompanion_Collection/Sonic_Move_Back_Right_004.png - Assets/ExpandSprites/AIActors/BootlegBulletManBandana_Collection/bulletmanbandana_hit_left_001.png - Assets/ExpandSprites/GunsAndItems/EXItem_Collection/babygoodhammer_spawn_22.png +- Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Medium_Shadow.png - Assets/ExpandSprites/AIActors/SonicCompanion_Collection/Sonic_Move_Back_Right_002.png - Assets/ExpandSprites/GunsAndItems/EXItem_Collection/junglecrest.png - Assets/ExpandSprites/AIActors/SonicCompanion_Collection/Sonic_Idle_Back_01.png @@ -540,6 +544,7 @@ Assets: - Assets/ExpandSprites/Misc/EXFoyer_Collection/gunball_use_002.png - Assets/ExpandSprites/Misc/EXMonster_Collection/Belly_PitVFX3_06.png - Assets/ExpandSprites/AIActors/Cronenberg_Tall_Collection/berg_tall_run_back_left_005.png +- Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Debris_01.png - Assets/ExpandSprites/Misc/EXOffice_Collection/office_one_way_blocker_vertical_bottom_001.png - Assets/ExpandSprites/GunsAndItems/EXGun_Collection/bootleg_pistol_projectile_001.png - Assets/ExpandSprites/AIActors/WestBrosCollection/gr_golden_revolver_reload_006.png @@ -642,6 +647,7 @@ Assets: - Assets/ExpandSprites/AIActors/SonicCompanion_Collection/Sonic_Move_Forward_Right_002.png - Assets/ExpandSprites/AIActors/CultistCompanion_Collection/cultist_move_back_left_003.png - Assets/ExpandSprites/AIActors/CultistCompanion_Collection/cultist_dodge_front_left_007.png +- Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Debris_03.png - Assets/ExpandSprites/GunsAndItems/EXItem_Collection/babygoodhammer_spawn_12.png - Assets/ExpandSprites/AIActors/Clownkin_Collection/clownkin_run_right_back_002.png - Assets/ExpandSprites/Misc/EXFoyer_Collection/casino_hatrack_001.png @@ -707,6 +713,7 @@ Assets: - Assets/ExpandSprites/Misc/EXLargeMonster_Collection/Belly_Monster_Move_001.png - Assets/ExpandSprites/Misc/EXPortableElevator_Collection/portable_elevator_interiorfloor.png - Assets/ExpandSprites/AIActors/Cronenberg_Tall_Collection/berg_tall_run_left_004.png +- Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Medium_Stump_Shadow.png - Assets/ExpandSprites/AIActors/SonicCompanion_Collection/Sonic_Move_Left_002.png - Assets/ExpandSprites/AIActors/Clownkin_Collection/clownkin_death_right_front_005.png - Assets/ExpandSprites/Misc/EXPortableElevator_Collection/portable_elevator_arrive_01.png @@ -900,6 +907,7 @@ Assets: - Assets/ExpandSprites/Misc/EXParadrop_Collection/EX_Parachute.png - Assets/ExpandSprites/Misc/EXPortableElevator_Collection/portable_elevator_arrive_04.png - Assets/ExpandSprites/AIActors/CultistCompanion_Collection/cultist_dodge_front_left_001.png +- Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Medium.png - Assets/ExpandSprites/GunsAndItems/EXItem_Collection/corruptionbomb_spin_07.png - Assets/ExpandSprites/AIActors/Clownkin_Collection/clownkin_spawn_002.png - Assets/ExpandSprites/GunsAndItems/EXItem_Collection/babygoodhammer_spawn_05.png @@ -1077,6 +1085,7 @@ Assets: - Assets/ExpandSprites/Misc/EXFoyer_Collection/gunball_use_010.png - Assets/ExpandSprites/AIActors/Clownkin_Collection/clownkin_run_left_001.png - Assets/ExpandSprites/Misc/EXTrap_Collection/music_switch_activate_002.png +- Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Debris_02.png - Assets/ExpandSprites/AIActors/Cronenberg_Tall_Collection/berg_tall_spawn_003.png - Assets/ExpandSprites/AIActors/SonicCompanion_Collection/Sonic_SpindashCharge_Right_01.png - Assets/ExpandSprites/AIActors/SonicCompanion_Collection/Sonic_SpindashCharge_Forward_04.png diff --git a/ExpandAssets/Assets/ExpandSerializedData/SpriteCollections/EXJungleCollection.txt b/ExpandAssets/Assets/ExpandSerializedData/SpriteCollections/EXJungleCollection.txt index 5562007..8caefa9 100644 --- a/ExpandAssets/Assets/ExpandSerializedData/SpriteCollections/EXJungleCollection.txt +++ b/ExpandAssets/Assets/ExpandSerializedData/SpriteCollections/EXJungleCollection.txt @@ -1 +1 @@ -{"version":3,"materialIdsValid":true,"needMaterialInstance":false,"spriteDefinitions":[{"name":"Jungle_Tree_Large","boundsDataCenter":{"x":6.03125,"y":7.3125,"z":0.0},"boundsDataExtents":{"x":12.0625,"y":14.625,"z":0.0},"untrimmedBoundsDataCenter":{"x":6.03125,"y":7.3125,"z":0.0},"untrimmedBoundsDataExtents":{"x":12.0625,"y":14.625,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":12.0625,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":14.625,"z":0.0},"position3":{"x":12.0625,"y":14.625,"z":0.0},"uvs":[{"x":0.00390625,"y":0.00390625},{"x":0.380859375,"y":0.00390625},{"x":0.00390625,"y":0.4609375},{"x":0.380859375,"y":0.4609375}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_Tree_Large_Frame","boundsDataCenter":{"x":6.03125,"y":7.3125,"z":0.0},"boundsDataExtents":{"x":12.0625,"y":14.625,"z":0.0},"untrimmedBoundsDataCenter":{"x":6.03125,"y":7.3125,"z":0.0},"untrimmedBoundsDataExtents":{"x":12.0625,"y":14.625,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":12.0625,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":14.625,"z":0.0},"position3":{"x":12.0625,"y":14.625,"z":0.0},"uvs":[{"x":0.388671875,"y":0.00390625},{"x":0.765625,"y":0.00390625},{"x":0.388671875,"y":0.4609375},{"x":0.765625,"y":0.4609375}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_Tree_Large_Open","boundsDataCenter":{"x":6.03125,"y":7.3125,"z":0.0},"boundsDataExtents":{"x":12.0625,"y":14.625,"z":0.0},"untrimmedBoundsDataCenter":{"x":6.03125,"y":7.3125,"z":0.0},"untrimmedBoundsDataExtents":{"x":12.0625,"y":14.625,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":12.0625,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":14.625,"z":0.0},"position3":{"x":12.0625,"y":14.625,"z":0.0},"uvs":[{"x":0.00390625,"y":0.46875},{"x":0.380859375,"y":0.46875},{"x":0.00390625,"y":0.92578125},{"x":0.380859375,"y":0.92578125}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_Tree_Large_Shadow","boundsDataCenter":{"x":6.03125,"y":7.3125,"z":0.0},"boundsDataExtents":{"x":12.0625,"y":14.625,"z":0.0},"untrimmedBoundsDataCenter":{"x":6.03125,"y":7.3125,"z":0.0},"untrimmedBoundsDataExtents":{"x":12.0625,"y":14.625,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":12.0625,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":14.625,"z":0.0},"position3":{"x":12.0625,"y":14.625,"z":0.0},"uvs":[{"x":0.388671875,"y":0.46875},{"x":0.765625,"y":0.46875},{"x":0.388671875,"y":0.92578125},{"x":0.765625,"y":0.92578125}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"JungleTree_MinimapIcon","boundsDataCenter":{"x":0.3125,"y":0.3125,"z":0.0},"boundsDataExtents":{"x":0.625,"y":0.625,"z":0.0},"untrimmedBoundsDataCenter":{"x":0.3125,"y":0.3125,"z":0.0},"untrimmedBoundsDataExtents":{"x":0.625,"y":0.625,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":0.625,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":0.625,"z":0.0},"position3":{"x":0.625,"y":0.625,"z":0.0},"uvs":[{"x":0.7734375,"y":0.46875},{"x":0.79296875,"y":0.46875},{"x":0.7734375,"y":0.48828125},{"x":0.79296875,"y":0.48828125}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"junglecrest_minimapicon","boundsDataCenter":{"x":0.3125,"y":0.3125,"z":0.0},"boundsDataExtents":{"x":0.625,"y":0.625,"z":0.0},"untrimmedBoundsDataCenter":{"x":0.3125,"y":0.3125,"z":0.0},"untrimmedBoundsDataExtents":{"x":0.625,"y":0.625,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":0.625,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":0.625,"z":0.0},"position3":{"x":0.625,"y":0.625,"z":0.0},"uvs":[{"x":0.80078125,"y":0.46875},{"x":0.8203125,"y":0.46875},{"x":0.80078125,"y":0.48828125},{"x":0.8203125,"y":0.48828125}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_TreeStump","boundsDataCenter":{"x":1.0,"y":1.0,"z":0.0},"boundsDataExtents":{"x":2.0,"y":2.0,"z":0.0},"untrimmedBoundsDataCenter":{"x":1.0,"y":1.0,"z":0.0},"untrimmedBoundsDataExtents":{"x":2.0,"y":2.0,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":2.0,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":2.0,"z":0.0},"position3":{"x":2.0,"y":2.0,"z":0.0},"uvs":[{"x":0.828125,"y":0.46875},{"x":0.890625,"y":0.46875},{"x":0.828125,"y":0.53125},{"x":0.890625,"y":0.53125}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_ExitLadder","boundsDataCenter":{"x":0.4375,"y":2.03125,"z":0.0},"boundsDataExtents":{"x":0.875,"y":4.0625,"z":0.0},"untrimmedBoundsDataCenter":{"x":0.4375,"y":2.03125,"z":0.0},"untrimmedBoundsDataExtents":{"x":0.875,"y":4.0625,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":0.875,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":4.0625,"z":0.0},"position3":{"x":0.875,"y":4.0625,"z":0.0},"uvs":[{"x":0.8984375,"y":0.46875},{"x":0.92578125,"y":0.46875},{"x":0.8984375,"y":0.595703125},{"x":0.92578125,"y":0.595703125}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_ExitLadder_Destination","boundsDataCenter":{"x":1.0,"y":1.25,"z":0.0},"boundsDataExtents":{"x":2.0,"y":2.5,"z":0.0},"untrimmedBoundsDataCenter":{"x":1.0,"y":1.25,"z":0.0},"untrimmedBoundsDataExtents":{"x":2.0,"y":2.5,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":2.0,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":2.5,"z":0.0},"position3":{"x":2.0,"y":2.5,"z":0.0},"uvs":[{"x":0.93359375,"y":0.46875},{"x":0.99609375,"y":0.46875},{"x":0.93359375,"y":0.546875},{"x":0.99609375,"y":0.546875}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_ExitLadder_Destination_Hole","boundsDataCenter":{"x":1.0,"y":1.0,"z":0.0},"boundsDataExtents":{"x":2.0,"y":2.0,"z":0.0},"untrimmedBoundsDataCenter":{"x":1.0,"y":1.0,"z":0.0},"untrimmedBoundsDataExtents":{"x":2.0,"y":2.0,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":2.0,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":2.0,"z":0.0},"position3":{"x":2.0,"y":2.0,"z":0.0},"uvs":[{"x":0.00390625,"y":0.93359375},{"x":0.06640625,"y":0.93359375},{"x":0.00390625,"y":0.99609375},{"x":0.06640625,"y":0.99609375}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false}],"SpriteIDsWithBagelColliders":[],"SpriteDefinedBagelColliders":[],"SpriteIDsWithAttachPoints":[],"SpriteDefinedAttachPoints":[],"SpriteIDsWithNeighborDependencies":[],"SpriteDefinedIndexNeighborDependencies":[],"SpriteIDsWithAnimationSequences":[],"SpriteDefinedAnimationSequences":[],"premultipliedAlpha":false,"shouldGenerateTilemapReflectionData":false,"material":{"m_FileID":0,"m_PathID":0},"materials":[],"textures":[],"pngTextures":[],"materialPngTextureId":[],"textureFilterMode":0,"textureMipMaps":false,"allowMultipleAtlases":false,"spriteCollectionGUID":"20834688-930f-4b45-bddc-85eb18e5dd4d","spriteCollectionName":"EXJungleCollection","assetName":"","loadable":false,"invOrthoSize":1.0,"halfTargetHeight":1.0,"buildKey":930097596,"dataGuid":"29cb97d0-b39c-4f5f-b160-88bc64272c05","managedSpriteCollection":false,"hasPlatformData":false,"spriteCollectionPlatforms":[],"spriteCollectionPlatformGUIDs":[]} +{"version":3,"materialIdsValid":true,"needMaterialInstance":false,"spriteDefinitions":[{"name":"Jungle_Tree_Large","boundsDataCenter":{"x":6.03125,"y":7.3125,"z":0.0},"boundsDataExtents":{"x":12.0625,"y":14.625,"z":0.0},"untrimmedBoundsDataCenter":{"x":6.03125,"y":7.3125,"z":0.0},"untrimmedBoundsDataExtents":{"x":12.0625,"y":14.625,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":12.0625,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":14.625,"z":0.0},"position3":{"x":12.0625,"y":14.625,"z":0.0},"uvs":[{"x":0.00390625,"y":0.0026041667442768814},{"x":0.380859375,"y":0.0026041667442768814},{"x":0.00390625,"y":0.3072916567325592},{"x":0.380859375,"y":0.3072916567325592}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_Tree_Large_Frame","boundsDataCenter":{"x":6.03125,"y":7.3125,"z":0.0},"boundsDataExtents":{"x":12.0625,"y":14.625,"z":0.0},"untrimmedBoundsDataCenter":{"x":6.03125,"y":7.3125,"z":0.0},"untrimmedBoundsDataExtents":{"x":12.0625,"y":14.625,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":12.0625,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":14.625,"z":0.0},"position3":{"x":12.0625,"y":14.625,"z":0.0},"uvs":[{"x":0.388671875,"y":0.0026041667442768814},{"x":0.765625,"y":0.0026041667442768814},{"x":0.388671875,"y":0.3072916567325592},{"x":0.765625,"y":0.3072916567325592}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_Tree_Large_Open","boundsDataCenter":{"x":6.03125,"y":7.3125,"z":0.0},"boundsDataExtents":{"x":12.0625,"y":14.625,"z":0.0},"untrimmedBoundsDataCenter":{"x":6.03125,"y":7.3125,"z":0.0},"untrimmedBoundsDataExtents":{"x":12.0625,"y":14.625,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":12.0625,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":14.625,"z":0.0},"position3":{"x":12.0625,"y":14.625,"z":0.0},"uvs":[{"x":0.00390625,"y":0.3125},{"x":0.380859375,"y":0.3125},{"x":0.00390625,"y":0.6171875},{"x":0.380859375,"y":0.6171875}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_Tree_Large_Shadow","boundsDataCenter":{"x":6.03125,"y":7.3125,"z":0.0},"boundsDataExtents":{"x":12.0625,"y":14.625,"z":0.0},"untrimmedBoundsDataCenter":{"x":6.03125,"y":7.3125,"z":0.0},"untrimmedBoundsDataExtents":{"x":12.0625,"y":14.625,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":12.0625,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":14.625,"z":0.0},"position3":{"x":12.0625,"y":14.625,"z":0.0},"uvs":[{"x":0.388671875,"y":0.3125},{"x":0.765625,"y":0.3125},{"x":0.388671875,"y":0.6171875},{"x":0.765625,"y":0.6171875}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"JungleTree_MinimapIcon","boundsDataCenter":{"x":0.3125,"y":0.3125,"z":0.0},"boundsDataExtents":{"x":0.625,"y":0.625,"z":0.0},"untrimmedBoundsDataCenter":{"x":0.3125,"y":0.3125,"z":0.0},"untrimmedBoundsDataExtents":{"x":0.625,"y":0.625,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":0.625,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":0.625,"z":0.0},"position3":{"x":0.625,"y":0.625,"z":0.0},"uvs":[{"x":0.7734375,"y":0.3125},{"x":0.79296875,"y":0.3125},{"x":0.7734375,"y":0.3255208432674408},{"x":0.79296875,"y":0.3255208432674408}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"junglecrest_minimapicon","boundsDataCenter":{"x":0.3125,"y":0.3125,"z":0.0},"boundsDataExtents":{"x":0.625,"y":0.625,"z":0.0},"untrimmedBoundsDataCenter":{"x":0.3125,"y":0.3125,"z":0.0},"untrimmedBoundsDataExtents":{"x":0.625,"y":0.625,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":0.625,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":0.625,"z":0.0},"position3":{"x":0.625,"y":0.625,"z":0.0},"uvs":[{"x":0.80078125,"y":0.3125},{"x":0.8203125,"y":0.3125},{"x":0.80078125,"y":0.3255208432674408},{"x":0.8203125,"y":0.3255208432674408}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_TreeStump","boundsDataCenter":{"x":1.0,"y":1.0,"z":0.0},"boundsDataExtents":{"x":2.0,"y":2.0,"z":0.0},"untrimmedBoundsDataCenter":{"x":1.0,"y":1.0,"z":0.0},"untrimmedBoundsDataExtents":{"x":2.0,"y":2.0,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":2.0,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":2.0,"z":0.0},"position3":{"x":2.0,"y":2.0,"z":0.0},"uvs":[{"x":0.828125,"y":0.3125},{"x":0.890625,"y":0.3125},{"x":0.828125,"y":0.3541666567325592},{"x":0.890625,"y":0.3541666567325592}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_ExitLadder","boundsDataCenter":{"x":0.4375,"y":2.03125,"z":0.0},"boundsDataExtents":{"x":0.875,"y":4.0625,"z":0.0},"untrimmedBoundsDataCenter":{"x":0.4375,"y":2.03125,"z":0.0},"untrimmedBoundsDataExtents":{"x":0.875,"y":4.0625,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":0.875,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":4.0625,"z":0.0},"position3":{"x":0.875,"y":4.0625,"z":0.0},"uvs":[{"x":0.8984375,"y":0.3125},{"x":0.92578125,"y":0.3125},{"x":0.8984375,"y":0.3971354067325592},{"x":0.92578125,"y":0.3971354067325592}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_ExitLadder_Destination","boundsDataCenter":{"x":1.0,"y":1.25,"z":0.0},"boundsDataExtents":{"x":2.0,"y":2.5,"z":0.0},"untrimmedBoundsDataCenter":{"x":1.0,"y":1.25,"z":0.0},"untrimmedBoundsDataExtents":{"x":2.0,"y":2.5,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":2.0,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":2.5,"z":0.0},"position3":{"x":2.0,"y":2.5,"z":0.0},"uvs":[{"x":0.93359375,"y":0.3125},{"x":0.99609375,"y":0.3125},{"x":0.93359375,"y":0.3645833432674408},{"x":0.99609375,"y":0.3645833432674408}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_ExitLadder_Destination_Hole","boundsDataCenter":{"x":1.0,"y":1.0,"z":0.0},"boundsDataExtents":{"x":2.0,"y":2.0,"z":0.0},"untrimmedBoundsDataCenter":{"x":1.0,"y":1.0,"z":0.0},"untrimmedBoundsDataExtents":{"x":2.0,"y":2.0,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":2.0,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":2.0,"z":0.0},"position3":{"x":2.0,"y":2.0,"z":0.0},"uvs":[{"x":0.00390625,"y":0.6223958134651184},{"x":0.06640625,"y":0.6223958134651184},{"x":0.00390625,"y":0.6640625},{"x":0.06640625,"y":0.6640625}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_Tree_Medium","boundsDataCenter":{"x":1.5,"y":2.125,"z":0.0},"boundsDataExtents":{"x":3.0,"y":4.25,"z":0.0},"untrimmedBoundsDataCenter":{"x":1.5,"y":2.125,"z":0.0},"untrimmedBoundsDataExtents":{"x":3.0,"y":4.25,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":3.0,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":4.25,"z":0.0},"position3":{"x":3.0,"y":4.25,"z":0.0},"uvs":[{"x":0.07421875,"y":0.6223958134651184},{"x":0.16796875,"y":0.6223958134651184},{"x":0.07421875,"y":0.7109375},{"x":0.16796875,"y":0.7109375}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_Tree_Medium_Stump","boundsDataCenter":{"x":0.5625,"y":0.5,"z":0.0},"boundsDataExtents":{"x":1.125,"y":1.0,"z":0.0},"untrimmedBoundsDataCenter":{"x":0.5625,"y":0.5,"z":0.0},"untrimmedBoundsDataExtents":{"x":1.125,"y":1.0,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":1.125,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":1.0,"z":0.0},"position3":{"x":1.125,"y":1.0,"z":0.0},"uvs":[{"x":0.17578125,"y":0.6223958134651184},{"x":0.2109375,"y":0.6223958134651184},{"x":0.17578125,"y":0.6432291865348816},{"x":0.2109375,"y":0.6432291865348816}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_Tree_Medium_Stump_Shadow","boundsDataCenter":{"x":0.625,"y":0.46875,"z":0.0},"boundsDataExtents":{"x":1.25,"y":0.9375,"z":0.0},"untrimmedBoundsDataCenter":{"x":0.625,"y":0.46875,"z":0.0},"untrimmedBoundsDataExtents":{"x":1.25,"y":0.9375,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":1.25,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":0.9375,"z":0.0},"position3":{"x":1.25,"y":0.9375,"z":0.0},"uvs":[{"x":0.21875,"y":0.6223958134651184},{"x":0.2578125,"y":0.6223958134651184},{"x":0.21875,"y":0.6419270634651184},{"x":0.2578125,"y":0.6419270634651184}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_Tree_Small","boundsDataCenter":{"x":1.0,"y":1.21875,"z":0.0},"boundsDataExtents":{"x":2.0,"y":2.4375,"z":0.0},"untrimmedBoundsDataCenter":{"x":1.0,"y":1.21875,"z":0.0},"untrimmedBoundsDataExtents":{"x":2.0,"y":2.4375,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":2.0,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":2.4375,"z":0.0},"position3":{"x":2.0,"y":2.4375,"z":0.0},"uvs":[{"x":0.265625,"y":0.6223958134651184},{"x":0.328125,"y":0.6223958134651184},{"x":0.265625,"y":0.6731770634651184},{"x":0.328125,"y":0.6731770634651184}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_Tree_Small_Shadow","boundsDataCenter":{"x":1.0,"y":1.03125,"z":0.0},"boundsDataExtents":{"x":2.0,"y":2.0625,"z":0.0},"untrimmedBoundsDataCenter":{"x":1.0,"y":1.03125,"z":0.0},"untrimmedBoundsDataExtents":{"x":2.0,"y":2.0625,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":2.0,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":2.0625,"z":0.0},"position3":{"x":2.0,"y":2.0625,"z":0.0},"uvs":[{"x":0.3359375,"y":0.6223958134651184},{"x":0.3984375,"y":0.6223958134651184},{"x":0.3359375,"y":0.6653645634651184},{"x":0.3984375,"y":0.6653645634651184}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_Tree_Medium_Shadow","boundsDataCenter":{"x":1.5,"y":1.59375,"z":0.0},"boundsDataExtents":{"x":3.0,"y":3.1875,"z":0.0},"untrimmedBoundsDataCenter":{"x":1.5,"y":1.59375,"z":0.0},"untrimmedBoundsDataExtents":{"x":3.0,"y":3.1875,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":3.0,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":3.1875,"z":0.0},"position3":{"x":3.0,"y":3.1875,"z":0.0},"uvs":[{"x":0.40625,"y":0.6223958134651184},{"x":0.5,"y":0.6223958134651184},{"x":0.40625,"y":0.6888020634651184},{"x":0.5,"y":0.6888020634651184}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_Tree_Debris_03","boundsDataCenter":{"x":0.21875,"y":0.46875,"z":0.0},"boundsDataExtents":{"x":0.4375,"y":0.9375,"z":0.0},"untrimmedBoundsDataCenter":{"x":0.21875,"y":0.46875,"z":0.0},"untrimmedBoundsDataExtents":{"x":0.4375,"y":0.9375,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":0.4375,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":0.9375,"z":0.0},"position3":{"x":0.4375,"y":0.9375,"z":0.0},"uvs":[{"x":0.5078125,"y":0.6223958134651184},{"x":0.521484375,"y":0.6223958134651184},{"x":0.5078125,"y":0.6419270634651184},{"x":0.521484375,"y":0.6419270634651184}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_Tree_Debris_02","boundsDataCenter":{"x":0.1875,"y":0.46875,"z":0.0},"boundsDataExtents":{"x":0.375,"y":0.9375,"z":0.0},"untrimmedBoundsDataCenter":{"x":0.1875,"y":0.46875,"z":0.0},"untrimmedBoundsDataExtents":{"x":0.375,"y":0.9375,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":0.375,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":0.9375,"z":0.0},"position3":{"x":0.375,"y":0.9375,"z":0.0},"uvs":[{"x":0.529296875,"y":0.6223958134651184},{"x":0.541015625,"y":0.6223958134651184},{"x":0.529296875,"y":0.6419270634651184},{"x":0.541015625,"y":0.6419270634651184}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false},{"name":"Jungle_Tree_Debris_01","boundsDataCenter":{"x":0.3125,"y":0.4375,"z":0.0},"boundsDataExtents":{"x":0.625,"y":0.875,"z":0.0},"untrimmedBoundsDataCenter":{"x":0.3125,"y":0.4375,"z":0.0},"untrimmedBoundsDataExtents":{"x":0.625,"y":0.875,"z":0.0},"texelSize":{"x":0.0625,"y":0.0625},"position0":{"x":0.0,"y":0.0,"z":0.0},"position1":{"x":0.625,"y":0.0,"z":0.0},"position2":{"x":0.0,"y":0.875,"z":0.0},"position3":{"x":0.625,"y":0.875,"z":0.0},"uvs":[{"x":0.548828125,"y":0.6223958134651184},{"x":0.568359375,"y":0.6223958134651184},{"x":0.548828125,"y":0.640625},{"x":0.568359375,"y":0.640625}],"material":{"m_FileID":0,"m_PathID":0},"materialId":0,"extractRegion":false,"regionX":0,"regionY":0,"regionW":0,"regionH":0,"flipped":0,"complexGeometry":false,"physicsEngine":0,"colliderType":1,"collisionLayer":6,"metadata":{"type":0,"weight":0.10000000149011612,"dungeonRoomSubType":0,"secondRoomSubType":-1,"thirdRoomSubType":-1,"preventWallStamping":false,"usesAnimSequence":false,"usesNeighborDependencies":false,"usesPerTileVFX":false,"tileVFXPlaystyle":0,"tileVFXChance":1.0,"tileVFXPrefab":{"m_FileID":0,"m_PathID":0},"tileVFXOffset":{"x":0.0,"y":0.0},"tileVFXDelayTime":0.0,"tileVFXDelayVariance":0.0,"tileVFXAnimFrame":0},"colliderVertices":[],"colliderConvex":false,"colliderSmoothSphereCollisions":false}],"SpriteIDsWithBagelColliders":[],"SpriteDefinedBagelColliders":[],"SpriteIDsWithAttachPoints":[],"SpriteDefinedAttachPoints":[],"SpriteIDsWithNeighborDependencies":[],"SpriteDefinedIndexNeighborDependencies":[],"SpriteIDsWithAnimationSequences":[],"SpriteDefinedAnimationSequences":[],"premultipliedAlpha":false,"shouldGenerateTilemapReflectionData":false,"material":{"m_FileID":0,"m_PathID":0},"materials":[],"textures":[],"pngTextures":[],"materialPngTextureId":[],"textureFilterMode":0,"textureMipMaps":false,"allowMultipleAtlases":false,"spriteCollectionGUID":"91208410-3373-49cd-ab94-155f7a49a616","spriteCollectionName":"EXJungleCollection","assetName":"","loadable":false,"invOrthoSize":1.0,"halfTargetHeight":1.0,"buildKey":871393324,"dataGuid":"f5ad7790-3555-4334-b57d-eda4fd5a19e0","managedSpriteCollection":false,"hasPlatformData":false,"spriteCollectionPlatforms":[],"spriteCollectionPlatformGUIDs":[]} diff --git a/ExpandAssets/Assets/ExpandSprites/AIActors/GungeoneerMimic_Collection/GungeoneerMimic_Collection.zip b/ExpandAssets/Assets/ExpandSprites/AIActors/GungeoneerMimic_Collection/GungeoneerMimic_Collection.zip new file mode 100644 index 0000000..6e7a267 Binary files /dev/null and b/ExpandAssets/Assets/ExpandSprites/AIActors/GungeoneerMimic_Collection/GungeoneerMimic_Collection.zip differ diff --git a/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Debris_01.png b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Debris_01.png new file mode 100644 index 0000000..348a45a Binary files /dev/null and b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Debris_01.png differ diff --git a/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Debris_02.png b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Debris_02.png new file mode 100644 index 0000000..6cb56f9 Binary files /dev/null and b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Debris_02.png differ diff --git a/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Debris_03.png b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Debris_03.png new file mode 100644 index 0000000..735e4ee Binary files /dev/null and b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Debris_03.png differ diff --git a/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Medium.png b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Medium.png new file mode 100644 index 0000000..de08a9e Binary files /dev/null and b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Medium.png differ diff --git a/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Medium_Shadow.png b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Medium_Shadow.png new file mode 100644 index 0000000..14d3556 Binary files /dev/null and b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Medium_Shadow.png differ diff --git a/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Medium_Stump.png b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Medium_Stump.png new file mode 100644 index 0000000..3822108 Binary files /dev/null and b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Medium_Stump.png differ diff --git a/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Medium_Stump_Shadow.png b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Medium_Stump_Shadow.png new file mode 100644 index 0000000..ead1751 Binary files /dev/null and b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Medium_Stump_Shadow.png differ diff --git a/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Small.png b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Small.png new file mode 100644 index 0000000..d6874f5 Binary files /dev/null and b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Small.png differ diff --git a/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Small_Shadow.png b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Small_Shadow.png new file mode 100644 index 0000000..1e50e97 Binary files /dev/null and b/ExpandAssets/Assets/ExpandSprites/Misc/EXJungle_Collection/Jungle_Tree_Small_Shadow.png differ diff --git a/ExpandAssets/Assets/ExpandTextures/EXLogo.png b/ExpandAssets/Assets/ExpandTextures/EXLogo.png index 1489d59..89e5f8d 100644 Binary files a/ExpandAssets/Assets/ExpandTextures/EXLogo.png and b/ExpandAssets/Assets/ExpandTextures/EXLogo.png differ diff --git a/ExpandAssets/Assets/ExpandTextures/Misc/JungleOcclusionTest.png b/ExpandAssets/Assets/ExpandTextures/Misc/JungleOcclusionTest.png new file mode 100644 index 0000000..d392896 Binary files /dev/null and b/ExpandAssets/Assets/ExpandTextures/Misc/JungleOcclusionTest.png differ diff --git a/ExpandAssets/Assets/ExpandTextures/SpriteCollections/Misc/EXJungle_Collection.png b/ExpandAssets/Assets/ExpandTextures/SpriteCollections/Misc/EXJungle_Collection.png index c969066..ad4ec26 100644 Binary files a/ExpandAssets/Assets/ExpandTextures/SpriteCollections/Misc/EXJungle_Collection.png and b/ExpandAssets/Assets/ExpandTextures/SpriteCollections/Misc/EXJungle_Collection.png differ diff --git a/ExpandTheGungeon/ExpandComponents/ExpandBulletKingChallengeComponent.cs b/ExpandTheGungeon/ExpandComponents/ExpandBulletKingChallengeComponent.cs index e3150e3..7527e19 100644 --- a/ExpandTheGungeon/ExpandComponents/ExpandBulletKingChallengeComponent.cs +++ b/ExpandTheGungeon/ExpandComponents/ExpandBulletKingChallengeComponent.cs @@ -21,7 +21,7 @@ class ExpandBulletKingChallenge : ChallengeModifier { "d4dd2b2bbda64cc9bcec534b4e920518", // bullet_kings_toadie_revenge "02a14dec58ab45fb8aacde7aacd25b01", // old_kings_toadie "01972dee89fc4404a5c408d50007dad5", // bullet_kin - ExpandCustomEnemyDatabase.ClownkinAngryGUID + ExpandEnemyDatabase.ClownkinAngryGUID }; MinTimeBetweenSpawns = 10f; @@ -93,7 +93,7 @@ class ExpandBulletKingChallenge : ChallengeModifier { IntVector2? DropLocation = ExpandUtility.GetRandomAvailableCellSmart(currentRoom, Clearence.Value, false); if (DropLocation.HasValue) { bool isToadie = false; - if (EnemyGUID.ToLower() != ExpandCustomEnemyDatabase.ClownkinAngryGUID && EnemyGUID.ToLower() != "01972dee89fc4404a5c408d50007dad5") { + if (EnemyGUID.ToLower() != ExpandEnemyDatabase.ClownkinAngryGUID && EnemyGUID.ToLower() != "01972dee89fc4404a5c408d50007dad5") { isToadie = true; } ExpandUtility.SpawnEnemyParaDrop(currentRoom, DropLocation.Value.ToVector3(), EnemyGUID, IsToadie: isToadie); diff --git a/ExpandTheGungeon/ExpandComponents/ExpandCasinoRoomController.cs b/ExpandTheGungeon/ExpandComponents/ExpandCasinoRoomController.cs index c8fd805..9ebe435 100644 --- a/ExpandTheGungeon/ExpandComponents/ExpandCasinoRoomController.cs +++ b/ExpandTheGungeon/ExpandComponents/ExpandCasinoRoomController.cs @@ -74,7 +74,7 @@ public class ExpandCasinoRoomController : BraveBehaviour { // Misc Props - Dungeon NakatomiPrefab = ExpandCustomDungeonPrefabs.LoadOfficialDungeonPrefab("Base_Nakatomi"); + Dungeon NakatomiPrefab = ExpandDungeonPrefabs.LoadOfficialDungeonPrefab("Base_Nakatomi"); Vector3 WaterCoolerOffset1 = (RoomPosition + new Vector3(0.25f, 12)); Vector3 WaterCoolerOffset2 = (RoomPosition + new Vector3(15.5f, 3)); diff --git a/ExpandTheGungeon/ExpandComponents/ExpandChaosModeChallengeComponent.cs b/ExpandTheGungeon/ExpandComponents/ExpandChaosModeChallengeComponent.cs index def1ac0..af0a27c 100644 --- a/ExpandTheGungeon/ExpandComponents/ExpandChaosModeChallengeComponent.cs +++ b/ExpandTheGungeon/ExpandComponents/ExpandChaosModeChallengeComponent.cs @@ -64,16 +64,16 @@ public class ExpandChaosChallengeComponent : ChallengeModifier { }; RoomEnemyGUIDList = new List { - ExpandCustomEnemyDatabase.ClownkinAngryGUID, - ExpandCustomEnemyDatabase.ClownkinNoFXGUID, - ExpandCustomEnemyDatabase.BootlegBulletManGUID, - ExpandCustomEnemyDatabase.BootlegShotgunManBlueGUID, - ExpandCustomEnemyDatabase.BootlegShotgunManRedGUID, - ExpandCustomEnemyDatabase.BootlegBulletManBandanaGUID, - ExpandCustomEnemyDatabase.AggressiveCronenbergGUID, - ExpandCustomEnemyDatabase.HotShotBulletKinGUID, - ExpandCustomEnemyDatabase.HotShotCultistGUID, - ExpandCustomEnemyDatabase.HotShotShotgunKinGUID, + ExpandEnemyDatabase.ClownkinAngryGUID, + ExpandEnemyDatabase.ClownkinNoFXGUID, + ExpandEnemyDatabase.BootlegBulletManGUID, + ExpandEnemyDatabase.BootlegShotgunManBlueGUID, + ExpandEnemyDatabase.BootlegShotgunManRedGUID, + ExpandEnemyDatabase.BootlegBulletManBandanaGUID, + ExpandEnemyDatabase.AggressiveCronenbergGUID, + ExpandEnemyDatabase.HotShotBulletKinGUID, + ExpandEnemyDatabase.HotShotCultistGUID, + ExpandEnemyDatabase.HotShotShotgunKinGUID, "01972dee89fc4404a5c408d50007dad5", // bullet_kin "d4a9836f8ab14f3fadd0f597438b1f1f", // mutant_bullet_kin "05891b158cd542b1a5f3df30fb67a7ff", // arrow_head @@ -185,12 +185,12 @@ public class ExpandChaosChallengeComponent : ChallengeModifier { BulletManMonochromeCollection = ExpandUtility.BuildSpriteCollection(EnemyDatabase.GetOrLoadByGuid("01972dee89fc4404a5c408d50007dad5").sprite.Collection, ExpandPrefabs.BulletManMonochromeTexture, null, ShaderCache.Acquire("tk2d/BlendVertexColorUnlitTilted"), false); BulletManUpsideDownCollection = ExpandUtility.BuildSpriteCollection(EnemyDatabase.GetOrLoadByGuid("01972dee89fc4404a5c408d50007dad5").sprite.Collection, ExpandPrefabs.BulletManUpsideDownTexture, null, null, false); - AlreadyIgnoredForRoomClearList.Add(ExpandCustomEnemyDatabase.RatGrenadeGUID); // rat_granade + AlreadyIgnoredForRoomClearList.Add(ExpandEnemyDatabase.RatGrenadeGUID); // rat_granade PotPestGUIDList = new List() { "6ad1cafc268f4214a101dca7af61bc91", // rat "14ea47ff46b54bb4a98f91ffcffb656d", // rat_candle - ExpandCustomEnemyDatabase.RatGrenadeGUID, + ExpandEnemyDatabase.RatGrenadeGUID, "1386da0f42fb4bcabc5be8feb16a7c38", // snake "8b43a5c59b854eb780f9ab669ec26b7a", // dragun_egg_slimeguy "d1c9781fdac54d9e8498ed89210a0238", // tiny_blobulord @@ -199,7 +199,7 @@ public class ExpandChaosChallengeComponent : ChallengeModifier { PotEnemiesList = new List { "6ad1cafc268f4214a101dca7af61bc91", // rat "14ea47ff46b54bb4a98f91ffcffb656d", // rat_candle - ExpandCustomEnemyDatabase.RatGrenadeGUID, + ExpandEnemyDatabase.RatGrenadeGUID, "76bc43539fc24648bff4568c75c686d1", // chicken "1386da0f42fb4bcabc5be8feb16a7c38", // snake "2feb50a6a40f4f50982e89fd276f6f15", // bullat @@ -1024,11 +1024,11 @@ public class ExpandChaosChallengeComponent : ChallengeModifier { IntVector2 targetSpawnPosition = (targetActor.gameObject.transform.PositionVector2().ToIntVector2()); if (targetActor.EnemyGuid == "128db2f0781141bcb505d8f00f9e4d47") { - AIActor.Spawn(EnemyDatabase.GetOrLoadByGuid(ExpandCustomEnemyDatabase.BootlegShotgunManRedGUID), targetSpawnPosition, targetActor.GetAbsoluteParentRoom(), true, AIActor.AwakenAnimationType.Spawn, true); + AIActor.Spawn(EnemyDatabase.GetOrLoadByGuid(ExpandEnemyDatabase.BootlegShotgunManRedGUID), targetSpawnPosition, targetActor.GetAbsoluteParentRoom(), true, AIActor.AwakenAnimationType.Spawn, true); targetActor.GetAbsoluteParentRoom().DeregisterEnemy(targetActor); Destroy(targetActor.gameObject); } else { - AIActor.Spawn(EnemyDatabase.GetOrLoadByGuid(ExpandCustomEnemyDatabase.BootlegShotgunManBlueGUID), targetSpawnPosition, targetActor.GetAbsoluteParentRoom(), true, AIActor.AwakenAnimationType.Spawn, true); + AIActor.Spawn(EnemyDatabase.GetOrLoadByGuid(ExpandEnemyDatabase.BootlegShotgunManBlueGUID), targetSpawnPosition, targetActor.GetAbsoluteParentRoom(), true, AIActor.AwakenAnimationType.Spawn, true); targetActor.GetAbsoluteParentRoom().DeregisterEnemy(targetActor); Destroy(targetActor.gameObject); } @@ -1052,9 +1052,9 @@ public class ExpandChaosChallengeComponent : ChallengeModifier { // IntVector2 targetSpawnPosition = (targetActor.gameObject.transform.PositionVector2().ToIntVector2() - targetActor.GetAbsoluteParentRoom().area.basePosition); IntVector2 targetSpawnPosition = (targetActor.gameObject.transform.PositionVector2().ToIntVector2()); if (targetActor.EnemyGuid == "db35531e66ce41cbb81d507a34366dfe") { - AIActor.Spawn(EnemyDatabase.GetOrLoadByGuid(ExpandCustomEnemyDatabase.BootlegBulletManBandanaGUID), targetSpawnPosition, targetActor.GetAbsoluteParentRoom(), true, AIActor.AwakenAnimationType.Spawn, true); + AIActor.Spawn(EnemyDatabase.GetOrLoadByGuid(ExpandEnemyDatabase.BootlegBulletManBandanaGUID), targetSpawnPosition, targetActor.GetAbsoluteParentRoom(), true, AIActor.AwakenAnimationType.Spawn, true); } else { - AIActor.Spawn(EnemyDatabase.GetOrLoadByGuid(ExpandCustomEnemyDatabase.BootlegBulletManGUID), targetSpawnPosition, targetActor.GetAbsoluteParentRoom(), true, AIActor.AwakenAnimationType.Spawn, true); + AIActor.Spawn(EnemyDatabase.GetOrLoadByGuid(ExpandEnemyDatabase.BootlegBulletManGUID), targetSpawnPosition, targetActor.GetAbsoluteParentRoom(), true, AIActor.AwakenAnimationType.Spawn, true); } targetActor.GetAbsoluteParentRoom().DeregisterEnemy(targetActor); Destroy(targetActor.gameObject); @@ -1063,7 +1063,7 @@ public class ExpandChaosChallengeComponent : ChallengeModifier { if (targetActor.EnemyGuid == "88b6b6a93d4b4234a67844ef4728382c") { IntVector2 targetSpawnPosition = (targetActor.gameObject.transform.PositionVector2().ToIntVector2() - targetActor.GetAbsoluteParentRoom().area.basePosition); - AIActor.Spawn(EnemyDatabase.GetOrLoadByGuid(ExpandCustomEnemyDatabase.BootlegBulletManBandanaGUID), targetSpawnPosition, targetActor.GetAbsoluteParentRoom(), true, AIActor.AwakenAnimationType.Spawn, true); + AIActor.Spawn(EnemyDatabase.GetOrLoadByGuid(ExpandEnemyDatabase.BootlegBulletManBandanaGUID), targetSpawnPosition, targetActor.GetAbsoluteParentRoom(), true, AIActor.AwakenAnimationType.Spawn, true); targetActor.GetAbsoluteParentRoom().DeregisterEnemy(targetActor); Destroy(targetActor.gameObject); return; diff --git a/ExpandTheGungeon/ExpandComponents/ExpandFakeChest.cs b/ExpandTheGungeon/ExpandComponents/ExpandFakeChest.cs index 3f5dbd2..a15d2c3 100644 --- a/ExpandTheGungeon/ExpandComponents/ExpandFakeChest.cs +++ b/ExpandTheGungeon/ExpandComponents/ExpandFakeChest.cs @@ -22,8 +22,8 @@ public class ExpandFakeChest : DungeonPlaceableBehaviour, IPlaceConfigurable, IP }; SurpriseChestEnemySpawnPool = new List() { - ExpandCustomEnemyDatabase.ClownkinNoFXGUID, // Clown Kin (no FX/Balloon version) - ExpandCustomEnemyDatabase.ClownkinAngryGUID, // Angry Clownkin (no FX/Balloon and holds balloon gun) + ExpandEnemyDatabase.ClownkinNoFXGUID, // Clown Kin (no FX/Balloon version) + ExpandEnemyDatabase.ClownkinAngryGUID, // Angry Clownkin (no FX/Balloon and holds balloon gun) "01972dee89fc4404a5c408d50007dad5", // bullet_kin "05891b158cd542b1a5f3df30fb67a7ff", // arrow_head "4d37ce3d666b4ddda8039929225b7ede", // grenade_kin @@ -163,11 +163,11 @@ public enum ChestType { MusicSwitch, RickRoll, SurpriseChest, WestChest}; "01972dee89fc4404a5c408d50007dad5" // red_shotgun_kin }; List AltEnemyGUIDs = new List() { - ExpandCustomEnemyDatabase.ClownkinNoFXGUID, - ExpandCustomEnemyDatabase.BootlegBulletManGUID, - ExpandCustomEnemyDatabase.BootlegBulletManBandanaGUID, - ExpandCustomEnemyDatabase.BootlegShotgunManRedGUID, - ExpandCustomEnemyDatabase.BootlegShotgunManBlueGUID + ExpandEnemyDatabase.ClownkinNoFXGUID, + ExpandEnemyDatabase.BootlegBulletManGUID, + ExpandEnemyDatabase.BootlegBulletManBandanaGUID, + ExpandEnemyDatabase.BootlegShotgunManRedGUID, + ExpandEnemyDatabase.BootlegShotgunManBlueGUID }; EnemyGUIDs = EnemyGUIDs.Shuffle(); for (int i = 0; i < EnemyGUIDs.Count; i++) { diff --git a/ExpandTheGungeon/ExpandComponents/ExpandMaybeLoseAmmoOnDamage.cs b/ExpandTheGungeon/ExpandComponents/ExpandMaybeLoseAmmoOnDamage.cs index 6e1c301..92d9ae3 100644 --- a/ExpandTheGungeon/ExpandComponents/ExpandMaybeLoseAmmoOnDamage.cs +++ b/ExpandTheGungeon/ExpandComponents/ExpandMaybeLoseAmmoOnDamage.cs @@ -46,8 +46,8 @@ public class ExpandMaybeLoseAmmoOnDamage : MonoBehaviour, IGunInheritable { if (TransfmorgifyTargetGUIDs != null && TransfmorgifyTargetGUIDs.Count <= 0 && IsBootlegShotgun) { List m_GUIDlist = new List() { - ExpandCustomEnemyDatabase.BootlegShotgunManBlueGUID, - ExpandCustomEnemyDatabase.BootlegShotgunManRedGUID + ExpandEnemyDatabase.BootlegShotgunManBlueGUID, + ExpandEnemyDatabase.BootlegShotgunManRedGUID }; m_GUIDlist = m_GUIDlist.Shuffle(); TransfmorgifyTargetGUIDs.Add(BraveUtility.RandomElement(m_GUIDlist)); diff --git a/ExpandTheGungeon/ExpandMain/ExpandEnemyReplacements.cs b/ExpandTheGungeon/ExpandMain/ExpandEnemyReplacements.cs index 40e4f88..d649ee2 100644 --- a/ExpandTheGungeon/ExpandMain/ExpandEnemyReplacements.cs +++ b/ExpandTheGungeon/ExpandMain/ExpandEnemyReplacements.cs @@ -27,9 +27,9 @@ public class ExpandEnemyReplacements { } private static void InitHotShotReplacements(List agdEnemyReplacementTiers) { - List hotShotShotGuns = new List() { ExpandCustomEnemyDatabase.HotShotShotgunKinGUID }; - List hotShotBulletKins = new List() { ExpandCustomEnemyDatabase.HotShotBulletKinGUID }; - List hotShotCultist = new List() { ExpandCustomEnemyDatabase.HotShotCultistGUID }; + List hotShotShotGuns = new List() { ExpandEnemyDatabase.HotShotShotgunKinGUID }; + List hotShotBulletKins = new List() { ExpandEnemyDatabase.HotShotBulletKinGUID }; + List hotShotCultist = new List() { ExpandEnemyDatabase.HotShotCultistGUID }; string nameAppend = "EXHotShot"; List ValidTilesets = new List() { @@ -75,7 +75,7 @@ public class ExpandEnemyReplacements { private static void InitReplacementEnemiesForBelly(List agdEnemyReplacementTiers) { GlobalDungeonData.ValidTilesets TargetTileset = GlobalDungeonData.ValidTilesets.BELLYGEON; string nameAppend = "_EXBelly"; - agdEnemyReplacementTiers.Add(GenerateEnemyReplacementTier("bulletKinReplacement" + nameAppend, new DungeonPrerequisite[0], TargetTileset, new List() { "01972dee89fc4404a5c408d50007dad5" }, new List() { ExpandCustomEnemyDatabase.AggressiveCronenbergGUID } )); + agdEnemyReplacementTiers.Add(GenerateEnemyReplacementTier("bulletKinReplacement" + nameAppend, new DungeonPrerequisite[0], TargetTileset, new List() { "01972dee89fc4404a5c408d50007dad5" }, new List() { ExpandEnemyDatabase.AggressiveCronenbergGUID } )); return; } diff --git a/ExpandTheGungeon/ExpandMain/ExpandFloorDecorator.cs b/ExpandTheGungeon/ExpandMain/ExpandFloorDecorator.cs index 558da1a..a09dd1c 100644 --- a/ExpandTheGungeon/ExpandMain/ExpandFloorDecorator.cs +++ b/ExpandTheGungeon/ExpandMain/ExpandFloorDecorator.cs @@ -332,7 +332,7 @@ public class ExpandFloorDecorator { private static void PlaceRandomOfficeSupplies(Dungeon dungeon, RoomHandler currentRoom) { PrototypeDungeonRoom.RoomCategory roomCategory = currentRoom.area.PrototypeRoomCategory; - Dungeon NakatomiPrefab = ExpandCustomDungeonPrefabs.LoadOfficialDungeonPrefab("Base_Nakatomi"); + Dungeon NakatomiPrefab = ExpandDungeonPrefabs.LoadOfficialDungeonPrefab("Base_Nakatomi"); List m_ObjectList = new List(); diff --git a/ExpandTheGungeon/ExpandMain/ExpandPayDayDrillItemFixes.cs b/ExpandTheGungeon/ExpandMain/ExpandPayDayDrillItemFixes.cs index faa4a0a..f38ad10 100644 --- a/ExpandTheGungeon/ExpandMain/ExpandPayDayDrillItemFixes.cs +++ b/ExpandTheGungeon/ExpandMain/ExpandPayDayDrillItemFixes.cs @@ -34,11 +34,11 @@ public class ExpandPaydayDrillItemFixes { string EnemyGUID = d.GetWeightedProceduralEnemy().enemyGuid; if (string.IsNullOrEmpty(EnemyGUID)) { List FallbackGUIDs = new List() { - ExpandCustomEnemyDatabase.BootlegBullatGUID, - ExpandCustomEnemyDatabase.BootlegBulletManGUID, - ExpandCustomEnemyDatabase.BootlegBulletManBandanaGUID, - ExpandCustomEnemyDatabase.BootlegShotgunManBlueGUID, - ExpandCustomEnemyDatabase.BootlegShotgunManRedGUID + ExpandEnemyDatabase.BootlegBullatGUID, + ExpandEnemyDatabase.BootlegBulletManGUID, + ExpandEnemyDatabase.BootlegBulletManBandanaGUID, + ExpandEnemyDatabase.BootlegShotgunManBlueGUID, + ExpandEnemyDatabase.BootlegShotgunManRedGUID }; FallbackGUIDs = FallbackGUIDs.Shuffle(); EnemyGUID = BraveUtility.RandomElement(FallbackGUIDs); @@ -241,11 +241,11 @@ public class ExpandPaydayDrillItemFixes { string EnemyGUID = d.GetWeightedProceduralEnemy().enemyGuid; if (string.IsNullOrEmpty(EnemyGUID)) { List FallbackGUIDs = new List() { - ExpandCustomEnemyDatabase.BootlegBullatGUID, - ExpandCustomEnemyDatabase.BootlegBulletManGUID, - ExpandCustomEnemyDatabase.BootlegBulletManBandanaGUID, - ExpandCustomEnemyDatabase.BootlegShotgunManBlueGUID, - ExpandCustomEnemyDatabase.BootlegShotgunManRedGUID + ExpandEnemyDatabase.BootlegBullatGUID, + ExpandEnemyDatabase.BootlegBulletManGUID, + ExpandEnemyDatabase.BootlegBulletManBandanaGUID, + ExpandEnemyDatabase.BootlegShotgunManBlueGUID, + ExpandEnemyDatabase.BootlegShotgunManRedGUID }; FallbackGUIDs = FallbackGUIDs.Shuffle(); EnemyGUID = BraveUtility.RandomElement(FallbackGUIDs); @@ -274,11 +274,11 @@ public class ExpandPaydayDrillItemFixes { AIActor orLoadByGuid = EnemyDatabase.GetOrLoadByGuid(enemyGuid); if (!orLoadByGuid) { List FallbackGUIDs = new List() { - ExpandCustomEnemyDatabase.BootlegBullatGUID, - ExpandCustomEnemyDatabase.BootlegBulletManGUID, - ExpandCustomEnemyDatabase.BootlegBulletManBandanaGUID, - ExpandCustomEnemyDatabase.BootlegShotgunManBlueGUID, - ExpandCustomEnemyDatabase.BootlegShotgunManRedGUID + ExpandEnemyDatabase.BootlegBullatGUID, + ExpandEnemyDatabase.BootlegBulletManGUID, + ExpandEnemyDatabase.BootlegBulletManBandanaGUID, + ExpandEnemyDatabase.BootlegShotgunManBlueGUID, + ExpandEnemyDatabase.BootlegShotgunManRedGUID }; FallbackGUIDs = FallbackGUIDs.Shuffle(); orLoadByGuid = EnemyDatabase.GetOrLoadByGuid(BraveUtility.RandomElement(FallbackGUIDs)); diff --git a/ExpandTheGungeon/ExpandMain/ExpandSharedHooks.cs b/ExpandTheGungeon/ExpandMain/ExpandSharedHooks.cs index 28f0bcc..3dafdef 100644 --- a/ExpandTheGungeon/ExpandMain/ExpandSharedHooks.cs +++ b/ExpandTheGungeon/ExpandMain/ExpandSharedHooks.cs @@ -63,6 +63,7 @@ public class ExpandSharedHooks { public static Hook floorChestPlacerConfigureOnPlacementHook; public static Hook applyBenefitHook; public static Hook flameTrapHook; + // public static Hook pixelatorStartHook; public static bool IsHooksInstalled = false; @@ -383,6 +384,12 @@ public class ExpandSharedHooks { typeof(FlameTrapChallengeModifier) ); + /*if (ExpandSettings.debugMode) { Debug.Log("[ExpandTheGungeon] Installing Pixelator.Start Hook...."); } + pixelatorStartHook = new Hook( + typeof(Pixelator).GetMethod("Start", BindingFlags.NonPublic | BindingFlags.Instance), + typeof(ExpandSharedHooks).GetMethod(nameof(PixelatorStartHook), BindingFlags.NonPublic | BindingFlags.Instance), + typeof(Pixelator) + );*/ return; } @@ -870,7 +877,7 @@ public class ExpandSharedHooks { // Make the HellDragZone thing actually take player to direct to bullet hell instead of using normal DelayedLoadNextLevel(). // Since if the EndTimes room is loaded from a different level other then Forge, this could cause issues. :P private IEnumerator HandleGrabbyGrabHook(Funcorig, HellDragZoneController self, PlayerController grabbedPlayer) { - FsmBool m_cryoBool = ReflectionHelpers.ReflectGetField(typeof(HellDragZoneController), "m_cryoBool", self); + FsmBool m_cryoBool = ReflectGetField(typeof(HellDragZoneController), "m_cryoBool", self); grabbedPlayer.specRigidbody.Velocity = Vector2.zero; grabbedPlayer.specRigidbody.CapVelocity = true; grabbedPlayer.specRigidbody.MaxVelocity = Vector2.zero; @@ -1073,7 +1080,6 @@ public class ExpandSharedHooks { private void BuildOcclusionLayerCenterJungleHook(TK2DDungeonAssembler self, CellData current, Dungeon d, tk2dTileMap map, int ix, int iy) { if (current == null | !d | !map) { return; } - if (!IsValidJungleOcclusionCell(self, current, d, ix, iy)) { return; } bool flag = true; bool flag2 = true; @@ -1123,7 +1129,6 @@ public class ExpandSharedHooks { private void BuildBorderLayerCenterJungleHook(TK2DDungeonAssembler self, CellData current, Dungeon d, tk2dTileMap map, int ix, int iy) { if (current == null | !d | !map) { return; } - if (!IsValidJungleBorderCell(current, d, ix, iy)) { return; } bool flag = true; bool flag2 = true; @@ -1214,15 +1219,23 @@ public class ExpandSharedHooks { } private bool IsCardinalBorder(CellData current, Dungeon d, int ix, int iy) { - bool flag = d.data.isTopWall(ix, iy); - flag = (flag && !d.data[ix, iy + 1].cellVisualData.shouldIgnoreBorders); - bool flag2 = (!d.data.isWallRight(ix, iy) && !d.data.isRightTopWall(ix, iy)) || d.data.isFaceWallHigher(ix + 1, iy) || d.data.isFaceWallLower(ix + 1, iy); - flag2 = (flag2 && !d.data[ix + 1, iy].cellVisualData.shouldIgnoreBorders); - bool flag3 = iy > 3 && d.data.isFaceWallHigher(ix, iy - 1); - flag3 = (flag3 && !d.data[ix, iy - 1].cellVisualData.shouldIgnoreBorders); - bool flag4 = (!d.data.isWallLeft(ix, iy) && !d.data.isLeftTopWall(ix, iy)) || d.data.isFaceWallHigher(ix - 1, iy) || d.data.isFaceWallLower(ix - 1, iy); - flag4 = (flag4 && !d.data[ix - 1, iy].cellVisualData.shouldIgnoreBorders); - return flag || flag2 || flag3 || flag4; + try { + bool flag = d.data.isTopWall(ix, iy); + flag = (flag && !d.data[ix, iy + 1].cellVisualData.shouldIgnoreBorders); + bool flag2 = (!d.data.isWallRight(ix, iy) && !d.data.isRightTopWall(ix, iy)) || d.data.isFaceWallHigher(ix + 1, iy) || d.data.isFaceWallLower(ix + 1, iy); + flag2 = (flag2 && !d.data[ix + 1, iy].cellVisualData.shouldIgnoreBorders); + bool flag3 = iy > 3 && d.data.isFaceWallHigher(ix, iy - 1); + flag3 = (flag3 && !d.data[ix, iy - 1].cellVisualData.shouldIgnoreBorders); + bool flag4 = (!d.data.isWallLeft(ix, iy) && !d.data.isLeftTopWall(ix, iy)) || d.data.isFaceWallHigher(ix - 1, iy) || d.data.isFaceWallLower(ix - 1, iy); + flag4 = (flag4 && !d.data[ix - 1, iy].cellVisualData.shouldIgnoreBorders); + return flag || flag2 || flag3 || flag4; + } catch (Exception ex) { + if (ExpandSettings.debugMode) { + Debug.Log("[ExpandTheGungeon] Excpetion caught in TK2DDungeonAssembler.IsCardinalBorder!"); + Debug.LogException(ex); + } + return false; + } } private TileIndexGrid GetTypeBorderGridForBorderIndexHook(TK2DDungeonAssembler self, CellData current, Dungeon d, out int usedVisualType) { @@ -1540,10 +1553,10 @@ public class ExpandSharedHooks { float elapsed = 0f; float startValue = 0f; if (startAtCurrent) { startValue = self.FadeMaterial.GetColor("_Color").a; } - bool m_skipCycle = ReflectionHelpers.ReflectGetField(typeof(FinalIntroSequenceManager), "m_skipCycle", self); + bool m_skipCycle = ReflectGetField(typeof(FinalIntroSequenceManager), "m_skipCycle", self); while (elapsed < duration) { if (!force && m_skipCycle) { yield break; } - m_skipCycle = ReflectionHelpers.ReflectGetField(typeof(FinalIntroSequenceManager), "m_skipCycle", self); + m_skipCycle = ReflectGetField(typeof(FinalIntroSequenceManager), "m_skipCycle", self); elapsed += Time.deltaTime; float t = elapsed / duration; self.FadeMaterial.SetColor("_Color", new Color(0f, 0f, 0f, Mathf.Lerp(startValue, 1f, t))); @@ -1818,6 +1831,14 @@ public class ExpandSharedHooks { m_activeTraps.Clear(); } } + + /*private void PixelatorStartHook(Actionorig, Pixelator self) { + if (GameManager.Instance.Dungeon.tileIndices.tilesetId == GlobalDungeonData.ValidTilesets.JUNGLEGEON) { + // self.UseTexturedOcclusion = true; + self.localOcclusionTexture = ExpandAssets.LoadAsset("JungleOcclusionTest"); + } + orig(self); + }*/ } } diff --git a/ExpandTheGungeon/ExpandPrefab/ExpandCustomDungeonPrefabs.cs b/ExpandTheGungeon/ExpandPrefab/ExpandDungeonPrefabs.cs similarity index 99% rename from ExpandTheGungeon/ExpandPrefab/ExpandCustomDungeonPrefabs.cs rename to ExpandTheGungeon/ExpandPrefab/ExpandDungeonPrefabs.cs index d2faee5..2f07bc0 100644 --- a/ExpandTheGungeon/ExpandPrefab/ExpandCustomDungeonPrefabs.cs +++ b/ExpandTheGungeon/ExpandPrefab/ExpandDungeonPrefabs.cs @@ -10,7 +10,7 @@ namespace ExpandTheGungeon.ExpandPrefab { - public class ExpandCustomDungeonPrefabs { + public class ExpandDungeonPrefabs { public static GameObject Base_Space; public static GameObject Base_Jungle; @@ -82,7 +82,7 @@ public class ExpandCustomDungeonPrefabs { if (ExpandSettings.debugMode) { Debug.Log("[ExpandTheGungeon] Installing DungeonDatabase.GetOrLoadByName Hook..."); } getOrLoadByName_Hook = new Hook( typeof(DungeonDatabase).GetMethod("GetOrLoadByName", BindingFlags.Static | BindingFlags.Public), - typeof(ExpandCustomDungeonPrefabs).GetMethod("GetOrLoadByNameHook", BindingFlags.Static | BindingFlags.Public) + typeof(ExpandDungeonPrefabs).GetMethod("GetOrLoadByNameHook", BindingFlags.Static | BindingFlags.Public) ); ReInitFloorDefinitions(gameManager); } @@ -821,6 +821,7 @@ public class ExpandCustomDungeonPrefabs { decalIndexGrid = null, patternIndexGrid = null, globalSecondBorderTiles = new List(0), + // globalSecondBorderTiles = new List() { 308, 309, 310, 330, 331, 332, 352, 353, 354, 374, 396, 397, 418, 419 }, edgeDecorationTiles = null }; diff --git a/ExpandTheGungeon/ExpandPrefab/ExpandCustomEnemyDatabase.cs b/ExpandTheGungeon/ExpandPrefab/ExpandEnemyDatabase.cs similarity index 99% rename from ExpandTheGungeon/ExpandPrefab/ExpandCustomEnemyDatabase.cs rename to ExpandTheGungeon/ExpandPrefab/ExpandEnemyDatabase.cs index ed25abe..477e78c 100644 --- a/ExpandTheGungeon/ExpandPrefab/ExpandCustomEnemyDatabase.cs +++ b/ExpandTheGungeon/ExpandPrefab/ExpandEnemyDatabase.cs @@ -14,9 +14,9 @@ namespace ExpandTheGungeon.ExpandPrefab { - public static class ExpandCustomEnemyDatabase { + public static class ExpandEnemyDatabase { - static ExpandCustomEnemyDatabase() { + static ExpandEnemyDatabase() { HotShotCultistGUID = "61a8112544ce4389ab14f2287616a71b"; HotShotShotgunKinGUID = "758a0a0215e6448ab52adf73bc44ae5e"; HotShotBulletKinGUID = "8a0b7a287410464bb17b9e656958bd19"; @@ -172,7 +172,7 @@ public static class ExpandCustomEnemyDatabase { if (ExpandSettings.debugMode) { Debug.Log("[ExpandTheGungeon] Installing EnemyDatabase.GetOrLoadByGuid Hook...."); } loadEnemyGUIDHook = new Hook( typeof(EnemyDatabase).GetMethod("GetOrLoadByGuid", BindingFlags.Static | BindingFlags.Public), - typeof(ExpandCustomEnemyDatabase).GetMethod("GetOrLoadByGuidHook", BindingFlags.Static | BindingFlags.Public) + typeof(ExpandEnemyDatabase).GetMethod("GetOrLoadByGuidHook", BindingFlags.Static | BindingFlags.Public) ); // Palette Fix to Red/Blue Shotgun Kin and Veteran Bullet Kin (so they work correctly with glitch shader) diff --git a/ExpandTheGungeon/ExpandPrefab/ExpandLists.cs b/ExpandTheGungeon/ExpandPrefab/ExpandLists.cs index 0734769..6a69c44 100644 --- a/ExpandTheGungeon/ExpandPrefab/ExpandLists.cs +++ b/ExpandTheGungeon/ExpandPrefab/ExpandLists.cs @@ -405,8 +405,18 @@ public static class ExpandLists { "Jungle_TreeStump", "Jungle_ExitLadder", "Jungle_ExitLadder_Destination", - "Jungle_ExitLadder_Destination_Hole" + "Jungle_ExitLadder_Destination_Hole", + "Jungle_Tree_Medium", + "Jungle_Tree_Medium_Stump", + "Jungle_Tree_Medium_Stump_Shadow", + "Jungle_Tree_Small", + "Jungle_Tree_Small_Shadow", + "Jungle_Tree_Medium_Shadow", + "Jungle_Tree_Debris_03", + "Jungle_Tree_Debris_02", + "Jungle_Tree_Debris_01", }; + public static readonly List EXOfficeCollection = new List() { "office_one_way_blocker_vertical_top_001", "office_one_way_blocker_vertical_bottom_001", diff --git a/ExpandTheGungeon/ExpandPrefab/ExpandPrefabs.cs b/ExpandTheGungeon/ExpandPrefab/ExpandPrefabs.cs index 329f955..18ffeca 100644 --- a/ExpandTheGungeon/ExpandPrefab/ExpandPrefabs.cs +++ b/ExpandTheGungeon/ExpandPrefab/ExpandPrefabs.cs @@ -2413,7 +2413,7 @@ public class ExpandPrefabs { DoppelgunnerMirror = expandSharedAssets1.LoadAsset("DoppelgunnerMirror"); - tk2dSprite MirrorBaseSprite = SpriteSerializer.AddSpriteToObject(DoppelgunnerMirror, ExpandCustomEnemyDatabase.GungeoneerMimicCollection, "PlayerMimicMirror_Base"); + tk2dSprite MirrorBaseSprite = SpriteSerializer.AddSpriteToObject(DoppelgunnerMirror, ExpandEnemyDatabase.GungeoneerMimicCollection, "PlayerMimicMirror_Base"); List m_MirrorMimicFadeInSprites = new List() { "PlayerMimicMirror_MimicFadeIn_01", @@ -2450,17 +2450,17 @@ public class ExpandPrefabs { }; ExpandUtility.GenerateSpriteAnimator(DoppelgunnerMirror, AnimateDuringBossIntros: true, AlwaysIgnoreTimeScale: true, ignoreTimeScale: true); - ExpandUtility.AddAnimation(DoppelgunnerMirror.GetComponent(), ExpandCustomEnemyDatabase.GungeoneerMimicCollection.GetComponent(), m_MirrorMimicFadeInSprites, "PlayerMimicFadeIn", tk2dSpriteAnimationClip.WrapMode.Once, 8); - ExpandUtility.AddAnimation(DoppelgunnerMirror.GetComponent(), ExpandCustomEnemyDatabase.GungeoneerMimicCollection.GetComponent(), m_MirrorCrackSprites, "MirrorGlassCrack", tk2dSpriteAnimationClip.WrapMode.Once, 6); + ExpandUtility.AddAnimation(DoppelgunnerMirror.GetComponent(), ExpandEnemyDatabase.GungeoneerMimicCollection.GetComponent(), m_MirrorMimicFadeInSprites, "PlayerMimicFadeIn", tk2dSpriteAnimationClip.WrapMode.Once, 8); + ExpandUtility.AddAnimation(DoppelgunnerMirror.GetComponent(), ExpandEnemyDatabase.GungeoneerMimicCollection.GetComponent(), m_MirrorCrackSprites, "MirrorGlassCrack", tk2dSpriteAnimationClip.WrapMode.Once, 6); DoppelgunnerMirrorFX = expandSharedAssets1.LoadAsset("DoppelgunnerMirrorFX"); - tk2dSprite MimicMirrorFXSprite = SpriteSerializer.AddSpriteToObject(DoppelgunnerMirrorFX, ExpandCustomEnemyDatabase.GungeoneerMimicCollection, "PlayerMimicMirror_ShatterDebris_01"); + tk2dSprite MimicMirrorFXSprite = SpriteSerializer.AddSpriteToObject(DoppelgunnerMirrorFX, ExpandEnemyDatabase.GungeoneerMimicCollection, "PlayerMimicMirror_ShatterDebris_01"); MimicMirrorFXSprite.HeightOffGround = 3.5f; ExpandUtility.GenerateSpriteAnimator(DoppelgunnerMirrorFX, AnimateDuringBossIntros: true, AlwaysIgnoreTimeScale: true, ignoreTimeScale: true); - ExpandUtility.AddAnimation(DoppelgunnerMirrorFX.GetComponent(), ExpandCustomEnemyDatabase.GungeoneerMimicCollection.GetComponent(), m_MirrorShatterFXSprites, "PlayerMimicShatter", tk2dSpriteAnimationClip.WrapMode.Once, 12); + ExpandUtility.AddAnimation(DoppelgunnerMirrorFX.GetComponent(), ExpandEnemyDatabase.GungeoneerMimicCollection.GetComponent(), m_MirrorShatterFXSprites, "PlayerMimicShatter", tk2dSpriteAnimationClip.WrapMode.Once, 12); RoomCorruptionAmbience = expandSharedAssets1.LoadAsset("RoomCorruptionAmbience_Placable"); diff --git a/ExpandTheGungeon/ExpandPrefab/ExpandRoomPrefabs.cs b/ExpandTheGungeon/ExpandPrefab/ExpandRoomPrefabs.cs index 1f803f0..64fa666 100644 --- a/ExpandTheGungeon/ExpandPrefab/ExpandRoomPrefabs.cs +++ b/ExpandTheGungeon/ExpandPrefab/ExpandRoomPrefabs.cs @@ -962,7 +962,7 @@ public class ExpandRoomPrefabs { RoomBuilder.AddObjectToRoom(Expand_Jungle_Boss, new Vector2(30, 30), ExpandObjectDatabase.DefaultTorch, xOffset: 8); RoomBuilder.AddObjectToRoom(Expand_Jungle_Boss, new Vector2(42, 25), ExpandObjectDatabase.DefaultTorch, xOffset: 8); RoomBuilder.AddObjectToRoom(Expand_Jungle_Boss, new Vector2(22, 14), ExpandObjectDatabase.GodRays); - RoomBuilder.AddObjectToRoom(Expand_Jungle_Boss, new Vector2(24, 16), EnemyBehaviourGuid: ExpandCustomEnemyDatabase.com4nd0GUID); + RoomBuilder.AddObjectToRoom(Expand_Jungle_Boss, new Vector2(24, 16), EnemyBehaviourGuid: ExpandEnemyDatabase.com4nd0GUID); Expand_Belly_Entrance = RoomFactory.BuildFromAssetBundle(AssetBundles, "Expand_Belly_Entrance", true); @@ -1002,7 +1002,7 @@ public class ExpandRoomPrefabs { new PrototypeRoomObjectLayer() { placedObjects = new List() { new PrototypePlacedObjectData() { - enemyBehaviourGuid = ExpandCustomEnemyDatabase.AggressiveCronenbergGUID, // + enemyBehaviourGuid = ExpandEnemyDatabase.AggressiveCronenbergGUID, // contentsBasePosition = new Vector2(17, 12), layer = 0, xMPxOffset = 0, @@ -1013,7 +1013,7 @@ public class ExpandRoomPrefabs { assignedPathStartNode = 0 }, new PrototypePlacedObjectData() { - enemyBehaviourGuid = ExpandCustomEnemyDatabase.AggressiveCronenbergGUID, // + enemyBehaviourGuid = ExpandEnemyDatabase.AggressiveCronenbergGUID, // contentsBasePosition = new Vector2(15, 18), layer = 0, xMPxOffset = 0, @@ -1024,7 +1024,7 @@ public class ExpandRoomPrefabs { assignedPathStartNode = 0 }, new PrototypePlacedObjectData() { - enemyBehaviourGuid = ExpandCustomEnemyDatabase.AggressiveCronenbergGUID, // + enemyBehaviourGuid = ExpandEnemyDatabase.AggressiveCronenbergGUID, // contentsBasePosition = new Vector2(11, 12), layer = 0, xMPxOffset = 0, @@ -1035,7 +1035,7 @@ public class ExpandRoomPrefabs { assignedPathStartNode = 0 }, new PrototypePlacedObjectData() { - enemyBehaviourGuid = ExpandCustomEnemyDatabase.AggressiveCronenbergGUID, // + enemyBehaviourGuid = ExpandEnemyDatabase.AggressiveCronenbergGUID, // contentsBasePosition = new Vector2(19, 27), layer = 0, xMPxOffset = 0, @@ -1046,7 +1046,7 @@ public class ExpandRoomPrefabs { assignedPathStartNode = 0 }, new PrototypePlacedObjectData() { - enemyBehaviourGuid = ExpandCustomEnemyDatabase.AggressiveCronenbergGUID, // + enemyBehaviourGuid = ExpandEnemyDatabase.AggressiveCronenbergGUID, // contentsBasePosition = new Vector2(27, 15), layer = 0, xMPxOffset = 0, @@ -1057,7 +1057,7 @@ public class ExpandRoomPrefabs { assignedPathStartNode = 0 }, new PrototypePlacedObjectData() { - enemyBehaviourGuid = ExpandCustomEnemyDatabase.AggressiveCronenbergGUID, // + enemyBehaviourGuid = ExpandEnemyDatabase.AggressiveCronenbergGUID, // contentsBasePosition = new Vector2(29, 19), layer = 0, xMPxOffset = 0, @@ -1086,7 +1086,7 @@ public class ExpandRoomPrefabs { numberTimesEncounteredRequired = 0 } }; - RoomBuilder.AddObjectToRoom(Expand_Belly_BossRoom, new Vector2(20, 19), EnemyBehaviourGuid: ExpandCustomEnemyDatabase.ParasiteBossGUID); + RoomBuilder.AddObjectToRoom(Expand_Belly_BossRoom, new Vector2(20, 19), EnemyBehaviourGuid: ExpandEnemyDatabase.ParasiteBossGUID); // RoomBuilder.AddObjectToRoom(Expand_Belly_BossRoom, new Vector2(1, 30), ExpandPrefab.Belly_Shipwreck_Left); // RoomBuilder.AddObjectToRoom(Expand_Belly_BossRoom, new Vector2(26, 31), ExpandPrefab.Belly_Shipwreck_Right); @@ -1152,8 +1152,8 @@ public class ExpandRoomPrefabs { RoomBuilder.AddObjectToRoom(Expand_West_Entrance, new Vector2(34, 25), ExpandPrefabs.Door_Horizontal_West); RoomBuilder.AddObjectToRoom(Expand_West_Entrance, new Vector2(25, 17), ExpandPrefabs.Door_Vertical_West); RoomBuilder.AddObjectToRoom(Expand_West_Entrance, new Vector2(25, 35), ExpandPrefabs.Door_Vertical_West); - RoomBuilder.AddObjectToRoom(Expand_West_Entrance, new Vector2(9, 42), EnemyBehaviourGuid: ExpandCustomEnemyDatabase.MetalCubeGuyWestGUID); - RoomBuilder.AddObjectToRoom(Expand_West_Entrance, new Vector2(41, 10), EnemyBehaviourGuid: ExpandCustomEnemyDatabase.MetalCubeGuyWestGUID); + RoomBuilder.AddObjectToRoom(Expand_West_Entrance, new Vector2(9, 42), EnemyBehaviourGuid: ExpandEnemyDatabase.MetalCubeGuyWestGUID); + RoomBuilder.AddObjectToRoom(Expand_West_Entrance, new Vector2(41, 10), EnemyBehaviourGuid: ExpandEnemyDatabase.MetalCubeGuyWestGUID); RoomBuilder.AddObjectToRoom(Expand_West_Entrance, Vector2.one, ExpandPrefabs.West_PuzzleSetupPlacable); @@ -9751,7 +9751,7 @@ public class ExpandRoomPrefabs { new PrototypeRoomObjectLayer() { placedObjects = new List() { new PrototypePlacedObjectData() { - enemyBehaviourGuid = ExpandCustomEnemyDatabase.BootlegShotgunManRedGUID, // bootleg_shotgunmanred + enemyBehaviourGuid = ExpandEnemyDatabase.BootlegShotgunManRedGUID, // bootleg_shotgunmanred contentsBasePosition = new Vector2(12, 11), layer = 0, xMPxOffset = 0, @@ -9762,7 +9762,7 @@ public class ExpandRoomPrefabs { assignedPathStartNode = 0 }, new PrototypePlacedObjectData() { - enemyBehaviourGuid = ExpandCustomEnemyDatabase.BootlegBullatGUID, // bootleg_bullat + enemyBehaviourGuid = ExpandEnemyDatabase.BootlegBullatGUID, // bootleg_bullat contentsBasePosition = new Vector2(4, 6), layer = 0, xMPxOffset = 0, @@ -9773,7 +9773,7 @@ public class ExpandRoomPrefabs { assignedPathStartNode = 0 }, new PrototypePlacedObjectData() { - enemyBehaviourGuid = ExpandCustomEnemyDatabase.BootlegShotgunManBlueGUID, // bootleg_shotgunmanblue + enemyBehaviourGuid = ExpandEnemyDatabase.BootlegShotgunManBlueGUID, // bootleg_shotgunmanblue contentsBasePosition = new Vector2(10, 6), layer = 0, xMPxOffset = 0, @@ -9811,10 +9811,10 @@ public class ExpandRoomPrefabs { RoomBuilder.AddExitToRoom(Expand_BootlegRoom, new Vector2(10, 14), DungeonData.Direction.NORTH, ContainsDoor: false); RoomBuilder.AddObjectToRoom(Expand_BootlegRoom, new Vector2(0, 0), ExpandUtility.GenerateDungeonPlacable(ExpandPrefabs.EXBootlegRoomObject, useExternalPrefab: true)); RoomBuilder.AddObjectToRoom(Expand_BootlegRoom, new Vector2(0, 0), ExpandUtility.GenerateDungeonPlacable(ExpandPrefabs.EXBootlegRoomDoorTriggers, useExternalPrefab: true)); - RoomBuilder.AddObjectToRoom(Expand_BootlegRoom, new Vector2(8, 8), EnemyBehaviourGuid: ExpandCustomEnemyDatabase.BootlegBulletManGUID); // Bootleg BulletMan - RoomBuilder.AddObjectToRoom(Expand_BootlegRoom, new Vector2(7, 11), EnemyBehaviourGuid: ExpandCustomEnemyDatabase.BootlegBulletManGUID); // Bootleg BulletMan - RoomBuilder.AddObjectToRoom(Expand_BootlegRoom, new Vector2(5, 5), EnemyBehaviourGuid: ExpandCustomEnemyDatabase.BootlegBulletManBandanaGUID); // Bootleg BulletManBandana - RoomBuilder.AddObjectToRoom(Expand_BootlegRoom, new Vector2(5, 8), EnemyBehaviourGuid: ExpandCustomEnemyDatabase.BootlegBullatGUID); // Bootleg Bullat + RoomBuilder.AddObjectToRoom(Expand_BootlegRoom, new Vector2(8, 8), EnemyBehaviourGuid: ExpandEnemyDatabase.BootlegBulletManGUID); // Bootleg BulletMan + RoomBuilder.AddObjectToRoom(Expand_BootlegRoom, new Vector2(7, 11), EnemyBehaviourGuid: ExpandEnemyDatabase.BootlegBulletManGUID); // Bootleg BulletMan + RoomBuilder.AddObjectToRoom(Expand_BootlegRoom, new Vector2(5, 5), EnemyBehaviourGuid: ExpandEnemyDatabase.BootlegBulletManBandanaGUID); // Bootleg BulletManBandana + RoomBuilder.AddObjectToRoom(Expand_BootlegRoom, new Vector2(5, 8), EnemyBehaviourGuid: ExpandEnemyDatabase.BootlegBullatGUID); // Bootleg Bullat List m_JungleRooms = new List(); diff --git a/ExpandTheGungeon/ExpandPrefab/ExpandWesternBrosPrefabBuilder.cs b/ExpandTheGungeon/ExpandPrefab/ExpandWesternBrosPrefabBuilder.cs index 5204acd..78a7c3c 100644 --- a/ExpandTheGungeon/ExpandPrefab/ExpandWesternBrosPrefabBuilder.cs +++ b/ExpandTheGungeon/ExpandPrefab/ExpandWesternBrosPrefabBuilder.cs @@ -52,10 +52,10 @@ public static void BuildWestBrosBossPrefabs(AssetBundle assetBundle) Collection = WestBrosGun.gameObject.GetComponent().Collection; Animation = WestBrosGun.gameObject.GetComponent().Library; - Shades = ExpandCustomEnemyDatabase.GetOfficialEnemyByGuid("c00390483f394a849c36143eb878998f"); + Shades = ExpandEnemyDatabase.GetOfficialEnemyByGuid("c00390483f394a849c36143eb878998f"); ShadesDebris = Shades.GetComponentInChildren().debrisSources[0]; - SetupHand(assetBundle, out WestBrosHandPrefab, ExpandCustomEnemyDatabase.WestBrosCollection.GetComponent()); + SetupHand(assetBundle, out WestBrosHandPrefab, ExpandEnemyDatabase.WestBrosCollection.GetComponent()); BuildWestBrosHatPrefab(assetBundle, out WestBrosAngelHatPrefab, WestBros.Angel, Collection, ShadesDebris); BuildWestBrosHatPrefab(assetBundle, out WestBrosNomeHatPrefab, WestBros.Nome, Collection, ShadesDebris); @@ -86,7 +86,7 @@ private static void SetupHand(AssetBundle assetBundle, out GameObject handPrefab handPrefab = assetBundle.LoadAsset("WestBroHandObject"); - var sprite = SpriteSerializer.AddSpriteToObject(handPrefab, ExpandCustomEnemyDatabase.WestBrosCollection, spriteDefinition.name); + var sprite = SpriteSerializer.AddSpriteToObject(handPrefab, ExpandEnemyDatabase.WestBrosCollection, spriteDefinition.name); handPrefab.AddComponent(); } @@ -142,7 +142,7 @@ public static void Log(object o, bool debug = false) private static void BuildWestBrosBossPrefab(AssetBundle assetBundle, out GameObject outObject, WestBros whichBro, bool isSmiley, tk2dSpriteCollectionData sourceSpriteCollection, tk2dSpriteAnimation sourceAnimations, bool keepIntroDoer = false) { - GameObject prefab = ExpandCustomEnemyDatabase.GetOfficialEnemyByGuid(isSmiley + GameObject prefab = ExpandEnemyDatabase.GetOfficialEnemyByGuid(isSmiley ? "ea40fcc863d34b0088f490f4e57f8913" // Smiley : "c00390483f394a849c36143eb878998f").gameObject; // Shades @@ -482,7 +482,7 @@ private static void BuildWestBrosBossPrefab(AssetBundle assetBundle, out GameObj actor.RegenerateCache(); - ExpandCustomEnemyDatabase.AddEnemyToDatabase(outObject, actor.EnemyGuid, true); + ExpandEnemyDatabase.AddEnemyToDatabase(outObject, actor.EnemyGuid, true); FakePrefab.MarkAsFakePrefab(outObject); UnityEngine.Object.DontDestroyOnLoad(outObject); } diff --git a/ExpandTheGungeon/ExpandTheGungeon.cs b/ExpandTheGungeon/ExpandTheGungeon.cs index aa7c978..60770d6 100644 --- a/ExpandTheGungeon/ExpandTheGungeon.cs +++ b/ExpandTheGungeon/ExpandTheGungeon.cs @@ -24,7 +24,7 @@ public class ExpandTheGungeon : BaseUnityPlugin { public const string GUID = "ApacheThunder.etg.ExpandTheGungeon"; public const string ModName = "ExpandTheGungeon"; - public const string VERSION = "2.9.6"; + public const string VERSION = "2.9.7"; public static string ZipFilePath; public static string FilePath; public static string ResourcesPath; @@ -156,10 +156,10 @@ private enum WaitType { ShotgunSecret, LanguageFix, DebugFlow }; ExpandAssets.InitAudio(expandSharedAssets1, ModSoundBankName); // Init Custom GameLevelDefinitions - ExpandCustomDungeonPrefabs.InitCustomGameLevelDefinitions(braveResources, gameManager); + ExpandDungeonPrefabs.InitCustomGameLevelDefinitions(braveResources, gameManager); // Init Custom Sprite Collections ExpandPrefabs.InitSpriteCollections(expandSharedAssets1, sharedAssets); - ExpandCustomEnemyDatabase.InitSpriteCollections(expandSharedAssets1); + ExpandEnemyDatabase.InitSpriteCollections(expandSharedAssets1); // Init ItemAPI SetupItemAPI(expandSharedAssets1); @@ -168,7 +168,7 @@ private enum WaitType { ShotgunSecret, LanguageFix, DebugFlow }; // Init Prefab Databases ExpandPrefabs.InitCustomPrefabs(expandSharedAssets1, sharedAssets, sharedAssets2, braveResources, enemiesBase); // Init Custom Enemy Prefabs - ExpandCustomEnemyDatabase.InitPrefabs(expandSharedAssets1); + ExpandEnemyDatabase.InitPrefabs(expandSharedAssets1); // Init Custom Room Prefabs ExpandRoomPrefabs.InitCustomRooms(expandSharedAssets1, sharedAssets, sharedAssets2, braveResources, enemiesBase); // Init Custom DungeonFlow(s) @@ -178,7 +178,7 @@ private enum WaitType { ShotgunSecret, LanguageFix, DebugFlow }; BootlegGuns.PostInit(); ClownFriend.PostInit(); // Dungeon Prefabs - ExpandCustomDungeonPrefabs.InitDungoenPrefabs(expandSharedAssets1, sharedAssets, sharedAssets2, braveResources); + ExpandDungeonPrefabs.InitDungoenPrefabs(expandSharedAssets1, sharedAssets, sharedAssets2, braveResources); } catch (Exception ex) { ETGModConsole.Log("[ExpandTheGungeon] ERROR: Exception occured while building prefabs!", true); @@ -260,7 +260,7 @@ private enum WaitType { ShotgunSecret, LanguageFix, DebugFlow }; orig(self); self.OnNewLevelFullyLoaded += ExpandObjectMods.InitSpecialMods; - ExpandCustomDungeonPrefabs.ReInitFloorDefinitions(self); + ExpandDungeonPrefabs.ReInitFloorDefinitions(self); CreateFoyerController(); } @@ -280,7 +280,7 @@ private enum WaitType { ShotgunSecret, LanguageFix, DebugFlow }; ETGModConsole.Commands.GetGroup(MainCommandName).AddUnit("list_items", ExpandCustomItemsInfo); ETGModConsole.Commands.GetGroup(MainCommandName).AddUnit("youtubemode", ExpandYouTubeSafeCommand); ETGModConsole.Commands.GetGroup(MainCommandName).AddUnit("savesettings", ExpandExportSettings); - ETGModConsole.Commands.GetGroup(MainCommandName).AddUnit("test", ExpandTestCommand); + // ETGModConsole.Commands.GetGroup(MainCommandName).AddUnit("test", ExpandTestCommand); return; } @@ -448,7 +448,7 @@ private enum WaitType { ShotgunSecret, LanguageFix, DebugFlow }; return; } - // Setup console command to point to this function. Expects name of collection followed by resolution X/Y (exmaple: EXItem_Collection 256 256) + // Setup console command to point to this function. Expects name of collection followed by resolution X/Y (exmaple: 512 512 EXItemCollection) // If you wish to manually specify path of output files add path as 4th parameter. public void ExpandSerializeCollection(string[] consoleText) { try { @@ -504,26 +504,12 @@ private enum WaitType { ShotgunSecret, LanguageFix, DebugFlow }; ETGModConsole.Log("[ExpandTheGungeon] Sprite collection successfully built and exported!"); } - private void ExpandTestCommand(string[] consoleText) { - /*GameStatsManager.Instance.ClearStatValueGlobal(TrackedStats.META_CURRENCY); - GameStatsManager.Instance.SetStat(TrackedStats.META_CURRENCY, float.Parse(consoleText[0])); - // GameStatsManager.Instance.RegisterStatChange(TrackedStats.META_CURRENCY_SPENT_AT_META_SHOP, 0); - - - if (consoleText[0].StartsWith("-")) { - GameStatsManager.Instance.RegisterStatChange(TrackedStats.META_CURRENCY, -int.Parse(consoleText[1])); - } else if (consoleText[0].StartsWith("+")) { - GameStatsManager.Instance.RegisterStatChange(TrackedStats.META_CURRENCY, +int.Parse(consoleText[1])); - }*/ - - //return; - + /*private void ExpandTestCommand(string[] consoleText) { // Tools.ExportTexture((GameManager.Instance.PrimaryPlayer.CurrentRoom.GetActiveEnemies(RoomHandler.ActiveEnemyType.RoomClear)[0].sprite.Collection.materials[0].mainTexture as Texture2D).GetRW()); GameObject NewChestTest = Instantiate(ExpandObjectDatabase.EndTimesChest, (GameManager.Instance.PrimaryPlayer.transform.position + new Vector3(0,2,0)), Quaternion.identity); GameManager.Instance.PrimaryPlayer.CurrentRoom.RegisterInteractable(NewChestTest.GetComponent()); - - } + }*/ } } diff --git a/ExpandTheGungeon/ExpandTheGungeon.csproj b/ExpandTheGungeon/ExpandTheGungeon.csproj index 7f373bb..2a087f6 100644 --- a/ExpandTheGungeon/ExpandTheGungeon.csproj +++ b/ExpandTheGungeon/ExpandTheGungeon.csproj @@ -180,8 +180,8 @@ - - + + diff --git a/ExpandTheGungeon/ItemAPI/Items/BabySitter.cs b/ExpandTheGungeon/ItemAPI/Items/BabySitter.cs index 50f9533..1c7f33a 100644 --- a/ExpandTheGungeon/ItemAPI/Items/BabySitter.cs +++ b/ExpandTheGungeon/ItemAPI/Items/BabySitter.cs @@ -35,7 +35,7 @@ public class BabySitter : PassiveItem { modifyType = StatModifier.ModifyMethod.MULTIPLICATIVE, }; - CompanionGuid = ExpandCustomEnemyDatabase.FriendlyCultistGUID; + CompanionGuid = ExpandEnemyDatabase.FriendlyCultistGUID; m_PickedUp = false; m_HasDied = false; diff --git a/ExpandTheGungeon/ItemAPI/Items/BootlegGuns.cs b/ExpandTheGungeon/ItemAPI/Items/BootlegGuns.cs index 2ea157d..e6e48a7 100644 --- a/ExpandTheGungeon/ItemAPI/Items/BootlegGuns.cs +++ b/ExpandTheGungeon/ItemAPI/Items/BootlegGuns.cs @@ -161,12 +161,12 @@ public class BootlegGuns : Gun { public static void PostInit() { if (BootlegPistol && BootlegPistol.gameObject.GetComponent()) { BootlegPistol.gameObject.GetComponent().TransfmorgifyTargetGUIDs = new List() { - ExpandCustomEnemyDatabase.BootlegBulletManGUID + ExpandEnemyDatabase.BootlegBulletManGUID }; } if (BootlegMachinePistol && BootlegMachinePistol.gameObject.GetComponent()) { BootlegMachinePistol.gameObject.GetComponent().TransfmorgifyTargetGUIDs = new List() { - ExpandCustomEnemyDatabase.BootlegBulletManBandanaGUID + ExpandEnemyDatabase.BootlegBulletManBandanaGUID }; } if (BootlegShotgun && BootlegShotgun.gameObject.GetComponent()) { diff --git a/ExpandTheGungeon/ItemAPI/Items/ClownBullets.cs b/ExpandTheGungeon/ItemAPI/Items/ClownBullets.cs index 1aacd35..b1efdea 100644 --- a/ExpandTheGungeon/ItemAPI/Items/ClownBullets.cs +++ b/ExpandTheGungeon/ItemAPI/Items/ClownBullets.cs @@ -59,7 +59,7 @@ public class ClownBullets : PassiveItem { m_player = player; base.Pickup(player); player.PostProcessProjectile += PostProcessProjectile; - if (string.IsNullOrEmpty(TargetGUID)) { TargetGUID = ExpandCustomEnemyDatabase.ClownkinGUID; } + if (string.IsNullOrEmpty(TargetGUID)) { TargetGUID = ExpandEnemyDatabase.ClownkinGUID; } } diff --git a/ExpandTheGungeon/ItemAPI/Items/ClownFriend.cs b/ExpandTheGungeon/ItemAPI/Items/ClownFriend.cs index c1af286..d559d9d 100644 --- a/ExpandTheGungeon/ItemAPI/Items/ClownFriend.cs +++ b/ExpandTheGungeon/ItemAPI/Items/ClownFriend.cs @@ -19,7 +19,7 @@ public class ClownFriend : PassiveItem { SpriteSerializer.AddSpriteToObject(ClownFriendObject, ExpandPrefabs.EXItemCollection, "clownfriend"); ClownFriend clownFriendItem = ClownFriendObject.AddComponent(); - clownFriendItem.CompanionGuid = ExpandCustomEnemyDatabase.ClownkinAltGUID; + clownFriendItem.CompanionGuid = ExpandEnemyDatabase.ClownkinAltGUID; // clownFriendItem.CompanionPastGuid = string.Empty; // clownFriendItem.UsesAlternatePastPrefab = false; // clownFriendItem.Synergies = new CompanionTransformSynergy[0]; @@ -48,7 +48,7 @@ public class ClownFriend : PassiveItem { } public ClownFriend() { - CompanionGuid = ExpandCustomEnemyDatabase.ClownkinAltGUID; + CompanionGuid = ExpandEnemyDatabase.ClownkinAltGUID; BalloonRespawnTimer = 30; BalloonWasPopped = false; diff --git a/ExpandTheGungeon/ItemAPI/Items/GoldensRevolvers/BlackAndGoldenRevolver.cs b/ExpandTheGungeon/ItemAPI/Items/GoldensRevolvers/BlackAndGoldenRevolver.cs index d82b0d4..1c63aa7 100644 --- a/ExpandTheGungeon/ItemAPI/Items/GoldensRevolvers/BlackAndGoldenRevolver.cs +++ b/ExpandTheGungeon/ItemAPI/Items/GoldensRevolvers/BlackAndGoldenRevolver.cs @@ -174,7 +174,7 @@ private static void Add(bool isGoldenVersion) Projectile projectile = isGoldenVersion ? WestBrosGoldenRevolverProjectile.AddComponent() : WestBrosBlackRevolverProjectile.AddComponent(); GameObject projectileChild = projectile.transform.Find("Sprite").gameObject; - tk2dSprite projetileSprite = SpriteSerializer.AddSpriteToObject(projectileChild, ExpandCustomEnemyDatabase.WestBrosCollection, "gr_black_revolver_projectile_001"); + tk2dSprite projetileSprite = SpriteSerializer.AddSpriteToObject(projectileChild, ExpandEnemyDatabase.WestBrosCollection, "gr_black_revolver_projectile_001"); ExpandUtility.GenerateSpriteAnimator(projectileChild, playAutomatically: true); ExpandUtility.AddAnimation(projectileChild.GetComponent(), projetileSprite.Collection, ProjectileSpriteList, "idle", tk2dSpriteAnimationClip.WrapMode.Loop, 13); diff --git a/ExpandTheGungeon/ItemAPI/Items/SonicBox.cs b/ExpandTheGungeon/ItemAPI/Items/SonicBox.cs index 17c4dd0..fcc46c5 100644 --- a/ExpandTheGungeon/ItemAPI/Items/SonicBox.cs +++ b/ExpandTheGungeon/ItemAPI/Items/SonicBox.cs @@ -36,7 +36,7 @@ public class SonicBox : PassiveItem { public SonicBox() { - CompanionGuid = ExpandCustomEnemyDatabase.SonicCompanionGUID; + CompanionGuid = ExpandEnemyDatabase.SonicCompanionGUID; DeathStatModifier = new StatModifier() { amount = 1.5f, diff --git a/ExpandTheGungeon/Properties/AssemblyInfo.cs b/ExpandTheGungeon/Properties/AssemblyInfo.cs index 56a672d..497fe0b 100644 --- a/ExpandTheGungeon/Properties/AssemblyInfo.cs +++ b/ExpandTheGungeon/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.9.6")] -[assembly: AssemblyFileVersion("2.9.6")] +[assembly: AssemblyVersion("2.9.7")] +[assembly: AssemblyFileVersion("2.9.7")] diff --git a/GraphicAssets/EXLogo.xcf b/GraphicAssets/EXLogo.xcf index a263f40..76dacfb 100644 Binary files a/GraphicAssets/EXLogo.xcf and b/GraphicAssets/EXLogo.xcf differ