My favorites | Sign in
Project Logo
                
Search
for
Updated Feb 09, 2009 by natehieter
Labels: Featured
PlayerOptions  

Player creation

Each 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

Attributes

Every 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 - Weapons

Weapon=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 List

This 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 Gear

Metagems

Option Activates
chaotic_skyfire=1 Chaotic Skyfire Diamond is used as metagem
chaotic_skyflare=1 Chaotic Skyflare Diamond is used as metagem
mystical_skyfire=1 Mystical Skyfire Diamond is used as metagem

Items with Chance on Hit/Crit/Tick-effects

Option Activates
dying_curse=1 Dying Curse
embrace_of_the_spider=1 Embrace of the Spider
extract_of_necromatic_power=1 Extract of Necromatic Power
forge_ember=1 Forge Ember
illustration_of_the_dragon_soul=1 Illustration of the Dragon Soul
sundial_of_the_exiled=1 Sundial of the Exiled
thunder_capacitor=1 Tunder Capacitor
TBC TBC
Ashtongue Talisman ashtongue_talisman=1
eternal_sage=1 Band of the Eternal Sage
darkmoon_crusade=1 Darkmoon Card: Crusade
darkmoon_wrath=1 Darkmoon Card: Wrath
eye_of_magtheridon=1 Eye of Magtheridon
mark_of_defiance=1 Mark of Defiance
quagmirrans_eye=1 Quagmirran's Eye
elder_scribes=1 Robe of the Elder Scribes
sextant_of_unstable_currents=1 Sextant of Unstable Currents
shiffars_nexus_horn=1 Shiffar's Nexus-Horn
spellstrike=1 Spellstrike-set Bonus
spellsurge=1 Spellsurge enchanted on weapon
lightning_capacitor=1 The Lightning Capacitor
timbals_crystal=1 Timbal's Focusing Crystal
Pre-TBC Pre-TBC
wrath_of_cenarius=1 Wrath of Cenarius

Items with Use:-effects

To be used in ActionStrings.

TBC TBC
violet_eye Pendant of the Violet Eye
Pre-TBC Pre-TBC
hazzrahs_charm Hazza'rah's Charm of ... Mage, Preist, Warlock only
talisman_of_ascendance Talisman of Ascendance
zandalarian_hero_charm Zandalarian Hero Charm

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:

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:

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:

Example: .../spell_power_trinket,power=346,length=20,cooldown=120/...

Player - Consumables

Lets 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 - Buffs

Static 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


Comment by natehieter, Dec 21, 2008

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.

Comment by Twigele, Dec 22, 2008

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.

Comment by natehieter, Dec 22, 2008

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.

Comment by Twigele, Dec 22, 2008

Oops, don't forget about the wand! ;D Yea, simple intuitive UIs, if it were only as easy as it sounds :)

Comment by tdelbrouck, Feb 07, 2009

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!

Comment by natehieter, Feb 07, 2009

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.)

Comment by tdelbrouck, Feb 07, 2009

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!

Comment by clanofmiller, Feb 11, 2009

Few Ele Shaman module related questions, hope you don't mind:

  • flametongue weapon imbue is defined as SCHOOL_NATURE (although it's fire?)
  • would you care including the totem Venture Co. Lightning Rod into player options, it seems to be an option before getting hold of the totem of hex (i know I'm sporting one)
  • I haven't seen it anywhere, is the sim accounting for Mixology buff to the, say, Flask of the Frost Wyrm? (haven't found anything like that in the code) or do I have to add the mixology bonus on top of my spell power bonuses?
  • Draenei aura -- same as mixology for hit bonus

Thanks and keep up the great work, loving your app.

Comment by clanofmiller, Feb 11, 2009

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.

Comment by natehieter, Feb 11, 2009

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....

Comment by Derrickmcdaniel2, Feb 13, 2009

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

Comment by natehieter, Feb 13, 2009

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.....

Comment by Derrickmcdaniel2, Feb 13, 2009

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.

Comment by ciobamiron, Mar 24, 2009

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

Comment by natehieter, Mar 24, 2009

What API are you referring to exactly? Can you provide a link?

Comment by ciobamiron, Mar 24, 2009

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

Comment by theonlyalterego, Apr 28, 2009

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.

Comment by natehieter, Apr 28, 2009

We are actively working on auto-generation of .simcraft files via a graphical UI in conjunction with Armory downloads.....

Comment by theonlyalterego, Apr 28, 2009

see this?

It's a happy dance.

Comment by Yizelin, May 24, 2009

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

Comment by natehieter, May 24, 2009

The conversion is: (1) all lowercase (2) spaces become underscores (3) remove apostrophes

Comment by Yizelin, May 24, 2009

^ 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!

Comment by babol...@mgtechsupport.com, Jul 01, 2009

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.

Comment by natehieter, Jul 02, 2009

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.

Comment by durlaw, Jul 22, 2009

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.

Comment by natehieter, Jul 22, 2009

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

Comment by durlaw, Jul 25, 2009

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.

Comment by durlaw, Jul 25, 2009

ignore above. downloaded most recent version and it works

Comment by dondzes, Aug 19, 2009

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?

Comment by natehieter, Aug 19, 2009

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

Comment by Fletcher.J, Sep 03, 2009

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.

Comment by natehieter, Sep 03, 2009

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.

Comment by Twigele, Sep 03, 2009

The options pages happened to be in a moment of enthusiasm from my side, and yea, that only happens like once a year :S


Sign in to add a comment
Hosted by Google Code