Advertisement
Guest User

Untitled

a guest
Mar 28th, 2015
276
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.65 KB | None | 0 0
  1. -- Define sets and vars used by this job file.
  2. function init_gear_sets()
  3. --------------------------------------
  4. -- Start defining the sets
  5. --------------------------------------
  6. -- Precast Sets
  7. -- Precast sets to enhance JAs
  8. sets.precast.JA['Diabolic Eye'] = {hands="Fallen's Finger Gauntlets +1"}
  9. sets.precast.JA['Arcane Circle'] = {feet="Ignominy Sollerets"}
  10. sets.precast.JA['Nether Void'] = {legs="Bale Flanchard +2"}
  11. sets.precast.JA['Dark Seal'] = {head="Fallen's burgeonet +1"}
  12. sets.precast.JA['Souleater'] = {head="Ignominy burgeonet +1"}
  13. --sets.precast.JA['Last Resort'] = {feet="Fallen's Sollerets +1"}
  14. sets.precast.JA['Blood Weapon'] = {body="Fallen's Cuirass +1"}
  15. sets.precast.JA['Weapon Bash'] = {hands="Ignominy Gauntlets +1"}
  16. sets.CapacityMantle = { back="Mecistopins Mantle" }
  17. sets.Berserker = { neck="Berserker's Torque" }
  18. sets.WSDayBonus = { head="Gavialis Helm" }
  19. sets.WSBack = { back="Trepidity Mantle" }
  20. sets.NightAmmo = { ammo="Ginsen" }
  21. sets.DayAmmo = { ammo="Tengu-No-Hane" }
  22. -- Waltz set (chr and vit)
  23. sets.precast.Waltz = {
  24. head="Yaoyotl Helm",
  25. body="Mes'yohi Haubergeon",
  26. legs="Cizin Breeches +1",
  27. feet="Whirlpool Greaves"
  28. }
  29. -- Fast cast sets for spells
  30. sets.precast.FC = {
  31. ammo="Impatiens",
  32. head="Fallen's Burgeonet +1",
  33. ear1="Loquacious Earring",
  34. hands="Buremte Gloves",
  35. ring2="Prolix Ring"
  36. }
  37. sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, { neck="Magoraga Beads" })
  38. sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {
  39. head="Cizin Helm +1",
  40. neck="Stoicheion Medal"
  41. })
  42. sets.precast.FC['Enfeebling Magic'] = set_combine(sets.precast.FC, {
  43. head="Cizin Helm +1",
  44. })
  45. -- Midcast Sets
  46. sets.midcast.FastRecast = {
  47. ammo="Impatiens",
  48. head="Otomi Helm",
  49. hands="Cizin Mufflers +1",
  50. feet="Ejekamal Boots"
  51. }
  52. -- Specific spells
  53. sets.midcast.Utsusemi = {
  54. head="Otomi Helm",
  55. feet="Ejekamal Boots"
  56. }
  57. sets.midcast['Dark Magic'] = {
  58. ammo="Impatiens",
  59. head="Ignominy burgeonet +1",
  60. neck="Dark Torque",
  61. ear1="Lifestorm Earring",
  62. ear2="Psystorm Earring",
  63. body="Haruspex Coat",
  64. hands="Fallen's Finger Gauntlets +1",
  65. waist="Casso Sash",
  66. ring1="Perception Ring",
  67. ring2="Sangoma Ring",
  68. back="Niht Mantle",
  69. legs="Fallen's Flanchard",
  70. feet="Ignominy sollerets"
  71. }
  72. sets.midcast['Enfeebling Magic'] = set_combine(sets.midcast['Dark Magic'], {
  73. neck="Eddy Necklace",
  74. head="Otomi Helm",
  75. body="Ignominy Cuirass +1",
  76. ring1="Globidonta Ring",
  77. back="Aput Mantle"
  78. })
  79. sets.midcast['Elemental Magic'] = {
  80. ammo="Impatiens",
  81. head="Ignominy burgeonet +1",
  82. neck="Eddy Necklace",
  83. ear1="Friomisi Earring",
  84. ear2="Crematio Earring",
  85. body="Fallen's Cuirass +1",
  86. hands="Fallen's Finger Gauntlets +1",
  87. ring1="Shiva Ring",
  88. ring2="Acumen Ring",
  89. waist="Caudata Belt",
  90. --legs="Haruspex Slops",
  91. legs="Ignominy Flanchard +1",
  92. back="Aput Mantle",
  93. feet="Bale Sollerets +2"
  94. }
  95. sets.midcast['Dread Spikes'] = set_combine(sets.midcast['Dark Magic'], {
  96. ammo="Impatiens",
  97. head="Gavialis Helm",
  98. body="Bale Cuirass +2",
  99. hands="Boor Bracelets",
  100. ring1="Beeline Ring",
  101. ring2="K'ayres Ring",
  102. back="Trepidity Mantle",
  103. legs="Ignominy Flanchard +1",
  104. feet="Ejekamal Boots"
  105. })
  106. sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {
  107. ring2="Excelsis Ring",
  108. })
  109. sets.midcast.Aspir = sets.midcast.Drain
  110. sets.midcast.Absorb = set_combine(sets.midcast['Dark Magic'], {
  111. back="Chuparrosa Mantle",
  112. hands="Pavor Gauntlets",
  113. feet="Black Sollerets"
  114. })
  115. sets.midcast['Absorb-TP'] = set_combine(sets.midcast.Absorb, {
  116. hands="Bale Gauntlets +2"
  117. })
  118. sets.midcast['Absorb-STR'] = sets.midcast.Absorb
  119. sets.midcast['Absorb-DEX'] = sets.midcast.Absorb
  120. sets.midcast['Absorb-AGI'] = sets.midcast.Absorb
  121. sets.midcast['Absorb-MND'] = sets.midcast.Absorb
  122. sets.midcast['Absorb-VIT'] = sets.midcast.Absorb
  123. sets.midcast['Absorb-Attri'] = sets.midcast.Absorb
  124. sets.midcast['Absorb-Acc'] = sets.midcast.Absorb
  125. -- Ranged for xbow
  126. sets.precast.RA = {
  127. head="Otomi Helm",
  128. hands="Buremte Gloves",
  129. feet="Ejekamal Boots"
  130. }
  131. sets.midcast.RA = {
  132. neck="Iqabi Necklace",
  133. ear2="Tripudio Earring",
  134. hands="Buremte Gloves",
  135. ring1="Beeline Ring",
  136. ring2="Garuda Ring",
  137. waist="Chaac Belt",
  138. legs="Aetosaur Trousers +1",
  139. feet="Whirlpool Greaves"
  140. }
  141. -- WEAPONSKILL SETS
  142. -- General sets
  143. sets.precast.WS = {
  144. ammo="Aqreqaq Bomblet",
  145. head="Otomi Helm",
  146. neck="Fotia Gorget",
  147. ear1="Brutal Earring",
  148. ear2="Moonshade Earring",
  149. body="Mes'yohi Haubergeon",
  150. hands="Acro Gauntlets",
  151. ring1="Ifrit Ring +1",
  152. ring2="Ifrit Ring +1",
  153. back="Niht Mantle",
  154. waist="Fotia Belt",
  155. legs="Ignominy Flanchard +1",
  156. feet={name="Acro Leggings", augments={'Attack+23','"Dbl. Atk."+3','Crit. hit damage +2%'}}
  157. }
  158. sets.precast.WS.Mid = set_combine(sets.precast.WS, {
  159. ammo="Ginsen",
  160. head="Yaoyotl Helm",
  161. body="Mes'yohi Haubergeon",
  162. hands="Ignominy Gauntlets +1"
  163. })
  164. sets.precast.WS.Acc = set_combine(sets.precast.WS.Mid, {
  165. ear1="Zennaroi Earring",
  166. hands="Buremte Gloves",
  167. body="Fallen's Cuirass +1",
  168. waist="Olseni Belt",
  169. feet="Acro Leggings"
  170. })
  171. -- RESOLUTION
  172. -- 86-100% STR
  173. sets.precast.WS.Resolution = set_combine(sets.precast.WS, {
  174. })
  175. sets.precast.WS.Resolution.Mid = set_combine(sets.precast.WS.Resolution, {
  176. ammo="Ginsen",
  177. head="Yaoyotl Helm",
  178. body="Mes'yohi Haubergeon",
  179. hands="Ignominy Gauntlets +1",
  180. feet="Whirlpool Greaves"
  181. })
  182. sets.precast.WS.Resolution.Acc = set_combine(sets.precast.WS.Resolution.Mid, sets.precast.WS.Acc)
  183. -- TORCLEAVER
  184. -- VIT 80%
  185. sets.precast.WS.Torcleaver = set_combine(sets.precast.WS, {
  186. body="Phorcys Korazin",
  187. legs="Scuffler's Cosciales"
  188. })
  189. sets.precast.WS.Torcleaver.Mid = set_combine(sets.precast.WS.Mid, {
  190. ammo="Ginsen",
  191. neck="Aqua Gorget",
  192. body="Mes'yohi Haubergeon"
  193. })
  194. sets.precast.WS.Torcleaver.Acc = set_combine(sets.precast.WS.Torcleaver.Mid, sets.precast.WS.Acc)
  195. -- INSURGENCY
  196. -- 20% STR / 20% INT
  197. sets.precast.WS.Insurgency = set_combine(sets.precast.WS, {
  198. neck="Shadow Gorget",
  199. ear1="Brutal Earring",
  200. legs="Scuffler's Cosciales",
  201. feet="Ejekamal Boots",
  202. })
  203. sets.precast.WS.Insurgency.AM3 = set_combine(sets.precast.WS.Insurgency, {
  204. back="Bleating Mantle",
  205. legs="Ignominy Flanchard +1"
  206. })
  207. sets.precast.WS.Insurgency.Mid = set_combine(sets.precast.WS.Insurgency, {
  208. ammo="Ginsen",
  209. head="Yaoyotl Helm",
  210. body="Mes'yohi Haubergeon",
  211. hands="Ignominy Gauntlets +1",
  212. waist="Light Belt"
  213. })
  214. sets.precast.WS.Insurgency.AM3Mid = set_combine(sets.precast.WS.Insurgency.Mid, {
  215. body="Fallen's Cuirass +1",
  216. ear1="Bale Earring",
  217. ring1="Rajas Ring",
  218. back={name="Niht Mantle", augments={'Attack +15','"Drain" and "Aspir" potency +10', 'Weapon skill damage +3%'}},
  219. legs="Ignominy Flanchard +1"
  220. })
  221. sets.precast.WS.Insurgency.Acc = set_combine(sets.precast.WS.Insurgency.Mid, {
  222. head="Gavialis Helm",
  223. ear1="Zennaroi Earring",
  224. body="Fallen's Cuirass +1",
  225. hands="Ignominy Gauntlets +1",
  226. ring1="Mars's Ring",
  227. waist="Anguinius Belt",
  228. legs="Xaddi Cuisses",
  229. feet="Xaddi Boots"
  230. })
  231. sets.precast.WS.Insurgency.AM3Acc = set_combine(sets.precast.WS.Insurgency.Acc, {})
  232. -- CROSS REAPER
  233. -- 60% STR / 60% MND
  234. sets.precast.WS['Cross Reaper'] = set_combine(sets.precast.WS, {
  235. neck="Ganesha's Mala",
  236. hands="Fallen's Finger Gauntlets +1",
  237. legs="Scuffler's Cosciales",
  238. feet="Ejekamal Boots"
  239. })
  240. sets.precast.WS['Cross Reaper'].AM3 = set_combine(sets.precast.WS['Cross Reaper'], {})
  241. sets.precast.WS['Cross Reaper'].Mid = set_combine(sets.precast.WS.Mid, {
  242. ammo="Ginsen",
  243. neck="Aqua Gorget",
  244. body="Fallen's Cuirass +1",
  245. ring1="Rajas Ring",
  246. waist="Windbuffet Belt +1",
  247. })
  248. sets.precast.WS['Cross Reaper'].AM3Mid = set_combine(sets.precast.WS['Cross Reaper'].Mid, {
  249. head="Gavialis Helm",
  250. ear1="Bale Earring",
  251. waist="Caudata Belt"
  252. })
  253. sets.precast.WS['Cross Reaper'].Acc = set_combine(sets.precast.WS['Cross Reaper'].Mid, sets.precast.WS.Acc)
  254. -- ENTROPY
  255. -- 86-100% INT
  256. sets.precast.WS.Entropy = set_combine(sets.precast.WS, {
  257. ammo="Ginsen",
  258. head="Otomi Helm",
  259. neck="Shadow Gorget",
  260. body="Fallen's Cuirass +1",
  261. hands="Fallen's Finger Gauntlets +1",
  262. ring1="Shiva Ring",
  263. back="Bleating Mantle",
  264. waist="Soil Belt",
  265. legs="Scuffler's Cosciales",
  266. feet="Ejekamal Boots"
  267. })
  268. sets.precast.WS.Entropy.AM3 = set_combine(sets.precast.WS.Entropy, {
  269. legs="Ignominy Flanchard +1"
  270. })
  271. sets.precast.WS.Entropy.Mid = set_combine(sets.precast.WS.Entropy, {
  272. head="Ighwa Cap",
  273. hands="Ignominy Gauntlets +1",
  274. feet="Whirlpool Greaves"
  275. })
  276. sets.precast.WS.Entropy.AM3Mid = set_combine(sets.precast.WS.Entropy.Mid, {
  277. legs="Xaddi Cuisses"
  278. })
  279. sets.precast.WS.Entropy.Acc = set_combine(sets.precast.WS.Entropy.Mid, sets.precast.WS.Acc)
  280. -- Quietus
  281. -- 60% STR / MND
  282. sets.precast.WS.Quietus = set_combine(sets.precast.WS, {
  283. neck="Shadow Gorget",
  284. ear2="Trux Earring",
  285. body="Ignominy Cuirass +1",
  286. hands="Fallen's Finger Gauntlets +1",
  287. waist="Windbuffet Belt +1",
  288. legs="Scuffler's Cosciales",
  289. feet="Ejekamal Boots"
  290. })
  291. sets.precast.WS.Quietus.AM3 = set_combine(sets.precast.WS.Quietus, {
  292. ear1="Bale Earring",
  293. ear2="Brutal Earring",
  294. legs="Ignominy Flanchard +1"
  295. })
  296. sets.precast.WS.Quietus.Mid = set_combine(sets.precast.WS.Quietus, {
  297. head="Yaoyotl Helm",
  298. hands="Ignominy Gauntlets +1",
  299. waist="Caudata Belt",
  300. })
  301. sets.precast.WS.Quietus.AM3Mid = set_combine(sets.precast.WS.Quietus.Mid, {
  302. ear1="Bale Earring",
  303. ear2="Brutal Earring",
  304. legs="Ignominy Flanchard +1"
  305. })
  306. sets.precast.WS.Quietus.Acc = set_combine(sets.precast.WS.Quietus.Mid, sets.precast.WS.Acc)
  307. -- SPIRAL HELL
  308. -- 50% STR / 50% INT
  309. sets.precast.WS['Spiral Hell'] = set_combine(sets.precast.WS['Entropy'], {
  310. head="Ighwa Cap",
  311. body="Phorcys Korazin",
  312. neck="Aqua Gorget",
  313. legs="Scuffler's Cosciales",
  314. waist="Metalsinger belt",
  315. })
  316. sets.precast.WS['Spiral Hell'].Mid = set_combine(sets.precast.WS['Spiral Hell'], sets.precast.WS.Mid)
  317. sets.precast.WS['Spiral Hell'].Acc = set_combine(sets.precast.WS['Spiral Hell'], sets.precast.WS.Acc)
  318. -- SHADOW OF DEATH
  319. -- 40% STR 40% INT - Darkness Elemental
  320. sets.precast.WS['Shadow of Death'] = set_combine(sets.precast.WS['Entropy'], {
  321. head="Ignominy burgeonet +1",
  322. neck="Aqua Gorget",
  323. body="Fallen's Cuirass +1",
  324. ear1="Friomisi Earring",
  325. hands="Fallen's Finger Gauntlets +1",
  326. back="Argochampsa Mantle",
  327. waist="Caudata Belt",
  328. feet="Ignominy Sollerets"
  329. })
  330. sets.precast.WS['Shadow of Death'].Mid = set_combine(sets.precast.WS['Shadow of Death'], sets.precast.WS.Mid)
  331. sets.precast.WS['Shadow of Death'].Acc = set_combine(sets.precast.WS['Shadow of Death'], sets.precast.WS.Acc)
  332. -- Sword WS's
  333. -- SANGUINE BLADE
  334. -- 50% MND / 50% STR Darkness Elemental
  335. sets.precast.WS['Sanguine Blade'] = set_combine(sets.precast.WS, {
  336. head="Ignominy burgeonet +1",
  337. neck="Stoicheion Medal",
  338. ear1="Friomisi Earring",
  339. ear2="Crematio Earring",
  340. body="Fallen's Cuirass +1",
  341. hands="Fallen's Finger Gauntlets +1",
  342. legs="Ignominy Flanchard +1",
  343. ring2="Acumen Ring",
  344. back="Argochampsa Mantle",
  345. feet="Ignominy Sollerets"
  346. })
  347. sets.precast.WS['Sanguine Blade'].Mid = set_combine(sets.precast.WS['Sanguine Blade'], sets.precast.WS.Mid)
  348. sets.precast.WS['Sanguine Blade'].Acc = set_combine(sets.precast.WS['Sanguine Blade'], sets.precast.WS.Acc)
  349. -- REQUISCAT
  350. -- 73% MND - breath damage
  351. sets.precast.WS.Requiescat = set_combine(sets.precast.WS, {
  352. head="Ighwa Cap",
  353. neck="Shadow Gorget",
  354. hands="Umuthi Gloves",
  355. body="Fallen's Cuirass +1",
  356. back="Bleating Mantle",
  357. waist="Soil Belt",
  358. feet="Whirlpool Greaves"
  359. })
  360. sets.precast.WS.Requiescat.Mid = set_combine(sets.precast.WS.Requiscat, sets.precast.WS.Mid)
  361. sets.precast.WS.Requiescat.Acc = set_combine(sets.precast.WS.Requiscat, sets.precast.WS.Acc)
  362. -- Resting sets
  363. sets.resting = {
  364. head="Twilight Helm",
  365. body="Ares' Cuirass +1",
  366. hands="Cizin Mufflers +1",
  367. ring1="Dark Ring",
  368. ring2="Paguroidea Ring",
  369. legs="Crimson Cuisses"
  370. }
  371. -- Idle sets
  372. sets.idle.Town = {
  373. ammo="Ginsen",
  374. head="Yaoyotl Helm",
  375. neck="Ganesha's Mala",
  376. ear1="Zennaroi Earring",
  377. ear2="Trux Earring",
  378. body="Acro Surcoat",
  379. hands="Ignominy Gauntlets +1",
  380. ring1="Rajas Ring",
  381. ring2="Ifrit Ring +1",
  382. back={name="Niht Mantle", augments={'Attack +15','"Drain" and "Aspir" potency +10', 'Weapon skill damage +3%'}},
  383. waist="Windbuffet Belt +1",
  384. legs="Crimson Cuisses",
  385. feet="Acro Leggings"
  386. }
  387. sets.cool = set_combine(sets.idle.Town, {
  388. head="Otomi Helm",
  389. hands="Ignominy Gauntlets +1",
  390. legs="Scuffler's Cosciales",
  391. feet="Xaddi Boots"
  392. })
  393. sets.idle.Field = set_combine(sets.idle.Town, {
  394. ammo="Ginsen",
  395. head="Twilight Helm",
  396. neck="Coatl Gorget +1",
  397. ear1="Black Earring",
  398. body="Ares' Cuirass +1",
  399. hands="Cizin Mufflers +1",
  400. ring1="Sheltered Ring",
  401. ring2="Paguroidea Ring",
  402. back="Engulfer Cape +1",
  403. waist="Flume Belt",
  404. legs="Crimson Cuisses",
  405. feet="Cizin Greaves +1"
  406. })
  407. sets.idle.Regen = set_combine(sets.idle.Field, {
  408. body="Kumarbi's Akar"
  409. })
  410. sets.idle.Weak = {
  411. head="Twilight Helm",
  412. neck="Coatl Gorget +1",
  413. body="Twilight Mail",
  414. ring1="Dark Ring",
  415. ring2="Paguroidea Ring",
  416. back="Repulse Mantle",
  417. waist="Windbuffet Belt +1",
  418. legs="Crimson Cuisses",
  419. feet="Cizin Greaves +1"
  420. }
  421. sets.refresh = {
  422. neck="Coatl Gorget +1",
  423. body="Ares' Cuirass +1"
  424. }
  425. -- Defense sets
  426. sets.defense.PDT = {
  427. head="Ighwa Cap",
  428. neck="Twilight Torque",
  429. body="Emet Harness +1",
  430. hands="Cizin Mufflers +1",
  431. ear1="Zennaroi Earring",
  432. ring1="Dark Ring",
  433. ring2="Defending Ring",
  434. back="Repulse Mantle",
  435. waist="Flume Belt",
  436. legs="Cizin Breeches +1",
  437. feet="Cizin Greaves +1"
  438. }
  439. sets.defense.Reraise = sets.idle.Weak
  440. sets.defense.MDT = set_combine(sets.defense.PDT, {
  441. neck="Twilight Torque",
  442. ear1="Zennaroi Earring",
  443. ring2="K'ayres Ring",
  444. back="Engulfer Cape +1"
  445. })
  446. sets.Kiting = {legs="Crimson Cuisses"}
  447. sets.Reraise = {head="Twilight Helm",body="Twilight Mail"}
  448. -- Defensive sets to combine with various weapon-specific sets below
  449. -- These allow hybrid acc/pdt sets for difficult content
  450. sets.Defensive = {
  451. head="Ighwa Cap",
  452. neck="Agitator's Collar",
  453. body="Emet Harness +1",
  454. hands="Cizin Mufflers +1",
  455. ring2="Patricius Ring",
  456. legs="Cizin Breeches +1"
  457. }
  458. sets.Defensive_Mid = {
  459. head="Ighwa Cap",
  460. neck="Agitator's Collar",
  461. body="Emet Harness +1",
  462. hands="Umuthi Gloves",
  463. ring2="Patricius Ring",
  464. }
  465. sets.Defensive_Acc = {
  466. head="Ighwa Cap",
  467. neck="Agitator's Collar",
  468. hands="Umuthi Gloves",
  469. body="Emet Harness +1",
  470. ring1="Mars's Ring",
  471. ring2="Patricius Ring",
  472. legs="Cizin Breeches +1",
  473. feet="Cizin Greaves +1"
  474. }
  475. -- Engaged set, assumes Liberator
  476. sets.engaged = {
  477. ammo="Ginsen",
  478. head="Acro Helm",
  479. neck="Ganesha's Mala",
  480. ear1="Brutal Earring",
  481. ear2="Tripudio Earring",
  482. body="Acro Surcoat",
  483. hands="Acro Gauntlets",
  484. ring1="Rajas Ring",
  485. ring2="K'ayres Ring",
  486. back="Bleating Mantle",
  487. waist="Windbuffet Belt +1",
  488. legs="Acro Breeches",
  489. feet={name="Acro Leggings", augments={'Accuracy+25','"Store TP"+6','Weapon skill damage +1%'}}
  490. }
  491. sets.engaged.Mid = set_combine(sets.engaged, {
  492. head="Yaoyotl Helm",
  493. ear1="Bladeborn Earring",
  494. ear2="Steelflash Earring",
  495. })
  496. sets.engaged.Acc = set_combine(sets.engaged.Mid, {
  497. head="Gavialis Helm",
  498. neck="Iqabi Necklace",
  499. ear1="Steelflash Earring",
  500. ear2="Zennaroi Earring",
  501. hands="Buremte Gloves",
  502. back="Kayapa Cape",
  503. ring1="Mars's Ring",
  504. ring2="Patricius Ring",
  505. waist="Olseni Belt"
  506. })
  507. sets.engaged.LR = set_combine(sets.engaged, {
  508. })
  509. sets.engaged.LR.AM3 = set_combine(sets.engaged.LR, {
  510. head="Yaoyotl Helm",
  511. ear2="Tripudio Earring"
  512. })
  513. sets.engaged.Mid.LR = set_combine(sets.engaged.Mid, {
  514. neck="Agitator's Collar",
  515. ring2="Patricius Ring"
  516. })
  517. sets.engaged.Acc.LR = set_combine(sets.engaged.Acc, {
  518. neck="Agitator's Collar",
  519. hands="Umuthi Gloves",
  520. ring1="Patricius Ring"
  521. })
  522. sets.engaged.PDT = set_combine(sets.engaged, sets.Defensive)
  523. sets.engaged.Mid.PDT = set_combine(sets.engaged.Mid, sets.Defensive_Mid)
  524. sets.engaged.Acc.PDT = set_combine(sets.engaged.Acc, sets.Defensive_Acc)
  525. sets.engaged.War = set_combine(sets.engaged, {
  526. ear1="Brutal Earring",
  527. ear2="Tripudio Earring",
  528. head="Yaoyotl Helm",
  529. legs="Xaddi Cuisses",
  530. feet="Mikinaak Greaves"
  531. })
  532. sets.engaged.War.Mid = set_combine(sets.engaged.War, {
  533. ear1="Bladeborn Earring",
  534. ear2="Steelflash Earring",
  535. legs="Xaddi Cuisses",
  536. feet="Ejekamal Boots"
  537. })
  538. sets.engaged.War.Acc = set_combine(sets.engaged.War.Mid, {
  539. neck="Iqabi Necklace",
  540. hands="Buremte Gloves",
  541. body="Mes'yohi Haubergeon",
  542. ring1="Mars's Ring",
  543. ring2="Patricius Ring",
  544. back="Kayapa Cape",
  545. waist="Olseni Belt",
  546. feet="Acro Leggings"
  547. })
  548. sets.engaged.War.PDT = set_combine(sets.engaged.War, sets.Defensive)
  549. sets.engaged.War.Mid.PDT = set_combine(sets.engaged.War.Mid, sets.Defensive_Mid)
  550. sets.engaged.War.Acc.PDT = set_combine(sets.engaged.War.Acc, sets.Defensive_Acc)
  551. sets.engaged.AM3 = set_combine(sets.engaged, {
  552. head="Yaoyotl Helm",
  553. body="Acro Surcoat",
  554. ear2="Tripudio Earring",
  555. hands="Cizin Mufflers +1",
  556. legs="Yorium Cuisses",
  557. feet="Ejekamal Boots"
  558. })
  559. sets.engaged.Mid.AM3 = set_combine(sets.engaged.AM3, {
  560. ear1="Zennaroi Earring",
  561. hands="Xaddi Gauntlets",
  562. feet="Acro Leggings"
  563. })
  564. sets.engaged.Acc.AM3 = set_combine(sets.engaged.Mid.AM3, {
  565. neck="Iqabi Necklace",
  566. ear1="Zennaroi Earring",
  567. ear2="Steelflash Earring",
  568. hands="Buremte Gloves",
  569. ring1="Rajas Ring",
  570. ring2="Mars's Ring",
  571. waist="Olseni Belt",
  572. feet="Acro Leggings"
  573. })
  574. sets.engaged.Reraise = set_combine(sets.engaged, {
  575. head="Twilight Helm",neck="Twilight Torque",
  576. body="Twilight Mail"
  577. })
  578. sets.buff.Souleater = { head="Ignominy burgeonet +1" }
  579. sets.buff['Last Resort'] = { feet="Fallen's Sollerets +1" }
  580. end
  581. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  582. -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
  583. function job_precast(spell, action, spellMap, eventArgs)
  584. aw_custom_aftermath_timers_precast(spell)
  585. --if spell.action_type == 'Magic' then
  586. -- equip(sets.precast.FC)
  587. --end
  588. end
  589. function job_post_precast(spell, action, spellMap, eventArgs)
  590. if spell.type:lower() == 'weaponskill' then
  591. if is_sc_element_today(spell) then
  592. equip(sets.WSDayBonus)
  593. end
  594. if state.CapacityMode.value then
  595. equip(sets.CapacityMantle)
  596. end
  597. --if world.day_element == 'Dark' then
  598. -- equip(sets.WSBack)
  599. --end
  600. end
  601. end
  602. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  603. function job_midcast(spell, action, spellMap, eventArgs)
  604. end
  605. -- Run after the default midcast() is done.
  606. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
  607. function job_post_midcast(spell, action, spellMap, eventArgs)
  608. if state.HybridMode.current == 'Reraise' or
  609. (state.HybridMode.current == 'Physical' and state.PhysicalDefenseMode.current == 'Reraise') then
  610. equip(sets.Reraise)
  611. end
  612. end
  613. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  614. function job_aftercast(spell, action, spellMap, eventArgs)
  615. aw_custom_aftermath_timers_aftercast(spell)
  616. if state.Buff[spell.english] ~= nil then
  617. state.Buff[spell.english] = not spell.interrupted or buffactive[spell.english]
  618. end
  619. end
  620. function job_post_aftercast(spell, action, spellMap, eventArgs)
  621. if spell.type == 'WeaponSkill' then
  622. if state.Buff.Souleater and state.SouleaterMode.value then
  623. send_command('@wait 1.0;cancel souleater')
  624. end
  625. end
  626. end
  627. -------------------------------------------------------------------------------------------------------------------
  628. -- Customization hooks for idle and melee sets, after they've been automatically constructed.
  629. -------------------------------------------------------------------------------------------------------------------
  630. -- Called before the Include starts constructing melee/idle/resting sets.
  631. -- Can customize state or custom melee class values at this point.
  632. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  633. function job_handle_equipping_gear(status, eventArgs)
  634. end
  635. -- Modify the default idle set after it was constructed.
  636. function customize_idle_set(idleSet)
  637. if player.mpp < 50 then
  638. idleSet = set_combine(idleSet, sets.refresh)
  639. end
  640. if player.hpp < 90 then
  641. idleSet = set_combine(idleSet, sets.idle.Regen)
  642. end
  643. if state.HybridMode.current == 'PDT' then
  644. idleSet = set_combine(idleSet, sets.defense.PDT)
  645. end
  646. return idleSet
  647. end
  648. -- Modify the default melee set after it was constructed.
  649. function customize_melee_set(meleeSet)
  650. if state.CapacityMode.value then
  651. meleeSet = set_combine(meleeSet, sets.CapacityMantle)
  652. end
  653. if state.Buff['Last Resort'] and state.HybridMode.current == 'LR' then
  654. meleeSet = set_combine(meleeSet, sets.buff['Last Resort'])
  655. end
  656. if state.OffenseMode.current == 'Acc' then
  657. meleeSet = set_combine(meleeSet, select_ammo())
  658. end
  659. return meleeSet
  660. end
  661. -------------------------------------------------------------------------------------------------------------------
  662. -- General hooks for other events.
  663. -------------------------------------------------------------------------------------------------------------------
  664. -- Called when the player's status changes.
  665. function job_status_change(newStatus, oldStatus, eventArgs)
  666. if newStatus == "Engaged" then
  667. if buffactive['Last Resort'] and state.HybridMode.current == 'LR' then
  668. equip(sets.buff['Last Resort'])
  669. end
  670. --get_combat_weapon()
  671. end
  672. end
  673. -- Called when a player gains or loses a buff.
  674. -- buff == buff gained or lost
  675. -- gain == true if the buff was gained, false if it was lost.
  676. function job_buff_change(buff, gain)
  677. if state.Buff[buff] ~= nil then
  678. handle_equipping_gear(player.status)
  679. end
  680. if buff == "Max HP Boost" then
  681. if gain then
  682. state.SouleaterMode:set(false)
  683. else
  684. state.SouleaterMode:set(true)
  685. end
  686. end
  687. if buff == 'Blood Weapon' then
  688. if gain or buffactive['Blood Weapon'] then
  689. state.SouleaterMode:set(false)
  690. else
  691. state.SouleaterMode:set(true)
  692. end
  693. end
  694. if buff == 'Aftermath: Lv.3' then
  695. classes.CustomMeleeGroups:clear()
  696. if (buff == "Aftermath: Lv.3" and gain) or buffactive['Aftermath: Lv.3'] then
  697. classes.CustomMeleeGroups:append('AM3')
  698. end
  699. handle_equipping_gear(player.status)
  700. end
  701. if string.lower(buff) == "sleep" and gain and player.hp > 200 then
  702. equip(sets.Berserker)
  703. end
  704. -- Warp ring rule, for any buff being lost
  705. if S{'Warp', 'Vocation'}:contains(player.equipment.ring2) then
  706. if not buffactive['Dedication'] then
  707. disable('ring2')
  708. end
  709. else
  710. enable('ring2')
  711. end
  712. end
  713. -------------------------------------------------------------------------------------------------------------------
  714. -- User code that supplements self-commands.
  715. -------------------------------------------------------------------------------------------------------------------
  716. -- Called by the 'update' self-command, for common needs.
  717. -- Set eventArgs.handled to true if we don't want automatic equipping of gear.
  718. function job_update(cmdParams, eventArgs)
  719. war_sj = player.sub_job == 'WAR' or false
  720. get_combat_form()
  721. update_melee_groups()
  722. end
  723. function get_custom_wsmode(spell, spellMap, default_wsmode)
  724. if state.OffenseMode.current == 'Mid' then
  725. if buffactive['Aftermath: Lv.3'] then
  726. return 'AM3Mid'
  727. end
  728. elseif state.OffenseMode.current == 'Acc' then
  729. if buffactive['Aftermath: Lv.3'] then
  730. return 'AM3Acc'
  731. end
  732. else
  733. if buffactive['Aftermath: Lv.3'] then
  734. return 'AM3'
  735. end
  736. end
  737. end
  738. -------------------------------------------------------------------------------------------------------------------
  739. -- Utility functions specific to this job.
  740. -------------------------------------------------------------------------------------------------------------------
  741. function get_combat_form()
  742. if war_sj then
  743. state.CombatForm:set("War")
  744. else
  745. state.CombatForm:reset()
  746. end
  747. end
  748. function aw_custom_aftermath_timers_precast(spell)
  749. if spell.type == 'WeaponSkill' then
  750. info.aftermath = {}
  751. local mythic_ws = "Insurgency"
  752. info.aftermath.weaponskill = mythic_ws
  753. info.aftermath.duration = 0
  754. info.aftermath.level = math.floor(player.tp / 1000)
  755. if info.aftermath.level == 0 then
  756. info.aftermath.level = 1
  757. end
  758. if spell.english == mythic_ws and player.equipment.main == 'Liberator' then
  759. -- nothing can overwrite lvl 3
  760. if buffactive['Aftermath: Lv.3'] then
  761. return
  762. end
  763. -- only lvl 3 can overwrite lvl 2
  764. if info.aftermath.level ~= 3 and buffactive['Aftermath: Lv.2'] then
  765. return
  766. end
  767. if info.aftermath.level == 1 then
  768. info.aftermath.duration = 90
  769. elseif info.aftermath.level == 2 then
  770. info.aftermath.duration = 120
  771. else
  772. info.aftermath.duration = 180
  773. end
  774. end
  775. end
  776. end
  777. -- Call from job_aftercast() to create the custom aftermath timer.
  778. function aw_custom_aftermath_timers_aftercast(spell)
  779. if not spell.interrupted and spell.type == 'WeaponSkill' and
  780. info.aftermath and info.aftermath.weaponskill == spell.english and info.aftermath.duration > 0 then
  781. local aftermath_name = 'Aftermath: Lv.'..tostring(info.aftermath.level)
  782. send_command('timers d "Aftermath: Lv.1"')
  783. send_command('timers d "Aftermath: Lv.2"')
  784. send_command('timers d "Aftermath: Lv.3"')
  785. send_command('timers c "'..aftermath_name..'" '..tostring(info.aftermath.duration)..' down abilities/aftermath'..tostring(info.aftermath.level)..'.png')
  786. info.aftermath = {}
  787. end
  788. end
  789. -- Handle notifications of general user state change.
  790. function job_state_change(stateField, newValue, oldValue)
  791. if stateField == 'Look Cool' then
  792. if newValue == 'On' then
  793. send_command('gs equip sets.cool;wait 1.2;input /lockstyle on;wait 1.2;gs c update user')
  794. --send_command('wait 1.2;gs c update user')
  795. else
  796. send_command('@input /lockstyle off')
  797. end
  798. end
  799. end
  800. windower.register_event('Zone change', function(new,old)
  801. if state.LookCool.value == 'On' then
  802. send_command('wait 3; gs equip sets.cool;wait 1.2;input /lockstyle on;wait 1.2;gs c update user')
  803. end
  804. end)
  805. function select_ammo()
  806. if world.time >= (18*60) or world.time <= (6*60) then
  807. return sets.NightAmmo
  808. else
  809. return sets.DayAmmo
  810. end
  811. end
  812. --function adjust_melee_groups()
  813. -- classes.CustomMeleeGroups:clear()
  814. -- if state.Buff.Aftermath then
  815. -- classes.CustomMeleeGroups:append('AM')
  816. -- end
  817. --end
  818. function update_melee_groups()
  819. classes.CustomMeleeGroups:clear()
  820. if buffactive['Aftermath: Lv.3'] then
  821. classes.CustomMeleeGroups:append('AM3')
  822. end
  823. end
  824.  
  825. function select_default_macro_book()
  826. -- Default macro set/book
  827. if player.sub_job == 'DNC' then
  828. set_macro_page(1, 2)
  829. elseif player.sub_job == 'SAM' then
  830. set_macro_page(1, 2)
  831. else
  832. set_macro_page(1, 2)
  833. end
  834. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement