|
iiPunch - Monk Guide
VIP
サーバ: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-06-27 16:27:59
Depending on weaponskill:
Smite: Yes, below ~1.9 cRatio, though it tends to only be a small boost.
Asuran: Yes, below ~2.1 cRatio. Attack is much more valuable for Asuran than for Smite.
Raging Fists (assuming 2000+ TP): Yes, below ~2.15 cRatio. It's useful at higher cRatios because it's less of a total detriment when you're meleeing up to higher TPs.
Shijin Spiral: Yes, below ~2.1 cRatio. About the same as Asuran.
[+]
Quetzalcoatl.Waffless
サーバ: Quetzalcoatl
Game: FFXI
Posts: 376
By Quetzalcoatl.Waffless 2014-06-28 11:55:36
How does this look for a VS set?
Head: Uk'uxkaj Cap
Neck: Light Gorget
Ear1: Flame Pearl
Ear2: Vulcan's Pearl
Body: Qaaxo Harness
Hands: Anchorite +1
Ring1: Epona's
Ring2: Pyrosoul
Back: Vespid Mantle
Waist: Caudata Belt
Legs: Nahtirah Trousers
Feet: Qaaxo Leggings
I haven't put an aug on the Uk'uxkaj cap yet, I guess it could be 8 str and ?
All Qaaxo is path B
No Moonshade earring yet because, well, *** that expansion.
Sylph.Ice
サーバ: Sylph
Game: FFXI
Posts: 305
By Sylph.Ice 2014-06-28 14:15:29
Quetzalcoatl.Waffless said: »How does this look for a VS set?
Head: Uk'uxkaj Cap
Neck: Light Gorget
Ear1: Flame Pearl
Ear2: Vulcan's Pearl
Body: Qaaxo Harness
Hands: Anchorite +1
Ring1: Epona's
Ring2: Pyrosoul
Back: Vespid Mantle
Waist: Caudata Belt
Legs: Nahtirah Trousers
Feet: Qaaxo Leggings
I haven't put an aug on the Uk'uxkaj cap yet, I guess it could be 8 str and ?
All Qaaxo is path B
No Moonshade earring yet because, well, *** that expansion.
Try changing the Nahtirah legs to Manibozho R15A, and the pyrosoul to a Rajas ring.
And get that damn Moonshade. It's smexy as fuark.
Ragnarok.Drewbles
サーバ: Ragnarok
Game: FFXI
Posts: 138
By Ragnarok.Drewbles 2014-06-29 23:44:39
I highly doubt that Hesy+1 pants are superior to switching that slot to Manibozho and dropping acc in a better slot. Without Anchorite+1, Hesy+1 legs lose a ton of value.
I'm not saying that you shouldn't have the gear, most of that gear is good in a PDT set which is something I fully endorse everyone should have, but the instances in which you want to actually use a hybrid set instead of switching between a normal TP set and a PDT set are so uncommon right now. You should definitely be using your high acc set more than your hybrid set that is for sure. Ya High acc set for delve 2 and tp for delve 1 pretty much, hybrid here and there on the hard hitters. Its a swap in set. And hesy legs and a godsend. Dat tp...
Quetzalcoatl.Waffless
サーバ: Quetzalcoatl
Game: FFXI
Posts: 376
By Quetzalcoatl.Waffless 2014-06-30 18:19:53
Quetzalcoatl.Waffless said: »How does this look for a VS set?
Head: Uk'uxkaj Cap
Neck: Light Gorget
Ear1: Flame Pearl
Ear2: Vulcan's Pearl
Body: Qaaxo Harness
Hands: Anchorite +1
Ring1: Epona's
Ring2: Pyrosoul
Back: Vespid Mantle
Waist: Caudata Belt
Legs: Nahtirah Trousers
Feet: Qaaxo Leggings
I haven't put an aug on the Uk'uxkaj cap yet, I guess it could be 8 str and ?
All Qaaxo is path B
No Moonshade earring yet because, well, *** that expansion.
Try changing the Nahtirah legs to Manibozho R15A, and the pyrosoul to a Rajas ring.
And get that damn Moonshade. It's smexy as fuark.
How are Manibozho better? I have those, just curious.
Bismarck.Inference
サーバ: Bismarck
Game: FFXI
Posts: 417
By Bismarck.Inference 2014-06-30 18:29:47
Nahtirah are better if you don't need attack. If you're doing a lowman Delve Manibozho will be better since you will probably be attack starved. Quiahuiz with STR augment is the real answer, if you don't need the Manibozho accuracy.
Carbuncle.Dagget
サーバ: Carbuncle
Game: FFXI
Posts: 85
By Carbuncle.Dagget 2014-06-30 18:48:38
Quetzalcoatl.Waffless said: »How does this look for a VS set?
Head: Uk'uxkaj Cap
Neck: Light Gorget
Ear1: Flame Pearl
Ear2: Vulcan's Pearl
Body: Qaaxo Harness
Hands: Anchorite +1
Ring1: Epona's
Ring2: Pyrosoul
Back: Vespid Mantle
Waist: Caudata Belt
Legs: Nahtirah Trousers
Feet: Qaaxo Leggings
I haven't put an aug on the Uk'uxkaj cap yet, I guess it could be 8 str and ?
All Qaaxo is path B
No Moonshade earring yet because, well, *** that expansion.
Brutal
Rancourous mantle
Quiahuiz / Otronif+1(crit (impetuslowacc)) / Ighwa / Manibozho for each tier of acc respectively
Quetzalcoatl.Waffless
サーバ: Quetzalcoatl
Game: FFXI
Posts: 376
By Quetzalcoatl.Waffless 2014-06-30 20:02:52
Quetzalcoatl.Waffless said: »How does this look for a VS set?
Head: Uk'uxkaj Cap
Neck: Light Gorget
Ear1: Flame Pearl
Ear2: Vulcan's Pearl
Body: Qaaxo Harness
Hands: Anchorite +1
Ring1: Epona's
Ring2: Pyrosoul
Back: Vespid Mantle
Waist: Caudata Belt
Legs: Nahtirah Trousers
Feet: Qaaxo Leggings
I haven't put an aug on the Uk'uxkaj cap yet, I guess it could be 8 str and ?
All Qaaxo is path B
No Moonshade earring yet because, well, *** that expansion.
Brutal
Rancourous mantle
Quiahuiz / Otronif+1(crit (impetuslowacc)) / Ighwa / Manibozho for each tier of acc respectively
Been experimenting with rancor collar/vespid mantle and gorget/rancorous mantle and am getting about the same results so far. I'd like to have Quiahuiz legs with the str aug, but they won't drop for me.
Carbuncle.Dagget
サーバ: Carbuncle
Game: FFXI
Posts: 85
By Carbuncle.Dagget 2014-06-30 20:37:42
Quetzalcoatl.Waffless said: »Quetzalcoatl.Waffless said: »How does this look for a VS set?
Head: Uk'uxkaj Cap
Neck: Light Gorget
Ear1: Flame Pearl
Ear2: Vulcan's Pearl
Body: Qaaxo Harness
Hands: Anchorite +1
Ring1: Epona's
Ring2: Pyrosoul
Back: Vespid Mantle
Waist: Caudata Belt
Legs: Nahtirah Trousers
Feet: Qaaxo Leggings
I haven't put an aug on the Uk'uxkaj cap yet, I guess it could be 8 str and ?
All Qaaxo is path B
No Moonshade earring yet because, well, *** that expansion.
Brutal
Rancourous mantle
Quiahuiz / Otronif+1(crit (impetuslowacc)) / Ighwa / Manibozho for each tier of acc respectively
Been experimenting with rancor collar/vespid mantle and gorget/rancorous mantle and am getting about the same results so far. I'd like to have Quiahuiz legs with the str aug, but they won't drop for me.
Collar Vespid is slightly inferior to gorget/mantle when benefitting from 100% of the attack. STR Augmented Kaabnax is an alternative to Lion pants if you don't have them then
[+]
By pchan 2014-07-03 18:18:42
So I did a simulation of 2 MNKs punching stuff nearly infinitely. I simplified a lot, assuming 5 TP/hit, 10 TP return on WS, 25% DA and 95% acc. I used 106 delay as round delay and 2 seconds as base wait time per WS.
Programmed in python Code
# -*- coding: utf-8 -*-
"""
Created on Thu Jul 3 23:21:05 2014
@author: toto
"""
"Probabilité de skill chain avec son voisin"
"Simulation d'un round"
from math import *
from random import *
m,M,S,N_ws=0,pow(10,4),0,0
while m<=M :
da,tp1,tp2,tp_base,acc,rounds=0.25,0.0,0.0,5.0,0.95,0
time_round,time_ws,T=106/60,2.0,0
n,N=0,100
list1,list2=[],[]
while n<=N :
while tp1<100 :
if random()<=da :
if random()<acc :
tp1=tp1+tp_base
if random()<acc :
tp1=tp1+tp_base
else :
if random()<acc :
tp1=tp1+tp_base
if random()<=da :
if random()<acc :
tp1=tp1+tp_base
if random()<acc :
tp1=tp1+tp_base
else :
if random()<acc :
tp1=tp1+tp_base
T+=time_round
T,tp1=T+time_ws,2*tp_base
list1.append(T)
n+=1
N_ws+=1
T,n=0.0,0
while n<=N :
while tp2<100 :
if random()<=da :
if random()<acc :
tp2=tp2+tp_base
if random()<acc :
tp2=tp2+tp_base
else :
if random()<acc :
tp2=tp2+tp_base
if random()<=da :
if random()<acc :
tp2=tp2+tp_base
if random()<acc :
tp2=tp2+tp_base
else :
if random()<acc :
tp2=tp2+tp_base
T+=time_round
T,tp2=T+time_ws,2*tp_base
list2.append(T)
n+=1
N_ws+=1
K=min(len(list1),len(list2))
L=[ abs(list1[j]-list2[j])<6 for j in range(K)]
S+=sum(L)
m+=1
print(S/(N_ws/2))
(there might still be bugs)
Out of a total of 10^8 WS there seems to be ~40% of the WS that benefit from a skillchain (damage should be divided between monks though so make it 20% on a per monk basis)
VIP
サーバ: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-07-03 20:10:30
Not quite I understand why you mean by "benefit from a skillchain". Were you running it at various delays for waiting for the other mnk to reach 1000 TP, and seeing which generated more damage? Or just seeing how often they lined up for skillchains while spamming weaponskills? The code looks to be doing the latter.
Given that, then basically 40% of the time, with random weaponskill distributions and no attempt to match the other mnk, they happen to line up where they can naturally skillchain.
The code also doesn't seem to check whether you 'lapped' the other mnk, gaining sufficient TP that weaponskill j for one would skillchain with weaponskill j-1 for the other. While somewhat unlikely, it means that if it ever did happen, then all remaining weaponskills in the lists would fail to match up, time-wise, yielding (potentially significantly) less total skillchain opportunities.
Carbuncle.Dagget
サーバ: Carbuncle
Game: FFXI
Posts: 85
By Carbuncle.Dagget 2014-07-03 20:43:07
Wouldn't one monk saving TP to SC assuming that he wont over TP by 200%+ and the other spamming WS create a higher overall damage potential? since basically every one of the "second" monk's ws would create a light.
Edit or in case of a SAM, creating a double light seems to be (eyeballing) FAR more beneficial than spamming WS and hoping for a t1 light
サーバ: Sylph
Game: FFXI
Posts: 269
By Sylph.Staleyx 2014-07-04 10:22:37
Would Ejekamal Mask with 8 Str beat out Uk'uxkaj Cap with 8 Str for Smite?
Ragnarok.Drewbles
サーバ: Ragnarok
Game: FFXI
Posts: 138
By Ragnarok.Drewbles 2014-07-04 10:29:14
Would Ejekamal Mask with 8 Str beat out Uk'uxkaj Cap with 8 Str for Smite? Cap has crit rate so will still lose.
By pchan 2014-07-04 19:31:43
Not quite I understand why you mean by "benefit from a skillchain". Were you running it at various delays for waiting for the other mnk to reach 1000 TP, and seeing which generated more damage? Or just seeing how often they lined up for skillchains while spamming weaponskills? The code looks to be doing the latter.
Given that, then basically 40% of the time, with random weaponskill distributions and no attempt to match the other mnk, they happen to line up where they can naturally skillchain.
The code also doesn't seem to check whether you 'lapped' the other mnk, gaining sufficient TP that weaponskill j for one would skillchain with weaponskill j-1 for the other. While somewhat unlikely, it means that if it ever did happen, then all remaining weaponskills in the lists would fail to match up, time-wise, yielding (potentially significantly) less total skillchain opportunities.
I did a more elaborated simulation below, with realistic da/ta rates
Code
# -*- coding: utf-8 -*-
"""
Created on Fri Jul 4 20:04:12 2014
@author: Pchan™
"""
from math import *
from random import *
time_round,time_ws=106,120-106 #delay between rounds and delay after ws
# the programm automatically adds time_round after a round so I only
# have to add 2 seconds minus time_round (unsure about this)
acc,base_tp=0.95,5 # capped accuracy and tp per fist/kick
ka_rate,da_rate,ta_rate,qa_rate=0.20,0.18,0.02,0.0 #multiattack rates
# this class represents a monk behaviour and has methods
# to generate a round, add TP, do a ws and give a tp return etc
class MNK(object) :
def __init__(self, TP=0.0, timeline=0,status='off',wst=-1000,nom='joueur') :
self._tp=TP #your current tp
self._tm=timeline #the time (date) at which you have this tp
self._scstatus=status # unused
self._lastws=wst # the last time you did a WS
self._name=nom # cosmetic
def hit(self,n=1,a=base_tp) : # gives tp for a hit after checking for acc
for i in range(n) :
if random()<acc :
self._tp+=a
def kick(self) : # tp for kick attacks
if random()<ka_rate :
self.hit()
def multi(self) : # calculates what multi hits you got on this round
#and gives tp accordingly
self.hit()
if random()<qa_rate :
self.hit(3)
elif random()<ta_rate :
self.hit(2)
elif random()<da_rate :
self.hit()
def affiche(self) : # debug
print(self._name,self._tp,self._tm,self._lastws)
def genere(self) : #handles the behaviour for a round : tp, delay, date of ws
self.kick()
self.multi() # multiple attack on fist 1
self.multi() # multiple attack on fist 2
self._tm+=time_round
if self._tp >=100 :
self._lastws=self._tm
# self.affiche()
def ws(self) : #handles tp and delay on ws
self._tp=0
self.multi() # first hit
self.multi() # second hit
self.hit(2,1) #add'l hits on WS
self._tm+=time_ws
def scdisable(self) : # resets time of ws to default value; used after a sc happened
self._lastws=-1000
# print("skillchain"+" "+self._name)
R1=MNK() #starts MNK 1 behaviour
R1._name='M1'
R1.affiche()
R2=MNK() #starts MNK 2 behaviour
R2._name='M2'
R2.affiche()
N=10**5 #number of ws form mnks 1 or 2 at which the program will end
nb_ws,nb_sc=0,0 # number of skillchains and weapon skills
scstatus='off' #unused
while nb_ws<=N :
if R1._tp>=100 : # if mnk1 has TP...
R1.ws()
# next conditions checks wether both mnks are in range time wise for a ws to proc
if R1._lastws>=R2._lastws and R1._lastws<=R2._lastws+360 and R1._lastws>=0 :
#R1 closing SC with R2
R1.scdisable() #resets tps
R2.scdisable()
nb_sc+=1 #one more skillchain
nb_ws+=1#one more weapon skill
if R2._tp>=100 : #same
R2.ws()
if R2._lastws>=R1._lastws and R2._lastws<=R1._lastws+360 and R2._lastws>=0 :
#R2 closing SC with R1
R2.scdisable()
R1.scdisable()
nb_sc+=1
nb_ws+=1
# the important part : we need to make sure that both mnks behaviours evolve together
# if MNK1's state (date) is happening a few seconds prior to mnk2 then one should allows mnk1
# to do more rounds (should be only 1 or 2 usually) to mathc more or less mnk2's time, and conversely
if R1._tm<=R2._tm : # align MNK1 on MNK2, this means that mnk2's timer is a bit after mnk1
R1.genere()
if R2._tm<=R1._tm :#same
R2.genere()
print(nb_sc/nb_ws) #this is the number of skillchains performed by the two mnks - one sc should be counted only once
# nb_ws is the total number of ws performed by bith mnks. This fraction will represent
# the portion of skillchains amongs all ws. mnk1 and mnk2 should close half of the sc each.
The result depends a lot on the time range that allowed for a skillchain.
If it is 6s and starts immediately after the WS then I get that the number of skillchains is ~44% of the number of WS of both MNKs.
If it is 5s and starts immediately after the WS then I get that the number of skillchains is ~37% of the number of WS of both MNKs.
If it is 5s and starts 1s after the WS then I get that the number of skillchains is ~30% of the number of WS of both MNKs.
(Edited original post as my programm wasn't considering 2 the second fist's TPs...)
VIP
サーバ: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-07-06 03:55:17
Wrote a simulation of my own in F#. Rather clumsy code, but should work well enough. Put in spoiler tags at the bottom of this post if you want more details on values used and such.
Data on each mnk is individual, each field containing [total (number avg)]. All base damage assumed to be 210 (Tinhaspa with ~fStr 10), including kicks. Very simplified pDif calculation (just ratio, or ratio +1 for crits; base ratio is 2.0). Skillchains are the ones each mnk closed. Mob family is assumed to be neutral, and thus get the 1.3 multiplier. Simulations were over 1000000 (one million) delay. TP given using the new formula, with the weapon being the Tinhaspa (62 TP per hit, plus 10 Store TP during TP phase).
Skillchains assumed to be valid between 1 second after a weaponskill and 6 seconds after a weaponskill, for a 5 second window.
Starting with max haste tests.
1) Unrestricted. Weaponskill immediately when ready. Skillchain by random chance.
M1
Melee: 10167360 (21477 * 473)
WSkill: 8267988 (1505 * 5493)
SChain: 4669103 (580 * 8050)
SChain frequency: 38%
M2
Melee: 10175760 (21498 * 473)
WSkill: 8196052 (1502 * 5456)
SChain: 4846062 (607 * 7983)
SChain frequency: 40%
Total damage = 46322325
2) If a skillchain is pending, but minimum time before weaponskilling hasn't been reached (1 second), will wait for that min time to be reached.
M1
Melee: 10151400 (21499 * 472)
WSkill: 8271568 (1505 * 5496)
SChain: 5403736 (678 * 7970)
SChain frequency: 45%
M2
Melee: 10133760 (21435 * 472)
WSkill: 8204352 (1500 * 5469)
SChain: 6068740 (758 * 8006)
SChain frequency: 50%
Total damage = 48233556
Skillchain frequency is 45%-50% per mnk, but that's actually near 100% coverage, since it only counts the number each mnk closed. Since the other must necessarily have opened, he wouldn't be able to complete a skillchain on half of his weaponskills. The maximum number of skillchains would have been 1500 (the lower of the two weaponskill counts), and the actual number completed was 1436, for 95.7% of all possible skillchains completed.
Mnks were assumed to be at max haste, giving them a weaponskill every 11 seconds, so about half of the time between each wepaonskill is open for skillchaining, making it trivial to complete most skillchains with minimal delay. Adding the trivial (up to 1 second) wait time increased total damage by 4%.
Waiting for the other mnk to catch up when the mnk is N TP behind the first one to reach 1000 TP gives the following total damage results, per TP waited on (each run several times to reach an average-ish result):
000 - 48.1 mil
100 - 48.0 mil
200 - 47.7 mil
300 - 47.5 mil
400 - 47.4 mil
So waiting is generally a small loss, and continues to fall the longer you wait.
Now let's try mnks only getting Haste, without Marches, for 40% total haste.
000 - 24.7 mil
100 - 24.6 mil
200 - 25.0 mil
300 - 25.8 mil
400 - 26.4 mil
500 - 26.6 mil
600 - 26.6 mil
700 - 26.6 mil
800 - 26.6 mil
900 - 26.6 mil
Waiting is now a gain, reaching a peak when the other mnk has at least 500 TP, and staying flat the rest of the way down (remember, the numbers in the left column are the amount of TP you're willing to wait for the other mnk to get in order to weaponskill+skillchain).
Random oddity: I changed it so that one mnk had +96 delay weapons and the other had +51 delay weapons, but otherwise kept everything the same. For the 40% haste test, total damage was at 28.2 mil with a 600 TP wait. However 60%-65% of all skillchains were completed by mnk1, the one with the slower weapon. There may likely be a real tendency for players with higher delay weapons (and thus likely higher damage weapons) to naturally be in a position to close skillchains.
Code
open System
// test parameters
let max_delay = 1000000
let time_gap = 0 // how long a mnk will delay weaponskilling in order to complete a skillchain
let mutable tp_gap = 0
let skillchainMobFactor = 1.30 // individual mob family multiplier
let haste = 40
// fixed values
let rnd = System.Random()
let minSkillchainDelay = 60*1 // skillchain is possible after 1 second after the previous weaponskill
let maxSkillchainDelay = 60*6 // skillchain is possible within 6 seconds of previous weaponskill
let skillchainBonus = 1.12 // job trait
let minWeaponskillTP = 1000
// utility
let tp_by_delay(delay:int) =
if delay < 76 then
17 + delay * 489/2000
else
32 + (delay - 12) * 11/64
let get_hits_per_hand(qaRate, taRate, daRate) =
if rnd.Next(100) < qaRate then 4
elif rnd.Next(100) < taRate then 3
elif rnd.Next(100) < daRate then 2
else 1
let get_hits(qaRate, taRate, daRate) =
get_hits_per_hand(qaRate, taRate, daRate) + get_hits_per_hand(qaRate, taRate, daRate)
let get_kicks(kaRate) =
if rnd.Next(100) < kaRate then 1
else 0
// per-hit damage functions
let get_ratio_dmg(baseD:int, ratio:float) =
(int ((float baseD) * ratio))
let get_dmg(baseD:int, ratio:float, critrate:int) =
let cRatio =
if rnd.Next(100) < critrate then
Math.Min(ratio + 1.0, 3.0)
else
ratio
get_ratio_dmg(baseD, cRatio)
// victory smite crit bonus
let ws_crit_bonus(tp) =
if tp > 2000 then
25 + 20 * (tp - 2000) / 1000
else
10 + 15 * (tp - 1000) / 1000
let mutable skillchainPending = false
let mutable skillchainInitiation = 0
// user values
type Mnk(name:string, delay:int) =
let name = name
let hitRate = 95
let critRate = 25
let attackRatio = 2.0
let baseD = 210
let daRate = 27 // war sub, asperity, blade/steel, qaaxo body, epona, atheling
let taRate = 7 // qaaxo body, epona, windbuffet
let qaRate = 1 // windbuffet
let kaRate = 33 // base, merits, hesy+1 legs
let store_tp = 10
let ws_store_tp = 7
let mutable tp = 0
let mutable next_round = 0
let mutable melee_hits = 0
let mutable melee_dmg = 0
let mutable ws_hits = 0
let mutable ws_dmg = 0
let mutable sc_hits = 0
let mutable sc_dmg = 0
let delay_limit = ((delay - 280) + 480) * 20 / 100
let round_delay = Math.Max(delay * (100 - haste) / 100, delay_limit)
let tpPerHit = tp_by_delay(delay/2) * (100 + store_tp) / 100
let ws_tpPerHit = tp_by_delay(delay/2) * (100 + ws_store_tp) / 100
let delay = delay
member this.TP
with get() = tp
member this.Punch(atDelay:int) =
if next_round = atDelay then
let all_hits = get_hits(qaRate, taRate, daRate)
let kicks = get_kicks(kaRate)
for hit in [ 1 .. all_hits ] do
if rnd.Next(100) < hitRate then
melee_dmg <- melee_dmg + get_dmg(baseD, attackRatio, critRate)
tp <- tp + tpPerHit
melee_hits <- melee_hits + 1
for hit in [ 1 .. kicks ] do
if rnd.Next(100) < hitRate then
melee_dmg <- melee_dmg + get_dmg(baseD, attackRatio, critRate)
tp <- tp + tpPerHit
melee_hits <- melee_hits + 1
next_round <- next_round + round_delay
if tp > 3000 then
tp <- 3000
()
member this.ReadyToWeaponskill(atDelay:int, other_mnk:Mnk) =
if tp >= minWeaponskillTP then
if skillchainPending then
if (atDelay - skillchainInitiation) < minSkillchainDelay then
false
else
true
elif other_mnk.TP < minWeaponskillTP && other_mnk.TP > (minWeaponskillTP - tp_gap) then
false
else
true
else
false
member this.Weaponskill(atDelay:int) =
let extra_hits = get_hits(qaRate, taRate, daRate) - 2
let more_hits = 2
let ws_baseD = baseD + 200
let ws_critrate = critRate + ws_crit_bonus(tp)
tp <- 0
let mutable this_ws_dmg = 0
// main hit (with fTP)
if rnd.Next(100) < hitRate then
this_ws_dmg <- this_ws_dmg + get_dmg((int ((float ws_baseD) * 2.25)), attackRatio, critRate)
tp <- tp + ws_tpPerHit
// offhand
if rnd.Next(100) < hitRate then
this_ws_dmg <- this_ws_dmg + get_dmg(ws_baseD, attackRatio, critRate)
tp <- tp + ws_tpPerHit
// additional hits
for hit in [ 1 .. (extra_hits + more_hits) ] do
this_ws_dmg <- this_ws_dmg + get_dmg(ws_baseD, attackRatio, critRate)
tp <- tp + 10
ws_dmg <- ws_dmg + this_ws_dmg
ws_hits <- ws_hits + 1
if skillchainPending && (atDelay - skillchainInitiation) >= minSkillchainDelay && (atDelay - skillchainInitiation) <= maxSkillchainDelay then
sc_dmg <- sc_dmg + (int ((float this_ws_dmg) * skillchainBonus * skillchainMobFactor))
sc_hits <- sc_hits + 1
skillchainPending <- false
else
skillchainInitiation <- atDelay
skillchainPending <- true
next_round <- next_round + 120
member this.Status() =
printfn "%s" name
printfn "Melee: %d (%d * %d)" melee_dmg melee_hits (melee_dmg / melee_hits)
printfn "WSkill: %d (%d * %d)" ws_dmg ws_hits (ws_dmg / ws_hits)
printfn "SChain: %d (%d * %d)" sc_dmg sc_hits (sc_dmg / sc_hits)
printfn "SChain frequency: %d%%" (sc_hits * 100 / ws_hits)
printfn ""
(melee_dmg + ws_dmg + sc_dmg)
//Console.Read() |> ignore
[<EntryPoint>]
let main(args) =
if args.Length > 0 then
tp_gap <- Int32.Parse(args.[0])
let mnk1 = Mnk("M1", 376)
let mnk2 = Mnk("M2", 376)
for delay in [ 0 .. max_delay ] do
if mnk1.ReadyToWeaponskill(delay, mnk2) then
mnk1.Weaponskill(delay)
else
mnk1.Punch(delay)
if mnk2.ReadyToWeaponskill(delay, mnk1) then
mnk2.Weaponskill(delay)
else
mnk2.Punch(delay)
let total_dmg = mnk1.Status() + mnk2.Status()
printfn "Total damage = %d" total_dmg
0
Bahamut.Chrius
サーバ: Bahamut
Game: FFXI
Posts: 17
By Bahamut.Chrius 2014-07-09 15:48:50
Just here to say that I like the kick attack rate variable being kaRate
By Wikkedd 2014-07-13 23:59:48
I have been using this for Delve v1 runs.
Usually have Haste II, March, March, Minuet, Chaos, and Fighter's.
Was wondering what would be upgrades (if any.)
ItemSet 325997
Tinhaspa are Rank 15 Path A.
Qaaxo Harness is Rank 15 Path A.
Qaaxo Leggings are Rank 15 Path B.
Have had really good luck with it so far. Main question I have is I see that people on here are using 119 Relic legs and 119 AF Feet. Why is that? Kick Attacks increase? Sorry for the basic questions.
Thanks, in advance, for any and all advice. :)
By dragomair 2014-07-14 00:40:46
I have been using this for Delve v1 runs.
Usually have Haste II, March, March, Minuet, Chaos, and Fighter's.
Was wondering what would be upgrades (if any.)
ItemSet 325997
Tinhaspa are Rank 15 Path A.
Qaaxo Harness is Rank 15 Path A.
Qaaxo Leggings are Rank 15 Path B.
Have had really good luck with it so far. Main question I have is I see that people on here are using 119 Relic legs and 119 AF Feet. Why is that? Kick Attacks increase? Sorry for the basic questions.
Thanks, in advance, for any and all advice. :)
You should be good for delve 1 already.
Delve 2, maybe manibozho acc/atk path, and acc paths on all qaaxo gear/tinhaspa?
Bismarck.Inference
サーバ: Bismarck
Game: FFXI
Posts: 417
By Bismarck.Inference 2014-07-14 00:54:59
On an offnote not related to MNK, Haste II adds 307/1024 Haste. Victory March is 96/1024. If you have at least +3(Eminent Flute and Emperyean Armor piece) you gain an additional 48/1024 for a total of 451/1024, which is slightly over the cap for Magic Haste(448/1024), meaning you are literally gaining nothing from a second march if you have Haste II.
Relic119 Legs paired with AF119 feet do parse significantly better than other options we have available according to spreadsheets.
Are you eating Sushi? Spreadsheeting seems to indicate you're pretty well under accuracy for the final boss with your set, unless you switch to a more designated set for that.
You could switch to a Madrigal with that extra song slot if you don't want to switch around too many things, would allow you to use your set as is and still switch in Kick Attack Legs/Feet.
VIP
サーバ: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-07-14 00:58:56
Wikkedd said: Usually have Haste II, March, March, Minuet, Chaos, and Fighter's.
If you're getting Haste II, you cap magical haste with only a +3 Victory March. A second march is entirely unnecessary.
And yes, Hesy+1 legs and Anch+1 feet will get you the most total damage due to more kicks (so more damage, more TP, and more weaponskills) and higher kick damage, unless you're lacking in accuracy.
By Wikkedd 2014-07-14 09:31:52
I was wondering what the added + kick attack did on those two pieces, thanks for clearing that up. And in answer to the food comment I use Magma Steak for Tojil and switch up to Sole Sushi +1 on Bee and Shark. Have had really good results doing that so far. Also, yes, Inference. On the MB I swap up an accuracy level in my GS which adds in Whirlpool Mask. Switching up accuracy levels has never been easier. (Thanks Motenten.)
I have a direction to head now. Thanks for the information guys.
サーバ: Asura
Game: FFXI
Posts: 3213
By Asura.Failaras 2014-07-14 11:03:50
ItemSet 325742
This is the set I posted before for Tojil, although it includes Tinhaspa B. Alternating Acc JAs it caps acc with minimal switches. I'm not sure if you can count on Distract/Distract II (since you said you had a Rdm) but with Distract II I'm sure this set would overcap even with Tinhaspa A. If you don't want to count on Distract you could use Letalis or Iqabi to cap.
Edit: I'd eat Meat on every T1, Daku eva doesn't seem to differ much from Tojil.
[+]
サーバ: Sylph
Game: FFXI
Posts: 15065
By Sylph.Tigerwoods 2014-07-14 11:11:20
my set is similar to that but with JSE cape and thaumas body
Leviathan.Auuin
サーバ: Leviathan
Game: FFXI
Posts: 21
By Leviathan.Auuin 2014-07-14 11:21:37
where is the spreadsheet that eveyone is refering to? can i get a link for it please?
Ragnarok.Nemesio
サーバ: Ragnarok
Game: FFXI
Posts: 747
By Ragnarok.Nemesio 2014-07-14 11:26:47
As I've been incredibly unlucky with the Tiger Mask, I tend to use Whirlpool instead. Any suggestions on what I should be using instead?
サーバ: Sylph
Game: FFXI
Posts: 15065
By Sylph.Tigerwoods 2014-07-14 11:28:38
Whirlpool is great if you don't have Felistris (and even in a lot of situations when you do have it)
If your acc is capped, Uk'uxkaj w/ str augments; if you can use the acc from whirlpool use it (If your acc isn't good enough to use Thaumas for example, use Whirlpool over Uk
サーバ: Asura
Game: FFXI
Posts: 3213
By Asura.Failaras 2014-07-14 11:41:39
Monk has some pretty terrible alternate options to Felistris, I was seriously using Espial Cap until I got Felistris...
Your options are really: Uk'uxkaj for capped acc. Lithelimb/Whirlpool for acc. The WKR helms might be okay for a pre-119 option.
By kenshynofshiva 2014-07-14 12:22:38
サーバ: Sylph
Game: FFXI
Posts: 1119
By Sylph.Safiyyah 2014-07-14 12:32:27
What about Otronif+1 with crit+2 or double attack+2? I doubt it'd beat Uk'uxkaj but for a 119 piece that's not a bad option.
|
|