Skip to content
Permalink
Browse files
Rewritten for WoW 8.0
  • Loading branch information
steventroughtonsmith committed Jul 17, 2018
1 parent ae14ab8 commit 81da0174b083d1496c227c0a007e677f235d1db4
Show file tree
Hide file tree
Showing 11 changed files with 507 additions and 643 deletions.
@@ -0,0 +1,153 @@
IPUIInstanceMapDB = {

--[[ Classic Dungeons ]]--

[749]={"Wailing Caverns", 1, 10, 1},
[680]={"Ragefire Chasm", 1, 10, 1},
[756]={"Deadmines", 1, 10, 1},
[764]={"Shadowfang Keep", 1, 11, 1},

[688]={"Blackfathom Deeps", 1, 15, 1},
[690]={"The Stockade", 1, 15, 1},
[691]={"Gnomeregan", 1, 19, 1},

[750]={"Maraudon", 1, 25, 1},
[761]={"Razorfen Kraul", 1, 25, 1},
[692]={"Uldaman", 1, 30, 1},
[699]={"Dire Maul", 1, 31, 1},
[760]={"Razorfen Downs", 1, 35, 1},
[765]={"Stratholme", 1, 37, 1},
[686]={"Zul'Farrak", 1, 39, 1},

[704]={"Blackrock Depths", 1, 42, 1},
[687]={"The Temple of Atal'Hakkar", 1, 45, 1},
[721]={"Lower Blackrock Spire", 1, 48, 1},

--[[ Classic Raids ]]--

[755]={"Blackwing Lair", 2, 50, 1},
[696]={"Molten Core", 2, 50, 1},
[717]={"Ruins of Ahn'Qiraj", 2, 50, 1},
[766]={"Temple of Ahn'Qiraj", 2, 50, 1},

--[[ Burning Crusade Dungeons ]]--

[722]={"Auchenai Crypts", 1, 62, 2},
[797]={"Hellfire Ramparts", 1, 57, 2},
[798]={"Magisters' Terrace", 1, 65, 2},
[732]={"Mana-Tombs", 1, 61, 2},
[734]={"Old Hillsbrad Foothills", 1, 63, 2},
[723]={"Sethekk Halls", 1, 63, 2},
[724]={"Shadow Labyrinth", 1, 65, 2},
[731]={"The Arcatraz", 1, 65, 2},
[733]={"The Black Morass", 1, 65, 2},
[725]={"The Blood Furnace", 1, 58, 2},
[729]={"The Botanica", 1, 67, 2},
[730]={"The Mechanar", 1, 65, 2},
[710]={"The Shattered Halls", 1, 65, 2},
[728]={"The Slave Pens", 1, 59, 2},
[727]={"The Steamvault", 1, 65, 2},
[726]={"The Underbog", 1, 60, 2},

--[[ Burning Crusade Raids ]]--

[776]={"Gruul's Lair", 2, 70, 2},
[775]={"The Battle for Mount Hyjal", 2, 68, 2},
[779]={"Magtheridon's Lair", 2, 70, 2},
[780]={"Serpentshrine Cavern", 2, 70, 2},
[782]={"The Eye", 2, 70, 2},
[789]={"Sunwell Plateau", 2, 70, 2},
[796]={"Black Temple", 2, 70, 2},
[799]={"Karazhan", 2, 68, 2},


--[[ Wrath Dungeons ]]--

[522]={"Ahn'kahet: The Old Kingdom", 1, 61, 3},
[533]={"Azjol-Nerub", 1, 60, 3},
[534]={"Drak'Tharon Keep", 1, 62, 3},
[530]={"Gundrak", 1, 64, 3},
[525]={"Halls of Lightning", 1, 67, 3},
[603]={"Halls of Reflection", 1, 70, 3},
[526]={"Halls of Stone", 1, 65, 3},
[602]={"Pit of Saron", 1, 70, 3},
[521]={"The Culling of Stratholme", 1, 68, 3},
[601]={"The Forge of Souls", 1, 70, 3},
[520]={"The Nexus", 1, 59, 3},
[528]={"The Oculus", 1, 67, 3},
[536]={"The Violet Hold", 1, 63, 3},
[542]={"Trial of the Champion", 1, 68, 3},
[523]={"Utgarde Keep", 1, 58, 3},
[524]={"Utgarde Pinnacle", 1, 67, 3},

--[[ Wrath Raids ]]--

[535]={"Naxxramas", 2, 80, 3},
[718]={"Onyxia's Lair", 2, 80, 3},
[527]={"The Eye of Eternity", 2, 80, 3},
[531]={"The Obsidian Sanctum", 2, 80, 3},
[609]={"The Ruby Sanctum", 2, 80, 3},
[543]={"Trial of the Crusader", 2, 80, 3},
[529]={"Ulduar", 2, 80, 3},
[532]={"Vault of Archavon", 2, 80, 3},
[604]={"Icecrown Citadel", 2, 80, 3},

--[[ Cataclysm Dungeons ]]--

[753]={"Blackrock Caverns", 1, 80, 4},
[820]={"End Time", 1, 85, 4},
[757]={"Grim Batol", 1, 84, 4},
[759]={"Halls of Origination", 1, 83, 4},
[819]={"Hour of Twilight", 1, 85, 4},
[747]={"Lost City of the Tol'vir", 1, 83, 4},
[768]={"The Stonecore", 1, 81, 4},
[769]={"The Vortex Pinnacle", 1, 81, 4},
[767]={"Throne of the Tides", 1, 80, 4},
[816]={"Well of Eternity", 1, 85, 4},
[781]={"Zul'Aman", 1, 85, 4},
[793]={"Zul'Gurub", 1, 85, 4},

--[[ Cataclysm Raids ]]--

[752]={"Baradin Hold", 2, 85, 4},
[754]={"Blackwing Descent", 2, 85, 4},
[758]={"The Bastion of Twilight", 2, 85, 4},
[773]={"Throne of the Four Winds", 2, 85, 4},
[800]={"Firelands", 2, 85, 4},
[824]={"Dragon Soul", 2, 85, 4},

--[[ Pandaria Dungeons ]]--

[875]={"Gate of the Setting Sun", 1, 83, 5},
[885]={"Mogu'Shan Palace", 1, 82, 5},
[871]={"Scarlet Halls", 1, 21, 5},
[874]={"Scarlet Monastery", 1, 23, 5},
[898]={"Scholomance", 1, 33, 5},
[877]={"Shado-pan Monastery", 1, 82, 5},
[887]={"Siege of Niuzao Temple", 1, 83, 5},
[876]={"Stormstout Brewery", 1, 80, 5},
[867]={"Temple of the Jade Serpent", 1, 80, 5},

--[[ Pandaria Raids ]]--

[897]={"Heart of Fear", 2, 90, 5},
[896]={"Mogu'shan Vaults", 2, 90, 5},
[953]={"Siege of Orgrimmar", 2, 90, 5},
[886]={"Terrace of Endless Spring", 2, 90, 5},
[930]={"Throne of Thunder", 2, 90, 5},

--[[ Warlords of Draenor ]]--

[964]={"Bloodmaul Slag Mines", 1, 90, 6},
[969]={"Shadowmoon Burial Grounds", 1, 100, 6},
[987]={"Iron Docks", 1, 92, 6},
[984]={"Auchindoun", 1, 94, 6},
[989]={"Skyreach", 1, 97, 6},
[993]={"Grimrail Depot", 1, 100, 6},
[995]={"Upper Blackrock Spire", 1, 100, 6},
[1008]={"The Everbloom", 1, 100, 6},

[988]={"Blackrock Foundry", 2, 100, 6},
[994]={"Highmaul", 2, 100, 6},
[1026]={"Hellfire Citadel", 2, 100, 6},
}
@@ -0,0 +1,48 @@
IPInstancePortalMapDataProviderMixin = CreateFromMixins(MapCanvasDataProviderMixin);

