Git Product home page Git Product logo

simc's Introduction

Overview

SimulationCraft is a tool to explore combat mechanics in the popular MMO RPG World of Warcraft (tm).

It is a multi-player event driven simulator written in C++ that models player character damage-per-second in various raiding and dungeon scenarios.

Increasing class synergy and the prevalence of proc-based combat modifiers have eroded the accuracy of traditional calculators that rely upon closed-form approximations to model very complex mechanics. The goal of this simulator is to close the accuracy gap while maintaining a performance level high enough to calculate relative stat weights to aid gear selection.

SimulationCraft allows raid/party creation of arbitrary size, generating detailed charts and reports for both individual and raid performance.

A simple graphical interface is included with the tool, allowing players to download and analyze characters from the Armory. It can also be run from the command-line in which case the player profiles are specified via parameter files.

How Can I Use It?

Go to the downloads page and get the package for your particular platform. The Windows package offers both a formal install and a archive that can be extracted on to your desktop. There is no Linux release since it is so ridiculously easy to build it yourself on that platform. Releases occur quite frequently so be sure to check the release notes.

Two executables are shipped: SimulationCraft sports a simple graphical user interface whereas simc uses a command-line interface.

Launching SimulationCraft will present you with an explanation on how to use the tool.

There is also an excellent starters guide on our wiki.

How Can I Get Help?

For a simple overview, thoroughly read the Welcome page that is presented upon launching SimulationCraft. In addition, detailed documentation material can be found on our wiki pages. Here you will find a list of features, a starters guide, as well as answers to frequently asked questions.

If your question is not answered there, then see the Community section below on how to reach other users via Discord. We periodically scan the WoW, MMO, and Wowhead forums as well, but we cannot promise swift responses in those arenas.

If you have detailed questions that need to be answered in real time then I recommend you visit the Discord server detailed in the Community section below. There are active SimulationCraft developers on the server 24hrs a day.

If you believe that the reported analysis is incorrect please open an issue. If you are unable to download your character, please open an issue. If you feel that the tool is missing features/directives necessary for analysis, please open an issue. Opening an issue (as opposed to an email, forum post, chat msg, etc) is by far the most effective method of getting a swift resolution to your problem.

Also make sure to check our common issues wiki.

How Can I Contribute?

See Contributing.

Community

