forked from phenom/healer-man
2897 lines
62 KiB
JSON
2897 lines
62 KiB
JSON
{
|
|
"schemaVersion": 1,
|
|
"dungeonId": "kalins-shrine",
|
|
"zoneId": 107,
|
|
"status": "review-required",
|
|
"source": {
|
|
"populationRecipe": "scripts/runewaker-pipeline/recipes/kalins-shrine-population.json",
|
|
"snapshot": "scripts/runewaker-pipeline/snapshots/kalins-shrine-zone-107.json",
|
|
"snapshotContentSha256": "fea45d739ae54018ae5882576f0ce1a9635c9bb16e4a1ecca4a84496fcbca4bc",
|
|
"dungeonConfig": "../rom-pvt-server-backups/Runewaker/Tools/dungeon_config.json",
|
|
"dungeonConfigId": "kalins_shrine"
|
|
},
|
|
"configuredBossTemplateIds": [
|
|
100237,
|
|
101500,
|
|
101501,
|
|
101502,
|
|
101503,
|
|
101507
|
|
],
|
|
"configuredBossPositions": {
|
|
"100237": {
|
|
"name": "Regin",
|
|
"x": 2086.63,
|
|
"y": 175.47,
|
|
"z": 6318.56,
|
|
"kx": 2086.63,
|
|
"ky": 175.47,
|
|
"kz": 6288.56,
|
|
"autoplot": "LuaI_KS_Loc6",
|
|
"zone_spawn": false,
|
|
"px": 2788.39,
|
|
"py": 717.84,
|
|
"pz": 1750.55,
|
|
"pdir": 0
|
|
},
|
|
"101500": {
|
|
"name": "Goddess",
|
|
"x": 2398.91,
|
|
"y": 340.5,
|
|
"z": 4914.04,
|
|
"kx": 2398.91,
|
|
"ky": 340.5,
|
|
"kz": 4884.04,
|
|
"autoplot": "LuaI_KS_Loc4",
|
|
"zone_spawn": false,
|
|
"px": 2788.39,
|
|
"py": 717.84,
|
|
"pz": 1750.55,
|
|
"pdir": 0
|
|
},
|
|
"101501": {
|
|
"name": "Yusalien",
|
|
"x": 2654.01,
|
|
"y": 504.57,
|
|
"z": 2190.08,
|
|
"kx": 2654.01,
|
|
"ky": 504.57,
|
|
"kz": 2160.08,
|
|
"autoplot": "LuaI_KS_Loc2",
|
|
"zone_spawn": false,
|
|
"px": 2788.39,
|
|
"py": 717.84,
|
|
"pz": 1750.55,
|
|
"pdir": 0
|
|
},
|
|
"101502": {
|
|
"name": "Locatha",
|
|
"x": 1841.97,
|
|
"y": 341.01,
|
|
"z": 3296.52,
|
|
"kx": 1841.97,
|
|
"ky": 341.01,
|
|
"kz": 3266.52,
|
|
"autoplot": "LuaI_KS_Loc3",
|
|
"zone_spawn": false,
|
|
"px": 2788.39,
|
|
"py": 717.84,
|
|
"pz": 1750.55,
|
|
"pdir": 0
|
|
},
|
|
"101503": {
|
|
"name": "Ensia",
|
|
"x": 2413,
|
|
"y": 87.96,
|
|
"z": 5436.44,
|
|
"kx": 2413,
|
|
"ky": 87.96,
|
|
"kz": 5406.44,
|
|
"autoplot": "LuaI_KS_Loc5",
|
|
"zone_spawn": false,
|
|
"px": 2788.39,
|
|
"py": 717.84,
|
|
"pz": 1750.55,
|
|
"pdir": 0
|
|
},
|
|
"101507": {
|
|
"name": "Iron Rune Warrior",
|
|
"x": 2788.39,
|
|
"y": 717.84,
|
|
"z": 1780.55,
|
|
"kx": 2788.39,
|
|
"ky": 717.84,
|
|
"kz": 1750.55,
|
|
"autoplot": "LuaI_KS_Loc1",
|
|
"zone_spawn": false,
|
|
"px": 2788.39,
|
|
"py": 717.84,
|
|
"pz": 1750.55,
|
|
"pdir": 0
|
|
}
|
|
},
|
|
"bossRows": [
|
|
{
|
|
"spawnId": 5952167,
|
|
"templateId": 101507,
|
|
"name": "Iron Rune Warrior",
|
|
"sourcePosition": [
|
|
2696,
|
|
717.8355712890625,
|
|
1600
|
|
],
|
|
"autoPlot": null,
|
|
"plotClassName": null
|
|
},
|
|
{
|
|
"spawnId": 5952226,
|
|
"templateId": 101502,
|
|
"name": "Locatha",
|
|
"sourcePosition": [
|
|
1657.823974609375,
|
|
194.43809509277344,
|
|
3445.680908203125
|
|
],
|
|
"autoPlot": null,
|
|
"plotClassName": null
|
|
},
|
|
{
|
|
"spawnId": 5952255,
|
|
"templateId": 101503,
|
|
"name": "Ensia",
|
|
"sourcePosition": [
|
|
2155.06689453125,
|
|
87.957763671875,
|
|
5242.46923828125
|
|
],
|
|
"autoPlot": "LuaI_101503_Set",
|
|
"plotClassName": null
|
|
},
|
|
{
|
|
"spawnId": 5952258,
|
|
"templateId": 101500,
|
|
"name": "Goddess of Art's Disciple",
|
|
"sourcePosition": [
|
|
2165,
|
|
340.5011901855469,
|
|
4954
|
|
],
|
|
"autoPlot": null,
|
|
"plotClassName": null
|
|
},
|
|
{
|
|
"spawnId": 5952260,
|
|
"templateId": 101501,
|
|
"name": "Yusalien",
|
|
"sourcePosition": [
|
|
2662.055908203125,
|
|
504.5624084472656,
|
|
2194.0009765625
|
|
],
|
|
"autoPlot": null,
|
|
"plotClassName": null
|
|
}
|
|
],
|
|
"luaSources": [
|
|
{
|
|
"file": "03248.lua",
|
|
"exists": true,
|
|
"sha256": "9ed7a16a717ecf7ebce9d1d98b7daa322e976daa39e0c04906788c76f1639359",
|
|
"functions": [
|
|
"LuaI_KS_Entry",
|
|
"KS_Entry_Touch",
|
|
"LuaS_KS_Entry",
|
|
"KS_EntryCancel",
|
|
"KS_ShowGroupSelect",
|
|
"KS_PickSolo",
|
|
"KS_PickDuo",
|
|
"KS_PickParty",
|
|
"KS_ShowLevelSelect",
|
|
"KS_PickLv1",
|
|
"KS_PickLv10",
|
|
"KS_PickLv20",
|
|
"KS_PickLv30",
|
|
"KS_PickLv40",
|
|
"KS_PickLv50",
|
|
"KS_EnterDungeon"
|
|
],
|
|
"referencedIds": [],
|
|
"signalCounts": {
|
|
"summon": 0,
|
|
"door": 0,
|
|
"timer": 1,
|
|
"movement": 0,
|
|
"spell": 0,
|
|
"death": 0,
|
|
"phase": 0,
|
|
"interaction": 24,
|
|
"loot": 0
|
|
}
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"exists": true,
|
|
"sha256": "4433ae50f4e6d5945886228de9796552cdd69ad5725a300467f7dcf5baac553d",
|
|
"functions": [
|
|
"MS_CopySpawn",
|
|
"MS_ReadItemValue",
|
|
"MS_FindGrantedBodySlot",
|
|
"MS_GiveConfiguredItem",
|
|
"MS_SortedLocs",
|
|
"MS_BuildLegacyLocData",
|
|
"MS_RebuildLocCaches",
|
|
"MS_EnsureLocConfig",
|
|
"MS_GetLocData",
|
|
"MS_GetLocDisplayName",
|
|
"MS_GetCurrencyLabel",
|
|
"MS_GetZoneForLoc",
|
|
"MS_GetKeeperPos",
|
|
"MS_GetPlayerPos",
|
|
"MS_GetChestPos",
|
|
"MS_LocHasChest",
|
|
"MS_GetActiveLocsForLevel",
|
|
"MS_FindLiveDungeonSpawnByZone",
|
|
"MS_GetRespawnPos",
|
|
"MS_ClearReviveDebuffs",
|
|
"MS_HandlePostRevive",
|
|
"MS_PostReviveMove",
|
|
"LuaI_MS_ZoneInit",
|
|
"LuaZone_MS_Revive",
|
|
"MS_GetModeBuffID",
|
|
"MS_ApplyModeBuff",
|
|
"MS_StartModeBuffWatch",
|
|
"MS_RunModeBuffWatch",
|
|
"MS_StartRoomBuffAudit",
|
|
"MS_RunRoomBuffAudit",
|
|
"MS_TeleportGroupWithBuff",
|
|
"LuaI_MS_Mom",
|
|
"MS_Mom_Touch",
|
|
"LuaS_MS_Mom",
|
|
"MS_MomCancel",
|
|
"MS_ShowGroupSelect",
|
|
"MS_PickSolo",
|
|
"MS_PickDuo",
|
|
"MS_PickParty",
|
|
"MS_ShowLevelSelect",
|
|
"MS_PickLv1",
|
|
"MS_PickLv5",
|
|
"MS_PickLv10",
|
|
"MS_PickLv20",
|
|
"MS_PickLv30",
|
|
"MS_PickLv40",
|
|
"MS_PickLv50",
|
|
"MS_EnterZone",
|
|
"MS_TeleportIn",
|
|
"MS_LocInit",
|
|
"LuaI_MS_Loc1",
|
|
"LuaI_MS_Loc2",
|
|
"LuaI_MS_Loc3",
|
|
"LuaI_MS_Loc4",
|
|
"LuaI_KS_Loc1",
|
|
"LuaI_KS_Loc2",
|
|
"LuaI_KS_Loc3",
|
|
"LuaI_KS_Loc4",
|
|
"LuaI_KS_Loc5",
|
|
"LuaI_KS_Loc6",
|
|
"LuaI_MS_TravelKeeper",
|
|
"MS_LocBitSet",
|
|
"MS_GetUncleared",
|
|
"MS_TeleportGroup",
|
|
"MS_BossKey",
|
|
"MS_GetBossState",
|
|
"MS_EnsureBossState",
|
|
"MS_RecordBossSpawn",
|
|
"MS_RecordBossKill",
|
|
"MS_IsTrackedBossOrg",
|
|
"MS_FindLivingBossInRoom",
|
|
"MS_HasLivingBossInRoom",
|
|
"MS_UpdateBossRoomState",
|
|
"MS_IsBossKilled",
|
|
"MS_RegisterLocHandlers",
|
|
"MS_RollLoot",
|
|
"MS_GetRewardState",
|
|
"MS_IsRewardClaimed",
|
|
"MS_GrantLocLootToParty",
|
|
"MS_GrantFallbackReward",
|
|
"MS_ChestInit",
|
|
"MS_SpawnChestForKeeper",
|
|
"MS_ChestTouch",
|
|
"MS_AuditKeeperRoom",
|
|
"MS_GetKeeperShopLevel",
|
|
"MS_GetKeeperShopCategoryName",
|
|
"MS_GetKeeperShopPool",
|
|
"MS_GetKeeperShopItemsFor",
|
|
"MS_GetKeeperShopCategoryCount",
|
|
"MS_GetKeeperNativeShop",
|
|
"MS_OpenKeeperNativeShop",
|
|
"MS_ShowKeeperShopCategories",
|
|
"MS_ShowKeeperShop",
|
|
"MS_KeeperShopCategory",
|
|
"MS_KeeperShopPage",
|
|
"MS_KeeperBuy",
|
|
"MS_KeeperRepair",
|
|
"MS_Keeper_Touch",
|
|
"LuaS_MS_Keeper",
|
|
"MS_TestShowPageFromKeeper",
|
|
"MS_StayHere",
|
|
"MS_GoNext",
|
|
"MS_DoGoNext",
|
|
"MS_Quit",
|
|
"MS_DoQuit",
|
|
"MS_StayHere",
|
|
"MS_TestShowGroupSelect",
|
|
"MS_TestPickSolo",
|
|
"MS_TestPickDuo",
|
|
"MS_TestPickParty",
|
|
"MS_TestShowPage",
|
|
"MS_TestNextPage",
|
|
"MS_TestPrevPage",
|
|
"MS_TestShowBracket",
|
|
"MS_TestTeleport",
|
|
"MS_TestGo1",
|
|
"MS_TestGo2",
|
|
"MS_TestGo3",
|
|
"MS_TestGo4",
|
|
"MS_TestGo5",
|
|
"MS_TestGo6",
|
|
"MS_TestGo7",
|
|
"_ms_test_pick"
|
|
],
|
|
"referencedIds": [
|
|
104534
|
|
],
|
|
"signalCounts": {
|
|
"summon": 6,
|
|
"door": 0,
|
|
"timer": 10,
|
|
"movement": 1,
|
|
"spell": 7,
|
|
"death": 18,
|
|
"phase": 53,
|
|
"interaction": 73,
|
|
"loot": 70
|
|
}
|
|
}
|
|
],
|
|
"luaSignals": [
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 41,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CallSpeakLua( TargetID(), OwnerID(), \"LuaS_KS_Entry\" )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 45,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( OwnerID(), \"I can take you to Kalin's Shrine.\" )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 46,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Enter the dungeon\", \"KS_ShowGroupSelect\", 0 )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 47,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Nevermind\", \"KS_EntryCancel\", 0 )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 51,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CloseSpeak( OwnerID() )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 58,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( OwnerID(),"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 63,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Solo (1 player)\", \"KS_PickSolo\", 0 )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 64,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Duo (2 players)\", \"KS_PickDuo\", 0 )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 65,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Party (6 players)\", \"KS_PickParty\", 0 )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 66,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Back\", \"LuaS_KS_Entry\", 0 )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 88,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( OwnerID(), \"Choose a level bracket:\" )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 89,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Level 1\", \"KS_PickLv1\", 0 )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 90,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Level 10\", \"KS_PickLv10\", 0 )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 91,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Level 20\", \"KS_PickLv20\", 0 )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 92,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Level 30\", \"KS_PickLv30\", 0 )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 93,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Level 40\", \"KS_PickLv40\", 0 )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 94,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Level 50\", \"KS_PickLv50\", 0 )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 95,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Back\", \"KS_ShowGroupSelect\", 0 )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 100,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CloseSpeak( OwnerID() )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 106,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CloseSpeak( OwnerID() )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 112,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CloseSpeak( OwnerID() )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 118,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CloseSpeak( OwnerID() )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 124,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CloseSpeak( OwnerID() )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 130,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CloseSpeak( OwnerID() )"
|
|
},
|
|
{
|
|
"file": "03248.lua",
|
|
"line": 144,
|
|
"kinds": [
|
|
"timer"
|
|
],
|
|
"text": "sleep( 5 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 46,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "MS_LOOT_POOL = {"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 49,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "MS_LOOT_BY_LEVEL = {"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 106,
|
|
"kinds": [
|
|
"death"
|
|
],
|
|
"text": "MS_ROOM_PLAYER_DEAD = {}"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 109,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "MS_CHEST_OBJECT_ID = 104534"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 159,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "[14] = \"Duelist Reward\","
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 162,
|
|
"kinds": [
|
|
"phase",
|
|
"loot"
|
|
],
|
|
"text": "MS_CHEST_STATE = {}"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 163,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "MS_CHEST_BY_OBJ = {}"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 247,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "chest = MS_CopySpawn( player ),"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 350,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "function MS_GetChestPos( loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 352,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "if data ~= nil and data.chest ~= nil then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 353,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "return data.chest"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 358,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "function MS_LocHasChest( loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 359,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "return MS_CHEST_OBJECT_ID ~= nil and MS_CHEST_OBJECT_ID > 0 and MS_GetChestPos( loc ) ~= nil"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 414,
|
|
"kinds": [
|
|
"death"
|
|
],
|
|
"text": "if pos ~= nil and ReadRoleValue( player, EM_RoleValue_IsDead ) ~= 1 then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 429,
|
|
"kinds": [
|
|
"death"
|
|
],
|
|
"text": "if ReadRoleValue( player, EM_RoleValue_IsDead ) ~= 1 then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 434,
|
|
"kinds": [
|
|
"timer"
|
|
],
|
|
"text": "sleep( 2 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 500,
|
|
"kinds": [
|
|
"death"
|
|
],
|
|
"text": "if ReadRoleValue( player, EM_RoleValue_IsDead ) ~= 1 then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 505,
|
|
"kinds": [
|
|
"timer"
|
|
],
|
|
"text": "sleep( 10 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 537,
|
|
"kinds": [
|
|
"death"
|
|
],
|
|
"text": "local isDead = ReadRoleValue( player, EM_RoleValue_IsDead ) == 1"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 543,
|
|
"kinds": [
|
|
"death"
|
|
],
|
|
"text": "if isDead then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 544,
|
|
"kinds": [
|
|
"death"
|
|
],
|
|
"text": "MS_ROOM_PLAYER_DEAD[player] = true"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 546,
|
|
"kinds": [
|
|
"death"
|
|
],
|
|
"text": "if MS_ROOM_PLAYER_DEAD[player] == true then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 549,
|
|
"kinds": [
|
|
"death"
|
|
],
|
|
"text": "MS_ROOM_PLAYER_DEAD[player] = false"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 556,
|
|
"kinds": [
|
|
"death"
|
|
],
|
|
"text": "MS_ROOM_PLAYER_DEAD[player] = nil"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 561,
|
|
"kinds": [
|
|
"timer"
|
|
],
|
|
"text": "sleep( 10 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 582,
|
|
"kinds": [
|
|
"timer"
|
|
],
|
|
"text": "sleep( 5 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 598,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CallSpeakLua( TargetID(), OwnerID(), \"LuaS_MS_Mom\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 602,
|
|
"kinds": [
|
|
"timer",
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( OwnerID(), \"The Manastorms await. Choose your fate.\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 603,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Enter Manastorms\", \"MS_ShowGroupSelect\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 604,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"[TEST] Live Dungeon Travel\", \"MS_TestShowGroupSelect\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 605,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Nevermind\", \"MS_MomCancel\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 609,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CloseSpeak( OwnerID() )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 615,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( OwnerID(),"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 620,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Solo (1 player)\", \"MS_PickSolo\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 621,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Duo (2 players)\", \"MS_PickDuo\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 622,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Party (6 players)\", \"MS_PickParty\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 623,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Back\", \"LuaS_MS_Mom\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 634,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( OwnerID(), \"Choose a level bracket:\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 635,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Level 1\", \"MS_PickLv1\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 636,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Level 5\", \"MS_PickLv5\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 637,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Level 10\", \"MS_PickLv10\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 638,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Level 20\", \"MS_PickLv20\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 639,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Level 30\", \"MS_PickLv30\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 640,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Level 40\", \"MS_PickLv40\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 641,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Level 50\", \"MS_PickLv50\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 642,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Back\", \"MS_ShowGroupSelect\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 658,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( Player, \"There are no active Manastorm boss rooms configured for this bracket yet.\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 659,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( Player, TargetID(), \"Back\", \"MS_ShowLevelSelect\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 670,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CloseSpeak( Player )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 683,
|
|
"kinds": [
|
|
"timer"
|
|
],
|
|
"text": "sleep( 5 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 783,
|
|
"kinds": [
|
|
"movement"
|
|
],
|
|
"text": "MS_BOSS_KILL_REQUIRED = false -- flip to true once boss AutoPlots are set up"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 786,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "MS_BossState = {}"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 792,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "function MS_GetBossState( zoneID, roomID, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 793,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "return MS_BossState[ MS_BossKey(zoneID, roomID, loc) ]"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 796,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "function MS_EnsureBossState( zoneID, roomID, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 798,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "local state = MS_BossState[key]"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 799,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "if state == nil then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 800,
|
|
"kinds": [
|
|
"death",
|
|
"phase"
|
|
],
|
|
"text": "state = { spawned=false, dead=false, bossID=0, orgID=0 }"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 801,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "MS_BossState[key] = state"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 803,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "return state"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 810,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "local state = MS_EnsureBossState( zoneID, roomID, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 811,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "state.spawned = true"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 812,
|
|
"kinds": [
|
|
"death",
|
|
"phase"
|
|
],
|
|
"text": "state.dead = false"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 813,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "state.bossID = npc"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 814,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "state.orgID = ReadRoleValue( npc, EM_RoleValue_OrgID )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 818,
|
|
"kinds": [
|
|
"spell"
|
|
],
|
|
"text": "function MS_RecordBossKill( loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 822,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "local state = MS_EnsureBossState( zoneID, roomID, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 823,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "state.spawned = true"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 824,
|
|
"kinds": [
|
|
"death",
|
|
"phase"
|
|
],
|
|
"text": "state.dead = true"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 825,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "state.bossID = npc"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 826,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "state.orgID = ReadRoleValue( npc, EM_RoleValue_OrgID )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 848,
|
|
"kinds": [
|
|
"death"
|
|
],
|
|
"text": "and ReadRoleValue( npc, EM_RoleValue_IsDead ) == 0 then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 860,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "function MS_UpdateBossRoomState( zoneID, roomID, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 861,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "local state = MS_EnsureBossState( zoneID, roomID, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 864,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "state.spawned = true"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 865,
|
|
"kinds": [
|
|
"death",
|
|
"phase"
|
|
],
|
|
"text": "state.dead = false"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 866,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "state.bossID = boss"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 867,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "state.orgID = ReadRoleValue( boss, EM_RoleValue_OrgID )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 870,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "if state.spawned == true then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 871,
|
|
"kinds": [
|
|
"death",
|
|
"phase"
|
|
],
|
|
"text": "state.dead = true"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 877,
|
|
"kinds": [
|
|
"spell"
|
|
],
|
|
"text": "function MS_IsBossKilled( zoneID, roomID, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 878,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "local state = MS_GetBossState( zoneID, roomID, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 879,
|
|
"kinds": [
|
|
"death",
|
|
"phase"
|
|
],
|
|
"text": "if state ~= nil and state.dead == true then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 882,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "return MS_UpdateBossRoomState( zoneID, roomID, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 895,
|
|
"kinds": [
|
|
"death"
|
|
],
|
|
"text": "SetPlot( OwnerID(), \"dead\", \"MS_BossDied_Loc\" .. tostring(loc) )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 898,
|
|
"kinds": [
|
|
"spell"
|
|
],
|
|
"text": "MS_RecordBossKill( loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 909,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "function MS_RollLoot( player, lv )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 910,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "local pool = MS_LOOT_POOL"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 911,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "local byLevel = MS_LOOT_BY_LEVEL[lv]"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 925,
|
|
"kinds": [
|
|
"phase",
|
|
"loot"
|
|
],
|
|
"text": "function MS_GetRewardState( zoneID, roomID, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 927,
|
|
"kinds": [
|
|
"phase",
|
|
"loot"
|
|
],
|
|
"text": "local state = MS_CHEST_STATE[key]"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 928,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "if state == nil then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 929,
|
|
"kinds": [
|
|
"phase",
|
|
"loot"
|
|
],
|
|
"text": "state = { spawned=false, opened=false, chestID=0 }"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 930,
|
|
"kinds": [
|
|
"phase",
|
|
"loot"
|
|
],
|
|
"text": "MS_CHEST_STATE[key] = state"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 932,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "return state"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 935,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "function MS_IsRewardClaimed( zoneID, roomID, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 936,
|
|
"kinds": [
|
|
"phase",
|
|
"loot"
|
|
],
|
|
"text": "return MS_GetRewardState( zoneID, roomID, loc ).opened == true"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 939,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "function MS_GrantLocLootToParty( player, zoneID, roomID )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 944,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "MS_RollLoot( player, lv )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 952,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "MS_RollLoot( member, lv )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 957,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "function MS_GrantFallbackReward( player, zoneID, roomID, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 958,
|
|
"kinds": [
|
|
"phase",
|
|
"loot"
|
|
],
|
|
"text": "local state = MS_GetRewardState( zoneID, roomID, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 959,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "if state.opened == true then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 962,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "state.opened = true"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 963,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "MS_GrantLocLootToParty( player, zoneID, roomID )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 966,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "function MS_ChestInit()"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 967,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "SetPlot( OwnerID(), \"touch\", \"MS_ChestTouch\", 40 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 970,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "function MS_SpawnChestForKeeper( keeper, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 971,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "if not MS_LocHasChest( loc ) then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 976,
|
|
"kinds": [
|
|
"phase",
|
|
"loot"
|
|
],
|
|
"text": "local state = MS_GetRewardState( zoneID, roomID, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 977,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "if state.opened == true then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 980,
|
|
"kinds": [
|
|
"phase",
|
|
"loot"
|
|
],
|
|
"text": "if state.chestID ~= nil and state.chestID > 0 and CheckID( state.chestID ) == true then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 983,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "local pos = MS_GetChestPos( loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 987,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "local chest = CreateObj( MS_CHEST_OBJECT_ID, pos.x, pos.y, pos.z, pos.dir or 0, 1 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 988,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "if chest == nil or chest <= 0 then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 991,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "SetModeEX( chest, EM_SetModeType_Fight, false )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 992,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "SetModeEX( chest, EM_SetModeType_Searchenemy, false )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 993,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "SetModeEX( chest, EM_SetModeType_Move, false )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 994,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "SetModeEX( chest, EM_SetModeType_Strikback, false )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 995,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "AddToPartition( chest, roomID )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 996,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "WriteRoleValue( chest, EM_RoleValue_Register1, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 997,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "WriteRoleValue( chest, EM_RoleValue_Register2, zoneID )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 998,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "WriteRoleValue( chest, EM_RoleValue_Register3, roomID )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 999,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "MS_CHEST_BY_OBJ[chest] = { zoneID=zoneID, roomID=roomID, loc=loc }"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1000,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "state.spawned = true"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1001,
|
|
"kinds": [
|
|
"phase",
|
|
"loot"
|
|
],
|
|
"text": "state.chestID = chest"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1002,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "BeginPlot( chest, \"MS_ChestInit\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1005,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "function MS_ChestTouch()"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1007,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "local chest = TargetID()"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1008,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "local ref = MS_CHEST_BY_OBJ[chest]"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1009,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "local loc = ReadRoleValue( chest, EM_RoleValue_Register1 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1010,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "local zoneID = ReadRoleValue( chest, EM_RoleValue_Register2 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1011,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "local roomID = ReadRoleValue( chest, EM_RoleValue_Register3 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1020,
|
|
"kinds": [
|
|
"phase",
|
|
"loot"
|
|
],
|
|
"text": "local state = MS_GetRewardState( zoneID, roomID, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1021,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "if state.opened == true then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1024,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "state.opened = true"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1025,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "state.spawned = false"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1026,
|
|
"kinds": [
|
|
"phase",
|
|
"loot"
|
|
],
|
|
"text": "state.chestID = 0"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1027,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "MS_CHEST_BY_OBJ[chest] = nil"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1028,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "SetPlot( chest, \"touch\", \"\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1029,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "MS_GrantLocLootToParty( player, zoneID, roomID )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1030,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "DelObj( chest )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1031,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "ScriptMessage( player, player, 1, \"Treasure claimed from \" .. MS_GetLocDisplayName(loc) .. \".\", \"\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1044,
|
|
"kinds": [
|
|
"spell",
|
|
"loot"
|
|
],
|
|
"text": "if MS_IsBossKilled( zoneID, roomID, loc ) and MS_LocHasChest( loc ) then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1045,
|
|
"kinds": [
|
|
"phase",
|
|
"loot"
|
|
],
|
|
"text": "local state = MS_GetRewardState( zoneID, roomID, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1046,
|
|
"kinds": [
|
|
"phase"
|
|
],
|
|
"text": "if state.opened ~= true then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1047,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "MS_SpawnChestForKeeper( keeper, loc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1128,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CloseSpeak( player )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1139,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( player, \"Choose a shop category for Lv \" .. tostring(lv) .. \".\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1145,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( player, TargetID(), category .. \" (\" .. tostring(count) .. \")\", \"MS_KeeperShopCategory(\" .. tostring(idx) .. \")\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1149,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( player, \"I am not carrying any wares for Lv \" .. tostring(lv) .. \" yet. Add some Keeper Shop items in Zone Manager first.\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1150,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( player, TargetID(), \"Back\", \"LuaS_MS_Keeper\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1153,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( player, TargetID(), \"Back\", \"LuaS_MS_Keeper\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1166,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( player, \"There are no \" .. category .. \" wares configured for Lv \" .. tostring(lv) .. \" yet.\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1167,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( player, TargetID(), \"Back\", \"MS_ShowKeeperShopCategories()\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1170,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( player, \"Pick an item to buy from \" .. category .. \" (Lv \" .. tostring(lv) .. \", page \" .. curr .. \"/\" .. pages .. \").\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1186,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( player, TargetID(), label, \"MS_KeeperBuy(\" .. tostring(categoryIndex) .. \",\" .. tostring(idx) .. \")\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1190,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( player, TargetID(), \"Next >>\", \"MS_KeeperShopPage(\" .. tostring(categoryIndex) .. \",\" .. tostring(curr + 1) .. \")\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1193,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( player, TargetID(), \"<< Prev\", \"MS_KeeperShopPage(\" .. tostring(categoryIndex) .. \",\" .. tostring(curr - 1) .. \")\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1195,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( player, TargetID(), \"Back\", \"MS_ShowKeeperShopCategories()\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1224,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( player, \"You need \" .. tostring(cost) .. \" \" .. MS_GetCurrencyLabel(costType) .. \" for that purchase.\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1225,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( player, TargetID(), \"Back\", \"MS_KeeperShopPage(\" .. tostring(categoryIndex) .. \",\" .. tostring(page) .. \")\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1229,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( player, \"Your inventory is full.\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1230,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( player, TargetID(), \"Back\", \"MS_KeeperShopPage(\" .. tostring(categoryIndex) .. \",\" .. tostring(page) .. \")\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1240,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( player, \"I could not hand that item over right now.\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1241,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( player, TargetID(), \"Back\", \"MS_KeeperShopPage(\" .. tostring(categoryIndex) .. \",\" .. tostring(page) .. \")\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1251,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CloseSpeak( player )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1264,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CallSpeakLua( TargetID(), OwnerID(), \"LuaS_MS_Keeper\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1272,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( OwnerID(),"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1273,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "\"The chamber is yours. Defeat the boss, claim the chest, and I will send you to the next challenge.\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1274,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Send me to the next boss\", \"MS_GoNext\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1276,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( OwnerID(),"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1279,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Repair my gear\", \"MS_KeeperRepair\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1280,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Show me your wares\", \"MS_ShowKeeperShopCategories()\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1281,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Choose a different dungeon\", \"MS_TestShowPageFromKeeper\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1282,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Quit Manastorms\", \"MS_Quit\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1283,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Stay here\", \"MS_StayHere\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1295,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( player, \"Take your time. Speak to me again when you are ready.\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1307,
|
|
"kinds": [
|
|
"spell"
|
|
],
|
|
"text": "if not MS_IsBossKilled( zoneID, roomID, currLoc ) then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1308,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( player,"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1309,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "\"The boss still lives. Defeat it first, then return for your reward.\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1313,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "if MS_LocHasChest( currLoc ) and not MS_IsRewardClaimed( zoneID, roomID, currLoc ) then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1314,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( player,"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1315,
|
|
"kinds": [
|
|
"timer",
|
|
"loot"
|
|
],
|
|
"text": "\"The treasure chest for \" .. MS_GetLocDisplayName(currLoc) .. \" is still waiting. Claim it first, then I will move you on.\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1319,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "if not MS_LocHasChest( currLoc ) and not MS_IsRewardClaimed( zoneID, roomID, currLoc ) then"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1320,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "MS_GrantFallbackReward( player, zoneID, roomID, currLoc )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1332,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CloseSpeak( player )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1362,
|
|
"kinds": [
|
|
"timer"
|
|
],
|
|
"text": "sleep(3)"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1368,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CloseSpeak( player )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1375,
|
|
"kinds": [
|
|
"timer"
|
|
],
|
|
"text": "sleep(2)"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1380,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CloseSpeak( OwnerID() )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1399,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( OwnerID(),"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1404,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Solo (1 player)\", \"MS_TestPickSolo\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1405,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Duo (2 players)\", \"MS_TestPickDuo\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1406,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Party (6 players)\", \"MS_TestPickParty\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1407,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( OwnerID(), TargetID(), \"Back\", \"LuaS_MS_Mom\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1422,
|
|
"kinds": [
|
|
"loot"
|
|
],
|
|
"text": "{ id=\"treasure_trove\", name=\"Treasure Trove\", spawn={ x=3155.00, y=711.00, z=664.00, dir=0.00 }, zones={ [1]=455, [10]=484, [20]=513, [30]=542, [40]=571, [50]=600 } },"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1441,
|
|
"kinds": [
|
|
"spell"
|
|
],
|
|
"text": "{ id=\"grafu_castle\", name=\"Grafu Castle\", spawn={ x=352.00, y=1270.00, z=-1456.00, dir=180.00 }, zones={ [1]=475, [10]=504, [20]=533, [30]=562, [40]=591, [50]=624 } },"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1442,
|
|
"kinds": [
|
|
"spell"
|
|
],
|
|
"text": "{ id=\"sardo_castle\", name=\"Sardo Castle\", spawn={ x=910.00, y=1471.00, z=-1421.00, dir=181.00 }, zones={ [1]=476, [10]=505, [20]=534, [30]=563, [40]=592, [50]=625 } },"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1462,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( npc, \"Select a populated Manastorm dungeon (page \" .. page .. \"/\" .. pages .. \"):\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1464,
|
|
"kinds": [
|
|
"summon",
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( npc, TargetID(), MS_TEST_DUNGEONS[i].name, \"MS_TestPickDgn\" .. i, 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1467,
|
|
"kinds": [
|
|
"summon",
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( npc, TargetID(), \"Next >>\", \"MS_TestNextPage\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1470,
|
|
"kinds": [
|
|
"summon",
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( npc, TargetID(), \"<< Prev\", \"MS_TestPrevPage\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1472,
|
|
"kinds": [
|
|
"summon",
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( npc, TargetID(), \"Back\", backFn, 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1481,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( npc, \"Travel to \" .. d.name .. \" — pick level bracket:\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1483,
|
|
"kinds": [
|
|
"summon",
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( npc, TargetID(), MS_TEST_LV_LABELS[i], \"MS_TestGo\" .. i, 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1485,
|
|
"kinds": [
|
|
"summon",
|
|
"interaction"
|
|
],
|
|
"text": "AddSpeakOption( npc, TargetID(), \"Back\", \"MS_TestShowPage\", 0 )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1495,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "SetSpeakDetail( player, \"That dungeon does not have a configured zone for this bracket yet.\" )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1503,
|
|
"kinds": [
|
|
"interaction"
|
|
],
|
|
"text": "CloseSpeak( player )"
|
|
},
|
|
{
|
|
"file": "03246.lua",
|
|
"line": 1507,
|
|
"kinds": [
|
|
"timer"
|
|
],
|
|
"text": "sleep(2)"
|
|
}
|
|
],
|
|
"templateCandidates": [
|
|
{
|
|
"templateId": 101500,
|
|
"name": "Goddess of Art's Disciple",
|
|
"classification": "boss",
|
|
"spawnCount": 1,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [
|
|
{
|
|
"event": "onDead",
|
|
"script": "LuaS_101500_DeadLog"
|
|
}
|
|
],
|
|
"spells": [
|
|
{
|
|
"id": 490477,
|
|
"level": 20
|
|
},
|
|
{
|
|
"id": 492367,
|
|
"level": 14
|
|
},
|
|
{
|
|
"id": 492383,
|
|
"level": 14
|
|
},
|
|
{
|
|
"id": 492384,
|
|
"level": 10
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"templateId": 101501,
|
|
"name": "Yusalien",
|
|
"classification": "boss",
|
|
"spawnCount": 1,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [
|
|
{
|
|
"event": "init",
|
|
"script": "AI_UZALIAN"
|
|
},
|
|
{
|
|
"event": "onDead",
|
|
"script": "LuaS_101501_DeadLog"
|
|
}
|
|
],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 101502,
|
|
"name": "Locatha",
|
|
"classification": "boss",
|
|
"spawnCount": 1,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [
|
|
{
|
|
"event": "onDead",
|
|
"script": "LuaS_101502_DeadLog"
|
|
}
|
|
],
|
|
"spells": [
|
|
{
|
|
"id": 492375,
|
|
"level": 300
|
|
},
|
|
{
|
|
"id": 492376,
|
|
"level": 5
|
|
},
|
|
{
|
|
"id": 492377,
|
|
"level": 1
|
|
},
|
|
{
|
|
"id": 492536,
|
|
"level": 1
|
|
},
|
|
{
|
|
"id": 492778,
|
|
"level": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"templateId": 101503,
|
|
"name": "Ensia",
|
|
"classification": "boss",
|
|
"spawnCount": 1,
|
|
"autoPlots": [
|
|
"LuaI_101503_Set"
|
|
],
|
|
"plotClassNames": [],
|
|
"templateScripts": [
|
|
{
|
|
"event": "onDead",
|
|
"script": "LuaS_101503_DeadLog"
|
|
}
|
|
],
|
|
"spells": [
|
|
{
|
|
"id": 490656,
|
|
"level": 990
|
|
},
|
|
{
|
|
"id": 492569,
|
|
"level": 1
|
|
},
|
|
{
|
|
"id": 492570,
|
|
"level": 1
|
|
},
|
|
{
|
|
"id": 492571,
|
|
"level": 1
|
|
},
|
|
{
|
|
"id": 492682,
|
|
"level": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"templateId": 101504,
|
|
"name": "Glamorous Maid of the Muses",
|
|
"classification": "combat",
|
|
"spawnCount": 13,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": [
|
|
{
|
|
"id": 490656,
|
|
"level": 60
|
|
},
|
|
{
|
|
"id": 491027,
|
|
"level": 400
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"templateId": 101505,
|
|
"name": "Mad Maid of the Muses",
|
|
"classification": "combat",
|
|
"spawnCount": 9,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": [
|
|
{
|
|
"id": 491027,
|
|
"level": 350
|
|
},
|
|
{
|
|
"id": 492571,
|
|
"level": 4
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"templateId": 101506,
|
|
"name": "Miserable Maid of the Muses",
|
|
"classification": "combat",
|
|
"spawnCount": 16,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": [
|
|
{
|
|
"id": 491027,
|
|
"level": 400
|
|
},
|
|
{
|
|
"id": 492385,
|
|
"level": 5
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"templateId": 101507,
|
|
"name": "Iron Rune Warrior",
|
|
"classification": "boss",
|
|
"spawnCount": 1,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [
|
|
{
|
|
"event": "onDead",
|
|
"script": "LuaS_101507_DeadLog"
|
|
}
|
|
],
|
|
"spells": [
|
|
{
|
|
"id": 492371,
|
|
"level": 8
|
|
},
|
|
{
|
|
"id": 492372,
|
|
"level": 25
|
|
},
|
|
{
|
|
"id": 492373,
|
|
"level": 8
|
|
},
|
|
{
|
|
"id": 492374,
|
|
"level": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"templateId": 101508,
|
|
"name": "Rune Sentinel",
|
|
"classification": "combat",
|
|
"spawnCount": 8,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": [
|
|
{
|
|
"id": 492371,
|
|
"level": 1
|
|
},
|
|
{
|
|
"id": 492372,
|
|
"level": 1
|
|
},
|
|
{
|
|
"id": 492374,
|
|
"level": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"templateId": 101509,
|
|
"name": "Rune Guardian",
|
|
"classification": "combat",
|
|
"spawnCount": 28,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": [
|
|
{
|
|
"id": 492371,
|
|
"level": 1
|
|
},
|
|
{
|
|
"id": 492373,
|
|
"level": 1
|
|
},
|
|
{
|
|
"id": 492374,
|
|
"level": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"templateId": 101511,
|
|
"name": "Rune Destroyer",
|
|
"classification": "combat",
|
|
"spawnCount": 21,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": [
|
|
{
|
|
"id": 490581,
|
|
"level": 1
|
|
},
|
|
{
|
|
"id": 490584,
|
|
"level": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"templateId": 101512,
|
|
"name": "Rune Patroller",
|
|
"classification": "combat",
|
|
"spawnCount": 24,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": [
|
|
{
|
|
"id": 490551,
|
|
"level": 1
|
|
},
|
|
{
|
|
"id": 490553,
|
|
"level": 1
|
|
},
|
|
{
|
|
"id": 492280,
|
|
"level": 69
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"templateId": 101514,
|
|
"name": "Dead Ousul Salamander",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 7,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [
|
|
{
|
|
"event": "init",
|
|
"script": "LuaP_Dead"
|
|
}
|
|
],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 101515,
|
|
"name": "Ousul Salamander",
|
|
"classification": "combat",
|
|
"spawnCount": 22,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": [
|
|
{
|
|
"id": 492574,
|
|
"level": 300
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"templateId": 101516,
|
|
"name": "Ousul Poison Frog",
|
|
"classification": "combat",
|
|
"spawnCount": 19,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": [
|
|
{
|
|
"id": 492575,
|
|
"level": 300
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"templateId": 101519,
|
|
"name": "Dead Ousul Poison Frog",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 6,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [
|
|
{
|
|
"event": "init",
|
|
"script": "LuaP_Dead"
|
|
}
|
|
],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 101520,
|
|
"name": "Destroyed Rune Destroyer",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 7,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [
|
|
{
|
|
"event": "init",
|
|
"script": "LuaP_Dead"
|
|
}
|
|
],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 101521,
|
|
"name": "Destroyed Rune Patroller",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 8,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [
|
|
{
|
|
"event": "init",
|
|
"script": "LuaP_Dead"
|
|
}
|
|
],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 101523,
|
|
"name": "Cask",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 7,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [
|
|
{
|
|
"event": "onDead",
|
|
"script": "LuaS_101500_Drunk"
|
|
}
|
|
],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 110426,
|
|
"name": "Template 110426",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 1,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 110578,
|
|
"name": "Template 110578",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 3,
|
|
"autoPlots": [
|
|
"LuaI_CancelBuff_101502",
|
|
"LuaS_107toZone6_0",
|
|
"LuaS_112077_1"
|
|
],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 110987,
|
|
"name": "Template 110987",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 24,
|
|
"autoPlots": [
|
|
"LuaI_CancelBuff_101502"
|
|
],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 112073,
|
|
"name": "Template 112073",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 2,
|
|
"autoPlots": [
|
|
"LuaI_107_HarlonDoor",
|
|
"LuaI_ControlBox_101502"
|
|
],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 112078,
|
|
"name": "Great Door of the Inner Hall",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 1,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 112079,
|
|
"name": "Damaged Mysterious Device",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 1,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 112082,
|
|
"name": "Laertes",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 1,
|
|
"autoPlots": [
|
|
"LuaP_Sitting"
|
|
],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 112083,
|
|
"name": "Eliot",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 1,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 112084,
|
|
"name": "Huge Boulder",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 1,
|
|
"autoPlots": [
|
|
"LuaS_112077_8"
|
|
],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 112085,
|
|
"name": "Sweet Water Plant",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 5,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 112086,
|
|
"name": "Massalihum",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 1,
|
|
"autoPlots": [
|
|
"LuaP_Sitting"
|
|
],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 112087,
|
|
"name": "Loten",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 1,
|
|
"autoPlots": [
|
|
"LuaP_Dead"
|
|
],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 780088,
|
|
"name": "Template 780088",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 11,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 780230,
|
|
"name": "Template 780230",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 12,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 780237,
|
|
"name": "Template 780237",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 11,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 780238,
|
|
"name": "Template 780238",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 3,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 780239,
|
|
"name": "Template 780239",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 4,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
},
|
|
{
|
|
"templateId": 780286,
|
|
"name": "Template 780286",
|
|
"classification": "deferred-object",
|
|
"spawnCount": 6,
|
|
"autoPlots": [],
|
|
"plotClassNames": [],
|
|
"templateScripts": [],
|
|
"spells": []
|
|
}
|
|
],
|
|
"categories": {
|
|
"summon": 6,
|
|
"door": 1,
|
|
"timer": 11,
|
|
"movement": 1,
|
|
"spell": 7,
|
|
"death": 28,
|
|
"phase": 53,
|
|
"interaction": 97,
|
|
"loot": 70
|
|
},
|
|
"reviewQueue": [
|
|
"Map authoritative spell ids/scripts to HealerMan EnemyAttackDefinition data.",
|
|
"Implement and test doors/gates as encounter state, not static combat entities.",
|
|
"Map summons and waves only after identifying their trigger, lifetime, and reset rules.",
|
|
"Convert patrol/AutoPlot routes to navmesh-projected paths.",
|
|
"Separate interactables/loot from combat population and define offline state transitions.",
|
|
"Add encounter-specific tests and a browser playtest before marking mechanics green."
|
|
],
|
|
"safety": {
|
|
"executableMechanicsGenerated": false,
|
|
"reason": "Lua/AutoPlot syntax is audited as evidence; ambiguous behavior is never silently guessed.",
|
|
"runtimeSqlDependency": false
|
|
}
|
|
}
|