Skip to content
This repository has been archived by the owner on Aug 25, 2020. It is now read-only.

Characters.wiki

Serge Camille edited this page Aug 24, 2015 · 1 revision

This documentation is a part of the TCI reference.

Is there an error? Something missing? Funky grammar? Do not hesitate to leave a comment.

Declaration

Manual

  • jedi_sage, sith_sorcerer, jedi_shadow, sith_assassin (scope:new character; default: "") can be used to manually create a new character of the corresponding class.
 jedi_sage=Yoda
 sith_sorcerer="Emperor Palpatine"
  • copy (scope: new character; default: "") can be used to copy a character to one with a different name. The syntax is copy=<new_char_name>[,<source_char_name>]. If you omit the source character, Simulationcraft will use the current character.
 # This creates a copy of John, named John_eviler_twin
 sith_assassin=john
 copy=john_eviler_twin

 # This creates another copy of John, named John_evilerer_twin
 copy=john_evilerer_twin,john

Importation: Ask Mr. Robot

  • mrrobot (scope: new character; default: "") can be used to import a character profile from Ask Mr. Robot's character builder (http://swtor.askmrrobot.com/character). The syntax is mrrobot=<id>[<advancedclass>] where <id> is the profile id that appears as the last component in the builder URL, i.e., http://swtor.askmrrobot.com/character/<id>. You can override the advanced class (AC) from the character profile by putting an AC name after the profile id and a '|' separator.
 # This imports the Sith Assassin BiS profile as of release 115-2
 mrrobot=72bd51f8-fe33-461e-a0a8-ac4513000154

 # This imports the same profile, but as a Jedi Shadow 
 mrrobot=72bd51f8-fe33-461e-a0a8-ac4513000154|jedi_shadow

 # Once the character has been imported, we can override some of his settings. For example, we can change his name and the total amount of strength on his gear now.
 gear_strength=20000
 name=john2
  • default_region (scope: global; default: "us") is the default region to use for armory importation when the guild and player commands are used without explicitly specifying the region to use. This setting has to be set before you use the guild or player commands.
  • default_server (scope: global; default: "") is the default server to use for armory importation when the guild and player commands are used without explicitly specifying the server to use. This setting has to be set before you use the guild or player commands.
 default_server=eitrigg
 default_region=eu
 guild=willyoumaryme

Importation: other sources

  • wowhead (scope: new character; default: "") allows you to import a character from wowhead. The syntax is either wowhead=<id> or wowhead=<region>,<server>,<playername1>[,<playername2>,...]. If the player id or the player name are prefixed with an exclamation mark, the application will import the inactive talents spec.
 # This will import the character with ID 12359
 wowhead=12359

 # Same here but we're importing the inactive talents spec.
 wowhead=!12359

 # This will import John
 wowhead=us,illidan,john

 # Once the character has been imported, we can override some of his settings. For example, we can change his level and give him a new trinket now.
 level=85
 trinket2=darkmoon_card_hurricane,ilevel=359,quality=epic,stats=321str,equip=onattackhit_5000nature_1ppm

  • chardev (scope: new character; default: "") allows you to import a character from chardev. The syntax is chardev=<id>.
 # This will import the character with ID 12359
 chardev=13567

 # Once the character has been created, we can override some of his settings. For example, we can change his name now.
 name=John
  • rawr (scope: new character; default: "") allows you to specify a rawr file to import a character from. Both the old and new formats are supported.
 # This will import John from rawr.xml, the file must in your current working directory (see the relevant section)
 rawr=john.xml

 # This will import John from c:\rawr.xml (windows example)
 rawr=c:\john.xml

 # Once the character has been imported, we can override some of his settings. For example, we can change his name now.
 name=John

