-
Notifications
You must be signed in to change notification settings - Fork 0
Mages
Is there an error? Something missing? Funky grammar? Do not hesitate to leave a comment.
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.
The 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
- The
cycle_targets
option 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. - The
target
option for actions is current unavailable for mages
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
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:
actions=cinderstorm,cinders=3,if=buff.rune_of_power.down
- Features
- Starters guide
- Frequently asked questions
- Textual configuration interface
- Classes
- Graphical User Interface
- Appendixes
- Developers Corner