Discord: SimCMinMax (#simulationcraft)

Important Notice

SimulationCraft is different from SimCraft. Please use the full name SimulationCraft (or SimC) to refer to this project. Visit SimCraft if you are looking for full-motion simulators for SimRacing and FlightSim.

External Libraries

This program uses the following external libraries.

RapidJSON (http://rapidjson.org)

Copyright (c) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. MIT License (see LICENSE.MIT for more information).

RapidXML (http://rapidxml.sourceforge.net/index.htm)

Copyright (c) 2006, 2007 Marcin Kalicinski. All rights reserved. MIT License (see LICENSE.MIT for more information).

The MSInttypes r29 (https://code.google.com/p/msinttypes/)

Copyright (c) Alexander Chemeris. All rights reserved. BSD 3-Clause License (see LICENSE.BSD for more information).

The Qt Toolkit (https://www.qt.io/)

Copyright (c) 2016 The Qt Company Ltd. and other contributors. All rights reserved. GNU Lesser General Public License, version 3 (see LICENSE.LGPL for more information).

UTF-8 CPP (https://github.com/nemtrif/utfcpp)

Copyright (c) 2006 Nemanja Trifunovic. All rights reserved. Boost Software License, Version 1.0 (see LICENSE.BOOST for more information).

{fmt} (https://github.com/fmtlib/fmt)

Copyright (c) 2012 - 2016, Victor Zverovich. All rights reserved. BSD 2-Clause "Simplified" License (see LICENSE.BSD2 for more information).

cpp-semver (https://github.com/easz/cpp-semver)

Copyright (c) 2018 Cas Perl. All rights reserved. MIT License (see LICENSE.MIT for more information).

utf8.h (https://github.com/sheredom/utf8.h)

Unlicense License (see LICENSE.UNLICENSE for more information).

simc's People

Contributors

aethys256 avatar aggixx avatar archimtiros avatar azevara avatar bloodmallet avatar collisionc avatar dorovon avatar evanmichaels avatar flapjack831 avatar frostedmages avatar gastank avatar hinalover avatar jayezi avatar jundarer avatar kenthklui avatar lgkern avatar melekus avatar mserrano avatar mystler avatar navv1234 avatar nuohep avatar nyterage avatar pewtro avatar saeldur avatar scamille avatar seanpeters86 avatar seriallos avatar theckhd avatar twintop avatar vituscze avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

simc's Issues

Glyph of Unstable Affliction

Originally reported on Google Code with ID 13

I've implemented the Glyph of Unstable Affliction for warlocks.  I
*believe* this correctly implements the mechanics of the glyph; from my
testing it looks like UA takes 1.3s to cast, and you don't have to wait on
the GCD after the cast (ie the GCD is lowered too for UA -- wouldn't make
much sense otherwise).  Patch against r1147 is attached; it seems to apply
cleanly to 1170 also.

Reported by craig.hughes on 2008-12-09 06:47:04


- _Attachment: [ua_glyph.patch](https://storage.googleapis.com/google-code-attachments/simulationcraft/issue-13/comment-0/ua_glyph.patch)_

physical attacks are not mitigated by armor

Originally reported on Google Code with ID 3

What steps will reproduce the problem?
1. run raid_80.txt on r1026 (could not compile trunk, but bug should be
there too)
2. look at all physical attacks (that result in normal hits)

What is the expected output? What do you see instead?

direct damage(dd) should be less than initial direct damage(i_dd) since it
is mitigated by armor. Example:
 Warlock_0_53_18_felguard dmg for cleave: dd=563 i_dd=563 b_dd=124 mod=0.07
b_power=0 p_power=1258 t_power=0 b_mult=1.26 p_mult=1.03 t_mult=1.00
But both are equal.

Please use labels and text to provide additional information.

The bug is a result of the high(>2 000 000) penetration of the attack,
which sould be a value between 0.0 and 1.0:
 action_t::target_debuff: cleave multiplier=1.00 hit=0.00 crit=0.00
power=0.00 penetration=2041000
This might originate from line 171 in sc_action.cpp:
    target_penetration += t -> debuffs.sunder_armor * 520;
sunder armor is already applied @line 218 in the same file (trough
composite_armor())

Suggested Fix:
Deleting line 171 would probably fix it, but i don't know if other things
are affected by this change.

Reported by sven.fischer85 on 2008-11-01 18:03:26

[Rogue] Mutilate Glyph + 4part T7

Originally reported on Google Code with ID 34

Not confirmed, but it's assumed that the energy reduction from the Mutilate glyph applies
after 
4part T7. 
http://elitistjerks.com/f78/t45381-3_1_rogue_changes_early_preview/p35/#860 posts 860,

861

In any case, it's worth noting there's 2 possibilities for the final cost of Mutilate
and a definite 
answer if the game tracks fractional energy or not is certainly interesting to this
simulator :)

I suppose the way to fix this would be to override mutilate_t::cost() like this

  virtual double cost()
  {
      rogue_t* p = player -> cast_rogue();
      double c = rogue_attack_t::cost();
      if( p -> glyphs.mutilate ) c -= 5;
      return c;
  }

and remove the base_cost reduction in the constructor.

Reported by poissonnier on 2009-03-08 13:58:46

actions priority list

Originally reported on Google Code with ID 50

What steps will reproduce the problem?
In excampel, when i replace in Warlock_T8_53_00_18_DG.simcraft shadow_bolt
with immolate, then immolate wont cast. 

What is the expected output? What do you see instead?
The expected output is that i could see how many damage immolate insteed of
shadow_bolt make. But immolate would't cast and the warlock has 56% down time.

What version of the product are you using? 
r1997 


Reported by [email protected] on 2009-04-02 13:05:12

Thunder capacitor trinket

Originally reported on Google Code with ID 14

I've implemented the Thunder Capacitor trinket which is a quest reward in
WotLK.  It's basically like the lightning capacitor, but with 4 charges
instead of 3, and the damage is higher.  I did not abstract out the common
logic, but just copy/pasted.

Reported by craig.hughes on 2008-12-09 06:49:42


- _Attachment: [thunder-capacitor.patch](https://storage.googleapis.com/google-code-attachments/simulationcraft/issue-14/comment-0/thunder-capacitor.patch)_

Non-zero melee stat scale factors for Warlocks

Originally reported on Google Code with ID 18

When many Warlocks are added to the sim, some end up with apparent scaling
against stats like expertise.  Most likely, this is due to a spike in one
or more iterations due to a bug.

Reported by natehieter on 2009-01-09 21:21:39

Druid talent intensity not updated for 3.1

Originally reported on Google Code with ID 49

It still uses the old 30% number instead of the new 50%.  It could be that
the druid 3.1 changes are still in the process of being implemented and
this is just on the list.

As a side note, I've been working on a simulator written in Java for
Moonkin simulation.  After discovering this simulator I decided to drop my
simulator and put effort into QA of this one.  My old simulator can be
found at http://code.google.com/p/simwow/

Reported by ryttingm on 2009-03-31 20:09:53

target_armor setting in .simcraft files not being used

Originally reported on Google Code with ID 39

Setting target_armor in .simcraft files doesn't seem to change the value, instead the
default 
hardcoded values are used. Tried this in a single profile as well as changing in the

Globals_T[78].simcraft.

Reported by poissonnier on 2009-03-19 18:00:55

unleashed rage never gets into effect

Originally reported on Google Code with ID 11

player_t::composite_attack_power_multiplier handles unleashed rage/trueshot
aura/other ap multiplying abilities.
So it should be applied to total attackpower of a player, but it is never
called from player_t::composite_attack_power. Only player_t subclasses
apply it to any -additional- attack power they get.
I think this is easy to fix, but I don't know if it's part of a bigger
problem, so I didn't fix it.

So a Buff for Enhancers yay! The bad news is this thread:
http://elitistjerks.com/f15/t37584-wrath_boss_armor_testing/ 3K more armor
is huge :(

Reported by sven.fischer85 on 2008-12-06 05:19:48

Felguard / Pet Simulation Accuracy issues

Originally reported on Google Code with ID 22

What steps will reproduce the problem?
1. Run Simulationcraft and pull the Count numbers for the pet in question
2. Combatlog a fight and sum the Hit/Crit/Miss/Dodge/Parry/Glance #'s and 
divide that number by the time of the fight.

What is the expected output? What do you see instead?
I'm expecting the time to be near 6 seconds for cleave and much lower for 
hit attacks for a felguard-

I'll work with the following WWS and go through the oddities between 
simulation and results to hopefully help you pin down the problem.

From this WWS-

http://wowwebstats.com/ofqodetjtxz6m?a=x252deab&s=101006-112770

Time Duration = 160~ seconds

Cleave attempts = 28
Hit attempts = 125

The example simulation puts cleave at 6.2 seconds whereas this WWS has 
cleave occuring on averazge 160/28 5.71 (6 second cooldown).  Which is 
consistent with the last cleave being cast near or as the killing blow and 
not spending any time on cooldown for the last cleave.

The example simulation puts melee attacks occuring every 1.5 seconds, but 
the resulting WWS has melee attacks occuring every 160/125 = 1.28 seconds.

The Felguard may be off by a good 20% for melee swings and 1-2% for 
cleaves.  This may affect other pets white damage as well.  These 
discrepencies seem consistent with other WWS logs for other fights.

*note - There was no heroism on this fight.





What version of the product are you using? On what operating system?


Please provide any additional information below.


Reported by stephen.oneal.04 on 2009-01-26 17:04:37

Warlock - Removing Dark Pact leads to Pandamic error

Originally reported on Google Code with ID 2

What steps will reproduce the problem?
1. Removed dark_pact from the priority list for the actor Warlock_56_0_15 
in the raid_80.txt. No other alterations were necessary.
2. Executed simcraft as suggested in the header of the raid_80.txt file
3.

What is the expected output? What do you see instead?
I wasn't rly sure what would happen, but the outcome seemed very 
irrational.
Pandamic is listed as doing 9k'ish damage per. execute time and the 
warlock actor did about 6.3k dps overall. This is about 1k more dps than 
with dark_pact

What version of the product are you using? On what operating system?
r888, on Vista 64-bit

Please provide any additional information below.

Reported by [email protected] on 2008-10-29 09:40:00

Warlock Shadowflame spell

Originally reported on Google Code with ID 15

Implementation of the Shadowflame spell.  I wasn't sure how best to
implement the Shadow DD vs Fire DOT.  I think this works, but it's not
showing right in the graphs -- all damage shows in the charts as being
Shadow -- the DOT is not broken out separately from the DD.

The spellpower coefficients were not easy to track down online -- the
numbers I used sounded the most reasonable of the numbers I could find via
googling, but could be wrong.

Also, I believe from testing that Conflagrate consumes randomly (50-50)
either immolate or shadowflame when both are up on the target.  This may or
may not be correct.  It also means that you might try and schedule
conflagrate to "eat" the last time of shadowflame, but it'll actually when
cast choose to eat the 2nd tick of immolate....  This is what happens in
reality though, and I think that's simulated correctly at least.

Reported by craig.hughes on 2008-12-10 16:34:54


- _Attachment: [shadowflame.patch](https://storage.googleapis.com/google-code-attachments/simulationcraft/issue-15/comment-0/shadowflame.patch)_

spell coeffs for elemental shaman

Originally reported on Google Code with ID 5

Very nice work! 

I spent some time looking the source code, partially because I was very sad
looking at the elemental shaman stats. So I tried to find a bug :) 

Are you absolutely sure that the coeff (direct_power_mod) of the lightning
bolt is 0.714 ? I don't have access to WOLTK but I'm sure that the coeff is
0.794 in BC. It is not 2.5/3.5 (same question for chain lightning and other
spells). 

I have verified inside the game the min/max values of the lightning bolt to
be sure the coeff was 0.794. 
http://elitistjerks.com/f47/t19038-spell_coefficients/ give some coeffs too. 

Reported by dunthaf on 2008-11-11 21:01:12

Snapper extreme adds too much hit

Originally reported on Google Code with ID 47

In sc_consummable.cpp snapper extreme adds 40 to spell hit directly.  It is
not getting properly scaled by spell hit rating conversion factors like it
should.  It should be assigned 40 / rating.spell_hit.


Reported by ryttingm on 2009-03-31 17:08:17

Some minor things in sc_warlock.cpp

Originally reported on Google Code with ID 36

In warlock_spell_t::target_debuff:
target_multiplier *= 1.01 + p -> talents.master_conjuror * 0.01;

Master Conjuror is a 150/300% increase in 3.1. The multiplier is 1.02 with
1/2 (rounded down) and 1.04 with 2/2. And I wonder why you aren't doing the
sim -> patch.before( 3, 1, 0 ) thing here. The talent doesn't modify the
multiplier in 3.0.9 I think.


In struct immolate_t:
direct_power_mod  += (1.0/3.0) * p -> talents.fire_and_brimstone * 0.01;
tick_power_mod    += (2.0/3.0) * p -> talents.fire_and_brimstone * 0.02 /
num_ticks;

Looks like you are doing the 1/3-2/3 splitting twice. Fire&Brimstone
increases immolate's damage by 3% of your spell power per point.


In struct searing_pain_t:
base_crit       += p -> talents.improved_searing_pain * 0.04;

Improved Searing Pain increases the critchance by 4/7/10%.


In warlock_t::init_base:
attribute_multiplier_initial[ ATTR_STAMINA ] *= 1.0 +
talents.demonic_embrace * 0.02;

This is correct in 3.0.9, but Demonic Embrace is 4/7/10% in 3.1.

Reported by [email protected] on 2009-03-09 18:38:02

Starfall

Originally reported on Google Code with ID 30

Feature request:

Starfall (Druid Balance 51-point talent) is a small DPS boost for Moonkin 
on single-target fights.

Instant cast.  3-minute cooldown.
35% base mana.  Reduced by Moonglow.
School is Arcane.

The single-target behavior:

Seems to be implemented as a buff on the Druid.  Each second for 10 
seconds (as long as the druid is not CC'd) a "large" star will hit the 
target.  If the large star hits, a small star will be generated to hit the 
target.  It is possible to get a large-hit/small-miss, but if the large 
star misses, there will be no small star.  A hit-capped druid will get 10 
hits of each type.

Top-rank:
Large star: 433-503 damage.  5% spell coefficient.
Small star: 78 damage. 1.2% spell coefficient.

Stars can crit.  They benefit from Nature's Majesty and Vengeance.  I 
assume they benefit from Improved Faerie Fire.  They do not benefit from 
Moonfury.

Crits do not restore mana (Improved Moonkin Form).

Crits generate Nature's Grace.  However if the Druid is currently casting 
(Starfire or Wrath) the cast will consume the Nature's Grace with no 
benefit to the cast.  If the NG occurs while the druid is not casting, his 
next (SF or Wrath) will get the benefit.

I believe the Starfall cast can proc Omen of Clarity, but the individual 
stars cannot.  I'm not sure of this though.


Possible action-list conditionals (not really necessary):

Starfall scales poorly with spellpower and haste.  Druids might wait to 
avoid casting it during +Spell events or +Haste events (Bloodlust/Heroism).

Starfall is expensive (and has poor damage per resource).  A druid might 
wait for Omen of Clarity before casting Starfall.  Due to reaction-times, 
the only "usable" OoC in this case would have to be one from an instant-
cast (MF, IS, FF).

Reported by ricewade on 2009-02-18 15:45:23

Mana and Health contribution from Intellect and Stamina incorrect

Originally reported on Google Code with ID 32

Currently, SimulationCraft calculates that Intellect and Stamina each
contribute a flat amount of Mana or Health per point. Unfortunately, this
is incorrect.

For a player, the first 20 points of Intellect provide 1 Mana each and
every point after the first 20 provides 15 Mana each. Likewise, the first
20 points of Stamina provide 1 Health each and every point after provides
10 Health each. This can be seen from looking in-game, viewing Armory
profiles, and also confirmed at http://www.wowwiki.com/Attributes.

This causes initial and maximum player Mana and Health to be incorrect. To
be precise, initial and maximum Mana is [20*(15-1)]=280 greater than it
should be and initial and maximum Health is [20*(10-1)]=180 greater than it
should be. While not an issue for most uses, if using finite mana, the
extra mana can provide very slightly more damage.

The relevant lines are lines 559-560 of sc_player.cpp:
      if( i == RESOURCE_MANA   ) resource_initial[ i ] += intellect() *
mana_per_intellect;
      if( i == RESOURCE_HEALTH ) resource_initial[ i ] +=   stamina() *
health_per_stamina;

One issue is that, minding my rudimentary knowledge, that this code appears
to be executed for pets as well as players. For pets, there appears to be
no similar penalty for the first 20 points of Intellect or Stamina, given
my limited research.

A fix might look something like the following:
      if( i == RESOURCE_MANA )
      {
        double temp_intellect = intellect();
        if( !is_pet() )
        {
          if( temp_intellect > 20 )
          {
            resource_initial[ i ] += 20 + (temp_intellect - 20) *
mana_per_intellect;
          }
          else
          {
            resource_initial[ i ] += temp_intellect;
          }
        }
        else
        {
          resource_initial[ i ] += temp_intellect * mana_per_intellect;
        }
      }
      if( i == RESOURCE_HEALTH )
      {
        double temp_stamina = stamina();
        if( !is_pet() )
        {
          if( temp_stamina > 20 )
          {
            resource_initial[ i ] += 20 + (temp_stamina - 20) *
health_per_stamina;
          }
          else
          {
            resource_initial[ i ] += temp_stamina;
          }
        }
        else
        {
          resource_initial[ i ] += temp_stamina * health_per_stamina;
        }
      }

It seems like there should be a cleaner way though. *shrug*

Reported by dflint on 2009-03-05 21:11:11

Unlink Replenishment from the passive regen tick mechanic

Originally reported on Google Code with ID 10

1. Is Devouring Plage really refreshing/stacking misery? push_misery is
called by it's code.
(I can see no situation where the implementation with push and pop is not
similar to the behavior of misery in game, so it does not seem worth changing)

2. Shouldn't replenishment only be triggered when MB hits and Vampiric
Touch is on the target, currently it seems to be triggered by VT itself.

3. Replenishment affects only 10 players in raid, we got more than that by
now, I would like to see some competition for mana ;)
I am not really sure about the mechanics of Replenishment. Only 10 players
can get it, but what if it is triggered again before it times out? Do the
(possibly new) 10 lowest players get the regen? Is it canceled on the
others? Can you keep it up on 20 players constantly with 2 players
providing it?
Well I am not sure, but maybe somebody does know.

Reported by sven.fischer85 on 2008-12-03 21:54:51

Missing source code

Originally reported on Google Code with ID 6

sc_rand.cpp and SFMT.c are missing from the source directory SVN.

Reported by nothgrin on 2008-11-12 16:19:55

Shaman mana reduction talents stack additively

Originally reported on Google Code with ID 24

Shaman mana reduction talents coded to stack multiplicatively.  The correct
model is additive.

Reported by natehieter on 2009-02-03 21:32:23

Enhancement Shaman's lightning shield not refreshed

Originally reported on Google Code with ID 7

What steps will reproduce the problem?
1. normal run
2. might also run with log=1
3.

What is the expected output? What do you see instead?
You see a count of exactly 9 times of lightning shield damage in the summary.
If run with log=1 you see no lightning shield damage after 9 or so
damgaging orbs. 

Please use labels and text to provide additional information.
Shaman's damage will increase when fixed, but only like 80 dps.
Since there are several ways this can be fixed(e.g. changing the ready
function of lightning_shield or changing setting active_shield to null when
the last orb is fired), I better leave it to somebody else :)

Reported by sven.fischer85 on 2008-11-12 17:14:33

rand() use in sc_player.cpp

Originally reported on Google Code with ID 8

I saw you are using the standard rand() in player_t::schedule_ready, not
the sfmt one.

Reported by sven.fischer85 on 2008-11-19 12:40:59

Moonkin /starfire,extendmf=1 crash

Originally reported on Google Code with ID 35

On windows, drag the attached file to simcraft.bat

r1716-windows

In starfire::execute()

   if ( extend_moonfire && p -> glyphs.starfire )
       if ( p -> active_moonfire -> added_ticks > 2 )
         return false; 

I suspect active_moonfire may be NULL (although the previous action in my 
list was an unconditional /moonfire, so maybe not).  I'd suggest this code 
fragment is better as

   if ( extend_moonfire )
   {
      if( !p -> glyphs.starfire || !p->active_moonfire )
        return false;
       if ( p -> active_moonfire -> added_ticks > 2 )
         return false; 
   }

Reported by ricewade on 2009-03-09 13:00:47


- _Attachment: [Druid_T8_58_00_13_W_E.simcraft](https://storage.googleapis.com/google-code-attachments/simulationcraft/issue-35/comment-0/Druid_T8_58_00_13_W_E.simcraft)_

Implement better scaling algorithm

Originally reported on Google Code with ID 42

The current scaling factor algorithm iterates through each type of
attribute and rating increasing or decreasing each in turn by a certain
amount, running a child sim and comparing the results of the child with the
baseline.
By default the delta factors are mostly positive values.

The suggestion is to instead, for each stat first increase the stat by the
given amount div 2, and then decrease it by the given amount div 2 (with
some exceptions) and then take the average of the difference between the
child dps and the baseline dps.

The advantage of this method is, it should give us a better idea of what
the scale factors are at our baseline gear level rather than at some place
better than our baseline.


Reported by delmortis1 on 2009-03-27 15:33:57

Illustration of the Dragon Soul adds 18 spell power per stack rather than 20 spell power

Originally reported on Google Code with ID 31

While on the PTR it was 18 per stack, in live it was made 20. I'm sure the
changes are easy enough to find, but to save time:

In sc_unique_gear.cpp:
At line 428:
      player -> spell_power[ SCHOOL_MAX ] -= player ->
buffs.illustration_of_the_dragon_soul * 18;
should be:
      player -> spell_power[ SCHOOL_MAX ] -= player ->
buffs.illustration_of_the_dragon_soul * 20;
and
At line 443:
    p -> spell_power[ SCHOOL_MAX ] += 18;
should be:
    p -> spell_power[ SCHOOL_MAX ] += 20;

Reported by dflint on 2009-03-05 17:07:55

[Rogue] Envenom Glyph and Deadly Poison coefficient

Originally reported on Google Code with ID 33

This Glyph was added in the latest PTR push. 

"Glyph of Envenom -- Your Envenom ability no longer consumes Deadly Poison from your
target."

"Deadly Poison: The amount of damage this poison generates from the Rogue’s attack
power has 
been increased from 8% per application to 12%."

My attempt at adding the glyph as well as changing the Deadly Poison coefficient is
in the attached 
file.  However I am not very confident of my C++ or in understanding the simulator,
it's likely I am 
going about this in completely the wrong way or that I did some stupid mistake :) 

Reported by poissonnier on 2009-03-08 11:20:49


- _Attachment: [envenom_glyph.patch](https://storage.googleapis.com/google-code-attachments/simulationcraft/issue-33/comment-0/envenom_glyph.patch)_

Bug with extending dot durations/multiple of those in same actions list.

Originally reported on Google Code with ID 38

What steps will reproduce the problem?
http://elitistjerks.com/f73/t48226-simulationcraft_fur_feather_wearers/p2/#post1146178
Post has profiles etc.

The second rip in the action list is not aware of the ticks that got added
to the first one via extend_duration()

Reported by Twigele on 2009-03-13 01:05:43

Builds on Darwin/OSX ppc failing via make

Originally reported on Google Code with ID 9

What steps will reproduce the problem?
1. running 'make' on OS X 
2.
3.

What is the expected output? What do you see instead?
I expect it to build clean.  It fails with malgin errors.

dropdead ~/Downloads/SimCraft % make 
g++ -arch ppc -O3 -malign-double  -Wall sc_action.cpp sc_attack.cpp sc_consumable.cpp

sc_druid.cpp sc_enchant.cpp sc_event.cpp sc_mage.cpp sc_option.cpp sc_pet.cpp sc_player.cpp

sc_priest.cpp sc_rating.cpp sc_report.cpp sc_rng.cpp sc_rogue.cpp sc_shaman.cpp 
sc_scaling.cpp sc_sim.cpp sc_spell.cpp sc_stats.cpp sc_target.cpp sc_thread.cpp 
sc_unique_gear.cpp sc_util.cpp sc_warlock.cpp sc_weapon.cpp -lpthread -o simcraft
sc_action.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_attack.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_consumable.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_druid.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_enchant.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_event.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_mage.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_option.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_pet.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_player.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_priest.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_rating.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_report.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_rng.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_rogue.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_shaman.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_scaling.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_sim.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_spell.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_stats.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_target.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_thread.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_unique_gear.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_util.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_warlock.cpp:1: error: unknown -malign-XXXXX option specified: 'double'
sc_weapon.cpp:1: error: unknown -malign-XXXXX option specified: 'double'

and fails.

fix, build manually via: 

g++ -I. -Wall -O *.cpp -o simcraft

builds clean.

What version of the product are you using? On what operating system?

this is on:

Darwin dropdead.vcorp.ad.vrsn.com 9.5.0 Darwin Kernel Version 9.5.0: Wed Sep  3 11:31:44
PDT 
2008; root:xnu-1228.7.58~1/RELEASE_PPC Power Macintosh

Please provide any additional information below.



Reported by emory.lundberg on 2008-12-03 15:13:51

GUI Interface Request

Originally reported on Google Code with ID 40

Could ya possibly get a GUI for the Windows Version?



Reported by DigitalStorm07 on 2009-03-26 22:04:41

Improved scorch not casted multiple times

Originally reported on Google Code with ID 41

What steps will reproduce the problem?
I run simcraft with the standard Mage_T7_00_53_18.simcraft input parameter
and with the option log=1.

What is the expected output? What do you see instead?
Scorch is only cast once at the begining of the fight. The mage doesn't
cast it multiple times (in this case, twice as he has a glyph of Improved
Scorch and patch 3.0.9) until he gets 5 debuffs.
I suppose, this is due to the optimal_raid flag set to 1. 
But how can we simulate our dps loss as the unique Fire Mage in a raid we
are the one that cast this debuff.

What version of the product are you using? On what operating system?
SimulationCraft build level 1955 on Windows

Please provide any additional information below.


Reported by patrick.huge on 2009-03-27 14:19:27

Hunter: rapid recuperation

Originally reported on Google Code with ID 27

According to the tooltip, rapid recuperation also reduces focus cost of pet
abilities by 30/60% when using rapid fire (http://www.wowhead.com/?spell=53232)

It seems this is not taken into account with r1531.

Reported by gperreal on 2009-02-13 18:36:46

some small corrections on Druids

Originally reported on Google Code with ID 4

I was just looking into oomkins, because the Starfire Druid does rarely use
a manapotion even in a 900 sek/15 min fight!
I mean, he doesnt seem to go below 50% mana ever in such fights.
Same with shadow pries w/o SW:D

I did not yet find mana related issues, but some other little things.
Bear in mind, that I am not up to date with the latest patchnotes or
research for druids, only using Wowheads spell descriptions.
I posted this here, becaus i don't know if everybody is on the mailing
list, ore somebody else might want to add something.

Here we go:
benefit of talents.moonfury should be 0.03,0.06,0.10. It's
0.10/3,0.20/3,0.10 currently. Matters only if it's not maxed out though.

Was focused_starlight not renamed to natures_majesty? There are lines like:
    base_crit         += p -> talents.focused_starlight * 0.02;
    base_crit         += p -> talents.natures_majesty * 0.02;

why are boni to base_multiplier multiplicated (*=) and to direct_power_mod
added (+=)
It may be totally right, i am not very sure when it comes to % based things
in wow :)

Reported by sven.fischer85 on 2008-11-08 19:50:53

Unleashed Rage grants expertise with patch level 3.0.9

Originally reported on Google Code with ID 44

This is a change that is coming in 3.1, but the sc_shaman.cpp code has it
entered even for patch level 3.0.9.  The result is a significantly lower
than expected expertise weight for enhancement shamans because the profile
is so far above the expertise cap.  I ended up commenting out the line in
the sc_shaman.cpp line for my simulations.


Reported by ryttingm on 2009-03-29 12:03:51

Haunt not counted for drain soul?

Originally reported on Google Code with ID 26

What steps will reproduce the problem?
I just looked at the source and found a comment at sc_warlock.cpp which says:
      // Haunt currently does not affect Drain Soul

actually it does. (tested on live. got a 8.5kish tick with haunt and a
6.5kish without)

What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?


Please provide any additional information below.


Reported by Robi1295 on 2009-02-09 18:36:14

Ember Skyflare Diamond meta is unsupported

Originally reported on Google Code with ID 25

What steps will reproduce the problem?
1. trying to use ember skyflare diamond as a meta

What is the expected output? What do you see instead?
As far as I can tell, simcraft doesn't support [Ember Skyflare Diamond] 
meta (25 spellpower 2% intellect)

What version of the product are you using? On what operating system?
simcraft-r1411-windows.zip on vista 32bit

Please provide any additional information below.
Program works beautifully, I'm simply requesting that this meta be added 
to the program. Especially because it is typically regarded as the highest 
dps meta for affliction warlocks. I apologize if the meta works with 
simcraft, but I havent found any documentation indicating that it does. 
Last time I ran it attempting to use it, I got an error message :O

Reported by agm1984 on 2009-02-03 23:04:05

Improve Arcane Mage AI

Originally reported on Google Code with ID 45

Arcane Mage needs a dynamic rotation that adjusts based upon current mana
and the rate of regen and consumption.

Reported by natehieter on 2009-03-29 15:51:32

Enhancement for generic proc effects

Originally reported on Google Code with ID 46

If you know the properties of a proc it should be simple to create a
generic description to model it.  Similar to the spell_power_trinket you
have now.  Many items are currently not modeled in the simulator and having
a way to model these would be very handy.  In the boomkin simulator I wrote
I had a generic proc effect that would specify proc%, duration, cooldown,
and proc type/amount (ie haste/sp/ap) This would allow for modeling of
several items that are not currently modeled like "lightweave embroidery"
or "totem of the elemental plane"


Reported by ryttingm on 2009-03-30 17:20:21

Focus Magic feedback is not working right for Frost Mage standard build

Originally reported on Google Code with ID 1

What steps will reproduce the problem?
1. Running the default config on r880 (see your own SampleOutput page),
Frost mage (18_0_53 build) is getting only a 2% uptime from Focus Magic
talent. This seems to be off by a large margin, as expected uptime for this
talent is near 100%, (resulting in a 3% lower crit rate for three of his
four main damage sources)

What is the expected output? What do you see instead?
Expected output is near 100%, like other Focus magic builds (Fire/Arcane
mages). Say about 96%-97%.
Instead you are getting only a 2% uptime.

What version of the product are you using? On what operating system?
Windows r880 build.

Please provide any additional information below.

---

Regards.

Locksley

Reported by lord.locksley on 2008-10-23 09:45:05

SimCraft segfaults

Originally reported on Google Code with ID 12

What steps will reproduce the problem?
./simcraft input=gives_segfault.txt

What is the expected output? What do you see instead?
Program segfaults

What version of the product are you using? On what operating system?
Happens with 1111 and 1147 on i686 Linux with GCC 4.1.2



Reported by [email protected] on 2008-12-07 15:06:56


- _Attachment: [gives_segfault.txt](https://storage.googleapis.com/google-code-attachments/simulationcraft/issue-12/comment-0/gives_segfault.txt)_

Rogues energy regen flawed, every rogue seems to have 3/3 Vitality regardless of specc.

Originally reported on Google Code with ID 21

What steps will reproduce the problem?

rogue=Rogue_Vitality
level=80
talents=http://www.wowhead.com/?talent=fZMgVox0xorh
actions=/auto_attack/eviscerate,min_combo_points=5/sinister_strike
main_hand=fist,dps=156,speed=2.6,enchant=mongoose
off_hand=dagger,dps=156,speed=1.4,enchant=mongoose

rogue=Rogue_NoVitality
level=80
talents=http://www.wowhead.com/?talent=f
actions=/auto_attack/eviscerate,min_combo_points=5/sinister_strike
main_hand=fist,dps=156,speed=2.6,enchant=mongoose
off_hand=dagger,dps=156,speed=1.4,enchant=mongoose

Run the sim with debug

1.00     Rogue_Vitality gains 13 (13) energy from energy_regen
1.00     Rogue_NoVitality gains 13 (13) energy from energy_regen

What is the expected output? What do you see instead?

1.00     Rogue_Vitality gains 13 (13) energy from energy_regen
1.00     Rogue_NoVitality gains 10 (10) energy from energy_regen

Revision used: r1392 (latest at the moment)

Reported by Twigele on 2009-01-26 12:36:14

warlock glyph_corruption

Originally reported on Google Code with ID 19

When using Glyph of Corruption along with Corruption and Incinerate, the
Glyph of Corruption proc does not cast a Shadow Bolt.  The Shadow Bolt
never gets casted with or without shadow_bolt in the actions.

Reported by guardian626 on 2009-01-09 22:03:05

Demonic Pact not working correctly

Originally reported on Google Code with ID 17

Demonic Pact keys off of the Warlock's spell power, not a flat 10% buff to
player

Reported by natehieter on 2009-01-08 16:39:08

GCD is not properly capped at 1 second

Originally reported on Google Code with ID 48

It has been shown that the gcd is capped at 1 second.  However, when I'm
looking through the log that gets generated for a boomkin I will notice
that consecutive wraths will happen less than 1 second apart.  This makes a
rotation that uses starfire to proc eclipse then wrath be optimistic. 
Interestingly if you have 2 consecutive wrath crits the second wrath does
take more than a second. Here's a snippet of a log that demonstrates the issue.

13.75    Dunar performs wrath
13.75    Dunar wrath hits Fluffy Pillow for 7655 nature damage (crit)
13.75    Dunar gains 363 (363) mana from moonkin_form (14024)
13.75    Player Dunar gains Nature's Grace
13.86    Dunar schedules execute for wrath
13.98    Dunar_treants performs treant_melee
13.98    Dunar_treants treant_melee hits Fluffy Pillow for 1064 physical
damage (hit)
13.98    Dunar_treants schedules execute for treant_melee
14.00    Dunar gains 19 (19) mana from spirit_intellect_regen (14043)
14.00    Dunar gains 14 (14) mana from mp5_regen (14057)
14.00    Dunar gains 0 (0) mana from blessing_of_wisdom (14057)
14.00    Dunar gains 0 (0) mana from mana_spring (14057)
14.10    Player Dunar loses Sundial of the Exiled
14.60    Player Dunar loses Nature's Grace
14.60    Dunar performs wrath
14.60    Dunar wrath hits Fluffy Pillow for 6399 nature damage (crit)
14.60    Dunar gains 363 (363) mana from moonkin_form (14015)
14.60    Player Dunar gains Nature's Grace
14.95    Dunar schedules execute for wrath
15.00    Dunar gains 19 (19) mana from spirit_intellect_regen (14034)
15.00    Dunar gains 14 (14) mana from mp5_regen (14048)
15.00    Dunar gains 0 (0) mana from blessing_of_wisdom (14048)
15.00    Dunar gains 0 (0) mana from mana_spring (14048)
15.54    Dunar insect_swarm ticks Fluffy Pillow for 869 nature damage (hit)
15.69    Player Dunar loses Nature's Grace
15.69    Dunar performs wrath


Reported by ryttingm on 2009-03-31 19:42:39

Boss Armor

Originally reported on Google Code with ID 51

Boss armor in globals_t8 is set to 10k, and should be set to 13083, for
wotlk bosses.


Reported by Stephen.Pranga on 2009-04-02 23:08:58

Grim Toll trinket

Originally reported on Google Code with ID 28

Noticed that the trinket "Grim Toll" is not modeled (r1527).  This is one 
of the top 2-4 trinkets for Combat Rogues, and a decent substitute for 
other specs.

Details:
Grants 612 Armor Penetration Rating
10 second duration
15% proc chance on melee or ranged hit
45 second ICD



Reported by pessimistick on 2009-02-17 16:45:50

Elemental Shaman Spec

Originally reported on Google Code with ID 20

The spec of Elemental shaman includes 3 points into Enhancing Totems. Totem 
of Wrath does not gain the 15% bonus from Enhancing Totems so 3/3 would be 
useless. I haven't looked into the code maybe internally your using it for 
a group buff but it has no effect on the shaman's own damage. 

Looking at the basic spec for Elementals and keeping the same structure I 
came up with this: http://www.wowhead.com/?talent=hEhcq0dItGxst0xxco I 
think alot of Elemental Shamans would take Storm Earth and Fire for the 
Chain Lighting CD reduction.

Reported by nothgrin on 2009-01-22 23:02:07

Multiple HAT Rogues in a party cause one to "starve".

Originally reported on Google Code with ID 29

What steps will reproduce the problem?
1. Create a raid configuration that has two HAT rogues.  Call them R1 and 
R2 (I don't believe the spec matters, as long as they both have HAT)
2. Ensure that R1 and R2 are in the same party.  
3. Run the sim.

What is the expected output? What do you see instead?

Expected output would be realistic results for R1 and R2.  What actually 
happens is that whichever rogue appears last (relative to the other HAT 
rogues only) in the raid config will act normally, and the other HAT rogue 
will "starve", recieving no CP from HAT at all.  Presumably this would 
extend to any additional HAT rogues in the group as well, but I did not 
test with 3.

example:
R1.simcraft   tricks_of_the_trade_target=Hunter_T7_06_14_51   
honor_among_thieves_interval=0
R2.simcraft   tricks_of_the_trade_target=Hunter_T7_06_14_51   
honor_among_thieves_interval=0

party=R1/Hunter_MM/Hunter_SV/Shaman_Enh/R2

Result:
R2 will have typical results.
R1 will gain 0 CP from HAT and basically just autoattack (with default HAT 
logic).

The order that the rogues appear in the party declaration seems to be 
irrelevant, the only thing that altered the results was the order in which 
the rogues appear when they are defined.

What version of the product are you using? On what operating system?
r1527



Reported by pessimistick on 2009-02-17 19:54:01

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.