Importation: alternative method

  • player (scope: new characters; default: "") allows you to specify the name of a character to import, either from wowhead or the armory. Here are the available options:
    1. wowhead (default: "") allows you to specify the wowhead's id of the character to import. When empty, the character will be imported from the armory.
    2. region (default: the current value of default_region) allows you to specify the character's region to import a player from the armory. Wowhead importation is not affected.
    3. server (default: the current value the default_server) allows you to specify the character's server to import a player from the armory. Wowhead importation is not affected.
    4. talents (default: "active") allows you to specify, when importing a character from wowhead, whether to use the active talents spec (must be "active") or the inactive one (muse be different from "active"). Armory importation is not affected: we will always import the active spec.
    5. cache (default: 0), when different from zero, will force the application to first check the cache for any recently downloaded version of the page. Applies to both armory and wowhead importation. See also http_clear_cache.
 # Those lines will import characters from wowhead
 player=john,wowhead=1745
 player=bill,wowhead=4596,talents=inactive

 # This will import a character from the armory
 player=roger,region=us,server=illidan

Importation: Caching

By default, Simulationcraft will import a fresh copy of your character profile on every simulation run incurring delay due to network latency. This behavior is controllable, see Cache Control.

Pets

  • pet (scope: new character) allows you to create a pet that owned by the current character. The pet will then become the new current character, see active to switch back to the owner. The syntax is either: pet=<name>,<type> OR pet=<type>. When the second syntax is used, the name will be the same as the type. Note that you do not have to specify talents for pets: if you don't, they will be automatically set with the relevant default template.
 # Import John the warlock and give him a felguard
 armory=us,illidan,john
 pet=felguard

 # Import Bill the hunter and give him two pets with their talents.
 armory=us,illidan,bill
 pet=cat,cat
 talents=200000030300003010122000000000000000000000000000000000000000000

 # Cat is now the current character, we have to switch back to Bill first before we can declare his devlisaur.
 active=owner
 pet=devilsaur,devilsaur
 talents=200000030300003010122000000000000000000000000000000000000000000

Here is the list of supported types: * Death knight: army_of_the_dead_ghoul_8, bloodworms, dancing_rune_weapon, gargoyle, ghoul * Druid: treants * Mage: mirror_image_3, water_elemental * Hunters: the list is too long, just use underscores instead of spaces. in doubt, search for the create_pet function's definition in the sc_hunter.cpp file * Paladin: guardian_of_ancient_kings_ret * Priest: shadow_fiend * Shaman: spirit_wolf, fire_elemental * Warlock: felguard, felhunter, imp, succubus, voidwalker, infernal, doomguard, ebon_imp

Changing the current character

  • active (scope: global; default: last created or imported character or pet) allows you to change the current character. You can specify "owner" if the current character is a pet, a player's name, or "none" or "0" for selecting none. The current character is the character who is going to be affected by the next character-related settings. It does not affect the simulation, only the definition of the parameters of the simulation.
 # Let's import John, a warlock and give him a felguard
 armory=us,illidan,john
 pet=felguard

 # At this point, the felguard is now the current character. If we use the "name" setting, it will change the pet's name, not John's name. So we have to make John the active character again before we can rename John into JohnJohn.
 active=owner
 name=JohnJohn

 # Let's import Bill and make John the active character again
 armory=us,illidan,john
 active=john

Specifications

Basics

  • race (scope: current character; default: "") is the player's race. It may be one of the following: none, beast, blood_elf, draenei, dragonkin, dwarf, giant, gnome, goblin, human, humanoid, night_elf, orc, tauren, troll, undead, worgen.
  • level (scope: global; default: 85) is the player's level.
 # Import a character and change his race
 armory=us,illidan,john
 level=85
 race=orc
  • glyphs (scope: current character; default: "") is a sequence of glyphs, separated by "/". The values are the glyph's name, minus "glyph of", where white spaces are replaced by underscores. In doubt, you can search for the "init_glyphs" function in your class source code (sc_warlock.cpp, etc). You can write glyphs in any order, regardless of their slots, and add as many glyphs as you want.
 glyphs=bloodthirst/raging_blow/cleaving
  • talents (scope: current character; default: "") is the talents descriptor. It uses the armory url formats, or any other url ended with a compatible numbers sequence. The numbers sequences start with the number of points in the first talent of the leftmost tree,then moving from left to right, and from top to bottom until we have to move to the second tree. Note that you do not have to specify talents for pets: if you don't, they will be automatically set with the relevant default template.
 # An example with a wowarmory url
 talents=http://www.wowarmory.com/talent-calc.xml?cid=1&tal=3200030000000000000033220103130111022321020000000000000000000

 # We can also use a mere numbers sequence
 talents=3200030000000000000033220103130111022321020000000000000000000
  • professions (scope: current character; default: "") is the case-insensitive sequence of primary professions your character have. The professions are separated by a "/" and you can add as many of them as you want. Valid keywords are: alchemy, blacksmithing, enchanting, engineering, herbalism, inscription, jewelcrafting, leatherworking, mining, skinning, tailoring.
 professions=Blacksmithing=525/Jewelcrafting=525
  • target (scope: current character; default: "") is the name of the player's target for attacks when the action list doesn't specify otherwise. Note that this is not true multi-target support -- there's no way to switch targets mid-fight, even when the original target dies! Leave blank for the fight's main target. Pets inherit their owner's target by default.
 # Great news everyone! The duels are flowing again!
 alice.simc target=bob bob.simc target=alice

