Details | Compare with Previous | View Log
Line No. | Rev | Author | Line |
---|---|---|---|
1 | 5 | Shinni-694 | local function EHMHarvestCallback( materialId, g_mapPinManager ) |
2 | Shinni-694 | if not (ZO_WorldMap_IsPinGroupShown(EHM.material[materialId].pinType) and EHM.compass) then |
|
3 | Shinni-694 | return |
|
4 | Shinni-694 | end |
|
5 | Shinni-694 | local zone = GetMapName() |
|
6 | Shinni-694 | local harvestNodes = EH.savedVars["harvest"].data[zone] |
|
7 | Shinni-694 | if not harvestNodes then |
|
8 | Shinni-694 | return |
|
9 | Shinni-694 | end |
|
10 | Shinni-694 | harvestNodes = harvestNodes[materialId] |
|
11 | Shinni-694 | if harvestNodes then |
|
12 | Shinni-694 | for _, node in pairs(harvestNodes) do |
|
13 | Shinni-694 | g_mapPinManager:CreatePin( EHM.material[materialId].pinType, node[1], node[2] ) |
|
14 | Shinni-694 | end |
|
15 | Shinni-694 | end |
|
16 | Shinni-694 | end |
|
17 | Shinni-694 | ||
18 | Shinni-694 | local function EHMSkyshard( pinManager ) |
|
19 | Shinni-694 | if not (ZO_WorldMap_IsPinGroupShown("skyshard") and EHM.compass) then |
|
20 | Shinni-694 | return |
|
21 | Shinni-694 | end |
|
22 | Shinni-694 | local zone = GetMapName() |
|
23 | Shinni-694 | local skyshards = EHMShards[ zone ] |
|
24 | Shinni-694 | if not skyshards then |
|
25 | Shinni-694 | return |
|
26 | Shinni-694 | end |
|
27 | Shinni-694 | ||
28 | Shinni-694 | for _,shard in pairs(skyshards) do |
|
29 | Shinni-694 | if not EHMNotFound(zone, shard[1], shard[2]) then |
|
30 | Shinni-694 | pinManager:CreatePin( "skyshard", shard[1], shard[2] ) |
|
31 | Shinni-694 | end |
|
32 | Shinni-694 | end |
|
33 | Shinni-694 | end |
|
34 | Shinni-694 | ||
35 | Shinni-694 | local function EHMChestCallback( g_mapPinManager ) |
|
36 | Shinni-694 | if not (ZO_WorldMap_IsPinGroupShown("chest") and EHM.compass) then |
|
37 | Shinni-694 | return |
|
38 | Shinni-694 | end |
|
39 | Shinni-694 | local zone = GetMapName() |
|
40 | Shinni-694 | local chests = EH.savedVars["chest"].data[zone] |
|
41 | Shinni-694 | if not chests then |
|
42 | Shinni-694 | return |
|
43 | Shinni-694 | end |
|
44 | Shinni-694 | for _,chest in pairs(chests) do |
|
45 | Shinni-694 | g_mapPinManager:CreatePin( "chest", chest[1], chest[2] ) |
|
46 | Shinni-694 | end |
|
47 | Shinni-694 | ||
48 | Shinni-694 | end |
|
49 | Shinni-694 | ||
50 | Shinni-694 | local function EHMCompass(str) |
|
51 | Shinni-694 | input = tonumber(str) |
|
52 | Shinni-694 | if input == 1 then |
|
53 | Shinni-694 | d("Compass activated!") |
|
54 | Shinni-694 | elseif input == 0 then |
|
55 | Shinni-694 | d("Compass deactivated!") |
|
56 | Shinni-694 | else |
|
57 | Shinni-694 | d("/compass [state]") |
|
58 | Shinni-694 | d("state should be 1 for on and 0 for off") |
|
59 | Shinni-694 | end |
|
60 | Shinni-694 | EHM.compass = (input == 1) |
|
61 | Shinni-694 | COMPASS_PINS:RefreshPins() |
|
62 | Shinni-694 | end |
|
63 | Shinni-694 | ||
64 | Shinni-694 | function EHMInitializeCompass() |
|
65 | Shinni-694 | ||
66 | Shinni-694 | for id, material in pairs( EHM.material ) do |
|
67 | Shinni-694 | if id ~= 5 then --not sure how to handle provision |
|
68 | Shinni-694 | local i = id |
|
69 | Shinni-694 | COMPASS_PINS:AddCustomPin( material.pinType, |
|
70 | Shinni-694 | function(g_mapPinManager) |
|
71 | Shinni-694 | EHMHarvestCallback( i, g_mapPinManager ) |
|
72 | Shinni-694 | end, |
|
73 | Shinni-694 | EHM.layouts[material.pinType] |
|
74 | Shinni-694 | ) |
|
75 | Shinni-694 | end |
|
76 | Shinni-694 | end |
|
77 | Shinni-694 | ||
78 | Shinni-694 | COMPASS_PINS:AddCustomPin("skyshard", EHMSkyshard, EHM.layouts["skyshard"]) |
|
79 | Shinni-694 | COMPASS_PINS:AddCustomPin("chest", EHMChestCallback, EHM.layouts["chest"]) |
|
80 | Shinni-694 | COMPASS_PINS:RefreshPins() |
|
81 | Shinni-694 | SLASH_COMMANDS["/compass"] = EHMCompass |
|
82 | Shinni-694 | end |