function IPInstancePortalMapDataProviderMixin:RemoveAllData()
self:GetMap():RemoveAllPinsByTemplate("IPInstancePortalPinTemplate");
end

function IPInstancePortalMapDataProviderMixin:RefreshAllData(fromOnShow)
self:RemoveAllData();

local mapID = self:GetMap():GetMapID();
IPUIPrintDebug("Map ID = "..mapID)

local dungeonEntrances = C_EncounterJournal.GetDungeonEntrancesForMap(mapID)

for i, dungeonEntranceInfo in ipairs(dungeonEntrances) do
IPUIPrintDebug("Atlas = ("..dungeonEntranceInfo["position"]["x"]..","..dungeonEntranceInfo["position"]["y"]..")")
end

if IPUIPinDB[mapID] then
local count = #IPUIPinDB[mapID]

for i = 1, count do
local entranceInfo = IPUIGetEntranceInfoForMapID(mapID, i);
if entranceInfo then
self:GetMap():AcquirePin("IPInstancePortalPinTemplate", entranceInfo);
end
end
end

end

--[[ Pin ]]--
IPInstancePortalProviderPinMixin = BaseMapPoiPinMixin:CreateSubPin("PIN_FRAME_LEVEL_DUNGEON_ENTRANCE");

function IPInstancePortalProviderPinMixin:OnAcquired(dungeonEntranceInfo) -- override
BaseMapPoiPinMixin.OnAcquired(self, dungeonEntranceInfo);

self.hub = dungeonEntranceInfo.hub
self.tier = dungeonEntranceInfo.tier;
self.journalInstanceID = dungeonEntranceInfo.journalInstanceID;
end

function IPInstancePortalProviderPinMixin:OnClick()
if self.hub == 0 then
EncounterJournal_LoadUI();
EncounterJournal_OpenJournal(nil, self.journalInstanceID)
end
end
@@ -0,0 +1,5 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/ http://wowprogramming.com/FrameXML/UI.xsd">

<Script file="IPInstancePortalPinTemplate.lua"/>
<Frame name="IPInstancePortalPinTemplate" inherits="BaseHighlightableMapPoiPinTemplate" enableMouseClicks="true" enableMouseMotion="true" mixin="IPInstancePortalProviderPinMixin" virtual="true" />
</Ui>
BIN -1.5 KB Images/IPDungeon.blp
Binary file not shown.
BIN -22.5 KB Images/IPIcons.blp
Binary file not shown.
BIN -1.5 KB Images/IPRaid.blp
Binary file not shown.
@@ -1,9 +1,11 @@
## Interface: 70000
## X-Min-Interface: 60100
## Version: 8
## Interface: 80000
## X-Min-Interface: 80000
## Version: 9
## Title: Instance Portals
## Notes: Displays dungeon & raid portals on the world map

ipPinDB.lua
ipCore.lua
IPPinDB.lua
IPInstanceDB.lua
IPInstancePortalPinTemplate.xml
IPCore.lua
InstancePortals.xml
@@ -1,4 +1,4 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/ http://wowprogramming.com/FrameXML/UI.xsd">
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/ http://wowprogramming.com/FrameXML/UI.xsd">

<Frame name="InstancePortalUI" toplevel="true" parent="UIParent" enableMouse="true" movable="true">
<Size x ="384" y ="512"/>
@@ -13,4 +13,4 @@
</Scripts>
</Frame>

</Ui>
</Ui>

This file was deleted.

0 comments on commit 81da017

Please sign in to comment.