Page 1 of 34 1 2 3 11 ... LastLast
Results 1 to 10 of 334
  1. #1
    Player
    pandabearcat's Avatar
    Join Date
    Sep 2013
    Posts
    1,517
    Character
    Alizebeth Bequin
    World
    Brynhildr
    Main Class
    Dancer Lv 90

    A DPS Simulator 2 - SimFF

    Download
    v0.4.5 - Download
    New additions to functionality
    * sim.jitter added to script. Jitter is a uniformly distributed random variation on sim duration. Use for a more accurate contribution of SKS/SPS, and sustained dps output
    * macro functionality added to script. Please see this post for details.
    NOTE: Actor construction has changed. PLEASE see the sample rotations to see how your script needs to change to accomodate.

    v0.4.4 - Download
    DRG Phlebotomize duration fixed
    simff.config file added for formula customization
    NCalc.dll included as part of program. License updated.
    Please note attr.aapotency and attr.aadelay have been renamed attr.aap and attr.aad . You must change your rotation scripts or else it will break.

    v0.4.3 - Download
    DRG Jump/SSD fix for BotD potency
    Documentation added for Aura, Actor, Engine, Event, Damage classes
    Sample UI included in /Samples/ folder
    Minor performance fixes

    v0.4.2 - Download
    DRG Cross Class (Internal Release) supported
    DRG damage formulas updated to level 60
    DRG level 60 rotation fully supported - test rotation updated
    New additions to UI functionality
    * Damage Contribution by Skill - outputs a recount-like table
    * Stat Weight Calculator - warning, runs sim 10+ times, so use lower trials unless you want to wait for an hour

    v0.4 - Download
    DRG skills (level 60) supported
    LNC skills (level 50) supported
    DRG damage formulas (level 50) supported
    Multiactor supported in the parser, but only half supported in engine. Use at own risk
    Please see second post for information regarding the parser.

    Known Issues
    v0.4.2 - BotD not correctly buffing Jump and Spineshatter Dive damage. Fixed in 0.4.3

    Development Progress
    So anyway this project was resurrected. I had lost the old source code. Sort of a bummer, but if you had seen the old source code you would've agreed with me that it needed to die in a fire.

    Long story short, the simulator is now on C#. It requires .NET 4.0 to run. Sorry if you don't have this, ask a friend. COM support and multiplatform may be coming in the future, but I need the basics done first.

    There are four main modules for this simulator.

    Engine - this houses the ability logic and is the core of the program. This is 100%..

    UI - A good UI to display the data. This is 20% complete. I could really use someone to write one. I don't have the time.

    Parser - A parser so people can submit and test their own rotations. This is 100% complete.

    Damage - Needs a good set of formulas to correctly model stats and damage. To go with the UI, could eventually have a database of items to quickly check stats and upgrades. This is 0% complete. We need new formulas for lvl60.

    Release Schedule

    0.1 - LNC and DRG skills and tentative rotation - Complete
    0.2 - Engine optimization - Complete
    0.3 - Stats and damage module initial release - Complete
    0.4 - Parser and UI initial release - Complete

    ----- Expected post Heavensward -----
    0.5 - THM and BLM skills and tentative rotation
    0.6 - ARC and BRD skills and tentative rotation
    0.7 - PUG and MNK skills and tentative rotation
    0.8 - ACN and SMN skills and tentative rotation - adding pet AI
    0.9 - ROG and NIN skills and tentative rotation - I have no knowledge of this class so it's last
    0.10 - Mechanist skills and tentative rotation

    1.0 - UI and Damage modules updated for Heavensward.
    1.0+ - Skills updated for level 60.

    Code and Download

    See top of post for program download. Code download will be available once all modules are in place and I clean up the hideous spaghetti code.

    Here is a sample of the output. It is crude right now, but is a good test of the engine.

    The "rotation" used is a LNC/DRG only rotation (no PUG/MAR skills) which is naive - it simply keeps up dots and uses all cds asap. It uses Life Surge with TT and Power Surge with Jump. DoT snapshotting is in effect.

    The UI is (will be) fully customizable and done with event handlers, so if anyone has ideas for the best way to display the information, I'm all ears.

    Currently, the format is
    1 indent = active skills
    2 indent = dots
    3 indent = aura (buff/debuff) events and non damage events

    Output preview:

    This is a DRG parse with Dervy's lvl50 Stats. Mostly here to showcase snapshotting (take a look at CT dot ticks) and that stats do, in fact, work

    Code:
    [0.00]		Autoattack	(254.42)
    [0.00]	Heavy Thrust	(308.87)
    [0.00]			LNC_HEAVY_THRUST applied to P1	(20sec)
    [0.00]			LNC_HEAVY_THRUST_COMBO applied to P1	(10sec)
    [1.00]			LNC_BLOOD_FOR_BLOOD applied to P1	(20sec)
    [1.00]			LNC_BLOOD_FOR_BLOOD_CD applied to P1	(80sec)
    [2.13]	Impulse Drive	(611.56)
    [2.13]			LNC_HEAVY_THRUST_COMBO on P1 ends
    [2.13]			LNC_IMPULSE_DRIVE_COMBO applied to P1	(10sec)
    [2.96]		Autoattack	(363.81)
    [3.13]			DRG_POWER_SURGE applied to P1	(10sec)
    [3.13]			DRG_POWER_SURGE_CD applied to P1	(60sec)
    [4.26]	Disembowel	(1121.19!)
    [4.26]			LNC_IMPULSE_DRIVE_COMBO on P1 ends
    [4.26]			LNC_DISEMBOWEL applied to T1	(30sec)
    [4.26]			LNC_DISEMBOWEL_COMBO applied to P1	(10sec)
    [5.26]			DRG_POWER_SURGE on P1 ends
    [5.26]	Jump	(1681.78!)
    [5.26]			DRG_JUMP_CD applied to P1	(30sec)
    [5.92]		Autoattack	(400.20)
    [7.06]	Chaos Thrust	(934.32)
    [7.06]			LNC_CHAOS_THRUST applied to T1	(30sec)
    [7.06]			LNC_DISEMBOWEL_COMBO on P1 ends
    [8.06]	Dragonfire Dive	(1401.48!)
    [8.06]			DRG_DRAGONFIRE_DIVE_CD applied to P1	(120sec)
    [8.88]		Autoattack	(400.20)
    [9.85]		Chaos Thrust (DoT)	(178.37!)
    [9.86]	Phlebotomize	(953.01!)
    [9.86]			LNC_PHLEBOTOMIZE applied to T1	(18sec)
    [10.86]	Spineshatter Dive	(953.01!)
    [10.86]			DRG_SPINESHATTER_DIVE_CD applied to P1	(60sec)
    [11.84]		Autoattack	(400.20)
    [12.66]	True Thrust	(560.59)
    [12.66]			LNC_TRUE_THRUST_COMBO applied to P1	(10sec)
    [12.85]		Chaos Thrust (DoT)	(118.91)
    [12.85]		Phlebotomize (DoT)	(101.93)
    [13.66]	Leg Sweep	(485.85)
    [13.66]			LNC_LEG_SWEEP_CD applied to P1	(30sec)
    [14.80]	Vorpal Thrust	(747.46)
    [14.80]			LNC_TRUE_THRUST_COMBO on P1 ends
    [14.80]			LNC_VORPAL_THRUST_COMBO applied to P1	(10sec)
    [14.80]		Autoattack	(400.20)
    [15.80]			LNC_LIFE_SURGE applied to P1	(10sec)
    [15.80]			LNC_LIFE_SURGE_CD applied to P1	(50sec)
    [15.85]			LNC_LIFE_SURGE on P1 ends
    [15.85]		Chaos Thrust (DoT)	(178.37!)
    [15.85]		Phlebotomize (DoT)	(101.93)
    [16.93]	Full Thrust	(1345.42)
    [16.93]			LNC_VORPAL_THRUST_COMBO on P1 ends
    [17.76]		Autoattack	(400.20)
    [18.85]		Chaos Thrust (DoT)	(178.37!)
    [18.85]		Phlebotomize (DoT)	(101.93)
    [19.06]	Heavy Thrust	(728.77!)
    [19.06]			LNC_HEAVY_THRUST applied to P1	(20sec)
    [19.06]			LNC_HEAVY_THRUST_COMBO applied to P1	(10sec)
    [20.72]		Autoattack	(400.20)
    [21.00]			LNC_BLOOD_FOR_BLOOD on P1 ends
    [21.19]	True Thrust	(431.23)
    [21.19]			LNC_HEAVY_THRUST_COMBO on P1 ends
    [21.19]			LNC_TRUE_THRUST_COMBO applied to P1	(10sec)
    [21.85]		Chaos Thrust (DoT)	(118.91)
    [21.85]		Phlebotomize (DoT)	(101.93)
    [23.33]	Vorpal Thrust	(574.97)
    [23.33]			LNC_TRUE_THRUST_COMBO on P1 ends
    [23.33]			LNC_VORPAL_THRUST_COMBO applied to P1	(10sec)
    [23.68]		Autoattack	(307.84)
    [24.85]		Chaos Thrust (DoT)	(178.37!)
    [24.85]		Phlebotomize (DoT)	(101.93)
    [25.46]	Impulse Drive	(517.47)
    [25.46]			LNC_VORPAL_THRUST_COMBO on P1 ends
    [25.46]			LNC_IMPULSE_DRIVE_COMBO applied to P1	(10sec)
    [26.64]		Autoattack	(307.84)
    [27.59]	Disembowel	(632.46)
    [27.59]			LNC_IMPULSE_DRIVE_COMBO on P1 ends
    [27.59]			LNC_DISEMBOWEL applied to T1	(30sec)
    [27.59]			LNC_DISEMBOWEL_COMBO applied to P1	(10sec)
    [27.85]		Chaos Thrust (DoT)	(118.91)
    [27.85]		Phlebotomize (DoT)	(101.93)
    [27.86]			LNC_PHLEBOTOMIZE on T1 ends
    [29.60]		Autoattack	(307.84)
    [29.72]	Chaos Thrust	(718.71)
    [29.72]			LNC_CHAOS_THRUST applied to T1	(30sec)
    [29.72]			LNC_DISEMBOWEL_COMBO on P1 ends
    [30.85]		Chaos Thrust (DoT)	(91.47)
    [31.86]	Phlebotomize	(488.72)
    [31.86]			LNC_PHLEBOTOMIZE applied to T1	(18sec)
    [32.56]		Autoattack	(461.76!)
    [33.85]		Chaos Thrust (DoT)	(91.47)
    [33.85]		Phlebotomize (DoT)	(117.61!)
    [33.99]	True Thrust	(646.84!)
    [33.99]			LNC_TRUE_THRUST_COMBO applied to P1	(10sec)
    [35.26]			DRG_JUMP_CD on P1 ends
    [35.26]	Jump	(862.45!)
    [35.26]			DRG_JUMP_CD applied to P1	(30sec)
    [35.52]		Autoattack	(461.76!)
    [36.85]		Chaos Thrust (DoT)	(137.21!)
    [36.85]		Phlebotomize (DoT)	(78.40)
    [37.06]	Vorpal Thrust	(574.97)
    [37.06]			LNC_TRUE_THRUST_COMBO on P1 ends
    [37.06]			LNC_VORPAL_THRUST_COMBO applied to P1	(10sec)
    [38.48]		Autoattack	(307.84)
    [39.06]			LNC_HEAVY_THRUST on P1 ends
    [39.20]	Full Thrust	(940.85)
    [39.20]			LNC_VORPAL_THRUST_COMBO on P1 ends
    [39.85]		Chaos Thrust (DoT)	(91.47)
    [39.85]		Phlebotomize (DoT)	(117.61!)
    [41.33]	Heavy Thrust	(339.75)
    [41.33]			LNC_HEAVY_THRUST applied to P1	(20sec)
    [41.33]			LNC_HEAVY_THRUST_COMBO applied to P1	(10sec)
    [41.44]		Autoattack	(307.84)
    [42.85]		Chaos Thrust (DoT)	(91.47)
    [42.85]		Phlebotomize (DoT)	(78.40)
    [43.46]	True Thrust	(431.23)
    [43.46]			LNC_HEAVY_THRUST_COMBO on P1 ends
    [43.46]			LNC_TRUE_THRUST_COMBO applied to P1	(10sec)
    [43.66]			LNC_LEG_SWEEP_CD on P1 ends
    [44.40]		Autoattack	(307.84)
    [44.46]	Leg Sweep	(373.73)
    [44.46]			LNC_LEG_SWEEP_CD applied to P1	(30sec)
    [45.59]	Vorpal Thrust	(574.97)
    [45.59]			LNC_TRUE_THRUST_COMBO on P1 ends
    [45.59]			LNC_VORPAL_THRUST_COMBO applied to P1	(10sec)
    [45.85]		Chaos Thrust (DoT)	(91.47)
    [45.85]		Phlebotomize (DoT)	(78.40)
    [47.36]		Autoattack	(307.84)
    [47.73]	Impulse Drive	(517.47)
    [47.73]			LNC_VORPAL_THRUST_COMBO on P1 ends
    [47.73]			LNC_IMPULSE_DRIVE_COMBO applied to P1	(10sec)
    [48.85]		Chaos Thrust (DoT)	(91.47)
    [48.85]		Phlebotomize (DoT)	(78.40)
    [49.86]			LNC_PHLEBOTOMIZE on T1 ends
    [49.86]	Disembowel	(632.46)
    [49.86]			LNC_IMPULSE_DRIVE_COMBO on P1 ends
    [49.86]			LNC_DISEMBOWEL applied to T1	(30sec)
    [49.86]			LNC_DISEMBOWEL_COMBO applied to P1	(10sec)
    [50.32]		Autoattack	(307.84)
    [51.85]		Chaos Thrust (DoT)	(137.21!)
    [51.99]	Chaos Thrust	(1078.06!)
    [51.99]			LNC_CHAOS_THRUST applied to T1	(30sec)
    [51.99]			LNC_DISEMBOWEL_COMBO on P1 ends
    [53.28]		Autoattack	(461.76!)
    [54.12]	Phlebotomize	(488.72)
    [54.12]			LNC_PHLEBOTOMIZE applied to T1	(18sec)
    [54.85]		Chaos Thrust (DoT)	(91.47)
    [54.85]		Phlebotomize (DoT)	(78.40)
    [56.24]		Autoattack	(461.76!)
    [56.26]	True Thrust	(431.23)
    [56.26]			LNC_TRUE_THRUST_COMBO applied to P1	(10sec)
    [57.85]		Chaos Thrust (DoT)	(91.47)
    [57.85]		Phlebotomize (DoT)	(78.40)
    [58.39]	Vorpal Thrust	(574.97)
    [58.39]			LNC_TRUE_THRUST_COMBO on P1 ends
    [58.39]			LNC_VORPAL_THRUST_COMBO applied to P1	(10sec)
    [59.20]		Autoattack	(307.84)
    (17)
    Last edited by pandabearcat; 08-07-2015 at 03:05 AM.

  2. #2
    Player
    pandabearcat's Avatar
    Join Date
    Sep 2013
    Posts
    1,517
    Character
    Alizebeth Bequin
    World
    Brynhildr
    Main Class
    Dancer Lv 90
    This post will detail the grammar and the scripting language (working name FFscript).

    New grammar:

    Code:
    action
       action -> string 
    actionBlock
       actionBlock -> precast 
       actionBlock -> gcd 
       actionBlock -> ogcd 
    actionBlock+
       actionBlock+ -> actionBlock+ actionBlock 
       actionBlock+ -> actionBlock 
    actionBlocks  (Nullable) 
       actionBlocks -> 
       actionBlocks -> actionBlock+ 
    actions  (Nullable) 
       actions -> action 
       actions -> action , actions 
       actions -> 
    actionStatement
       actionStatement -> ( conditionals ) { actions } 
       actionStatement -> comment 
    actionStatement+
       actionStatement+ -> actionStatement+ actionStatement 
       actionStatement+ -> actionStatement 
    actionStatements  (Nullable) 
       actionStatements -> 
       actionStatements -> actionStatement+ 
    actionVar
       actionVar -> nextaction 
    actorListStatement
       actorListStatement -> playersAdd 
       actorListStatement -> targetsAdd 
    actorStatement
       actorStatement -> actor . actorVar = val 
    actorVar
       actorVar -> class 
       actorVar -> attrVar 
       actorVar -> autoattack 
       actorVar -> auraVar 
       actorVar -> gcdVar 
       actorVar -> cdVar 
       actorVar -> actionVar 
    attribute
       attribute -> str 
       attribute -> dex 
       attribute -> sks 
       attribute -> det 
       attribute -> chr 
    attrVar
       attrVar -> attr . attribute 
    auraVar
       auraVar -> aura . string . remaining 
       auraVar -> aura . string 
    boolVar
       boolVar -> actor . actorVar 
       boolVar -> sim . simVar 
    cdVar
       cdVar -> cd . string 
    conditional
       conditional -> boolVar 
       conditional -> notBoolVar 
       conditional -> testVar 
    conditionals  (Nullable) 
       conditionals -> conditional 
       conditionals -> conditional & conditionals 
       conditionals -> 
    gcd
       gcd -> [ actor . GCD ] actionStatements 
    gcdVar
       gcdVar -> lastgcd 
       gcdVar -> nextgcd 
    notBoolVar
       notBoolVar -> ! boolVar 
    ogcd
       ogcd -> [ actor . OGCD ] actionStatements 
    playersAdd
       playersAdd -> *players+= actor 
    precast
       precast -> [ actor . PRECAST ] actionStatements 
    script
       script -> setup actionBlocks 
    script'
       script' -> script EOF 
    setup
       setup -> [SETUP] setupStatements 
    setupStatement
       setupStatement -> actorStatement 
       setupStatement -> actorListStatement 
       setupStatement -> simStatement 
       setupStatement -> comment 
    setupStatement+
       setupStatement+ -> setupStatement+ setupStatement 
       setupStatement+ -> setupStatement 
    setupStatements  (Nullable) 
       setupStatements -> 
       setupStatements -> setupStatement+ 
    simStatement
       simStatement -> sim . simVar = val 
    simVar
       simVar -> duration 
       simVar -> execute 
       simVar -> diagnostic 
       simVar -> trials 
       simVar -> output 
    targetsAdd
       targetsAdd -> *targets+= actor 
    test
       test -> == 
       test -> != 
       test -> < 
       test -> <= 
       test -> > 
       test -> >= 
    testVar
       testVar -> boolVar test val 
    val
       val -> boolean 
       val -> number 
       val -> string 
       val -> stringLit
    New sample script:

    Code:
    [SETUP]
    #sets up an alias for our player
    *players+=p1
    #sets up an alias for our target
    *targets+=t1
    
    #load skills and traits
    p1.class = drg
    
    # setup attributes
    # nonlisted attributes are assumed to be 0
    p1.attr.wd=72
    p1.attr.str=905
    p1.attr.dex=220
    p1.attr.vit=658
    p1.attr.int=96
    p1.attr.mnd=140
    p1.attr.pie=163
    p1.attr.acc=601
    p1.attr.chr=593
    p1.attr.det=381
    p1.attr.sks=607
    p1.attr.sps=354
    p1.attr.aapotency=67.22
    p1.attr.aadelay=2.8
    
    # autoattack, dumbass
    p1.autoattack = true
    
    # setup server variables
    sim.duration=210
    # execute is duration from end of sim
    sim.execute=40
    
    # setup diagnostic or no - diagnostic runs 1 run with log output, for testing your rotation
    sim.diagnostic=false
    
    # otherwise setup sim trials
    sim.trials=10000
    
    # i/o
    sim.output="output.txt"
    
    [p1.PRECAST]
    (){heavy_thrust, battle_litany, blood_for_blood, impulse_drive, draconian_potion_of_strength, disembowel, internal_release, blood_of_the_dragon, chaos_thrust, power_surge, leg_sweep}
    
    [p1.GCD]
    (p1.aura.enhanced_wheeling_thrust){wheeling_thrust}
    (p1.aura.sharper_fang_and_claw){fang_and_claw}
    (p1.aura.heavy_thrust.remaining<4.0){heavy_thrust}
    (t1.aura.phlebotomize.remaining<4.0){phlebotomize}
    (t1.aura.chaos_thrust.remaining<6.0){impulse_drive, disembowel, chaos_thrust}
    (){true_thrust, vorpal_thrust, full_thrust}
    
    [p1.OGCD]
    # don't cast any actions if it will clip
    (p1.nextgcd<1.0){}
    
    # use botd on cd when next ability will proc 4th
    (!p1.aura.blood_of_the_dragon&!p1.cd.blood_of_the_dragon&p1.nextaction==chaos_thrust){blood_of_the_dragon}
    (!p1.aura.blood_of_the_dragon&!p1.cd.blood_of_the_dragon&p1.nextaction==full_thrust){blood_of_the_dragon}
    
    # use geirskogul if we have bfb and botd is > 22 sec or botd cd is < 14 sec
    (p1.aura.blood_of_the_dragon.remaining>=22.0&!p1.cd.geirskogul&p1.aura.blood_for_blood){geirskogul}
    (!p1.cd.geirskogul&p1.aura.blood_of_the_dragon&p1.cd.blood_of_the_dragon.remaining<=14.0&p1.aura.blood_for_blood){geirskogul}
    
    # if we don't have bfb, use geirskogul unless the cd for bfb is <20 sec away
    (!p1.cd.geirskogul&p1.aura.blood_of_the_dragon.remaining>=22.0&p1.cd.blood_for_blood.remaining>=20.0){geirskogul}
    (!p1.cd.geirskogul&p1.aura.blood_of_the_dragon&p1.cd.blood_of_the_dragon.remaining<=14.0&p1.cd.blood_for_blood.remaining>=20.0){geirskogul}
    
    # use dps cooldowns on cooldown
    (!p1.cd.blood_for_blood){blood_for_blood}
    (!p1.cd.internal_release){internal_release}
    (!p1.cd.draconian_potion_of_strength){draconian_potion_of_strength}
    
    # use life surge on ft, wt, or f/c
    (!p1.cd.life_surge&p1.nextaction==full_thrust){life_surge}
    (!p1.cd.life_surge&p1.aura.enhanced_wheeling_thrust){life_surge}
    (!p1.cd.life_surge&p1.aura.sharper_fang_and_claw){life_surge}
    
    # use power surge right before jump
    (!p1.cd.jump&!p1.cd.power_surge){power_surge}
    (!p1.cd.jump){jump}
    
    # use all other ogcd's on cd
    (!p1.cd.spineshatter_dive){spineshatter_dive}
    (!p1.cd.dragonfire_dive){dragonfire_dive}
    (!p1.cd.leg_sweep){leg_sweep}
    
    # note I didn't put in mercy stroke here - it will be added later when marauder abilities are added
    (0)
    Last edited by pandabearcat; 07-10-2015 at 01:23 AM.

  3. #3
    Player
    IceSpear's Avatar
    Join Date
    Sep 2013
    Location
    Limsa Lominsa
    Posts
    253
    Character
    Ice Spear
    World
    Odin
    Main Class
    Arcanist Lv 60
    Good luck.
    (0)

  4. #4
    Player
    Dervy's Avatar
    Join Date
    Aug 2013
    Posts
    1,537
    Character
    Dervy Yakimi
    World
    Ragnarok
    Main Class
    Lancer Lv 80
    Fantastic job.

    I assume once you've implemented a GUI of some sorts, it'll be fully customisable and we can input our own skill rotations/cooldown usage? For now, use these formulas to tinker around with, until it's a lot more robust. At least it's something for you to test for errors and inconsistencies with your model adding up damage potencies.

    Weapon Skills = (POTENCY/100)*((WD*0.0437052+1)*(STR*0.0763653+4.4581293)*(DET*0.0006116+1))
    Auto-Attacks =((AA_DMG*0.00388814+1)*(STR*0.0717908+3.5421066)*(DRT*0.0014237+1)*(AA_DELAY/3))

    If you have a better way for me to implement Auto-Attacks, do tell.
    (3)
    Last edited by Dervy; 06-10-2015 at 02:41 AM.

  5. #5
    Player
    pandabearcat's Avatar
    Join Date
    Sep 2013
    Posts
    1,517
    Character
    Alizebeth Bequin
    World
    Brynhildr
    Main Class
    Dancer Lv 90
    Unless I can find someone else to code up a parser it will be a long time coming (prob a month after Heavensward, more if I actually get to play lol).

    I've designed SimFF to be really friendly to third party developers...all the necessary data is exposed to you, and you can do literally anything you want (within game rules)...a parser for custom rotation just needs to attach to the GCD and oGCD events and it has full control over what it wants to tell the engine to do.

    Similarly, if you don't like my UI, you're free to develop your own UI, just hook your UI to the damage and aura events and you can display that however you wish.

    The cost of this is however its a bit slower than before - I have yet to run any significant stress tests. The hope is that 1 mil sims can be run in the magnitude of 10 seconds.

    That said the first thing I need is updated damage and stat formulas.
    (0)

  6. #6
    Player
    Maero's Avatar
    Join Date
    Sep 2013
    Location
    Gridania
    Posts
    4,781
    Character
    I'shtola Maqa
    World
    Leviathan
    Main Class
    Dancer Lv 90
    Kudos to you for having put work into this
    (0)

  7. #7
    Player
    Arkenne's Avatar
    Join Date
    Nov 2014
    Posts
    1,350
    Character
    Aiot O'lein
    World
    Cactuar
    Main Class
    Rogue Lv 80
    This looks like one hell of a lot of a ton of many much troubles and headaches...
    But good luck there! Definitely something I would personally be immersed into for days to plan my own rotations.
    (0)

  8. #8
    Player
    HeavensSword's Avatar
    Join Date
    Dec 2014
    Location
    Ul'dah
    Posts
    338
    Character
    Marik Landzaat
    World
    Leviathan
    Main Class
    Dragoon Lv 70
    Depending on my schedule, I may be able to lend a hand with some things. Do you happen to have a github or svn repo?
    (0)

  9. #9
    Player
    pandabearcat's Avatar
    Join Date
    Sep 2013
    Posts
    1,517
    Character
    Alizebeth Bequin
    World
    Brynhildr
    Main Class
    Dancer Lv 90
    Quote Originally Posted by HeavensSword View Post
    Depending on my schedule, I may be able to lend a hand with some things. Do you happen to have a github or svn repo?
    I will once this gets a bit more progressed, and I comment and get rid of some bad code.
    (0)

  10. #10
    Player
    pandabearcat's Avatar
    Join Date
    Sep 2013
    Posts
    1,517
    Character
    Alizebeth Bequin
    World
    Brynhildr
    Main Class
    Dancer Lv 90
    Good news everyone!

    Since Irony exists for C#, turning the grammar into a working parser should be much simpler!

    I've changed the order of releases to reflect this (noone likes BLM anyway - but really, its because it doesn't make sense to do BLM at all until stats are implemented).

    However development is delayed for the damage module because I realized several optimizations for the engine that I'd like to get out of the way before I invest any more time into it.

    Also I just noticed Dervy's formulas, awesome.

    I'd like to know a bit more however, namely

    1. Piety and (base) mana relationship, and mana tick relationship
    2. Base mana cost and base mana costs for level 50 spells (BLM and SMN) - Should be easy enough to rip out of the game.
    3. Skill/spell speed and gcd/cast times relationship. Also, does spell speed also reduce gcd?
    4. How do traits like MAGICK_AND_MEND (SMN, BLM) and INCREASED_ACTION_DAMAGE (ARC) work? Are they built into potency? Are they a multiplier or additive with other multipliers (like BLOOD_FOR_BLOOD?)

    And Dervy autoattacks are separate events and so can have a separate damage formula, so no worries there. Is the AA_Delay/3 just to normalize autoattacks? If thats the case I won't include it, autoattacks will simply occur quicker/slower based on delay.

    EDIT:

    So I put in the damage module, and was wondering why all damage was 0. Lol

    Looks like I don't actually have any stats

    So someone please let me know your DRG's baseline stats?

    All of them, including

    STR, DEX, VIT, INT, MND, PIE, ACC, CHR, DET, SKS, SPS, WD, AA_POTENCY, AA_DELAY
    (0)
    Last edited by pandabearcat; 06-11-2015 at 02:01 AM.

Page 1 of 34 1 2 3 11 ... LastLast