Advertisement
Guest User

war.lua

a guest
Jan 19th, 2018
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.97 KB | None | 0 0
  1. -- Initialization function for this job file.
  2. function get_sets()
  3. mote_include_version = 2
  4. include('Mote-Include.lua')
  5. end
  6.  
  7. -- //gs debugmode
  8. -- //gs showswaps
  9.  
  10. function binds_on_load()
  11. -- F9-F12
  12. send_command('bind f10 gs c cycle HybridMode')
  13. send_command('bind f11 gs c mainweapon')
  14. send_command('bind f12 gs c update user')
  15.  
  16. -- ALT F9-12
  17. send_command('bind !f10 gs c cycle OffenseMode')
  18. send_command('bind !f11 gs c cycle WeaponskillMode')
  19. send_command('bind !f12 input /ja "Mighty Strikes" <me>; pause 1; input /ja "Brazen Rush" <me>')
  20.  
  21. -- Rest
  22. send_command('bind @1 gs c set mainweapon "Ragnarok"')
  23. send_command('bind @2 gs c set mainweapon "Montante"')
  24. send_command('bind @3 gs c set mainweapon "Bravura"')
  25. send_command('bind @4 gs c set mainweapon "Reikiko"')
  26. send_command('bind @5 gs c set mainweapon "Axe"')
  27. send_command('bind @6 gs c set mainweapon "Club"')
  28. if player.sub_job == 'DNC' then
  29. send_command('bind @7 gs c set mainweapon "SwordDualwield"')
  30. send_command('bind @8 gs c set mainweapon "DaggerDualwield"')
  31. else
  32. send_command('bind @7 gs c set mainweapon "Staff"')
  33. send_command('bind @8 gs c set mainweapon "Tanmogayi"')
  34. end
  35. send_command('bind ` input /target <bt>')
  36. send_command('bind @t gs equip sets.TH; input /echo ***TH is up!!***')
  37. end
  38.  
  39. function job_setup()
  40. state.mainweapon = M{['description'] = 'Main Weapon'}
  41. if player.sub_job == 'DNC' then
  42. state.mainweapon:options('Ragnarok','Montante','Bravura','Reikiko','Axe','Club','SwordDualwield','DaggerDualwield')
  43. else
  44. state.mainweapon:options('Ragnarok','Montante','Bravura','Reikiko','Axe','Club','Staff','Tanmogayi')
  45. end
  46. end
  47.  
  48. function user_setup()
  49. -- Options: Override default values
  50. state.OffenseMode:options('Normal', 'LowAcc', 'MidAcc', 'HighAcc', 'Crit')
  51. state.WeaponskillMode:options('Normal', 'Capped')
  52. state.HybridMode:options('Normal', 'PDT')
  53. state.CastingMode:options('Normal', 'Resistant')
  54. state.IdleMode:options('Normal','PDT')
  55. state.PhysicalDefenseMode:options('PDT', 'MDT')
  56.  
  57. Rag_weapons = S{'Ragnarok'}
  58. Shield_weapons = S{'Blurred Shield +1'}
  59. Bravura_weapons = S{'Bravura'}
  60. Montante_weapons =S{'Montante +1'}
  61. Staff_weapons = S{'Gozuki Mezuki'}
  62. Dualwield_weapons = S{'Reikiko'}
  63. update_combat_form()
  64. select_default_macro_book()
  65. end
  66.  
  67. -- Called when this job file is unloaded (eg: job change)
  68. function file_unload()
  69. if binds_on_unload then
  70. binds_on_unload()
  71. end
  72. end
  73.  
  74. sets.mainweapon = {}
  75. sets.mainweapon.Ragnarok = {
  76. main="Ragnarok",
  77. sub="Utu Grip"
  78. }
  79. sets.mainweapon.Montante = {
  80. main="Montante +1",
  81. sub="Utu Grip"
  82. }
  83. sets.mainweapon.Reikiko = {
  84. main="Reikiko",
  85. sub="Blurred Shield +1"
  86. }
  87. sets.mainweapon.Bravura = {
  88. main="Bravura",
  89. sub="Utu Grip"
  90. }
  91. sets.mainweapon.Staff = {
  92. main="Gozuki Mezuki",
  93. sub="Utu Grip"
  94. }
  95. sets.mainweapon.Axe = {
  96. main="Arasy Tabar +1",
  97. sub="Blurred Shield +1"
  98. }
  99. sets.mainweapon.Club = {
  100. main="Beryllium Mace +1",
  101. sub="Blurred Shield +1"
  102. }
  103. sets.mainweapon.Tanmogayi = {
  104. main="Tanmogayi +1",
  105. sub="Blurred Shield +1"
  106. }
  107. sets.mainweapon.DaggerDualwield = {
  108. main="Anathema Harpe +1",
  109. sub="Reikiko"
  110. }
  111. sets.mainweapon.SwordDualwield = {
  112. main="Tanmogayi +1",
  113. sub="Reikiko"
  114. }
  115.  
  116. -- Define sets and vars used by this job file.
  117. function init_gear_sets()
  118. -- Precast sets
  119. sets.precast.JA['Berserk'] = {feet="Agoge Calligae +1",body="Pummeler's Lorica +3",back="Cichol's Mantle"}
  120. sets.precast.JA['Warcry'] = {head="Agoge Mask +1"}
  121. sets.precast.JA['Aggressor'] = {body="Agoge Lorica +1"}
  122. sets.precast.JA['Blood Rage'] = {body="Boii Lorica +1"}
  123. sets.precast.JA['Retaliation'] = {}
  124. sets.precast.JA['Restraint'] = {}
  125. sets.precast.JA['Mighty Strikes'] = {hands="Agoge Mufflers +1"}
  126. sets.precast.JA["Warrior's Charge"] = {}
  127. sets.precast.JA['Provoke'] = {}
  128. sets.precast.JA['Tomahawk'] = {ammo="Thr. Tomahawk"}
  129. sets.TH = {waist="Chaac Belt",body={ name="Valorous Mail", augments={'Accuracy+2','Weapon skill damage +1%','"Treasure Hunter"+2',}},right_ring="Gorney Ring"}
  130. -- Fast cast sets for spells
  131. sets.precast.FC = {}
  132.  
  133. -- Midcast Sets
  134. sets.midcast.FastRecast = {}
  135.  
  136. sets.midcast.Flash = {}
  137.  
  138. -- Resting sets
  139. sets.resting = {}
  140.  
  141. -- Idle sets
  142. sets.idle = {
  143. ammo="Ginsen",
  144. head="Valorous Mask",
  145. body="Sulevia's Plate. +2",
  146. hands="Sulev. Gauntlets +2",
  147. legs="Sulev. Cuisses +2",
  148. feet="Hermes' Sandals",
  149. neck="Loricate Torque +1",
  150. waist="Flume Belt +1",
  151. left_ear="Cessance Earring",
  152. right_ear="Telos Earring",
  153. left_ring="Defending Ring",
  154. right_ring="Gelatinous Ring +1",
  155. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
  156. }
  157.  
  158. sets.idle.PDT = {
  159. ammo="Ginsen",
  160. head="Sulevia's Mask +2",
  161. body="Sulevia's Plate. +2",
  162. hands="Sulev. Gauntlets +2",
  163. legs="Sulev. Cuisses +2",
  164. feet="Sulev. Leggings +2",
  165. neck="Loricate Torque +1",
  166. waist="Flume Belt +1",
  167. left_ear="Cessance Earring",
  168. right_ear="Telos Earring",
  169. left_ring="Defending Ring",
  170. right_ring="Gelatinous Ring +1",
  171. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
  172. }
  173.  
  174. sets.idle.Town = {
  175. ammo="Seeth. Bomblet +1",
  176. head={ name="Argosy Celata +1", augments={'DEX+12','Accuracy+20','"Dbl.Atk."+3',}},
  177. body={ name="Argosy Hauberk +1", augments={'STR+12','DEX+12','Attack+20',}},
  178. hands={ name="Argosy Mufflers +1", augments={'STR+20','"Dbl.Atk."+3','Haste+3%',}},
  179. legs={ name="Argosy Breeches +1", augments={'STR+12','DEX+12','Attack+20',}},
  180. feet="Hermes' Sandals",
  181. neck="Fotia Gorget",
  182. waist="Fotia Belt",
  183. left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
  184. right_ear="Brutal Earring",
  185. left_ring="Regal Ring",
  186. right_ring="Niqmaddu Ring",
  187. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}}
  188. }
  189.  
  190. sets.idle.Weak = {
  191. head="Twilight Helm",
  192. body="Twilight Mail"
  193. }
  194.  
  195. -- Waltz Sets
  196.  
  197. sets.precast.JA['Curing Waltz'] = {
  198. ammo="Ginsen",
  199. head="Sulevia's Mask +2",
  200. body="Pumm. Lorica +3",
  201. hands="Sulev. Gauntlets +2",
  202. legs="Dashing Subligar",
  203. feet="Pumm. Calligae +3",
  204. neck="Loricate Torque +1",
  205. waist="Chaac Belt",
  206. left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
  207. right_ear="Thureous Earring",
  208. left_ring="Asklepian Ring",
  209. right_ring="Valseur's Ring",
  210. back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','"Dbl.Atk."+10',}},
  211. }
  212.  
  213. sets.precast.JA['Curing Waltz II'] = {
  214. ammo="Ginsen",
  215. head="Sulevia's Mask +2",
  216. body="Pumm. Lorica +3",
  217. hands="Sulev. Gauntlets +2",
  218. legs="Dashing Subligar",
  219. feet="Pumm. Calligae +3",
  220. neck="Loricate Torque +1",
  221. waist="Chaac Belt",
  222. left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
  223. right_ear="Thureous Earring",
  224. left_ring="Asklepian Ring",
  225. right_ring="Valseur's Ring",
  226. back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','"Dbl.Atk."+10',}},
  227. }
  228.  
  229. sets.precast.JA['Curing Waltz III'] = {
  230. ammo="Ginsen",
  231. head="Sulevia's Mask +2",
  232. body="Pumm. Lorica +3",
  233. hands="Sulev. Gauntlets +2",
  234. legs="Dashing Subligar",
  235. feet="Pumm. Calligae +3",
  236. neck="Loricate Torque +1",
  237. waist="Chaac Belt",
  238. left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
  239. right_ear="Thureous Earring",
  240. left_ring="Asklepian Ring",
  241. right_ring="Valseur's Ring",
  242. back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','"Dbl.Atk."+10',}},
  243. }
  244.  
  245. sets.precast.JA['Divine Waltz'] = {
  246. ammo="Ginsen",
  247. head="Sulevia's Mask +2",
  248. body="Pumm. Lorica +3",
  249. hands="Sulev. Gauntlets +2",
  250. legs="Dashing Subligar",
  251. feet="Pumm. Calligae +3",
  252. neck="Loricate Torque +1",
  253. waist="Chaac Belt",
  254. left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
  255. right_ear="Thureous Earring",
  256. left_ring="Asklepian Ring",
  257. right_ring="Valseur's Ring",
  258. back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','"Dbl.Atk."+10',}},
  259. }
  260.  
  261. -- Ragnarok Sets
  262.  
  263. sets.engaged.Ragnarok = {
  264. ammo="Ginsen",
  265. head="Flam. Zucchetto +2",
  266. body={ name="Valorous Mail", augments={'Accuracy+17 Attack+17','"Store TP"+5','VIT+2','Accuracy+12','Attack+15',}},
  267. hands="Sulev. Gauntlets +2",
  268. legs="Pumm. Cuisses +3",
  269. feet="Pumm. Calligae +3",
  270. neck="Lissome Necklace",
  271. waist="Ioskeha Belt",
  272. left_ear="Cessance Earring",
  273. right_ear="Brutal Earring",
  274. left_ring="Regal Ring",
  275. right_ring="Niqmaddu Ring",
  276. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
  277. }
  278.  
  279. sets.engaged.Ragnarok.PDT = {
  280. ammo="Ginsen",
  281. head="Sulevia's Mask +2",
  282. body="Sulevia's Plate. +2",
  283. hands="Sulev. Gauntlets +2",
  284. legs="Sulev. Cuisses +2",
  285. feet="Sulev. Leggings +2",
  286. neck="Loricate Torque +1",
  287. waist="Ioskeha Belt",
  288. left_ear="Cessance Earring",
  289. right_ear="Brutal Earring",
  290. left_ring="Defending Ring",
  291. right_ring="Niqmaddu Ring",
  292. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
  293. }
  294.  
  295. sets.engaged.Ragnarok.LowAcc = {
  296. ammo="Ginsen",
  297. head="Flam. Zucchetto +2",
  298. body={ name="Valorous Mail", augments={'Accuracy+17 Attack+17','"Store TP"+5','VIT+2','Accuracy+12','Attack+15',}},
  299. hands={ name="Valorous Mitts", augments={'Accuracy+20','"Store TP"+8','VIT+9',}},
  300. legs={ name="Odyssean Cuisses", augments={'Accuracy+19 Attack+19','"Store TP"+5','DEX+12','Accuracy+7','Attack+12',}},
  301. feet="Pumm. Calligae +3",
  302. neck="Ainia Collar",
  303. waist="Ioskeha Belt",
  304. left_ear="Cessance Earring",
  305. right_ear="Telos Earring",
  306. left_ring="Petrov Ring",
  307. right_ring="Niqmaddu Ring",
  308. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
  309. }
  310.  
  311. sets.engaged.Ragnarok.LowAcc.PDT = sets.engaged.Ragnarok.PDT
  312.  
  313. sets.engaged.Ragnarok.MidAcc = {}
  314.  
  315. sets.engaged.Ragnarok.MidAcc.PDT = {}
  316.  
  317.  
  318. sets.engaged.Ragnarok.HighAcc = {}
  319.  
  320. sets.engaged.Ragnarok.HighAcc.PDT = sets.engaged.Ragnarok.MidAcc.PDT
  321.  
  322. -- Montante Sets
  323.  
  324. sets.engaged.Montante = {
  325. ammo="Ginsen",
  326. head="Flam. Zucchetto +2",
  327. body={ name="Valorous Mail", augments={'Accuracy+17 Attack+17','"Store TP"+5','VIT+2','Accuracy+12','Attack+15',}},
  328. hands="Sulev. Gauntlets +2",
  329. legs="Pumm. Cuisses +3",
  330. feet="Pumm. Calligae +3",
  331. neck="Lissome Necklace",
  332. waist="Ioskeha Belt",
  333. left_ear="Cessance Earring",
  334. right_ear="Brutal Earring",
  335. left_ring="Hetairoi Ring",
  336. right_ring="Niqmaddu Ring",
  337. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
  338. }
  339.  
  340. sets.engaged.Montante.PDT = {
  341. ammo="Ginsen",
  342. head="Sulevia's Mask +2",
  343. body="Sulevia's Plate. +2",
  344. hands="Sulev. Gauntlets +2",
  345. legs="Sulev. Cuisses +2",
  346. feet="Sulev. Leggings +2",
  347. neck="Loricate Torque +1",
  348. waist="Ioskeha Belt",
  349. left_ear="Cessance Earring",
  350. right_ear="Brutal Earring",
  351. left_ring="Defending Ring",
  352. right_ring="Niqmaddu Ring",
  353. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
  354. }
  355.  
  356. -- Greataxe Sets
  357. sets.engaged.Bravura = {
  358. ammo="Ginsen",
  359. head="Flam. Zucchetto +2",
  360. body={ name="Valorous Mail", augments={'Accuracy+17 Attack+17','"Store TP"+5','VIT+2','Accuracy+12','Attack+15',}},
  361. hands="Sulev. Gauntlets +2",
  362. legs="Pumm. Cuisses +3",
  363. feet="Pumm. Calligae +3",
  364. neck="Ainia Collar",
  365. waist="Ioskeha Belt",
  366. left_ear="Cessance Earring",
  367. right_ear="Telos Earring",
  368. left_ring="Petrov Ring",
  369. right_ring="Niqmaddu Ring",
  370. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
  371. }
  372.  
  373. sets.engaged.Bravura.PDT = {
  374. ammo="Ginsen",
  375. head="Sulevia's Mask +2",
  376. body={ name="Valorous Mail", augments={'Accuracy+17 Attack+17','"Store TP"+5','VIT+2','Accuracy+12','Attack+15',}},
  377. hands="Sulev. Gauntlets +2",
  378. legs="Pumm. Cuisses +3",
  379. feet="Pumm. Calligae +3",
  380. neck="Ainia Collar",
  381. waist="Ioskeha Belt",
  382. left_ear="Cessance Earring",
  383. right_ear="Telos Earring",
  384. left_ring="Defending Ring",
  385. right_ring="Gelatinous Ring +1",
  386. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
  387. }
  388.  
  389. -- Staff Sets
  390. sets.engaged.Staff = {
  391. ammo="Ginsen",
  392. head="Flam. Zucchetto +2",
  393. body={ name="Valorous Mail", augments={'Accuracy+17 Attack+17','"Store TP"+5','VIT+2','Accuracy+12','Attack+15',}},
  394. hands="Sulev. Gauntlets +2",
  395. legs="Pumm. Cuisses +3",
  396. feet="Pumm. Calligae +3",
  397. neck="Lissome Necklace",
  398. waist="Ioskeha Belt",
  399. left_ear="Cessance Earring",
  400. right_ear="Brutal Earring",
  401. left_ring="Petrov Ring",
  402. right_ring="Niqmaddu Ring",
  403. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
  404. }
  405.  
  406. sets.engaged.Staff.PDT = {
  407. ammo="Ginsen",
  408. head="Sulevia's Mask +2",
  409. body="Sulevia's Plate. +2",
  410. hands="Sulev. Gauntlets +2",
  411. legs="Sulev. Cuisses +2",
  412. feet="Sulev. Leggings +2",
  413. neck="Loricate Torque +1",
  414. waist="Ioskeha Belt",
  415. left_ear="Cessance Earring",
  416. right_ear="Telos Earring",
  417. left_ring="Defending Ring",
  418. right_ring="Niqmaddu Ring",
  419. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
  420. }
  421.  
  422. -- Blurred Sets
  423. sets.engaged.Blurred = {
  424. ammo="Ginsen",
  425. head="Flam. Zucchetto +2",
  426. body={ name="Valorous Mail", augments={'Accuracy+17 Attack+17','"Store TP"+5','VIT+2','Accuracy+12','Attack+15',}},
  427. hands="Sulev. Gauntlets +2",
  428. legs="Pumm. Cuisses +3",
  429. feet="Pumm. Calligae +3",
  430. neck="Lissome Necklace",
  431. waist="Ioskeha Belt",
  432. left_ear="Cessance Earring",
  433. right_ear="Telos Earring",
  434. left_ring="Regal Ring",
  435. right_ring="Niqmaddu Ring",
  436. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
  437. }
  438.  
  439. sets.engaged.Blurred.PDT = {
  440. ammo="Ginsen",
  441. head="Sulevia's Mask +2",
  442. body="Sulevia's Plate. +2",
  443. hands="Sulev. Gauntlets +2",
  444. legs="Sulev. Cuisses +2",
  445. feet="Sulev. Leggings +2",
  446. neck="Loricate Torque +1",
  447. waist="Ioskeha Belt",
  448. left_ear="Cessance Earring",
  449. right_ear="Telos Earring",
  450. left_ring="Defending Ring",
  451. right_ring="Niqmaddu Ring",
  452. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
  453. }
  454.  
  455. sets.engaged.Blurred.Crit = {
  456. ammo="Yetshila",
  457. head="Valorous Mask",
  458. body={ name="Valorous Mail", augments={'Accuracy+17 Attack+17','"Store TP"+5','VIT+2','Accuracy+12','Attack+15',}},
  459. hands="Flam. Manopolas +2",
  460. legs="Pumm. Cuisses +3",
  461. feet="Pumm. Calligae +3",
  462. neck="Rancor Collar",
  463. waist="Ioskeha Belt",
  464. left_ear="Cessance Earring",
  465. right_ear="Telos Earring",
  466. left_ring="Regal Ring",
  467. right_ring="Hetairoi Ring",
  468. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Crit.hit rate+10',}}
  469. }
  470.  
  471. --Dual wield sets
  472.  
  473. sets.engaged.Dualwield = {
  474. ammo="Ginsen",
  475. head="Flam. Zucchetto +2",
  476. body={ name="Valorous Mail", augments={'Accuracy+17 Attack+17','"Store TP"+5','VIT+2','Accuracy+12','Attack+15',}},
  477. hands="Sulev. Gauntlets +2",
  478. legs="Pumm. Cuisses +3",
  479. feet="Pumm. Calligae +3",
  480. neck="Lissome Necklace",
  481. waist="Ioskeha Belt",
  482. left_ear="Suppanomimi",
  483. right_ear="Eabani Earring",
  484. left_ring="Regal Ring",
  485. right_ring="Niqmaddu Ring",
  486. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
  487. }
  488.  
  489. sets.engaged.Dualwield.PDT = {
  490. ammo="Ginsen",
  491. head="Sulevia's Mask +2",
  492. body="Sulevia's Plate. +2",
  493. hands="Sulev. Gauntlets +2",
  494. legs="Sulev. Cuisses +2",
  495. feet="Sulev. Leggings +2",
  496. neck="Loricate Torque +1",
  497. waist="Ioskeha Belt",
  498. left_ear="Suppanomimi",
  499. right_ear="Eabani Earring",
  500. left_ring="Defending Ring",
  501. right_ring="Niqmaddu Ring",
  502. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
  503. }
  504.  
  505. sets.engaged.Dualwield.Crit = {
  506. ammo="Yetshila",
  507. head="Valorous Mask",
  508. body={ name="Valorous Mail", augments={'Accuracy+17 Attack+17','"Store TP"+5','VIT+2','Accuracy+12','Attack+15',}},
  509. hands="Flam. Manopolas +2",
  510. legs="Pumm. Cuisses +3",
  511. feet="Pumm. Calligae +3",
  512. neck="Rancor Collar",
  513. waist="Ioskeha Belt",
  514. left_ear="Suppanomimi",
  515. right_ear="Eabani Earring",
  516. left_ring="Regal Ring",
  517. right_ring="Hetairoi Ring",
  518. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Crit.hit rate+10',}}
  519. }
  520.  
  521. -- Weaponskill sets
  522. sets.precast.WS = {
  523. ammo="Knobkierrie",
  524. head={ name="Odyssean Helm", augments={'Accuracy+29','Weapon skill damage +5%','STR+5','Attack+8',}},
  525. body="Pummeler's Lorica +3",
  526. hands={ name="Odyssean Gauntlets", augments={'Accuracy+17 Attack+17','Weapon skill damage +4%','DEX+5','Attack+9',}},
  527. legs={ name="Odyssean Cuisses", augments={'Attack+14','Weapon skill damage +3%','STR+14','Accuracy+13',}},
  528. feet="Sulev. Leggings +2",
  529. neck="Fotia Gorget",
  530. waist="Fotia Belt",
  531. left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
  532. right_ear="Ishvara Earring",
  533. left_ring="Regal Ring",
  534. right_ring="Niqmaddu Ring",
  535. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}}
  536. }
  537.  
  538. sets.precast.WS.Acc = set_combine(sets.precast.WS, {})
  539.  
  540.  
  541. sets.precast.WS['Resolution'] = {
  542. ammo="Seeth. Bomblet +1",
  543. head={ name="Argosy Celata +1", augments={'DEX+12','Accuracy+20','"Dbl.Atk."+3',}},
  544. body={ name="Argosy Hauberk +1", augments={'STR+12','DEX+12','Attack+20',}},
  545. hands={ name="Argosy Mufflers +1", augments={'STR+20','"Dbl.Atk."+3','Haste+3%',}},
  546. legs={ name="Argosy Breeches +1", augments={'STR+12','DEX+12','Attack+20',}},
  547. feet="Pumm. Calligae +3",
  548. neck="Fotia Gorget",
  549. waist="Fotia Belt",
  550. left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
  551. right_ear="Brutal Earring",
  552. left_ring="Regal Ring",
  553. right_ring="Niqmaddu Ring",
  554. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}}
  555. }
  556.  
  557. sets.precast.WS['Resolution'].Capped = set_combine(sets.precast.WS['Resolution'], {head="Flam. Zucchetto +2", feet="Flam. Gambieras +2"})
  558.  
  559. sets.precast.WS['Scourge'] = {
  560. ammo="Knobkierrie",
  561. head={ name="Odyssean Helm", augments={'Accuracy+29','Weapon skill damage +5%','STR+5','Attack+8',}},
  562. body="Pummeler's Lorica +3",
  563. hands={ name="Odyssean Gauntlets", augments={'Accuracy+17 Attack+17','Weapon skill damage +4%','DEX+5','Attack+9',}},
  564. legs={ name="Odyssean Cuisses", augments={'Attack+14','Weapon skill damage +3%','STR+14','Accuracy+13',}},
  565. feet="Sulev. Leggings +2",
  566. neck="Caro Necklace",
  567. waist="Grunfeld Rope",
  568. left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
  569. right_ear="Ishvara Earring",
  570. left_ring="Regal Ring",
  571. right_ring="Niqmaddu Ring",
  572. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}}
  573. }
  574.  
  575. sets.precast.WS['Cloudsplitter'] = {
  576. ammo="Knobkierrie",
  577. head={ name="Jumalik Helm", augments={'MND+8','"Mag.Atk.Bns."+14','Magic burst dmg.+8%',}},
  578. body="Pummeler's Lorica +3",
  579. hands={ name="Founder's Gauntlets", augments={'STR+10','Attack+15','"Mag.Atk.Bns."+15','Phys. dmg. taken -5%',}},
  580. legs={ name="Odyssean Cuisses", augments={'Accuracy+4 Attack+4','Weapon skill damage +5%','STR+6','Accuracy+12','Attack+6',}},
  581. feet={ name="Founder's Greaves", augments={'VIT+10','Accuracy+15','"Mag.Atk.Bns."+15','Mag. Evasion+15',}},
  582. neck="Sanctity Necklace",
  583. waist="Salire Belt",
  584. left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
  585. right_ear="Friomisi Earring",
  586. left_ring="Regal Ring",
  587. right_ring="Acumen Ring",
  588. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}}
  589. }
  590.  
  591. sets.precast.WS['Upheaval'] = {
  592. ammo="Knobkierrie",
  593. head={ name="Odyssean Helm", augments={'Accuracy+19 Attack+19','"Dbl.Atk."+3','VIT+4',}},
  594. body="Pumm. Lorica +3",
  595. hands="Sulev. Gauntlets +2",
  596. legs="Sulev. Cuisses +2",
  597. feet="Pumm. Calligae +3",
  598. neck="Unmoving Collar +1",
  599. waist="Caudata Belt",
  600. left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
  601. right_ear="Brutal Earring",
  602. left_ring="Regal Ring",
  603. right_ring="Niqmaddu Ring",
  604. back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','"Dbl.Atk."+10'}}
  605. }
  606.  
  607. sets.precast.WS['Upheaval'].HighTP = {
  608. ammo="Knobkierrie",
  609. head={ name="Odyssean Helm", augments={'Attack+26','Weapon skill damage +4%','VIT+14','Accuracy+15',}},
  610. body="Pumm. Lorica +3",
  611. hands={ name="Odyssean Gauntlets", augments={'Accuracy+17 Attack+17','Weapon skill damage +4%','DEX+5','Attack+9',}},
  612. legs={ name="Odyssean Cuisses", augments={'Accuracy+4 Attack+4','Weapon skill damage +5%','STR+6','Accuracy+12','Attack+6',}},
  613. feet="Sulev. Leggings +2",
  614. neck="Unmoving Collar +1",
  615. waist="Caudata Belt",
  616. left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
  617. right_ear="Ishvara Earring",
  618. left_ring="Regal Ring",
  619. right_ring="Niqmaddu Ring",
  620. back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','Weapon skill damage +10%',}}
  621. }
  622.  
  623. sets.precast.WS['Ukkos Fury'] = {
  624. ammo="Yetshila",
  625. head={ name="Argosy Celata +1", augments={'DEX+12','Accuracy+20','"Dbl.Atk."+3',}},
  626. body={ name="Argosy Hauberk +1", augments={'STR+12','DEX+12','Attack+20',}},
  627. hands={ name="Argosy Mufflers +1", augments={'STR+20','"Dbl.Atk."+3','Haste+3%',}},
  628. legs={ name="Argosy Breeches +1", augments={'STR+12','DEX+12','Attack+20',}},
  629. feet="Boii Calligae +1",
  630. neck="Rancor Collar",
  631. waist="Windbuffet Belt +1",
  632. left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
  633. right_ear="Brutal Earring",
  634. left_ring="Regal Ring",
  635. right_ring="Niqmaddu Ring",
  636. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Crit.hit rate+10',}}
  637. }
  638.  
  639. sets.precast.WS['Armor Break'] = {
  640. ammo="Seeth. Bomblet +1",
  641. head="Flam. Zucchetto +2",
  642. body="Flamma Korazin +2",
  643. hands="Flam. Manopolas +2",
  644. legs="Flamma Dirs +2",
  645. feet="Flam. Gambieras +2",
  646. neck="Sanctity Necklace",
  647. waist="Fotia Belt",
  648. left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
  649. right_ear="Telos Earring",
  650. left_ring="Regal Ring",
  651. right_ring="Stikini Ring",
  652. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}}
  653. }
  654.  
  655. sets.precast.WS['Requiescat'] = {
  656. ammo="Seeth. Bomblet +1",
  657. head={ name="Argosy Celata +1", augments={'DEX+12','Accuracy+20','"Dbl.Atk."+3',}},
  658. body={ name="Argosy Hauberk +1", augments={'STR+12','DEX+12','Attack+20',}},
  659. hands={ name="Argosy Mufflers +1", augments={'STR+20','"Dbl.Atk."+3','Haste+3%',}},
  660. legs={ name="Argosy Breeches +1", augments={'STR+12','DEX+12','Attack+20',}},
  661. feet="Pumm. Calligae +3",
  662. neck="Fotia Gorget",
  663. waist="Fotia Belt",
  664. left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +25',}},
  665. right_ear="Brutal Earring",
  666. left_ring="Regal Ring",
  667. right_ring="Niqmaddu Ring",
  668. back={ name="Cichol's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}}
  669. }
  670.  
  671. sets.precast.WS['Shockwave'] = set_combine(sets.precast.WS['Scourge'],sets.TH)
  672.  
  673. sets.precast.WS['Metatron Torment'] = sets.precast.WS['Scourge']
  674.  
  675. sets.precast.WS['Ground Strike'] = sets.precast.WS['Scourge']
  676.  
  677. sets.precast.WS['Steel Cyclone'] = sets.precast.WS['Scourge']
  678.  
  679. sets.precast.WS['Kings Justice'] = set_combine(sets.precast.WS['Resolution'], {neck="Caro Necklace", waist="Grunfeld Rope"})
  680.  
  681. sets.precast.WS['Fell Cleave'] = sets.precast.WS['Scourge']
  682.  
  683. sets.precast.WS['Raging Rush'] = sets.precast.WS['Ukkos Fury']
  684.  
  685. sets.precast.WS['Full Break'] = sets.precast.WS['Armor Break']
  686.  
  687. sets.precast.WS['Retribution'] = sets.precast.WS['Scourge']
  688.  
  689. sets.precast.WS['Shell Crusher'] = sets.precast.WS['Armor Break']
  690.  
  691. sets.precast.WS['Savage Blade'] = sets.precast.WS['Scourge']
  692.  
  693. sets.precast.WS['Savage Blade'].Acc = {}
  694.  
  695. sets.precast.WS['Vorpal Blade'] = set_combine(sets.precast.WS['Ukkos Fury'], {neck="Fotia Gorget", waist="Fotia Belt"})
  696.  
  697. sets.precast.WS['Evisceration'] = sets.precast.WS['Vorpal Blade']
  698.  
  699. sets.precast.WS['Rampage'] = sets.precast.WS['Vorpal Blade']
  700.  
  701. sets.precast.WS['Ruinator'] = sets.precast.WS['Resolution']
  702.  
  703. sets.precast.WS['Hexa Strike'] = sets.precast.WS['Vorpal Blade']
  704.  
  705. sets.precast.WS['Black Halo'] = sets.precast.WS['Scourge']
  706.  
  707. sets.precast.WS['Judgment'] = sets.precast.WS['Savage Blade']
  708.  
  709. sets.precast.WS['Brainshaker'] = sets.precast.WS['Armor Break']
  710.  
  711. sets.precast.WS['Cataclysm'] = sets.precast.WS['Cloudsplitter']
  712.  
  713. sets.precast.WS['Freezebite'] = sets.precast.WS['Cloudsplitter']
  714.  
  715. sets.precast.WS['Frostbite'] = sets.precast.WS['Cloudsplitter']
  716.  
  717. sets.precast.WS['Herculean Slash'] = sets.precast.WS['Cloudsplitter']
  718.  
  719. sets.precast.WS['Seraph Blade'] = sets.precast.WS['Cloudsplitter']
  720.  
  721. sets.precast.WS['Shining Blade'] = sets.precast.WS['Cloudsplitter']
  722.  
  723. sets.precast.WS['Red Lotus Blade'] = sets.precast.WS['Cloudsplitter']
  724.  
  725. sets.precast.WS['Burning Blade'] = sets.precast.WS['Cloudsplitter']
  726.  
  727. sets.precast.WS['Sanguine Blade'] = sets.precast.WS['Cloudsplitter']
  728.  
  729. -- Mighty Strikes WS Set --
  730. sets.MS_WS = {ammo="Yetshila",feet="Boii Calligae +1"}
  731. end
  732.  
  733. -- Job-specific hooks for standard casting events.
  734. function job_midcast(spell, action, spellMap, eventArgs)
  735.  
  736. end
  737.  
  738. -- Called when the player's status changes.
  739. function job_state_change(field, new_value, old_value)
  740.  
  741. end
  742.  
  743. function display_current_job_state(eventArgs)
  744. local msg = 'Melee'
  745. if state.HybridMode.value ~= 'Normal' then
  746. msg = msg .. '/' .. state.HybridMode.value
  747. end
  748. end
  749.  
  750. function update_combat_form()
  751. -- Check Weapontype
  752. if Rag_weapons:contains(player.equipment.main) then
  753. state.CombatForm:set('Ragnarok')
  754. elseif
  755. Shield_weapons:contains(player.equipment.sub) then
  756. state.CombatForm:set('Blurred')
  757. elseif
  758. Bravura_weapons:contains(player.equipment.main) then
  759. state.CombatForm:set('Bravura')
  760. elseif
  761. Montante_weapons:contains(player.equipment.main) then
  762. state.CombatForm:set('Montante')
  763. elseif
  764. Staff_weapons:contains(player.equipment.main) then
  765. state.CombatForm:set('Staff')
  766. elseif
  767. Dualwield_weapons:contains(player.equipment.sub) then
  768. state.CombatForm:set('Dualwield')
  769. else
  770. state.CombatForm:reset()
  771. end
  772. end
  773.  
  774. function job_self_command(cmdParams, eventArgs)
  775. command = cmdParams[1]:lower()
  776. if command=='mainweapon' then
  777. enable('main','sub')
  778. mainswap=1
  779. send_command('gs c cycle mainweapon')
  780. end
  781. end
  782.  
  783. function job_update(cmdParams, eventArgs)
  784. update_combat_form()
  785. end
  786.  
  787. -- Called by the 'update' self-command, for common needs.
  788. -- Set eventArgs.handled to true if we don't want automatic equipping of gear.
  789. function job_update(cmdParams, eventArgs)
  790. update_combat_form()
  791. end
  792.  
  793. -- eventArgs is the same one used in job_precast, in case information needs to be persisted.
  794. moonshade_WS = S{"Resolution", "Savage Blade"}
  795.  
  796. function job_post_precast(spell, action, spellMap, eventArgs)
  797. if spell.type == 'WeaponSkill' then
  798. if moonshade_WS:contains(spell.english) and player.tp<2950 then
  799. equip({left_ear="Moonshade Earring"})
  800. end
  801. if buffactive['Mighty Strikes'] or buffactive['Sneak Attack'] then
  802. if sets.precast.WS[spell] then
  803. equipSet = sets.precast.WS[spell]
  804. equipSet = set_combine(equipSet,sets.MS_WS)
  805. equip(equipSet)
  806. else
  807. equipSet = sets.precast.WS
  808. equipSet = set_combine(equipSet,sets.MS_WS)
  809. equip(equipSet)
  810. end
  811. end
  812. if buffactive['Sekkanoki'] then
  813. if sets.precast.WS[spell] then
  814. equipSet = sets.precast.WS[spell]
  815. equip(equipSet)
  816. end
  817. end
  818. end
  819.  
  820. if spell.english == 'Upheaval' and buffactive['Warcry'] then
  821. equipSet = sets.precast.WS['Upheaval'].HighTP
  822. equip(equipSet)
  823. elseif spell.english == 'Upheaval' and player.tp > 1750 then
  824. equipSet = sets.precast.WS['Upheaval'].HighTP
  825. equip(equipSet)
  826. end
  827. if spell.english == 'Kings Justice' and buffactive['Warcry'] then
  828. equipSet = sets.precast.WS['Scourge']
  829. equip(equipSet)
  830. elseif spell.english == 'Kings Justice' and player.tp > 1750 then
  831. equipSet = sets.precast.WS['Scourge']
  832. equip(equipSet)
  833. end
  834. end
  835.  
  836. function job_buff_change(buff, gain)
  837. if buff == 'sleep' and player.status == 'Engaged' then
  838. if gain then
  839. equip({neck="Berserker's Torque"})
  840. add_to_chat(122, "***Asleep!! Equipping Berserker's Torque!!***")
  841. else
  842. handle_equipping_gear(player.status)
  843. add_to_chat(122, "***Awake!! Un-Equipping Berserker's Torque!!***")
  844. end
  845. end
  846. end
  847.  
  848. function customize_idle_set(idleSet)
  849. if mainswap then
  850. mainswap=0
  851. enable('main','sub')
  852. equip(sets.mainweapon[state.mainweapon.value])
  853. disable('main','sub')
  854. end
  855. if player.mpp < 51 then
  856. return set_combine(idleSet, sets.latent_refresh)
  857. end
  858. if state.Buff.Doom or state.Buff.Curse then
  859. return set_combine(idleSet, sets.Doom)
  860. else
  861. return idleSet
  862. end
  863. end
  864.  
  865. function customize_melee_set(meleeSet)
  866. if mainswap then
  867. mainswap=0
  868. enable('main','sub')
  869. equip(sets.mainweapon[state.mainweapon.value])
  870. disable('main','sub')
  871. end
  872. if state.Buff.Aftermath then
  873. return set_combine(meleeSet, sets.Aftermath)
  874. end
  875. if state.Buff.Doom then
  876. return set_combine(meleeSet, sets.Doom)
  877. end
  878. if state.Buff.Curse then
  879. return set_combine(meleeSet, sets.Curse)
  880. else
  881. return meleeSet
  882. end
  883. end
  884.  
  885. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
  886.  
  887.  
  888. -- Select default macro book on initial load or subjob change.
  889. function select_default_macro_book()
  890. -- Default macro set/book
  891. if player.sub_job == 'SAM' then
  892. set_macro_page(1, 11)
  893. elseif player.sub_job == 'RUN' then
  894. set_macro_page(1, 12)
  895. elseif player.sub_job == 'NIN' then
  896. set_macro_page(1, 13)
  897. elseif player.sub_job == 'DNC' then
  898. set_macro_page(1, 14)
  899. else
  900. set_macro_page(1, 11)
  901. end
  902. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement