|
Player creationEach new player begins with the definition of the class and name in the form of | CLASS=Name | e.g. druid=Dadrood, warlock=Shadowboltspammer, priest=Priest_14_0_57 |
Basics| Option | Default + Example | Description | | "level" | 70, level=80, level=54 | Level used for rating conversions etc. | | "gcd" | 1.5, gcd=0.5, gcd=3.14159 | Baseline 'Global Cooldown'-value for this player | | "sleeping" | 0, sleeping=1 | Disable a player in the sim without having to delete his profile from the input file | | "quiet" | 0, quiet=1 | Just disable the reports about a player but let him still do his deed (e.g. keeping up debuffs) | | "talents" | empty, talents=http://www.wowhead.com/?talent=0EGbubZEGGsZfEIzb | Define the specc of that player by supplying a link to either wowhead.com, mmo-champion.com or worldofwarcraft.com talent calculators |
AttributesEvery attribute consists of multiple values: Initial values: If not set/zero then they get set to base+gear+enchant, else this value is used. Base values: A players naked stats without gear, talents, buffs. Default: 0 Gear value: Stats contributed by gear without talents. Default to the default_xxx values if not set. Enchant value: Can be used to simulate different enchants/items with multiple players and the default_xxx gear values | Option | Default, Example | Description | | "strength" | 0, stregth=1337 | Initial value | | "agility" | 0, agility=2448 | -"- | | "stamina" | 0, stamina=1234 | -"- | | "intellect" | 0, intellect=42 | -"- | | "spirit" | 0, spirit=99999 | -"- | | "spell_power" | 0, spell_power=2009 | -"- | | "spell_power_arcane" | 0 | -"-, If spellpower for one school is different, defaults back to spell_power | | "spell_power_fire" | 0 | -"-, If spellpower for one school is different, defaults back to spell_power | | "spell_power_frost" | 0 | -"-, If spellpower for one school is different, defaults back to spell_power | | "spell_power_holy" | 0 | -"-, If spellpower for one school is different, defaults back to spell_power | | "spell_power_nature" | 0 | -"-, If spellpower for one school is different, defaults back to spell_power | | "spell_power_shadow" | 0 | -"-, If spellpower for one school is different, defaults back to spell_power |
| "spell_hit" | 0.00, spell_hit=0.05 | -"-, THIS IS THE SPELLHIT VALUE, NOT A RATING VALUE! | | "spell_crit" | 0.00, spell_crit=0.34 | -"-, THIS IS THE SPELLCRIT VALUE, NOT A RATING VALUE! | | "spell_penetration" | 0 | -"- | | "mp5" | 0, mp5=124.4 | -"- | | "attack_power" | 0.00 | -"- | | "attack_hit" | 0.00, attack_hit=0.13 | -"-, THIS IS THE MELEEHIT VALUE, NOT A RATING VALUE! | | "attack_expertise" | 0.00, attack_expertise=4.8 | -"-, THIS IS THE EXPTERISE VALUE, NOT A RATING VALUE! | | "attack_crit" | 0.00, attack_crit=0.25 | -"-, THIS IS THE MELEECRIT VALUE, NOT A RATING VALUE! | | "attack_penetration" | 0.00, attack_penetration=2.45 | -"-, THIS IS THE ARMORPENETRATION VALUE, NOT A RATING VALUE! | | "health" | 0 | If not set, SimulationCraft will calculate it from Initial/Base/Gear values | | "mana" | 0 | If not set, SimulationCraft will calculate it from Initial/Base/Gear values | | "rage" | 0 | If not set, SimulationCraft will calculate it from Initial/Base/Gear values | | "energy" | 0 | If not set, SimulationCraft will calculate it from Initial/Base/Gear values | | "focus" | 0 | If not set, SimulationCraft will calculate it from Initial/Base/Gear values. Only used by Hunterpets | | "runic" | 0 | If not set, SimulationCraft will calculate it from Initial/Base/Gear values | | "base_strength" | Default value is classdependant, base_strength=234 | Base value | | "base_agility" | Default value is classdependant, base_agility=2164 | -"- | | "base_stamina" | Default value is classdependant, base_stamin=9586 | -"- | | "base_intellect" | Default value is classdependant, base_intellect=123 | -"- | | "base_spirit" | Default value is classdependant, base_spirit=568 | -"- | | "base_spell_power" | 0 | -"- | | "base_spell_hit" | 0.00 | -"-, DO NOT ENTER RATINGS HERE | | "base_spell_crit" | 0.00 | -"-, DO NOT ENTER RATINGS HERE | | "base_spell_penetration" | 0.00 | -"-, DO NOT ENTER RATINGS HERE | | "base_mp5" | 0.00 | -"- | | "base_attack_power" | Default value is classdependant | -"- |
| "base_attack_hit" | Default value is leveldependant | -"-, DO NOT ENTER RATINGS HERE | | "base_attack_expertise" | 0.00, base_attack_expertise=5 orc with axe | -"-, DO NOT ENTER RATINGS HERE | | "base_attack_crit" | Default value is classdependant | -"-, DO NOT ENTER RATINGS HERE | | "base_attack_penetration" | 0 | -"-, DO NOT ENTER RATINGS HERE | | "base_health" | Default value is classdependant | -"- | | "base_mana" | Default value is classdependant | -"- | | "base_rage" | Default value is classdependant | -"- | | "base_energy" | Default value is classdependant | -"- | | "base_focus" | Default value is classdependant | -"- | | "base_runic" | Default value is classdependant | -"- | | "gear_strength" | 0, gear_strength=1234 | Gear value | | "gear_agility" | 0, gear_agilty=2345 | -"- | | "gear_stamina" | 0, gear_stamina=3456 | -"- | | "gear_intellect" | 0, gear_intellect=4567 | -"- | | "gear_spirit" | 0, gear_spirit=5678 | -"- | | "gear_spell_power" | 0 | -"- | | "gear_spell_power_arcane" | 0 | -"- | | "gear_spell_power_fire" | 0 | -"- | | "gear_spell_power_frost" | 0 | -"- | | "gear_spell_power_holy" | 0 | -"- | | "gear_spell_power_nature" | 0 | -"- | | "gear_spell_power_shadow" | 0 | -"- | | "gear_spell_penetration" | 0 | -"- | | "gear_mp5" | 0 | -"- | | "gear_attack_power" | 0 | -"- | | "gear_expertise_rating" | 0 | -"- | | "gear_armor_penetration_rating" | 0 | -"- | | "gear_haste_rating" | 0 | -"- | | "gear_hit_rating" | 0 | -"- | | "gear_crit_rating" | 0 | -"- | | "gear_health" | 0 | -"- | | "gear_mana" | 0 | -"- | | "gear_rage" | 0 | -"- | | "gear_energy" | 0 | -"- | | "gear_focus" | 0 | -"- | | "gear_runic" | 0 | -"- | | "enchant_strength" | 0 | Enchant value | | "enchant_agility" | 0 | -"- | | "enchant_stamina" | 0 | -"- | | "enchant_intellect" | 0 | -"- | | "enchant_spirit" | 0 | -"- | | "enchant_spell_power" | 0 | -"- | | "enchant_spell_power_arcane" | 0 | -"- | | "enchant_spell_power_fire" | 0 | -"- | | "enchant_spell_power_frost" | 0 | -"- | | "enchant_spell_power_holy" | 0 | -"- | | "enchant_spell_power_nature" | 0 | -"- | | "enchant_spell_power_shadow" | 0 | -"- | | "enchant_spell_penetration" | 0 | -"- | | "enchant_mp5" | 0 | -"- | | "enchant_attack_power" | 0 | -"- | | "enchant_attack_expertise_rating" | 0 | -"- | | "enchant_attack_penetration" | 0 | -"- | | "enchant_haste_rating" | 0 | -"- | | "enchant_hit_rating" | 0 | -"- | | "enchant_crit_rating" | 0 | -"- | | "enchant_health" | 0 | -"- | | "enchant_mana" | 0 | -"- | | "enchant_rage" | 0 | -"- | | "enchant_energy" | 0 | -"- | | "enchant_focus" | 0 | -"- | | "enchant_runic" | 0 | -"- | | "strength_multiplier" | 1.0, strength_multiplier=1.25 | Base multiplier for stats, will get modified by talents/buffs (BoK etc.) | | "agility_multiplier" | 1.0, agility_multiplier=1.34 | -"- | | "stamina_multiplier" | 1.0, stamina_multiplier=1.65 | -"- | | "intellect_multiplier" | 1.0, intellect_multiplier=0.90 | -"- | | "spirit_multiplier" | 1.0, spirit_multiplier=2.45 | -"- | | "attack_power_per_strength" | Default value is classdependant | -"- | | "attack_power_per_agility" | Default value is classdependant | -"- | | "attack_crit_per_agility" | Default value is classdependant | -"- | | "spell_crit_per_intellect" | Default value is leveldependant | -"- | | "spell_power_per_intellect" | 0.00 | Depends on class and talents | | "spell_power_per_spirit" | 0.00 | Depends on class and talents |
Player - WeaponsWeapon=TYPE,damage=9999,speed=13.37,school=SCHOOL,enchant=ENCHANT,buff=BUFF Type can be one of: none, dagger, fist, beast, sword, mace, axe, beast_2h, sword_2h, mace_2h, axe_2h, staff, polearm, bow, crossbow, gun, thrown, wand School can be one of: arcane, chaos, fire, frost, frostfire, holy, nature, physical, shadow Enchant con be one of: none, deathfrost, executioner, mongoose Buff can be one of: none, fire_stone, flametongue, poison, sharpening_stone, spell_stone, windfury, wizard_oil | Option | Default + Example | Description | | "main_hand" | "", main_hand=beast,damage=110,speed=1.5,school=shadow | Weaponstring, here for example for a priests shadow fiend | | "off_hand" | "", off_hand=mace,damage=359,speed=2.5,enchant=mongoose | -"- | | "ranged" | "" | -"- |
Player - Action Priority ListThis should probably get its own wikipage, because this is one core feature of SimulationCraft: It lets you give the player a kind of priority list that he will look up everytime he is ready to do somehing. | Option | Default + Example | Description | | "pre_actions" | | | | "actions" | | | | "actions+" | | | | "post_actions" | | | | "skip_actions" | | |
Player - Special GearMetagemsItems with Chance on Hit/Crit/Tick-effectsItems with Use:-effectsTo be used in ActionStrings. Trinkets with Use: Gain X attack power for Y sec.To be used in ActionStrings, shares cooldown with other attack_power_trinekt's, just like it is ingame. Useage: attack_power_trinket,power=X,length=Y,cooldown=Z Options: - power=VALUE: How much attack power it gives
- length=VALUE: Duration in seconds
- cooldown=VALUE: Cooldown in seconds
Example: .../attack_power_trinket,power=670,length=20,cooldown=120/... Trinkets with Use: Gain X haste rating for Y sec.To be used in ActionStrings, shares cooldown with other haste_trinket's, just like it is ingame. Useage: haste_trinket,rating=X,length=Y,cooldown=Z Options: - rating=VALUE: How much haste rating it gives
- length=VALUE: Duration in seconds
- cooldown=VALUE: Cooldown in seconds
Example: .../haste_trinket,rating=340,length=8,cooldown=120/... Trinkets with Use: Gain X spell power for Y sec.To be used in ActionStrings, shares cooldown with other spell_power_trinket's, just like it is ingame. Useage: spell_power_trinket,power=X,length=Y,cooldown=Z Options: - power=VALUE: How much spell power it gives
- length=VALUE: Duration in seconds
- cooldown=VALUE: Cooldown in seconds
Example: .../spell_power_trinket,power=346,length=20,cooldown=120/... Player - ConsumablesLets you set what buffs the player uses | Option | Default + Example | Description | | "flask" | | Not yet implemented, use action strings | | "elixirs" | | Not yet implemented, use action strings | | "food" | | Not yet implemented, use action strings |
Player - BuffsStatic buffs from classes which are not yet implemented | Option | Default + Example | Description | | "battle_shout" | 0, battle_shout=550 | Actual attackpower you get | | "blessing_of_kings" | 0 | Boolean | | "blessing_of_might" | 0, blessing_of_might=550 | Actual attackpower you get | | "blessing_of_wisdom" | 0 | Boolean | | "leader_of_the_pack" | 0 | Boolean | | "sanctified_retribution" | 0 | Boolean | | "swift_retribution" | 0 | Boolean |
|
Thanks for all this great work!
The intent of spell_xxx and attack_xxx options was to allow people to specify their "paper doll" values after gear/enchants/talents/etc. However, I've never really tested it be SURE it is clean.......
One thing to note: The "party" field is not really a count, but rather a numeric marker. By default, everybody is in the same party. If you wish to control party-specific buffs, you can use this to denote party groupings.
Hh, ok. Just looked around in the source where the values were used.
Saw in the thread on EJ that some people asked for a list of options, and i think most people won't download the source and then work out what those options exactly do.
Yeah..... The app is quite user-unfriendly. I have a huge respect for UI developers. As far as I'm concerned, good interfaces are a form of art...... well beyond my abilities.
Oops, don't forget about the wand! ;D Yea, simple intuitive UIs, if it were only as easy as it sounds :)
Does simulationcraft take the base stats of the above trinkets (sundial, embrace etc.) into the calculation automagically or do I have to add those manually?
(i.e. does embrace_of_the_spider=1 add 98 spell power or is an additional corresponding "gear_spell_power=...." required?)
Thanks!
I considered adding the base stats, but in the end decided not to. Right now, you can get your total stats off your character sheet. I didn't want people to have to subtract off stats on trinkets, etc. (You already have to subtract out talent-related stat bonuses.)
No worries -- I haven't looked at it that way ... but now as you mention it, yes, adding the stats could cause some issues, too.
I'm using simulationcraft for item comparison a lot, i.e. I copy multiple mages into one parameter file and just do little tweaks to them -- today I replaced a forge_ember with an embrace_of_the_spider and ended up with less dps on the "embrace mage", which didn't seem to make sense. It's good to know that trinkets bring their effects only while changes in base stats (caused by swapping trinkets) have to be dealt with manually.
Thanks for your reply!
Few Ele Shaman module related questions, hope you don't mind:
Thanks and keep up the great work, loving your app.
Regarding Flametongue weapon as nature, it's in the // Flametongue Weapon Spell section, don't really know if it's a bug or I just don't understand the code, or whether it's influencing the simulation in any negative way.
Thanks for the code review. I don't believe the school classification is affecting the behavior but I'll change it shortly.
I haven't implemented any race/profession buffs. Unfortunately, for right now you need to handle it via the gear_xxx options.
Regarding the totem, I can certainly add it..... or if you are interested, I'll set you up with commit access and you can do it! Squirt me an email if you want to get your hands dirty....
I finally got rount to using this tool and I must say I really like it.
One thing I'm not sure about is how to set up how to run a sim on my lock with the imp on passive as well as with the imp(or any pet) saced. Any help with this would be great.
thx
The "actions" line defines the priority list of actions that the player takes.
Right now, you cannot summon a pet and NOT have it attack. The closest thing to do would be to simply not summon it and give yourself a stamina boost through gear settings.
To sacrifice a pet, you have to first use the summon action and then the sacrifice action. I must admit that we haven't tested sac in a while, though.....
Thx for the quick reply.
I do realise the sac option is pretty dated. The reason I was asking about it is due to fail pet management on my part during sart3d encounter and wanted to evaluate a spec with a passive imp buff over a saced buff ie 5% fire damage/5% crit VS 10% fire damage. But as you point out I can manually fudge this.
Why not just use WOW API to extract info about the player to create you .simcraft files ?
functions to get the stats of the player already exist, you can even get the actions of the player to put in your files, not sure how they all will communicate, but there HAS to be a way
What API are you referring to exactly? Can you provide a link?
http://www.wowwiki.com/World_of_Warcraft_API
well my desire was to find out the statistics in my current gear or with gear i already have in my backpack
hmmm, i can just use armory to get my stats, to configure the files
should of thought of my proposal better Have a nice evening
ciobarmiron's comment is still valid, autogeneration of play simcraft files would be a nice feature. Tools are available to auto-retrieve wowarmory data an example is http://www.wow-sim.com/downloads which pulls the XML sheet from the armory. Some parsing of the XML could be done to generate a specific simcraft file for a given character. This would be awesome especially in terms of trying to re-create an actual raid environment.
We are actively working on auto-generation of .simcraft files via a graphical UI in conjunction with Armory downloads.....
see this?
It's a happy dance.
How does one add the item proc for Pandora's Plea (proc effect of the same name)? http://www.wowhead.com/?item=45490
The apostrophe seems to be causing issues currently, or i'm just not typing it in properly :X
The conversion is: (1) all lowercase (2) spaces become underscores (3) remove apostrophes
^ ah okay, thought I had tried that when it was terminating early :p
Now it generates the report but the proc doesn't occur and the batch notes "simcraft: Unknown option/value pair: 'pandoras_plea' : '1'"
looks like the proc hasn't been added yet, oh well!
I know this seems like a bit much, but has any thought been given to completely rewriting simcraft? If it was done in either Java or C# it would be a lot easier to find people to help, it would be a simple matter to download armory files or parsing the xml. Guis are pretty simple in both languages.
I don't know C++ well enough to do the armory link, but I would be willing to help convert the program if you are interested.
There is a great deal of unannounced functionality.......
armory=region,server,name
ex: armory=us,Llane,Segv
or: player=Segv,region=us,server=Llane,talents=inactive
50k lines would be a daunting re-write. While much of the code would compile fine in Java, it would still be a major investment. The bigger problem is that with recent enhancements we are just barely into the performance region of reasonable foreground computation.
I am well versed in various jit compilers as well as gcj. It is simply not enough.
All that being said, I certainly appreciate the offer. If you would like to contribute to the current implementation, please send me an email.
I think I can help with autogenerating player profiles off the armory. I can easily do this with a bit of python to start with, then once it's working as it should can port it to c++. Can a developer drop me a line I'm not 100% sure of the formatting and what figures need to go into the simcraft file.
While we certainly appreciate the offer, that functionality already exists within the simulationcraft engine.
You can populate the sim several ways: (1) Old fashioned: mage=... rogue=... (2) armory=region,server,name (3) wowhead=region,server,name (4) wowhead=123456789 (custom profile) (5) rawr=character_save_file_from_rawr.xml
To generate configs, use save=filename and/or save_profiles=1
Hi I tried some of those options but they didn't work. I had a simcraft file which just had the one line... rawr=<file>
and got
D:\simcraft-r2846-windows>simcraft.exe max_time=300 optimal_raid=1 input=maelgad.simcraft output=maelgad.txt html=mae lgad.html calculate_scale_factors=1 smooth_scale_factors=1 iterations=10000 thre ads=2 simcraft: Unknown option/value pair: 'rawr' : 'maelgad.xml'
Generating baseline... simcraft: Unknown option/value pair: 'rawr' : 'maelgad.xml' simcraft: No active players in sim. simcraft: No active players in sim. Assertion failed: false, file sc_sim.cpp, line 637 Assertion failed: false, file sc_sim.cpp, line 637
This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.
ignore above. downloaded most recent version and it works
I enter my as "level=71" and from the debug log it looks like it assumed my warlock pet was level 80. Is there a way to set the pet level or just assume it is the same level as the caster?
The pets DO inherit their level from the Warlock, but the pets are created when the Warlock is created and Warlock defaults to level 80. You subsequently override the Warlock level, but the pets have already been created at this point.
The Hunter module defers pet creation until init() which is after option parsing.
For now, you should be able to do: active=imp (or whatever pet you are using) level=71 active=owner
Player buff information provided on this page is out of date. If you are trying to simulate having additional classes in your raid that are not being modeled, but do not want the optimal_raid=1 option, then you must add the buffs individually using the override command, such as: override.blessing_of_kings=1 override.blessing_of_might=1 override.blessing_of_wisdom=1 override.sanctified_retribution=1 override.swift_retribution=1 override.mana_spring=1 override.judgement_of_wisdom=1
Unfortunately from what I can tell this causes the buffs to be taken into account, but not be reported. So under the constant and dynamic buffs the overrides will not be listed. Their effect is evident in the increased dps and reported energy gains.
Unfortunately, documentation is seriously falling behind functionality at the moment.
With regards to reporting: I'll put out a new release shortly that has all the cleaned up.
The options pages happened to be in a moment of enthusiasm from my side, and yea, that only happens like once a year :S