Zadrot Companion

04.06.2021 - Zadrot

Пошёл четвёртый день нового аддона ESO: Blackwood.В нём добавили спутников, которые не могут одновременно существовать с банкирами и торговцами. Я задолбался призывать Мирри и часто забывал это делать, бегая без неё, поэтому вот ещё один аддон :)
Он автоматически призывает последнего вызыванного спутника, после того, как отзываешь ассистента

Отключить и включить можно написав /zc
По умолчанию: Включено

Качать тут:
Zadrot Companion (Curse)
Zadrot Companion (EsoUI)

 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
local Name = "Zadrot_Companion"
Zadrot_Companion_Saved = {["Enabled"] = true, ["Companion"] = 9245}
local assistant = false

local function OnPlayerActivated(_, arg)
	if HasPendingCompanion() then
		Zadrot_Companion_Saved["Companion"] = GetCompanionCollectibleId(GetPendingCompanionDefId())
	elseif HasActiveCompanion() then
		Zadrot_Companion_Saved["Companion"] = GetCompanionCollectibleId(GetActiveCompanionDefId())
	elseif GetActiveCollectibleByType(COLLECTIBLE_CATEGORY_TYPE_ASSISTANT) > 0 then
		assistant = true
	else
		zo_callLater(function()
			if Zadrot_Companion_Saved["Enabled"]
			and not IsCollectibleBlocked(Zadrot_Companion_Saved["Companion"])
			and IsCollectibleUsable(Zadrot_Companion_Saved["Companion"])
			then
				assistant = false
				d("Summoning " .. GetCollectibleLink(Zadrot_Companion_Saved["Companion"]))
				UseCollectible(Zadrot_Companion_Saved["Companion"])
			end
		end, 1000 + GetCollectibleCooldownAndDuration(Zadrot_Companion_Saved["Companion"]))
	end
end
EVENT_MANAGER:RegisterForEvent(Name .. "Activated", EVENT_PLAYER_ACTIVATED, OnPlayerActivated)

EVENT_MANAGER:RegisterForEvent(
	Name .. "CompanionActivated",
	EVENT_COMPANION_ACTIVATED,
	function(_, arg)
		Zadrot_Companion_Saved["Companion"] = GetCompanionCollectibleId(arg)
	end
)

EVENT_MANAGER:RegisterForEvent(
	Name .. "UnitCreated",
	EVENT_UNIT_CREATED,
	function(_, arg)
		if GetActiveCollectibleByType(COLLECTIBLE_CATEGORY_TYPE_ASSISTANT) > 0
		then assistant = true end
	end
)

EVENT_MANAGER:RegisterForEvent(
	Name .. "UnitDestroyed",
	EVENT_UNIT_DESTROYED,
	function(_, arg)
		if assistant == true then OnPlayerActivated() end
	end
)

EVENT_MANAGER:RegisterForEvent(
	Name .. "PlayerCombatState",
	EVENT_PLAYER_COMBAT_STATE,
	function(_, arg)
		if not arg then OnPlayerActivated() end
	end
)

local function ZadrotSC(args)
	if Zadrot_Companion_Saved["Enabled"] then
		d("Zadrot Companion DISABLED")
		Zadrot_Companion_Saved["Enabled"] = false
	else
		d("Zadrot Companion ENABLED")
		Zadrot_Companion_Saved["Enabled"] = true
		OnPlayerActivated()
	end
end
SLASH_COMMANDS["/zc"] = ZadrotSC