Optional

  • name (scope: current character; default: "") is the character name to be displayed in reports and logs.
 name=John
  • origin (scope: current character; default: "") is a special comment for the profile's origin. It has no use, it is just a comment. However, it will be mentioned in the reports and, if you specified an url, it will be presented as a link in html reports.
 origin="http://us.battle.net/wow/en/character/illidan/john/advanced"
  • distance (scope: current character; default: 0) is the character's distance, in yard, from the boss. When left to zero, Simulationcraft will dynamically assign it depending on your class: 3 (enh shaman), 30 (druid, elem shaman), 40 (mage, priest, warlock). Zero for others. Pets will be at the same distance with a few exceptions (shaman's fire elemental will move to melee). This setting will be used for computing spells flight time and for distance conditions on raid events (see raid_event).
 # Let's put the players 20 yards away from the target.
 distance=20
  • position (scope: current character; default: back/ranged_back, tanks are front) is the character's position in relation to the boss. When not defined, players will automatically be assigned back, hunters ranged_back, and tanks front. Being in front of the target causes the mob to be able to block and parry your attacks.
 # Available options: front, back, ranged_front, ranged_back
 # Simulate MajorDomo Scorpion Form
 position=front
  • comment (scope: current character; default: "") will be used when you export profiles. This setting's value will be displayed as a comment (using #) at the beginning of the exported profiles. It has no other uses (not displayed in reports, etc).
 comment=Generated by importmytoon.simc
  • use_pre_potion (scope: churrent character; default: 1), when different from zero, will allow the player to use a potion just before he enters combat, so that he can use another one later during the fight. In order to effectively use the potion before the combat, the actions list must contain a compatible action (no restriction such as being in combat, or target's health percentage lesser than 100%, etc). This should be the case for all default actions lists for all classes and specs.
 armory=us,illidan,john
 use_pre_potion=1

 # This is a part of the default warrior's actions list: use a potion either before combat, or during the bloodlust.
 <beginning of the list>
 actions+=/golemblood_potion,if=!in_combat|buff.bloodlust.react
 <end of the list>
  • id (scope: current character; default: "") can be used to specify the GUID to display in combat logs (see combat_log). When left empty, the application will generate a player GUID based on the characters declaration order.
 # Give another GUID to John
 armory=us,illidan,john
 id=0x00000000012729FD
  • vengeance_factor (scope: current character; default: 0.0) is the fraction of the maximum possible AP gain you can gain from vengeance. When lesser than or equal to 0, you will gain no attack power. When greater than or equal to 1, you will gain an amount of attack power equal to 10% of your hp.
 # Give John-the-tank an AP bonus equal to 5% of his HP
 armory=us,illidan,john
 vengeance_factor=0.5

Status

  • sleeping (scope: current character; default: 0), when different from zero, will make the character inactive: he won't do anything. The purpose of this setting if to allow you to quickly remove a character from the simulation without removing everything about him in your .simc files.
 armory=us,illidan,john
 sleeping=1
  • quiet (scope: current character; default: 0), when different from zero, will remove data about this character from the reports. The player will still take part into the simulation though, and he will perform his actions as usual.
 # Let's say John is a shadowpriest and we want to study the effect of dark intent on him.
 armory=us,illidan,john

 # Now let's say Bill is a warlock and let's make him cast dark intent on John
 armory=us,illidan,bill
 quiet=1
 actions=/dark_intent,target=john
 # Insert the rest of actions here

Skill

  • skill (scope: character; default: the value of default_skill when the character was created) allows you to specify the player's skill. A 1.0 skill means a perfect player who never do any mistake. A 0.8 skill means a player who have a 20% chance anytime he should perform an action to think it's not actually ready and skip to the next action in list, or even the one after (20% chance on every level).
 # John is such a bad player...
 armory=us,illidan,john
 skill=0.6
  • default_skill (scope: ulterior characters; default: 1.0) is the default skill for ulterior characters.
 # John will have the default skill (1.0)
 armory=us,illidan,john

 # Bill and Roger will have a 0.8 skill
 default_skill=0.8
 armory=us,illidan,bill
 armory=us,illidan,roger

Role

The character's role will affect different settings. Here are some examples, the list may not be exhaustive and, when using edge cases, we encourage you to carefully read the report in order to check it matches your expectations.:

  1. The default actions list will be changed: if you import a healer and set a dps role, Simulationcraft will make the default actions list damages-oriented.
  2. A tank player will be placed in front of the boss, rather than behind. He will also suffer damages from the target (100k - 120k on every 3s), that will result in rage for druids and warriors.
  3. A healer player will report healing-related statistics, such as hps (although it will still be labeled "dps").
  • role (scope: current character; default: "unknown") allows you to specify the character's role. Accepted values are "dps", "heal" and "tank". Other values will force Simulationcraft to pick a role based on your spec. Note that the actual character's role will depend on your spec: Simulationcraft does not know how to force every spec in every role and, as a result, may ignore the role you specified and pick one more appropriate for the character's spec.
 armory=us,illidan,john
 role=tank

Bugs reproduction

  • bugs (scope: current character; default: 1), when different from 0, forces the application to reproduce the bugs observed on the live servers and related to the character's class.
 # Let's say that some major bug will be fixed soon(tm) by Blizzard, so we want to see what will be our performances after that.
 armory=us,illidan,john
 bugs=0

Modifying the total stats

Overriding the gear contribution

  • gear_strength (scope: global; default: total gear contribution) is the total contribution of your gear to strength, including the gear itself along with its gems, enchants, reforging, etc.
 # With this line, your character will have as much strength as a naked character would have. Other stats, strength-based procs, weapon damages and speed, etc, will remain unchanged.
 gear_strength=0

The available keywords are: 1. Resources: gear_health, gear_mana, gear_rage, gear_energy, gear_focus, gear_runic 1. Primary: gear_strength, gear_agility, gear_intellect, gear_stamina, gear_spirit 1. Secondary: gear_master_rating, gear_expertise_rating, gear_haste_rating, gear_hit_rating, gear_crit_rating, gear_spell_power, gear_attack_power, gear_mp5 1. Defensive: gear_armor

Bonuses and maluses

  • enchant_strength (scope: current character; default: 0) is the bonus (or malus when negative) added to the current character's strength. See it as a fake enchant.
  • default_enchant_strength (scope: global; default: 0) is the bonus (or malus when negative) added to all characters' strength. See it as a fake enchant. It won't apply to pets.
 # Let's import John and Bill. John will be the new current character
 armory=us,illidan,bill
 armory=us,illidan,john

 # Let's subtract 150 strength to John
 enchant_strength=-150

 # Let's now add 500 strength to John and Bill. John now has a total bonus of 350 strength.
 default_enchant_strength=350

Parties

  • party (scope: global) can be used to group players in parties. Parties will be used for any effect that is restricted to party members rather than raid-wide. Each occurrence of the party option will create a new party containing the named players and their pets. Characters that do not appear in any party option are all grouped together in a default party that is not limited in size.
 # John will be in the default party 0
 armory=us,illidan,john
 
 # Bill and Roger will be in party 1
 armory=us,illidan,bill
 armory=us,illidan,roger
 party=bill,roger

 # Lucy will be in party 2
 armory=us,illidan,lucy
 party=lucy