Files
Leviathan/GameServer/Resource/script/Dungeons/UndergroundDungeons.lua
T
2026-06-01 12:46:52 +02:00

593 lines
22 KiB
Lua

-- Underground Dungeons Module
function NPC_Teleport_instanceDuneGeon_contact()
local npc_id = get_npc_id()
local level = get_value( 'level' )
local minimumLevelRequired = tonumber(get_env("game.underground_required_level")) or 150
local npcTitles = {}
npcTitles[11812] = "@90605758" -- Vanguard Jack
npcTitles[11813] = "@90605759" -- Vanguard Kaine
npcTitles[11814] = "@90605760" -- Vanguard Side
npcTitles[11815] = "@90605761" -- Vanguard Jinsu
dlg_title(npcTitles[npc_id])
if level < minimumLevelRequired then
-- It's too dangerous here. Please leave! If you're not at least level #@level@#, you'll end up like the drained villagers.
dlg_text(sconv("@90605763", "#@level@#", minimumLevelRequired))
else
local dungeonsList = {}
dungeonsList[11812] = 40000
dungeonsList[11813] = 41001
dungeonsList[11814] = 42001
dungeonsList[11815] = 43001
dlg_text( "@90605762" )
dlg_menu("@690000090", "warp_to_instance_dungeon(" .. dungeonsList[npc_id] .. ", 0)")
dlg_menu("@690000091", "warp_to_instance_dungeon(" .. dungeonsList[npc_id] .. ", 1)")
if level >= minimumLevelRequired + 10 then
dlg_menu("@690000092", "warp_to_instance_dungeon(" .. dungeonsList[npc_id] .. ", 2)")
dlg_menu("@690000093", "warp_to_instance_dungeon(" .. dungeonsList[npc_id] .. ", 3)")
end
end
dlg_end()
end
function on_underground_boss_kill( monster_handle, monster_id )
local layer = gv("layer")
local X_pos = gv("x")
local Y_pos = gv("y")
-- 20190005 Basilisk<1 grade>
-- 20190032 Basilisk<2 grade>
-- 20190059 Basilisk<3 grade>
-- 20190086 Basilisk<4 grade>
-- 20190007 Tarantula<1 grade>
-- 20190034 Tarantula<2 grade>
-- 20190061 Tarantula<3 grade>
-- 20190088 Tarantula<4 grade>
-- 20190009 Saichania<1 grade>
-- 20190036 Saichania<2 grade>
-- 20190063 Saichania<3 grade>
-- 20190090 Saichania<4 grade>
-- 20190011 Blood Brother<1 grade>
-- 20190038 Blood Brother<2 grade>
-- 20190065 Blood Brother<3 grade>
-- 20190092 Blood Brother<4 grade>
if monster_id == 20190005 then -- Basilisk<1 grade>
add_npc( 38871, 22943, 20190006, 1, 0, layer )
add_npc( 38906, 23013, 20190001, 1, 0, layer )
add_npc( 39215, 22959, 20190003, 1, 0, layer )
add_npc( 39138, 22881, 20190003, 1, 0, layer )
add_npc( 39087, 23021, 20190003, 1, 0, layer )
add_npc( 39067, 22964, 20190003, 1, 0, layer )
add_npc( 38980, 22920, 20190003, 1, 0, layer )
add_npc( 28980, 23005, 20190003, 1, 0, layer )
if get_quest_progress(3644) == 1 then
local questStatus = get_quest_status(3644, 3)
if questStatus == 0 then
set_quest_status( 3644, 3, questStatus + 1 )
end
end
do_each_player_in_instance_dungeon( 40000, layer, "set_quest_status( 3644, 3, 1 )", X_pos, Y_pos )
elseif monster_id == 20190032 then -- Basilisk<2 grade>
add_npc( 38871, 22943, 20190033, 1, 0, layer )
add_npc( 38906, 23013, 20190028, 1, 0, layer )
add_npc( 39215, 22959, 20190030, 1, 0, layer )
add_npc( 39138, 22881, 20190030, 1, 0, layer )
add_npc( 39087, 23021, 20190030, 1, 0, layer )
add_npc( 39067, 22964, 20190030, 1, 0, layer )
add_npc( 38980, 22920, 20190030, 1, 0, layer )
add_npc( 28980, 23005, 20190030, 1, 0, layer )
if get_quest_progress(3644) == 1 then
local questStatus = get_quest_status(3644, 3)
if questStatus == 0 then
set_quest_status( 3644, 3, questStatus + 1 )
end
end
do_each_player_in_instance_dungeon( 40000, layer, "set_quest_status( 3644, 3, 1 )", X_pos, Y_pos )
elseif monster_id == 20190059 then -- Basilisk<3 grade>
add_npc( 38871, 22943, 20190060, 1, 0, layer )
add_npc( 38906, 23013, 20190055, 1, 0, layer )
add_npc( 39215, 22959, 20190057, 1, 0, layer )
add_npc( 39138, 22881, 20190057, 1, 0, layer )
add_npc( 39087, 23021, 20190057, 1, 0, layer )
add_npc( 39067, 22964, 20190057, 1, 0, layer )
add_npc( 38980, 22920, 20190057, 1, 0, layer )
add_npc( 28980, 23005, 20190057, 1, 0, layer )
if get_quest_progress(3644) == 1 then
local questStatus = get_quest_status(3645, 3)
if questStatus == 0 then
set_quest_status( 3644, 3, questStatus + 1 )
end
end
do_each_player_in_instance_dungeon( 40000, layer, "set_quest_status( 3644, 3, 1 )", X_pos, Y_pos )
elseif monster_id == 20190086 then -- Basilisk<4 grade>
add_npc( 38871, 22943, 20190087, 1, 0, layer )
add_npc( 38906, 23013, 20190082, 1, 0, layer )
add_npc( 39215, 22959, 20190084, 1, 0, layer )
add_npc( 39138, 22881, 20190084, 1, 0, layer )
add_npc( 39087, 23021, 20190084, 1, 0, layer )
add_npc( 39067, 22964, 20190084, 1, 0, layer )
add_npc( 38980, 22920, 20190084, 1, 0, layer )
add_npc( 28980, 23005, 20190084, 1, 0, layer )
if get_quest_progress(3644) == 1 then
local questStatus = get_quest_status(3645, 3)
if questStatus == 0 then
set_quest_status( 3644, 3, questStatus + 1 )
end
end
do_each_player_in_instance_dungeon( 40000, layer, "set_quest_status( 3644, 3, 1 )", X_pos, Y_pos )
elseif monster_id == 20190007 then -- Tarantula<1 grade>
add_npc( 40715, 9563, 20190008, 1, 0, layer )
add_npc( 40497, 9586, 20190025, 1, 0, layer )
add_npc( 40763, 9623, 20190004, 1, 0, layer )
add_npc( 40761, 9591, 20190004, 1, 0, layer )
add_npc( 40765, 9526, 20190004, 1, 0, layer )
add_npc( 40697, 9492, 20190004, 1, 0, layer )
add_npc( 40692, 9547, 20190004, 1, 0, layer )
add_npc( 40709, 9596, 20190004, 1, 0, layer )
add_npc( 40715, 9618, 20190004, 1, 0, layer )
add_npc( 40718, 9660, 20190004, 1, 0, layer )
add_npc( 40642, 9655, 20190004, 1, 0, layer )
add_npc( 40623, 9589, 20190004, 1, 0, layer )
add_npc( 40632, 9543, 20190004, 1, 0, layer )
add_npc( 40639, 9498, 20190004, 1, 0, layer )
if get_quest_progress(3645) == 1 then
local questStatus = get_quest_status(3645, 3)
if questStatus == 0 then
set_quest_status( 3645, 3, questStatus + 1 )
end
end
do_each_player_in_instance_dungeon( 41001, layer, "set_quest_status( 3645, 3, 1 )", X_pos, Y_pos )
elseif monster_id == 20190034 then -- Tarantula<2 grade>
add_npc( 40715, 9563, 20190035, 1, 0, layer )
add_npc( 40497, 9586, 20190052, 1, 0, layer )
add_npc( 40763, 9623, 20190031, 1, 0, layer )
add_npc( 40761, 9591, 20190031, 1, 0, layer )
add_npc( 40765, 9526, 20190031, 1, 0, layer )
add_npc( 40697, 9492, 20190031, 1, 0, layer )
add_npc( 40692, 9547, 20190031, 1, 0, layer )
add_npc( 40709, 9596, 20190031, 1, 0, layer )
add_npc( 40715, 9618, 20190031, 1, 0, layer )
add_npc( 40718, 9660, 20190031, 1, 0, layer )
add_npc( 40642, 9655, 20190031, 1, 0, layer )
add_npc( 40623, 9589, 20190031, 1, 0, layer )
add_npc( 40632, 9543, 20190031, 1, 0, layer )
add_npc( 40639, 9498, 20190031, 1, 0, layer )
if get_quest_progress(3645) == 1 then
local questStatus = get_quest_status(3645, 3)
if questStatus == 0 then
set_quest_status( 3645, 3, questStatus + 1 )
end
end
do_each_player_in_instance_dungeon( 41001, layer, "set_quest_status( 3645, 3, 1 )", X_pos, Y_pos )
elseif monster_id == 20190061 then -- Tarantula<3 grade>
add_npc( 40715, 9563, 20190062, 1, 0, layer )
add_npc( 40497, 9586, 20190079, 1, 0, layer )
add_npc( 40763, 9623, 20190058, 1, 0, layer )
add_npc( 40761, 9591, 20190058, 1, 0, layer )
add_npc( 40765, 9526, 20190058, 1, 0, layer )
add_npc( 40697, 9492, 20190058, 1, 0, layer )
add_npc( 40692, 9547, 20190058, 1, 0, layer )
add_npc( 40709, 9596, 20190058, 1, 0, layer )
add_npc( 40715, 9618, 20190058, 1, 0, layer )
add_npc( 40718, 9660, 20190058, 1, 0, layer )
add_npc( 40642, 9655, 20190058, 1, 0, layer )
add_npc( 40623, 9589, 20190058, 1, 0, layer )
add_npc( 40632, 9543, 20190058, 1, 0, layer )
add_npc( 40639, 9498, 20190058, 1, 0, layer )
if get_quest_progress(3645) == 1 then
local questStatus = get_quest_status(3645, 3)
if questStatus == 0 then
set_quest_status( 3645, 3, questStatus + 1 )
end
end
do_each_player_in_instance_dungeon( 41001, layer, "set_quest_status( 3645, 3, 1 )", X_pos, Y_pos )
elseif monster_id == 20190088 then -- Tarantula<4 grade>
add_npc( 40715, 9563, 20190089, 1, 0, layer )
add_npc( 40497, 9586, 21190106, 1, 0, layer )
add_npc( 40763, 9623, 20190085, 1, 0, layer )
add_npc( 40761, 9591, 20190085, 1, 0, layer )
add_npc( 40765, 9526, 20190085, 1, 0, layer )
add_npc( 40697, 9492, 20190085, 1, 0, layer )
add_npc( 40692, 9547, 20190085, 1, 0, layer )
add_npc( 40709, 9596, 20190085, 1, 0, layer )
add_npc( 40715, 9618, 20190085, 1, 0, layer )
add_npc( 40718, 9660, 20190085, 1, 0, layer )
add_npc( 40642, 9655, 20190085, 1, 0, layer )
add_npc( 40623, 9589, 20190085, 1, 0, layer )
add_npc( 40632, 9543, 20190085, 1, 0, layer )
add_npc( 40639, 9498, 20190085, 1, 0, layer )
if get_quest_progress(3645) == 1 then
local questStatus = get_quest_status(3645, 3)
if questStatus == 0 then
set_quest_status( 3645, 3, questStatus + 1 )
end
end
do_each_player_in_instance_dungeon( 41001, layer, "set_quest_status( 3645, 3, 1 )", X_pos, Y_pos )
elseif monster_id == 20190009 then -- Saichania<1 grade>
add_npc( 61203, 30845, 20190012, 1, 0, layer )
add_npc( 61360, 30953, 20190026, 1, 0, layer )
add_npc( 61254, 30888, 20190002, 1, 0, layer )
add_npc( 61107, 30905, 20190002, 1, 0, layer )
add_npc( 60838, 30876, 20190002, 1, 0, layer )
add_npc( 60725, 30763, 20190002, 1, 0, layer )
add_npc( 60794, 30659, 20190002, 1, 0, layer )
add_npc( 61050, 30627, 20190002, 1, 0, layer )
add_npc( 60866, 31022, 20190002, 1, 0, layer )
add_npc( 60770, 30926, 20190002, 1, 0, layer )
add_npc( 60640, 30799, 20190002, 1, 0, layer )
add_npc( 60654, 30696, 20190002, 1, 0, layer )
add_npc( 60517, 30887, 20190002, 1, 0, layer )
add_npc( 61129, 30766, 20190002, 1, 0, layer )
if get_quest_progress(3646) == 1 then
local questStatus = get_quest_status(3646, 3)
if questStatus == 0 then
set_quest_status( 3646, 3, questStatus + 1 )
end
end
do_each_player_in_instance_dungeon( 42001, layer, "set_quest_status( 3646, 3, 1 )", X_pos, Y_pos )
elseif monster_id == 20190036 then -- Saichania<2 grade>
add_npc( 61203, 30845, 20190039, 1, 0, layer )
add_npc( 61360, 30953, 20190053, 1, 0, layer )
add_npc( 61254, 30888, 20190029, 1, 0, layer )
add_npc( 61107, 30905, 20190029, 1, 0, layer )
add_npc( 60838, 30876, 20190029, 1, 0, layer )
add_npc( 60725, 30763, 20190029, 1, 0, layer )
add_npc( 60794, 30659, 20190029, 1, 0, layer )
add_npc( 61050, 30627, 20190029, 1, 0, layer )
add_npc( 60866, 31022, 20190029, 1, 0, layer )
add_npc( 60770, 30926, 20190029, 1, 0, layer )
add_npc( 60640, 30799, 20190029, 1, 0, layer )
add_npc( 60654, 30696, 20190029, 1, 0, layer )
add_npc( 60517, 30887, 20190029, 1, 0, layer )
add_npc( 61129, 30766, 20190029, 1, 0, layer )
if get_quest_progress(3646) == 1 then
local questStatus = get_quest_status(3646, 3)
if questStatus == 0 then
set_quest_status( 3646, 3, questStatus + 1 )
end
end
do_each_player_in_instance_dungeon( 42001, layer, "set_quest_status( 3646, 3, 1 )", X_pos, Y_pos )
elseif monster_id == 20190063 then -- Saichania<3 grade>
add_npc( 61203, 30845, 20190066, 1, 0, layer )
add_npc( 61360, 30953, 20190080, 1, 0, layer )
add_npc( 61254, 30888, 20190056, 1, 0, layer )
add_npc( 61107, 30905, 20190056, 1, 0, layer )
add_npc( 60838, 30876, 20190056, 1, 0, layer )
add_npc( 60725, 30763, 20190056, 1, 0, layer )
add_npc( 60794, 30659, 20190056, 1, 0, layer )
add_npc( 61050, 30627, 20190056, 1, 0, layer )
add_npc( 60866, 31022, 20190056, 1, 0, layer )
add_npc( 60770, 30926, 20190056, 1, 0, layer )
add_npc( 60640, 30799, 20190056, 1, 0, layer )
add_npc( 60654, 30696, 20190056, 1, 0, layer )
add_npc( 60517, 30887, 20190056, 1, 0, layer )
add_npc( 61129, 30766, 20190056, 1, 0, layer )
if get_quest_progress(3646) == 1 then
local questStatus = get_quest_status(3646, 3)
if questStatus == 0 then
set_quest_status( 3646, 3, questStatus + 1 )
end
end
do_each_player_in_instance_dungeon( 42001, layer, "set_quest_status( 3646, 3, 1 )", X_pos, Y_pos )
elseif monster_id == 20190090 then -- Saichania<4 grade>
add_npc( 61203, 30845, 20190093, 1, 0, layer )
add_npc( 61360, 30953, 21190107, 1, 0, layer )
add_npc( 61254, 30888, 20190083, 1, 0, layer )
add_npc( 61107, 30905, 20190083, 1, 0, layer )
add_npc( 60838, 30876, 20190083, 1, 0, layer )
add_npc( 60725, 30763, 20190083, 1, 0, layer )
add_npc( 60794, 30659, 20190083, 1, 0, layer )
add_npc( 61050, 30627, 20190083, 1, 0, layer )
add_npc( 60866, 31022, 20190083, 1, 0, layer )
add_npc( 60770, 30926, 20190083, 1, 0, layer )
add_npc( 60640, 30799, 20190083, 1, 0, layer )
add_npc( 60654, 30696, 20190083, 1, 0, layer )
add_npc( 60517, 30887, 20190083, 1, 0, layer )
add_npc( 61129, 30766, 20190083, 1, 0, layer )
if get_quest_progress(3646) == 1 then
local questStatus = get_quest_status(3646, 3)
if questStatus == 0 then
set_quest_status( 3646, 3, questStatus + 1 )
end
end
do_each_player_in_instance_dungeon( 42001, layer, "set_quest_status( 3646, 3, 1 )", X_pos, Y_pos )
elseif monster_id == 20190011 then -- Blood Brother<1 grade>
add_npc( 53668, 4378, 20190010, 1, 0, layer )
add_npc( 53568, 4384, 20190027, 1, 0, layer )
add_npc( 54092, 4663, 20190003, 1, 0, layer )
add_npc( 54073, 4648, 20190003, 1, 0, layer )
add_npc( 54074, 4534, 20190003, 1, 0, layer )
add_npc( 54019, 4622, 20190003, 1, 0, layer )
add_npc( 53969, 4714, 20190003, 1, 0, layer )
add_npc( 53931, 4595, 20190003, 1, 0, layer )
add_npc( 53831, 4524, 20190004, 1, 0, layer )
add_npc( 53757, 4558, 20190004, 1, 0, layer )
add_npc( 53661, 4569, 20190004, 1, 0, layer )
add_npc( 53583, 4490, 20190004, 1, 0, layer )
add_npc( 53638, 4391, 20190004, 1, 0, layer )
add_npc( 53700, 4573, 20190004, 1, 0, layer )
add_npc( 53766, 4572, 20190002, 1, 0, layer )
add_npc( 54062, 4425, 20190002, 1, 0, layer )
add_npc( 54172, 4572, 20190002, 1, 0, layer )
if get_quest_progress(3647) == 1 then
local questStatus = get_quest_status(3647, 3)
if questStatus == 0 then
set_quest_status( 3647, 3, questStatus + 1 )
end
end
do_each_player_in_instance_dungeon( 43001, layer, "set_quest_status( 3647, 3, 1 )", X_pos, Y_pos )
elseif monster_id == 20190038 then -- Blood Brother<2 grade>
add_npc( 53668, 4378, 20190037, 1, 0, layer )
add_npc( 53568, 4384, 20190054, 1, 0, layer )
add_npc( 54092, 4663, 20190030, 1, 0, layer )
add_npc( 54073, 4648, 20190030, 1, 0, layer )
add_npc( 54074, 4534, 20190030, 1, 0, layer )
add_npc( 54019, 4622, 20190030, 1, 0, layer )
add_npc( 53969, 4714, 20190030, 1, 0, layer )
add_npc( 53931, 4595, 20190030, 1, 0, layer )
add_npc( 53831, 4524, 20190031, 1, 0, layer )
add_npc( 53757, 4558, 20190031, 1, 0, layer )
add_npc( 53661, 4569, 20190031, 1, 0, layer )
add_npc( 53583, 4490, 20190031, 1, 0, layer )
add_npc( 53638, 4391, 20190031, 1, 0, layer )
add_npc( 53700, 4573, 20190031, 1, 0, layer )
add_npc( 53766, 4572, 20190029, 1, 0, layer )
add_npc( 54062, 4425, 20190029, 1, 0, layer )
add_npc( 54172, 4572, 20190029, 1, 0, layer )
if get_quest_progress(3647) == 1 then
local questStatus = get_quest_status(3647, 3)
if questStatus == 0 then
set_quest_status( 3647, 3, questStatus + 1 )
end
end
do_each_player_in_instance_dungeon( 43001, layer, "set_quest_status( 3647, 3, 1 )", X_pos, Y_pos )
elseif monster_id == 20190065 then -- Blood Brother<3 grade>
add_npc( 53668, 4378, 20190064, 1, 0, layer )
add_npc( 53568, 4384, 20190081, 1, 0, layer )
add_npc( 54092, 4663, 20190057, 1, 0, layer )
add_npc( 54073, 4648, 20190057, 1, 0, layer )
add_npc( 54074, 4534, 20190057, 1, 0, layer )
add_npc( 54019, 4622, 20190057, 1, 0, layer )
add_npc( 53969, 4714, 20190057, 1, 0, layer )
add_npc( 53931, 4595, 20190057, 1, 0, layer )
add_npc( 53831, 4524, 20190058, 1, 0, layer )
add_npc( 53757, 4558, 20190058, 1, 0, layer )
add_npc( 53661, 4569, 20190058, 1, 0, layer )
add_npc( 53583, 4490, 20190058, 1, 0, layer )
add_npc( 53638, 4391, 20190058, 1, 0, layer )
add_npc( 53700, 4573, 20190058, 1, 0, layer )
add_npc( 53766, 4572, 20190056, 1, 0, layer )
add_npc( 54062, 4425, 20190056, 1, 0, layer )
add_npc( 54172, 4572, 20190056, 1, 0, layer )
if get_quest_progress(3647) == 1 then
local questStatus = get_quest_status(3647, 3)
if questStatus == 0 then
set_quest_status( 3647, 3, questStatus + 1 )
end
end
do_each_player_in_instance_dungeon( 43001, layer, "set_quest_status( 3647, 3, 1 )", X_pos, Y_pos )
elseif monster_id == 20190092 then -- Blood Brother<4 grade>
add_npc( 53668, 4378, 20190091, 1, 0, layer )
add_npc( 53568, 4384, 21190108, 1, 0, layer )
add_npc( 54092, 4663, 20190084, 1, 0, layer )
add_npc( 54073, 4648, 20190084, 1, 0, layer )
add_npc( 54074, 4534, 20190084, 1, 0, layer )
add_npc( 54019, 4622, 20190084, 1, 0, layer )
add_npc( 53969, 4714, 20190084, 1, 0, layer )
add_npc( 53931, 4595, 20190084, 1, 0, layer )
add_npc( 53831, 4524, 20190085, 1, 0, layer )
add_npc( 53757, 4558, 20190085, 1, 0, layer )
add_npc( 53661, 4569, 20190085, 1, 0, layer )
add_npc( 53583, 4490, 20190085, 1, 0, layer )
add_npc( 53638, 4391, 20190085, 1, 0, layer )
add_npc( 53700, 4573, 20190085, 1, 0, layer )
add_npc( 53766, 4572, 20190083, 1, 0, layer )
add_npc( 54062, 4425, 20190083, 1, 0, layer )
add_npc( 54172, 4572, 20190083, 1, 0, layer )
if get_quest_progress(3647) == 1 then
local questStatus = get_quest_status(3647, 3)
if questStatus == 0 then
set_quest_status( 3647, 3, questStatus + 1 )
end
end
do_each_player_in_instance_dungeon( 43001, layer, "set_quest_status( 3647, 3, 1 )", X_pos, Y_pos )
end
end
function on_underground_last_boss_kill( monster_handle, monster_id )
local layer = ghv( monster_handle, 'layer' )
if monster_id == 20190001 or monster_id == 20190006 -- Arid Moonlight underground base 1 grade
or monster_id == 20190028 or monster_id == 20190033 -- Arid Moonlight underground base 2 grade
or monster_id == 20190055 or monster_id == 20190060 -- Arid Moonlight underground base 3 grade
or monster_id == 20190082 or monster_id == 20190087 then -- Arid Moonlight underground base 4 grade
local monster_count = get_instance_dungeon_flag( 40000, layer, 'check_open_prop')
if monster_count == 2 then
set_instance_dungeon_flag( 40000, layer, 'check_open_prop', 1)
elseif monster_count == 1 then
add_field_prop ( 60170, 60000, 38719, 22938, layer )
set_instance_dungeon_flag( 40000, layer, 'check_open_prop', 0)
end
if get_quest_progress(3644) == 1 then
local monsterQuestTable = {}
monsterQuestTable[20190001] = 1
monsterQuestTable[20190028] = 1
monsterQuestTable[20190055] = 1
monsterQuestTable[20190082] = 1
monsterQuestTable[20190006] = 2
monsterQuestTable[20190033] = 2
monsterQuestTable[20190060] = 2
monsterQuestTable[20190087] = 2
if get_quest_status( 3644, monsterQuestTable[monster_id] ) == 0 then
set_quest_status( 3644, monsterQuestTable[monster_id], 1 )
end
end
elseif monster_id == 20190025 or monster_id == 20190008 -- Valmore Mine underground base 1 grade
or monster_id == 20190052 or monster_id == 20190035 -- Valmore Mine underground base 2 grade
or monster_id == 20190079 or monster_id == 20190062 -- Valmore Mine underground base 3 grade
or monster_id == 21190106 or monster_id == 20190089 then -- Valmore Mine underground base 4 grade
local monster_count = get_instance_dungeon_flag( 41001, layer, 'check_open_prop')
if monster_count == 2 then
set_instance_dungeon_flag( 41001, layer, 'check_open_prop', 1)
elseif monster_count == 1 then
add_field_prop ( 60171, 60000, 40379, 9573, layer )
set_instance_dungeon_flag( 41001, layer, 'check_open_prop', 0)
end
if get_quest_progress(3645) == 1 then
local monsterQuestTable = {}
monsterQuestTable[20190025] = 1
monsterQuestTable[20190052] = 1
monsterQuestTable[20190079] = 1
monsterQuestTable[21190106] = 1
monsterQuestTable[20190008] = 2
monsterQuestTable[20190035] = 2
monsterQuestTable[20190062] = 2
monsterQuestTable[20190089] = 2
if get_quest_status( 3645, monsterQuestTable[monster_id] ) == 0 then
set_quest_status( 3645, monsterQuestTable[monster_id], 1 )
end
end
elseif monster_id == 20190026 or monster_id == 20190012 -- Crystal Valley Underground base 1 grade
or monster_id == 20190053 or monster_id == 20190039 -- Crystal Valley Underground base 2 grade
or monster_id == 20190080 or monster_id == 20190066 -- Crystal Valley Underground base 3 grade
or monster_id == 21190107 or monster_id == 20190093 then -- Crystal Valley Underground base 4 grade
local monster_count = get_instance_dungeon_flag( 42001, layer, 'check_open_prop')
if monster_count == 2 then
set_instance_dungeon_flag( 42001, layer, 'check_open_prop', 1)
elseif monster_count == 1 then
add_field_prop ( 60172, 60000, 61784, 31019, layer )
set_instance_dungeon_flag( 42001, layer, 'check_open_prop', 0)
end
if get_quest_progress(3646) == 1 then
local monsterQuestTable = {}
monsterQuestTable[20190026] = 1
monsterQuestTable[20190053] = 1
monsterQuestTable[20190080] = 1
monsterQuestTable[21190107] = 1
monsterQuestTable[20190012] = 2
monsterQuestTable[20190039] = 2
monsterQuestTable[20190066] = 2
monsterQuestTable[20190093] = 2
if get_quest_status( 3646, monsterQuestTable[monster_id] ) == 0 then
set_quest_status( 3646, monsterQuestTable[monster_id], 1 )
end
end
elseif monster_id == 20190027 or monster_id == 20190010 -- Palmir Plateau Underground base 1 grade
or monster_id == 20190054 or monster_id == 20190037 -- Palmir Plateau Underground base 2 grade
or monster_id == 20190081 or monster_id == 20190064 -- Palmir Plateau Underground base 3 grade
or monster_id == 21190108 or monster_id == 20190091 then -- Palmir Plateau Underground base 4 grade
local monster_count = get_instance_dungeon_flag( 43001, layer, 'check_open_prop')
if monster_count == 2 then
set_instance_dungeon_flag( 43001, layer, 'check_open_prop', 1)
elseif monster_count == 1 then
add_field_prop ( 60173, 60000, 53659, 4147, layer )
set_instance_dungeon_flag( 43001, layer, 'check_open_prop', 0)
end
if get_quest_progress(3647) == 1 then
local monsterQuestTable = {}
monsterQuestTable[20190027] = 1
monsterQuestTable[20190054] = 1
monsterQuestTable[20190081] = 1
monsterQuestTable[21190108] = 1
monsterQuestTable[20190010] = 2
monsterQuestTable[20190037] = 2
monsterQuestTable[20190064] = 2
monsterQuestTable[20190091] = 2
if get_quest_status( 3647, monsterQuestTable[monster_id] ) == 0 then
set_quest_status( 3647, monsterQuestTable[monster_id], 1 )
end
end
end
end