Clone this wiki locally
Is there an error? Something missing? Funky grammar? Do not hesitate to leave a comment.
Just as with characters, you can use the TCI to define enemies. This is most useful to tanks, since DPS and healing classes usually don't care what the boss does.
Simulationcraft has some built-in enemies ready-made for you to use.
If you don't specify an enemy, SimC will spawn Fluffy Pillow as your adversary. For DPS specs, Fluffy Pillow is just what he sounds like, and just stands there and takes it while you kill him. For a healing spec, he auto-attacks the Healing Enemy described below. However, for a tank spec, Fluffy Pillow becomes a monstrosity that throws every attack he has at you (see the section on enemy action lists.
If you run a simulation with healers and don't specify a target for them to heal (see Character Basics), the simulation will spawn a "healing enemy" for your healer to heal. It will also spawn a Fluffy_Pillow that attacks the healing target so that you won't overheal.
Tank Raid Dummies
Simc now also has models for the tank dummies that are available in Shattrath City (Outlands) on beta/PTR realms. These enemies have the same melee, Dummy Strike, and Uber Strike attacks that the tank dummies do. You can define one of these enemies with the tank_dummy command and tank_dummy_type option:
#Create a Weak Tank Dummy named Alice tank_dummy=Alice tank_dummy_type=weak #Create a Dungeon Tank Dummy named Bob tank_dummy=Bob tank_dummy_type=dungeon #The sim will automatically try and infer the appropriate dummy type from the name if omitted #Create a Raid Tank Dummy tank_dummy=Raid #As long as the substring "Mythic" is in the name, it will spawn a mythic dummy #Create a Mythic Tank Dummy tank_dummy=Bob_Mythic
TMI Standard Bosses
The default boss (
Fluffy_Pillow) uses a mixture of abilities, but isn't regularly adjusted to content levels. For tanks, there are a set of "standard" bosses that are designed for generating reliable/repeatable TMI scores for tanks. These bosses use auto attacks and apply a ticking dot, and the damage values are roughly tuned to simulate specific content levels. The tmi_boss command and tmi_boss_type option are used to define a TMI standard boss. The syntax is
tmi_boss=Name tmi_boss_type=T<tier #><difficulty>
In Warlords of Draenor,
<difficulty> levels will be L, N, H, and M for LFR, Normal, Heroic, and Mythic, respectively. So for example
T17N for the tier 17 normal boss,
T18H for the tier 18 heroic boss, and so on.
#An LFR boss tmi_boss=Larry_LFR tmi_boss_type=T17L #A 15-man Normal Boss tmi_boss=Ned_Normal tmi_boss_type=T17N #A 25-man Heroic Boss tmi_boss=Harry_Heroic tmi_boss_type=T17H #A Mythic boss tmi_boss=Marty_Mythic tmi_boss_type=T17M #As with Tank Dummies, the sim will attempt to infer the boss type from the name string #if a tmi_boss_type argument isn't provided. This will generate a T17M boss. tmi_boss=Surprise_T17M
Simulationcraft supports defining custom enemies so that you can try to model specific boss encounters. Several properties of the enemy may be set, and you can define custom action lists for the enemy. You can also code custom raid events (like a periodic raid-wide AoE) that function independently of enemies - see the Raid Events page for more details.
Note that all enemy options should only be specified after you declare an enemy.
enemy=Fluffy_Pillow _additional options_
All of the options in this section are "current enemy" scoped - in other words, they only apply to the enemy currently being defined. If you are defining multiple enemies, these options need to be set for each enemy (see
enemy_tank example below).
Assigning a target to enemy
You can use enemy_tank option to assign a target for this enemy.
enemy=Mean_Fluffy_Pillow enemy_tank=Theck enemy=Meaner_Fluffier_Pillow enemy_tank=Collision
- enemy_health will allow you to set the starting health of the enemy, instead of having the sim calculate the enemy's health automatically.
- enemy_fixed_health_percentage sets the enemy's health to a fixed percentage that will not change over the course of the sim.
enemy=Bob_the_Dinosaur # Simulate a fight with a permanent execute range enemy_fixed_health_percentage=20
- enemy_initial_health_percentage sets the enemy's health to start at a certain percentage. The percentage should be entered as a whole number.
- enemy_death_pct you can tell the sim to kill the enemy early, like in the case of Ragnaros where he dies at 10% like a pansy.
Other Enemy Options
apply_debuff (Simulationcraft 6.0.1 release 1 and later) (default: 0) allows you to specify the integer number of stacks of the
damage_takendebuff the boss applies with every successful attack. Each stack causes the target to take 1% increased damage from all sources. This is extremely useful for setting up tank swaps (see Simulationcraft for Tanks). Note that you can also specify this option for each attack individually on the enemy's action list, and the action list option takes precedence.
enemy=Sammy_Stacker #Sammy applies two stacks with every attack apply_debuff=2
- enemy_size (default: 0) Allows you to specify the "size" of the enemy, which is an additional amount of distance that spells need to travel before they impact the enemy.
enemy=Harold_Hightower #Harold is so tall, spells need to travel an additional 10 yards to hit him! enemy_size=10
The real power of defining custom enemies is the ability to customize their action priority lists. Enemies have a small but comprehensive set of spells you can use to mimic real boss encounters. The abilities all have default settings, but you can customize their exact behavior through various options.
These are the abilities that an enemy actor has at its disposal. Examples will be given after we describe the options.
- auto_attack specifies the enemy's main-hand auto-attack.
- auto_attack_off_hand (Simulationcraft 6.0.1 release 1 and later) specifies the enemy's off-hand auto-attack (for dual-wielding bosses)
- melee_nuke is a direct-damage spell that does physical damage
- spell_nuke is a direct-damage spell that does fire damage
- spell_dot is a damage-over-time spell that does fire damage
- spell_aoe is a direct-damage spell that does fire damage, and hits all players in the simulation.
- summon_add summons an add.
These options apply to all enemy actions unless otherwise noted. The order of the options is irrelevant, so you can mix and match in whatever order you like.
- damage specifies the amount of damage the attack does. For spell_dot, it specifies the damage per tick. Default amount varies per attack.
- attack_speed (default: 1.5 for auto-attacks, 3.0 for others) specifies the cast time of the action, in seconds. For auto-attacks this is the swing timer.
- range specifies the half-width of the attack's damage range, in points of damage. Attacks deal between (damage-range) and (damage+range) damage. Default is 10% of the specified damage.
- cooldown specifies the cooldown of the action.
- aoe_tanks (default: 0) when different from zero, will cause the action to cleave to all tanks in the simulation. Damage is not split between the tanks.
apply_debuff (Simulationcraft 6.0.1 release 1 and later) (default: 0) specifies the number of stacks of the
damage_takendebuff the action will apply every time it deals damage. This overrides the enemy-scope option, so you can make individual attacks grant more or fewer stacks than the enemy's default value.
type (Simulationcraft 6.0.1 release 1 and later) allows you to specify the damage type of the ability. For example,
type=holywill change the damage type to holy.
- dot_duration (spell_dot only, default: 10.0) specifies the duration in seconds of the spell_dot damage-over-time effect.
- tick_time (spell_dot only, default: 1.0) specifies the tick interval in seconds of the spell_dot damage-over-time event.
- name (summon_add only) specifies the name of the add being summoned.
- duration (summon_add only) specifies the lifetime of the add being summoned. Adds will have a health percentage linked to their remaining duration (in other words, they're just damage sponges, you can't kill them early).
Example Action List
Here is an example that illustrates the actions and their options:
enemy=Razor_Sharp_Pillow # Make all attacks apply 1 stack of the damage_taken debuff, unless overriden in the attack options apply_debuff=1 # A main-hand auto attack that does 400-600 damage every 2.0 seconds actions=auto_attack,damage=500,range=100,attack_speed=2.0 # An off-hand attack that does 250-350 damage every 1.5 seconds and hits all tanks actions+=/auto_attack_off_hand,damage=300,range=50,attack_speed=1.5,aoe_tanks=1 # A DoT that ticks every 2 seconds for 20 seconds, re-applied if it's not active actions+=/spell_dot,dot_duration=20,tick_time=2,if=!ticking # An instant melee strike that does exactly 5000 damage with a 5-second cooldown and applies 2 stacks of the debuff actions+=/melee_nuke,damage=5000,range=0,apply_debuff=2,cooldown=5,attack_speed=0 # A spell attack that does 5000-15000 damage on a 10-second cooldown and applies 3 stacks of the debuff, 3-second cast time (default) actions+=/spell_nuke,damage=10000,range=5000,apply_debuff=3,cooldown=10 # An AoE attack that hits the whole raid for 2000-3000 damage and does not apply the debuff, on a 20-second cooldown, 2-second cast time actions+=/spell_aoe,damage=2500,attack_speed=2.0,range=500,apply_debuff=0,cooldown=20
Multiple Targets (AoE)
To simulate an AoE fight, simply define multiple enemies. This simple example simulates a fight with 4 targets:
enemy=Fluffy_Pillow enemy=enemy2 enemy=enemy3 enemy=enemy4
Global (Sim-Wide) Enemy Options
Sim-wide Target Level
The option target_level allows you to specify what level all targets in the simulator should be. The default is three levels higher than the highest level character in the sim, normally 88.
enemy=Bob_the_Dinosaur target_level=87 # You can use multiple options at once # Bob starts at 90% health and dies at 30% enemy_initial_health_percentage=90 enemy_death_pct=30
Sim-wide Target Race
The target_race options allow you to specify what race all targets in the simulator are to kick in the effects of certain talents.