Clone this wiki locally
Is there an error? Something missing? Funky grammar? Do not hesitate to leave a comment.
Textual configuration interface
This section is a part of the TCI reference.
Regular spells are not mentioned here, you just have to follow the standard names formatting rules.
(Since Simulationcraft 6.0.2) Mages in Warlords of Draenor get a talent called Prismatic Crystal (PC), that necessitates a rethinking of the targeting model in Simulationcraft. As such, to allow Mages to explore different strategies with PC, they have a custom targeting system.
In conventional Simulationcraft, each ability has its own target. Mages, on the other hand have a single shared target between all abilities (the current target of the Mage). Mages can change their current target, and also PC will forcibly swap their current target to itself, to model in game behavior. Note that when PC despawns, as a convenience, the simulator will automatically target the Mage's primary target.
To support proper targeting, a new action has been introduced. The
choose_target action allows mages to change targets instantaneously.
# Change target to default target, if Prismatic Crystal is active actions+=/choose_target,if=pet.prismatic_crystal.active
Specifying the target for the action is done through the
name option. The name option scans through actors in the sim, and matches the option value with their name. The scanning is prioritized in the order of mage's pets, hostile targets, friendly players. As a shorthand, the
name option can be omitted for targeting the default target of the Mage, or also the alias
default used as the name of the default target.
By default, any if= expression passed to the
choose_target action checks the mage's current target for validity. This behavior can be changed with the
check_selected option (possible values 0/1), which forces the action to check the If= conditions against the potential selected target.
current_target expression evaluates to the current target of the Mage, under the new targeting system.
# Execute Frostbolt, if the current target of the Mage is an enemy named Fluffy_Pillow actions+=/frostbolt,if=current_target=Fluffy_Pillow
In addition, the
default_target expression evaluates to the primary target of the Mage (by default Fluffy_Pillow, controllable through the
target option for the player).
# Execute Frostbolt, if the current target of the Mage is the default enemy in the sim actions+=/frostbolt,if=current_target=default_target
cycle_targetsoption works normally with the mage targeting system. If specified for an action, the Mage's current target is ignored for that action, and the (cycled) target of the action is used instead.
targetoption for actions is current unavailable for mages
Ability Tracking and Custom Flags
In order to facilitate simpler APL conditions for certain abilities, custom expressions have been implemented.
Due to the complexity of controlling when to pyro camp vs. build ignite for combustion, the pyro_chain flag exists. Together with actions stop_pyro_chain and start_pyro_chain they allow for more simple entering / exiting periods where spell priorities shift significantly. Effectively, this allows us to force the mage to have the option of occupying different states - see Mage Fire APL, circa SoO MoP / WoD era, for examples of how this is taken advantage of.
# start_pyro_chain toggles pyro_chain to 1 (true) actions+=/start_pyro_chain # Combustion will only be cast if pyro_chain is = 1 (true) actions+=/combustion,if=pyro_chain # stop_pyro_chain toggles pyro_chain to 0 (false), in this case if combustion is on cooldown actions+=/stop_pyro_chain,if=cooldown.combustion.remains>0
Water elemental in Warlords of Draenor casts "Water Jet" that debuffs the target, and generates Fingers of Frost charges for the mage. You can control the behavior how Water Jet is cast using the water_jet action. If water_jet action is omitted from the Action Priority List, the Water Elemental will automatically cast the spell when its cooldown has elapsed.
# Manually cast Water Jet, when the mage has no Fingers of Frost charges actions+=/water_jet,if=buff.fingers_of_frost.react=0
Specifying Cinderstorm Cinder-count
In Legion, Cinderstorm has a variable number of possible cinder impacts. To model this, SimulationCraft gives the user two separate options. One action-specific("cinders"), and one player-wide(global_cinder_count). By default, Cinderstorm will set "cinders"=6 and global_cinder_count=0. If global_cinder_count is given a value above 0, it will override all action-level "cinders" specified.
Use of global_cinder_count:
#Specify mage variables mage="Mage_Fire_T19P" level=110 race=orc role=spell position=back talents=1022021 artifact=54:133022:137420:133022:0:748:1:749:6:751:3:754:3:755:3:756:3:759:1:762:1:763:1:1340:1 spec=fire #give global_cinder_count global_cinder_count=3 actions=cinderstorm
Use of cinders to set a single cinderstorms action to 3: