-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPositron_DRK.lua
More file actions
155 lines (136 loc) · 3.95 KB
/
Copy pathPositron_DRK.lua
File metadata and controls
155 lines (136 loc) · 3.95 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
function get_sets()
sets = {}
sets.precast = {}
sets.midcast = {}
sets.aftercast = {}
include("common/job_change.lua")
include("all/impact.lua") -- sets.impact
include("all/obi.lua") -- sets.obi
include("drk/fastcast.lua") -- sets.fastcast
include("drk/idle.lua") -- sets.idle
include("drk/tp.lua") -- sets.tp
include("drk/ws.lua") -- sets.ws
include("drk/ws-multihit.lua") -- sets.ws.multihit
include("drk/ws-magical.lua") -- sets.ws.magical
include("drk/precast-arcanecircle.lua") -- sets.precast.arcanecircle
include("drk/precast-bloodweapon.lua") -- sets.precast.bloodweapon
include("drk/precast-darkseal.lua") -- sets.precast.darkseal
include("drk/precast-diaboliceye.lua") -- sets.precast.diaboliceye
include("drk/precast-lastresort.lua") -- sets.precast.lastresort
include("drk/precast-nethervoid.lua") -- sets.precast.nethervoid
include("drk/precast-weaponbash.lua") -- sets.precast.weaponbash
include("drk/midcast-absorb.lua") -- sets.midcast.absorb
include("drk/midcast-drain.lua") -- sets.midcast.drain
include("drk/midcast-dreadspikes.lua") -- sets.midcast.dreadspikes
include("drk/midcast-elemental.lua") -- sets.midcast.elemental
include("drk/midcast-endark.lua") -- sets.midcast.endark
include("drk/midcast-impact.lua") -- sets.midcast.impact
include("func/obi_check.lua") -- obi_check()
_ABSORB_SPELLS = T {
"Absorb-ACC",
"Absorb-AGI",
"Absorb-Attri",
"Absorb-CHR",
"Absorb-DEX",
"Absorb-INT",
"Absorb-MND",
"Absorb-STR",
"Absorb-TP",
"Absorb-VIT",
}
_DRAIN_SPELLS = T {
"Aspir",
"Aspir II",
"Drain",
"Drain II",
"Drain III",
}
_MAGICAL_WS = T {
"Aeolian Edge",
}
_MULTI_HIT_WS = T {
"Resolution",
}
send_command(macrobook_cmd..porter_cmd..lockstyle_cmd)
end
function precast(spell, position)
-- WS Engaged Check
if spell.type == "WeaponSkill" and player.status ~= "Engaged" then
cancel_spell()
return
end
-- WS Distance Check
_RANGE_MULTIPLIER = 1.642276421172564
if spell.type == "WeaponSkill" and
spell.target.distance >
(spell.range * _RANGE_MULTIPLIER + spell.target.model_size)
then
add_to_chat(8, spell.name .. " aborted due to target out of range.")
cancel_spell()
return
end
if spell.type == "WeaponSkill" then
equip(sets.ws)
if _MAGICAL_WS:contains(spell.name) then
equip(sets.ws.magical)
obi_check(spell)
elseif _MULTI_HIT_WS:contains(spell.name) then
equip(sets.ws.multihit)
end
elseif spell.type == "JobAbility" then
if spell.english:contains("Arcane Circle") then
equip(sets.precast.arcanecircle)
elseif spell.english:contains("Blood Weapon") then
equip(sets.precast.bloodweapon)
elseif spell.english:contains("Dark Seal") then
equip(sets.precast.darkseal)
elseif spell.english:contains("Diabolic Eye") then
equip(sets.precast.diaboliceye)
elseif spell.english:contains("Last Resort") then
equip(sets.precast.lastresort)
elseif spell.english:contains("Nether Void") then
equip(sets.precast.nethervoid)
end
elseif spell.skill == "Elemental Magic" then
if spell.english:contains("Impact") then
equip(sets.impact)
end
else
equip(sets.fastcast)
end
end
function midcast(spell)
if spell.skill == "Dark Magic" then
if _ABSORB_SPELLS:contains(spell.english) then
equip(sets.midcast.absorb)
elseif _DRAIN_SPELLS:contains(spell.english) then
equip(sets.midcast.drain)
elseif spell.english:contains("Dread Spikes") then
equip(sets.midcast.dreadspikes)
elseif spell.english:contains("Endark") then
equip(sets.midcast.endark)
end
elseif spell.skill == "Elemental Magic" then
equip(sets.midcast.elemental)
obi_check(spell)
if spell.english:contains("Impact") then
equip(sets.impact)
end
end
end
function aftercast(spell)
if player.status == "Idle" then
equip(sets.idle)
elseif player.status == "Engaged" then
equip(sets.tp)
end
end
function status_change(new, old)
if new == "Engaged" then
equip(sets.tp)
elseif new == "Idle" then
equip(sets.idle)
end
end
function buff_change(name, gain, buff_details)
end