Files
2HUCardTDGame/aghanim_singleplayer/scripts/vscripts/room_tables.lua
2021-10-24 15:36:18 -04:00

1187 lines
25 KiB
Lua
Executable File

require( "constants" )
_G.MAP_ATLAS_ROOM_SIZE = 4096
_G.MAP_ATLAS_ACT2_OFFSET = 1536
_G.MAP_ATLAS_ELITE_ROOMS_PER_ACT =
{
-- NOTE: Indexed by ascension level
{
3, 4, 4
},
{
4, 5, 5
},
{
5, 6, 6
},
{
6, 6, 7
},
}
_G.MAP_TRAP_ROOMS_PER_ACT =
{
1, 1, 1
}
_G.MAP_HIDDEN_ENCOUNTERS_PER_ACT =
{
3, 3, 3
}
-- Starting bottom left
_G.MAP_ATLAS =
{
--
-- Act 1
--
a1_1a =
{
name="a1_1a",
exit_up="a1_2a",
exit_side="a1_2b",
nRoomType = ROOM_TYPE_STARTING,
bCannotBeElite = true,
nDepth = 1,
vCenter = Vector( -7 * MAP_ATLAS_ROOM_SIZE / 2, -7 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a1_2a =
{
name="a1_2a",
exit_up="a1_3a",
exit_side="a1_3b",
nRoomType = ROOM_TYPE_ENEMY,
bCannotBeTrap = true,
nDepth = 2,
vCenter = Vector( -7 * MAP_ATLAS_ROOM_SIZE / 2, -5 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a1_2b =
{
name="a1_2b",
exit_up="a1_3b",
exit_side="a1_3c",
nRoomType = ROOM_TYPE_ENEMY,
bCannotBeTrap = true,
nDepth = 2,
vCenter = Vector( -5 * MAP_ATLAS_ROOM_SIZE / 2, -7 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a1_3a =
{
name="a1_3a",
exit_up="a1_4a",
exit_side="a1_4b",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 3,
vCenter = Vector( -7 * MAP_ATLAS_ROOM_SIZE / 2, -3 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a1_3b =
{
name="a1_3b",
exit_up="a1_4b",
exit_side="a1_4c",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 3,
vCenter = Vector( -5 * MAP_ATLAS_ROOM_SIZE / 2, -5 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a1_3c =
{
name="a1_3c",
exit_up="a1_4c",
exit_side="a1_4d",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 3,
vCenter = Vector( -3 * MAP_ATLAS_ROOM_SIZE / 2, -7 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a1_4a =
{
name="a1_4a",
exit_side="a1_5a",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 4,
vCenter = Vector( -7 * MAP_ATLAS_ROOM_SIZE / 2, -1 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a1_4b =
{
name="a1_4b",
exit_up="a1_5a",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 4,
vCenter = Vector( -5 * MAP_ATLAS_ROOM_SIZE / 2, -3 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a1_4c =
{
name="a1_4c",
exit_side="a1_5b",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 4,
vCenter = Vector( -3 * MAP_ATLAS_ROOM_SIZE / 2, -5 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a1_4d =
{
name="a1_4d",
exit_up="a1_5b",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 4,
vCenter = Vector( -1 * MAP_ATLAS_ROOM_SIZE / 2, -7 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a1_5a =
{
name="a1_5a",
exit_side="a1_boss",
nRoomType = ROOM_TYPE_ENEMY,
bCannotBeTrap = true,
bCannotBeElite = true,
nDepth = 5,
vCenter = Vector( -5 * MAP_ATLAS_ROOM_SIZE / 2, -1 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a1_5b =
{
name="a1_5b",
exit_up="a1_boss",
nRoomType = ROOM_TYPE_ENEMY,
bCannotBeTrap = true,
bCannotBeElite = true,
nDepth = 5,
vCenter = Vector( -1 * MAP_ATLAS_ROOM_SIZE / 2, -5 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a1_boss =
{
name="a1_boss",
exit_side="a2_transition",
nRoomType = ROOM_TYPE_BOSS,
bCannotBeElite = true,
nDepth = 6,
vCenter = Vector( -1 * MAP_ATLAS_ROOM_SIZE, -1 * MAP_ATLAS_ROOM_SIZE, 0 ),
vSize = Vector( 2 * MAP_ATLAS_ROOM_SIZE, 2 * MAP_ATLAS_ROOM_SIZE, 0 )
},
--
-- Transition Act 1 -> Act 2
--
a2_transition =
{
name="a2_transition",
exit_up="a2_1a",
nRoomType = ROOM_TYPE_BONUS,
bCannotBeElite = true,
nDepth = 7,
vCenter = Vector( 2 * MAP_ATLAS_ROOM_SIZE, -11 * MAP_ATLAS_ROOM_SIZE / 4 + MAP_ATLAS_ACT2_OFFSET, 0 ),
vSize = Vector( 4 * MAP_ATLAS_ROOM_SIZE, 3 * MAP_ATLAS_ROOM_SIZE / 2, 0 )
},
--
-- Act 2
--
a2_1a =
{
name="a2_1a",
exit_up="a2_2a",
exit_side="a2_2b",
nRoomType = ROOM_TYPE_ENEMY,
bCannotBeElite = true,
bCannotBeTrap = true,
nDepth = 8,
vCenter = Vector( 7 * MAP_ATLAS_ROOM_SIZE / 2, -3 * MAP_ATLAS_ROOM_SIZE / 2 + MAP_ATLAS_ACT2_OFFSET, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a2_2a =
{
name="a2_2a",
exit_up="a2_3a",
exit_side="a2_3b",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 9,
vCenter = Vector( 7 * MAP_ATLAS_ROOM_SIZE / 2, -1 * MAP_ATLAS_ROOM_SIZE / 2 + MAP_ATLAS_ACT2_OFFSET, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a2_2b =
{
name="a2_2b",
exit_up="a2_3b",
exit_side="a2_3c",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 9,
vCenter = Vector( 5 * MAP_ATLAS_ROOM_SIZE / 2, -3 * MAP_ATLAS_ROOM_SIZE / 2 + MAP_ATLAS_ACT2_OFFSET, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a2_3a =
{
name="a2_3a",
exit_up="a2_4a",
exit_side="a2_4b",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 10,
vCenter = Vector( 7 * MAP_ATLAS_ROOM_SIZE / 2, 1 * MAP_ATLAS_ROOM_SIZE / 2 + MAP_ATLAS_ACT2_OFFSET, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a2_3b =
{
name="a2_3b",
exit_up="a2_4b",
exit_side="a2_4c",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 10,
vCenter = Vector( 5 * MAP_ATLAS_ROOM_SIZE / 2, -1 * MAP_ATLAS_ROOM_SIZE / 2 + MAP_ATLAS_ACT2_OFFSET, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a2_3c =
{
name="a2_3c",
exit_up="a2_4c",
exit_side="a2_4d",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 10,
vCenter = Vector( 3 * MAP_ATLAS_ROOM_SIZE / 2, -3 * MAP_ATLAS_ROOM_SIZE / 2 + MAP_ATLAS_ACT2_OFFSET, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a2_4a =
{
name="a2_4a",
exit_side="a2_5a",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 11,
vCenter = Vector( 7 * MAP_ATLAS_ROOM_SIZE / 2, 3 * MAP_ATLAS_ROOM_SIZE / 2 + MAP_ATLAS_ACT2_OFFSET, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a2_4b =
{
name="a2_4b",
exit_up="a2_5a",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 11,
vCenter = Vector( 5 * MAP_ATLAS_ROOM_SIZE / 2, 1 * MAP_ATLAS_ROOM_SIZE / 2 + MAP_ATLAS_ACT2_OFFSET, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a2_4c =
{
name="a2_4c",
exit_side="a2_5b",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 11,
vCenter = Vector( 3 * MAP_ATLAS_ROOM_SIZE / 2, -1 * MAP_ATLAS_ROOM_SIZE / 2 + MAP_ATLAS_ACT2_OFFSET, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a2_4d =
{
name="a2_4d",
exit_up="a2_5b",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 11,
vCenter = Vector( 1 * MAP_ATLAS_ROOM_SIZE / 2, -3 * MAP_ATLAS_ROOM_SIZE / 2 + MAP_ATLAS_ACT2_OFFSET, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a2_5a =
{
name="a2_5a",
exit_side="a2_boss",
nRoomType = ROOM_TYPE_TRANSITIONAL,
bCannotBeElite = true,
nDepth = 12,
vCenter = Vector( 5 * MAP_ATLAS_ROOM_SIZE / 2, 3 * MAP_ATLAS_ROOM_SIZE / 2 + MAP_ATLAS_ACT2_OFFSET, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a2_5b =
{
name="a2_5b",
exit_up="a2_boss",
nRoomType = ROOM_TYPE_TRANSITIONAL,
bCannotBeElite = true,
nDepth = 12,
vCenter = Vector( 1 * MAP_ATLAS_ROOM_SIZE / 2, -1 * MAP_ATLAS_ROOM_SIZE / 2 + MAP_ATLAS_ACT2_OFFSET, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a2_boss =
{
name="a2_boss",
exit_side="a3_1a",
nRoomType = ROOM_TYPE_BOSS,
bCannotBeElite = true,
nDepth = 13,
vCenter = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE + MAP_ATLAS_ACT2_OFFSET, 0 ),
vSize = Vector( 2 * MAP_ATLAS_ROOM_SIZE, 2 * MAP_ATLAS_ROOM_SIZE, 0 )
},
--
-- Act 3
--
a3_1a =
{
name="a3_1a",
exit_up="a3_2a",
exit_side="a3_2b",
nRoomType = ROOM_TYPE_BONUS,
bCannotBeElite = true,
nDepth = 14,
vCenter = Vector( -1 * MAP_ATLAS_ROOM_SIZE / 2, 1 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a3_2a =
{
name="a3_2a",
exit_up="a3_3a",
exit_side="a3_3b",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 15,
vCenter = Vector( -1 * MAP_ATLAS_ROOM_SIZE / 2, 3 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a3_2b =
{
name="a3_2b",
exit_up="a3_3b",
exit_side="a3_3c",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 15,
vCenter = Vector( -3 * MAP_ATLAS_ROOM_SIZE / 2, 1 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a3_3a =
{
name="a3_3a",
exit_up="a3_4a",
exit_side="a3_4b",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 16,
vCenter = Vector( -1 * MAP_ATLAS_ROOM_SIZE / 2, 5 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a3_3b =
{
name="a3_3b",
exit_up="a3_4b",
exit_side="a3_4c",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 16,
vCenter = Vector( -3 * MAP_ATLAS_ROOM_SIZE / 2, 3 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a3_3c =
{
name="a3_3c",
exit_up="a3_4c",
exit_side="a3_4d",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 16,
vCenter = Vector( -5 * MAP_ATLAS_ROOM_SIZE / 2, 1 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a3_4a =
{
name="a3_4a",
exit_side="a3_5a",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 17,
vCenter = Vector( -1 * MAP_ATLAS_ROOM_SIZE / 2, 7 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a3_4b =
{
name="a3_4b",
exit_up="a3_5a",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 17,
vCenter = Vector( -3 * MAP_ATLAS_ROOM_SIZE / 2, 5 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a3_4c =
{
name="a3_4c",
exit_side="a3_5b",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 17,
vCenter = Vector( -5 * MAP_ATLAS_ROOM_SIZE / 2, 3 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a3_4d =
{
name="a3_4d",
exit_up="a3_5b",
nRoomType = ROOM_TYPE_ENEMY,
nDepth = 17,
vCenter = Vector( -7 * MAP_ATLAS_ROOM_SIZE / 2, 1 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a3_5a =
{
name="a3_5a",
exit_side="a3_boss",
nRoomType = ROOM_TYPE_TRANSITIONAL,
bCannotBeElite = true,
nDepth = 18,
vCenter = Vector( -3 * MAP_ATLAS_ROOM_SIZE / 2, 7 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a3_5b =
{
name="a3_5b",
exit_up="a3_boss",
nRoomType = ROOM_TYPE_TRANSITIONAL,
bCannotBeElite = true,
nDepth = 18,
vCenter = Vector( -7 * MAP_ATLAS_ROOM_SIZE / 2, 3 * MAP_ATLAS_ROOM_SIZE / 2, 0 ),
vSize = Vector( MAP_ATLAS_ROOM_SIZE, MAP_ATLAS_ROOM_SIZE, 0 )
},
a3_boss =
{
name="a3_boss",
nRoomType = ROOM_TYPE_BOSS,
bCannotBeElite = true,
nDepth = 19,
vCenter = Vector( -3 * MAP_ATLAS_ROOM_SIZE, 3 * MAP_ATLAS_ROOM_SIZE, 0 ),
vSize = Vector( 2 * MAP_ATLAS_ROOM_SIZE, 2 * MAP_ATLAS_ROOM_SIZE, 0 )
},
}
_G.ENCOUNTER_DEFINITIONS =
{
-- Spawn room encounter
encounter_starting_room =
{
nEncounterType = ROOM_TYPE_STARTING,
nMinDepth = 1,
nMaxDepth = 1,
},
-- Normal encounters
encounter_empty_cavern =
{
szMapNames = { "empty_cavern" },
nEncounterType = ROOM_TYPE_TRANSITIONAL,
nMinDepth = 12,
nMaxDepth = 12,
},
encounter_empty_beach =
{
szMapNames = { "empty_beach" },
nEncounterType = ROOM_TYPE_TRANSITIONAL,
nMinDepth = 18,
nMaxDepth = 18,
},
encounter_brewmaster =
{
szMapNames = { "radiant_ring" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 2,
nMaxDepth = 2,
},
encounter_hellbears_portal_v3 =
{
szMapNames = { "fodder_arena2" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 2,
nMaxDepth = 2,
},
encounter_pinecones =
{
szMapNames = { "fodder_random_portals", },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 2,
nMaxDepth = 2,
},
encounter_quill_beasts =
{
szMapNames = { "radiant_forest", },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 2,
nMaxDepth = 2,
},
encounter_jungle_hijinx =
{
szMapNames = { "jungle_hijinx" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 3,
nMaxDepth = 3,
},
encounter_tusk_skeletons =
{
szMapNames = { "defend_highground_snow", },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 3,
nMaxDepth = 3,
},
encounter_bombers =
{
szMapNames = { "defend_highground" }, -- Need a "trigger_spawn_creatures" trigger
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 3,
nMaxDepth = 3,
},
encounter_drow_ranger_miniboss =
{
szMapNames = { "drow_ranger_miniboss" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 3,
nMaxDepth = 3,
},
encounter_wave_blasters =
{
szMapNames = { "arena" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 4,
nMaxDepth = 4,
},
encounter_baby_ogres =
{
szMapNames = { "baby_ogres", },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 4,
nMaxDepth = 4,
},
encounter_morphlings_b =
{
szMapNames = { "shoal", },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 4,
nMaxDepth = 4,
},
encounter_zealot_scarabs =
{
szMapNames = { "desert_oasis" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 4,
nMaxDepth = 4,
},
encounter_ogre_seals =
{
szMapNames = { "snowy_river" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 5,
nMaxDepth = 5,
},
encounter_warlocks =
{
szMapNames = { "scorched_plain" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 5,
nMaxDepth = 5,
},
encounter_gauntlet =
{
szMapNames = { "catacombs", },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 5,
nMaxDepth = 5,
},
-- Act 2
encounter_morty_transition =
{
szMapNames = { "morty_transition" },
nEncounterType = ROOM_TYPE_BONUS,
nMinDepth = 7,
nMaxDepth = 7,
},
encounter_penguins_transition =
{
szMapNames = { "penguins_transition" },
nEncounterType = ROOM_TYPE_BONUS,
nMinDepth = 7,
nMaxDepth = 7,
},
encounter_mirana =
{
szMapNames = { "plains" }, -- If you add more here, make sure there are info_target "retreat_point" entities authored in the map
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 8,
nMaxDepth = 8,
},
encounter_mushroom_mines =
{
szMapNames = { "mushroom_mines" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 8,
nMaxDepth = 8,
},
encounter_legion_commander =
{
szMapNames = { "radiant_stadium" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 8,
nMaxDepth = 8,
},
encounter_troll_warlord =
{
szMapNames = { "dire_trading_post" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 9,
nMaxDepth = 9,
},
encounter_pudge_miniboss =
{
szMapNames = { "pudge_defend_lowground" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 9,
nMaxDepth = 9,
},
encounter_pucks =
{
szMapNames = { "meadow" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 9,
nMaxDepth = 9,
},
encounter_dark_seer =
{
szMapNames = { "frozen_cliffs" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 9,
nMaxDepth = 9,
},
encounter_spectres =
{
szMapNames = { "gloom" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 10,
nMaxDepth = 10,
},
encounter_shadow_demons =
{
szMapNames = { "shadow_demon_forest" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 10,
nMaxDepth = 10,
},
encounter_rock_golems =
{
szMapNames = { "mines_arena" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 10,
nMaxDepth = 10,
},
encounter_naga_siren =
{
szMapNames = { "defend_lowground" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 10,
nMaxDepth = 10,
},
encounter_dire_siege =
{
szMapNames = { "a2_gauntlet" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 11,
nMaxDepth = 11,
},
encounter_big_ogres =
{
szMapNames = { "bog", },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 11,
nMaxDepth = 11,
},
encounter_dragon_knight =
{
szMapNames = { "fortress", },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 11,
nMaxDepth = 11,
},
encounter_kunkka_tide =
{
szMapNames = { "coastal_arena", },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 11,
nMaxDepth = 11,
},
-- Act 3
encounter_alchemist =
{
szMapNames = { "chemlab" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 15,
nMaxDepth = 15,
},
encounter_enraged_wildwings =
{
szMapNames = { "wildwings_arena" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 15,
nMaxDepth = 15,
},
encounter_elemental_tiny =
{
szMapNames = { "tiny_arena" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 15,
nMaxDepth = 15,
},
encounter_bandits =
{
szMapNames = { "badlands" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 16,
nMaxDepth = 16,
},
encounter_bomb_squad =
{
szMapNames = { "snowy_portals" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 16,
nMaxDepth = 16,
},
encounter_undead_woods =
{
szMapNames = { "undead_woods" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 16,
nMaxDepth = 16,
},
encounter_phoenix =
{
szMapNames = { "burning_mesa" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 17,
nMaxDepth = 17,
},
encounter_broodmothers =
{
szMapNames = { "spider_cave" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 17,
nMaxDepth = 17,
},
encounter_fire_roshan =
{
szMapNames = { "underground_cave" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 17,
nMaxDepth = 17,
},
encounter_boss_visage =
{
szMapNames = { "mausoleum" },
nEncounterType = ROOM_TYPE_BOSS,
nMinDepth = 6,
nMaxDepth = 6,
},
encounter_boss_timbersaw =
{
szMapNames = { "forest_hill_boss" },
nEncounterType = ROOM_TYPE_BOSS,
nMinDepth = 6,
nMaxDepth = 6,
},
encounter_temple_guardians =
{
szMapNames = { "floating_chamber_boss2" },
szFlippedMapNames = { "template_boss_r_to_l" },
nEncounterType = ROOM_TYPE_BOSS,
nMinDepth = 6,
nMaxDepth = 6,
},
encounter_storegga =
{
szMapNames = { "boss_island_r_to_l" },
szFlippedMapNames = { "template_boss_l_to_r" },
nEncounterType = ROOM_TYPE_BOSS,
nMinDepth = 13,
nMaxDepth = 13,
},
encounter_boss_void_spirit =
{
szMapNames = { "boss_void_spirit" },
szFlippedMapNames = { "template_boss_l_to_r" },
nEncounterType = ROOM_TYPE_BOSS,
nMinDepth = 13,
nMaxDepth = 13,
},
encounter_aghanim =
{
szMapNames = { "aghanim_arena2" },
nEncounterType = ROOM_TYPE_BOSS,
nMinDepth = 19,
nMaxDepth = 19,
},
encounter_rhyzik =
{
szMapNames = { "boss_island_r_to_l" },
szFlippedMapNames = { "template_boss_l_to_r" },
nEncounterType = ROOM_TYPE_BOSS,
nMinDepth = 19,
nMaxDepth = 19,
},
-- Traps
encounter_jungle_fire_maze =
{
szMapNames = { "jungle_fire_maze" },
nEncounterType = ROOM_TYPE_TRAPS,
nMinDepth = 3,
nMaxDepth = 6,
},
encounter_cliff_pass =
{
szMapNames = { "desert_cliff_pass" },
nEncounterType = ROOM_TYPE_TRAPS,
nMinDepth = 3,
nMaxDepth = 6,
},
encounter_hellfire_canyon =
{
szMapNames = { "hellfire_canyon" },
nEncounterType = ROOM_TYPE_TRAPS,
nMinDepth = 8,
nMaxDepth = 12,
},
encounter_temple_garden =
{
szMapNames = { "temple_garden_traps" },
nEncounterType = ROOM_TYPE_TRAPS,
nMinDepth = 8,
nMaxDepth = 12,
},
encounter_castle_traps =
{
szMapNames = { "castle_traps" },
nEncounterType = ROOM_TYPE_TRAPS,
nMinDepth = 15,
nMaxDepth = 17,
},
encounter_crypt_traps =
{
szMapNames = { "crypt_traps" },
nEncounterType = ROOM_TYPE_TRAPS,
nMinDepth = 15,
nMaxDepth = 17,
},
--[[
encounter_wrath =
{
szMapNames = { "kerblam" },
nEncounterType = ROOM_TYPE_TRAPS,
nMinDepth = 7,
nMaxDepth = 19,
},
]]
-- Transitions
--[[
encounter_transition =
{
szMapNames = { "template_transitional_l_to_r" },
szFlippedMapNames = { "template_transitional_r_to_l" },
nEncounterType = ROOM_TYPE_BONUS,
nMinDepth = 1,
nMaxDepth = 19,
},
]]
-- Reward room encounter
--[[
encounter_test_reward_room =
{
szMapNames = { "template" },
nEncounterType = ROOM_TYPE_BONUS,
nMinDepth = 2,
nMaxDepth = 19,
},
]]
encounter_bonus_chicken =
{
szMapNames = { "defend_highground_chickens" }, -- Need a "trigger_spawn_creatures" trigger
nEncounterType = ROOM_TYPE_BONUS,
nMinDepth = 14,
nMaxDepth = 14,
},
encounter_pangolier =
{
szMapNames = { "temple_arena" }, -- Need a "trigger_spawn_creatures" trigger
nEncounterType = ROOM_TYPE_BONUS,
nMinDepth = 14,
nMaxDepth = 14,
},
-- CUT ENCOUNTERS
--[[
encounter_hellbears_portal_v2 =
{
szMapNames = { "fodder_arena2" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 2,
nMaxDepth = 2,
},
encounter_hellbears =
{
szMapNames = { "fodder_arena2" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 2,
nMaxDepth = 2,
},
encounter_enraged_hellbears =
{
szMapNames = { "fodder_arena", },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 2,
nMaxDepth = 2,
},
]]--
--[[
encounter_wildwings =
{
szMapNames = { "fodder_arena2" },
nEncounterType = ROOM_TYPE_ENEMY,
nMinDepth = 3,
nMaxDepth = 3,
},
]]--
}
-- Used to specify exit heights for particular maps
_G.MAP_EXIT_HEIGHTS =
{
arena =
{
up = 128,
left = 0,
right = 0,
down = 0,
},
baby_ogres =
{
up = 128,
left = 0,
right = 0,
down = 0,
},
desert_oasis =
{
up = 128,
left = 0,
right = 0,
down = 0,
},
morty_transition =
{
up = 384,
left = 384,
right = 0,
down = 0,
},
penguins_transition =
{
up = 0,
left = 0,
right = 0,
down = 0,
},
floating_chamber_boss2 =
{
up = 256,
left = 256,
right = 256,
down = 256,
},
radiant_stadium =
{
up = 0,
left = 0,
right = 0,
down = 0,
},
test_height_diff =
{
up = 256,
left = 0,
right = 128,
down = 0,
},
empty_cavern =
{
up = 256,
left = 0,
right = 128,
down = 0,
},
empty_beach =
{
up = 256,
left = 0,
right = 128,
down = 0,
},
hellfire_canyon =
{
up = 128,
left = 128,
right = 128,
down = 128,
},
temple_garden_traps =
{
up = 0,
left = 0,
right = 0,
down = 0,
},
mausoleum =
{
up = 256,
left = 256,
right = 0,
down = 0,
},
}
-- If you want a particular unit to have a different model scale, put it here
_G.ENCOUNTER_PREVIEW_SCALES =
{
npc_dota_pinecone_champion = 1.2,
npc_dota_creature_hellbear = 1.2,
npc_dota_creature_spectral_tusk_mage = 1.5,
npc_dota_creature_baby_ogre_tank = 1.3,
npc_dota_creature_large_ogre_seal = 0.8,
npc_dota_creature_dazzle = 1.35,
npc_dota_creature_huge_broodmother = 1.6,
npc_dota_creature_morphling_big = 1.4,
npc_dota_creature_zealot_scarab = 1.4,
npc_dota_creature_ogre_tank = 1.8,
npc_dota_sled_penguin = 3.5,
npc_dota_creature_storegga = 1.5,
npc_dota_creature_mirana = 1.25,
npc_dota_creature_puck = 1.2,
npc_dota_creature_alchemist = 1.2,
npc_dota_creature_pudge = 1.2,
npc_dota_creature_warlock = 1.4,
npc_dota_creature_dragon_knight = 1.2,
npc_dota_creature_pudge_miniboss = 1.3,
npc_dota_creature_bomber = 1.5,
npc_dota_creature_bonus_chicken = 2.8,
npc_dota_creature_temple_guardian = 1.2,
npc_dota_boss_void_spirit = 1.2,
npc_aghsfort_creature_tornado_harpy = 1.8,
npc_dota_creature_drow_ranger_miniboss = 1.5,
npc_dota_creature_dark_seer = 1.5,
npc_dota_creature_shroom_giant = 1.6,
npc_dota_creature_troll_warlord_ranged = 1.5,
npc_dota_creature_bonus_greevil = 2.0,
npc_dota_creature_naga_siren_boss = 1.5,
npc_dota_creature_legion_commander = 1.25,
npc_dota_shop_keeper = 1.5,
npc_dota_spike_trap_ward = 0.5,
npc_dota_creature_huskar = 1.5,
}
-- For debugging at the moment, a fixed layout of rooms
_G.USE_ENCOUNTER_FIXED_LAYOUT = false
_G.ENCOUNTER_FIXED_LAYOUT =
{
a1_1a = "encounter_starting_room",
a1_2a = "encounter_quill_beasts",
a1_2b = "encounter_enraged_hellbears",
a1_3a = "encounter_bombers",
a1_3b = "encounter_jungle_fire_maze", --"encounter_tusk_skeletons",
a1_3c = "encounter_wildwings",
a1_4a = "encounter_wave_blasters",
a1_4b = "encounter_baby_ogres",
a1_4c = "encounter_morphlings",
a1_4d = "encounter_zealot_scarabs",
a1_5a = "encounter_warlocks",
a1_5b = "encounter_ogre_seals",
a1_boss = "encounter_boss_timbersaw",
a2_transition = "encounter_morty_transition",
a2_1a = "encounter_pudge_miniboss",
a2_2a = "encounter_mirana",
a2_2b = "encounter_mirana",
a2_3a = "encounter_spectres",
a2_3b = "encounter_rock_golems",
a2_3c = "encounter_spectres",
a2_4a = "encounter_dire_siege",
a2_4b = "encounter_big_ogres",
a2_4c = "encounter_hellfire_canyon",
a2_4d = "encounter_big_ogres",
a2_5a = "encounter_test_immediate_victory",
a2_5b = "encounter_test_immediate_victory",
a2_boss = "encounter_storegga",
a3_1a = "encounter_bonus_chicken",
a3_2a = "encounter_alchemist",
a3_2b = "encounter_enraged_wildwings",
a3_3a = "encounter_elemental_tiny",
a3_3b = "encounter_bandits",
a3_3c = "encounter_bomb_squad",
a3_4a = "encounter_broodmothers",
a3_4b = "encounter_kunkka_tide",
a3_4c = "encounter_broodmothers",
a3_4d = "encounter_kunkka_tide",
a3_5a = "encounter_test_immediate_victory",
a3_5b = "encounter_test_immediate_victory",
a3_boss = "encounter_rhyzik",
}