forked from skennedysocal/WoW_Hardcore
-
Notifications
You must be signed in to change notification settings - Fork 35
Expand file tree
/
Copy pathDKToken.lua
More file actions
54 lines (46 loc) · 1.79 KB
/
DKToken.lua
File metadata and controls
54 lines (46 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
function GenerateDKToken(_hardcore_settings, _hardcore_character, _party_change_token_secret)
_hardcore_settings.dk_token = {
party_mode = _hardcore_character.party_mode or "?",
achievements = {},
team = {},
first_recorded = _hardcore_character.first_recorded,
generated_time = GetServerTime(), -- since epoch
party_change_token_secret = _party_change_token_secret,
}
for idx, achievement in ipairs(_hardcore_character.achievements) do
table.insert(_hardcore_settings.dk_token.achievements, achievement)
end
for idx, partner in ipairs(_hardcore_character.team) do
table.insert(_hardcore_settings.dk_token.team, partner)
end
Hardcore:Print("Generated DK Token.")
end
function ApplyDKToken(_hardcore_settings, _hardcore_character)
if _hardcore_settings.dk_token == nil then
Hardcore:Print("DK Token does not exist.")
return
end
_hardcore_character.team = {}
_hardcore_character.party_mode = _hardcore_settings.dk_token.party_mode
_hardcore_character.first_recorded = _hardcore_settings.dk_token.first_recorded
for idx, achievement in ipairs(_hardcore_settings.dk_token.achievements) do
table.insert(_hardcore_character.achievements, achievement)
end
for idx, partner in ipairs(_hardcore_settings.dk_token.team) do
table.insert(_hardcore_character.team, partner)
end
Hardcore:Print("DK Token applied.")
local party_change_token_secret = _hardcore_settings.dk_token.party_change_token_secret
_hardcore_settings.dk_token = nil
return party_change_token_secret
end
function CheckForExpiredDKToken(_hardcore_settings)
if _hardcore_settings.dk_token == nil then
return
end
local current_time = GetServerTime()
if current_time - _hardcore_settings.dk_token.generated_time > 24 * 60 * 60 then -- one day
_hardcore_settings.dk_token = nil
Hardcore:Print("DK Token expired.")
end
end