Project Orange

A lot of orange gear comes from Heroic Mission rewards, and the great thing about that is they are repeatable! So if you picked a different item the first time around, you can do it again to get the orange item you want now :)

But there’s a little hiccup: what quests give what rewards? No one really has a good list, so we’re here to change that. But there’s another little hurdle… the rewards are different for each class. That’s the reason for this post – we’re hoping to get the community involved to collect this information, starting with the heroic quests for each planet.

We want to give a little something back to those who help with this project. We’ve reserved a promo spot on our site for the community. So we’re going to give the top contributors free promos in that spot. Promote your blog, recruit for your guild, or ask us to showcase your favorite tool or website if you don’t have one.

The plan:

If you want to organize around it, please reply to this thread and let everyone know what advanced class and planet you want to do. For example, I can do Sorcerer, Voss. But we still want to know what the Sage, Voss quest rewards are, as some might be just a bit different. We’re not sure!

You can fill out this form here or the one below (psst, they are the same!)

SWTOR Item Tooltips for WordPress

Item tooltips are here! And they are really easy to use. We have a little snippet of code to include in your blog, then any time you link to an item, a tooltip automatically shows up. Yeah, it’s that easy: it grabs any item that is linked to Mr. Robot’s database, and displays a tooltip and automatically colors the item for you as well. You can also configure it to display the icons as well, we’ll get to that at the end of the post.


How does it work?  

It’s pretty simple, you put a little code on your pages, and we will do fancy things when you link to items from our database. If you have trouble installing it, leave us a comment, we’ll help!

The tooltips automatically show up when you link to an item, for example I can link to crafted variants like Endowment vs Commando’s, all mods / hilts / enhancements / etc like advanced aptitude mod 26, and of course, all of our 1.2 items like this infected companion customization or this.

There are two places you can put the code, you just need to pick your favorite. You can put it in part of your theme (setup A), and then any post you make with a link to an item in our database, will automatically have a tooltip. Or, you can put our code snippet at the end of any post that you want to have tooltips (setup B), and you’ll have to do this for each post.

Setup A: Edit your theme functions (functions.php) file.  

  1. Click on the appearance menu on your left-hand navigation bar in WordPress. Click on the editor sub menu.
  2. On the right hand side, there should be a long list of files. Find “Theme Functions” and click on it.
  3. Once the file is open, scroll to the bottom of the file. Add the AMR code snippet (see below).
  4. Click the Update button.
/**
* Add askmrrobot swtor tooltip script and font
*/

function add_amr_scripts() {
wp_enqueue_style('ubuntu_font', 'http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold');
wp_enqueue_script('amr_swtor_tooltip', 'http://static2.askmrrobot.com/swtor/tooltips.js', array('jquery'), '2');
}

add_action('wp_enqueue_scripts', 'add_amr_scripts');

That’s it! Now every time you link to an item from Mr. Robot’s database, a tooltip will automatically show up.

Setup B: Add a code snippet to the bottom of your post  

  1. Open the post you want to have tooltips in. Click the HTML tab.
  2. Paste the code snippet at the end of the post.
<script type="text/javascript" src="http://static2.askmrrobot.com/swtor/tooltips.js"></script>

Viola! Easy peasy. You’ll have to paste this code to the bottom of every post that you want to have tooltips on.

Additional Options: Item Icons & More!

You can configure another piece of script to turn various options on or off. You can add it to one of two places: in the ‘footer.php’ of your theme editor (follow setup A but go to the footer.php file instead of functions.php), or at the end of your blog post (follow setup B).

You do NOT have to install this script. If you do NOT install it, you will have colored links with tooltips (no icons, and no automatic names). However, if you want icons or the name of the item automatically inserted into your post, you’ll need to add this script.

<script type="text/javascript">var amr_options = { color: true, icon: true, iconSize: 18, name: true };</script>
  •  color: true  – when you install the first script under ‘setup A’ or ‘setup B,’ your links will automatically be colored. If you do NOT want them to be colored, set the value to ‘false.’ It would look like this: color: false
  • icon: true  – this is off by default. If you want to turn the feature on, you will need to use this script.
  • iconSize: 18 – this changes the size of the icons. By default it will be 18 pixels. You can change this number if you want them to be bigger or smaller.
  • name: true  – this option is off by default, however if you want to turn it on, you will need this script, and set it to true. When this option is turned on, any text that is linked to an item will be automatically replaced with the item name. For example, the last word of this sentence is “this,” and I added a hyperlink to it, then the item name automatically replaces “this” with the actual name: this. However, note that if you do not type in the real names, google will not index the item name. So if you’re concerned about search rankings, you either don’t want to turn this feature on, or you still want to link the real name of the item.

http://blog.askmrrobot.com/2012/03/swtor-item-tooltips-for-wordpress/

Character API Documentation (BETA!)

A test version of the character API is available!  Note that this is not 100% final, but it will probably not change much from the current form.

Known Issues:
- Only the player’s first gear set (“Gear” tab on the character builder UI) is available.  The final API will likely provide a way for you to specify any (or multiple) gear sets to retrieve, as well as companion gear sets.

Endpoints

http://swtor.askmrrobot.com/api/character/v1/{profile-id}

http://swtor.askmrrobot.com/api/test/character/v1/{profile-id}

Replace {profile-id} with the id as seen in the URL to the character profile.  For example, you can view my profile at:
http://swtor.askmrrobot.com/character/0f95a940-4cf1-4af3-a922-666e312ff49c
And you can get it via the API at:
http://swtor.askmrrobot.com/api/character/v1/0f95a940-4cf1-4af3-a922-666e312ff49c

The version (v1) is required.  We will document the current and supported versions whenever changes are made.

The only difference between the two endpoints is that the api/test endpoint returns formatted JSON that is easier to read — this endpoint will be removed when the API is complete.  The regular endpoint returns JSON without extra whitespace, and with null/default values omitted to reduce bandwidth.

Error Handling
Different http status codes are returned in the event of an error:

  • 404 – the profile does not exist or could not be found
  • 400 – the profile id was not a valid guid in the accepted format, or the version specified is not supported
  • 500 – all other errors
General Notes on the JSON
LastUpdated date is always in universal time, formatted as a text-sortable date/time string.

Buffs correspond to the buffs a user has selected on their profile, and can have the following values:

    public enum Buff
    {
        Power,     // sith warrior buff
        Stats,     // sith inquisitor buff
        Endurance, // bounty hunter buff
        Crit,      // imperial agent buff
    }

Stance is the selected stance, and can be:
(Note that stance values use the Empire name for both factions.)

    public enum Stance
    {
        None,

        DarkCharge,
        LightningCharge,
        SurgingCharge,

        Soresu,
        ShiiCho,
        Shien,
        Ataru,
        Juyo,

        Combustible,
        Ion,
        HighEnergy,
        CombatSupport,
        HighVelocity,
    }
Skill Tree Format
Skill trees are described as a SkillString:
  • SkillString is a triplet separated by dashes, with each section representing the corresponding tree from left-to-right, as seen in-game.
  • Each digit in a section corresponds to a single skill, with 0-5 possible ranks.
  • The least significant digit in each section (i.e. right-most digit) is the bottom-left skill in the tree.
  • The most significant digit in each section (i.e. left-most digit) is the top-right skill in the tree.
  • In other words, from least to most significant the digits correspond to each skill going from bottom to top, left to right as they appear in-game.
Gear Set Format

The gear set represents the main gear set for the player (the “Gear” tab on the UI on askmrrobot.com).  It is a dictionary of slot to item objects.  Slots can take the following values:

    public enum CharacterSlot : byte
    {
        None,
        MainHand,
        OffHand,
        Belt,
        Chest,
        Ears,
        Feet,
        Glove,
        Helm,
        Implant1,
        Leg,
        Wrist,
        Relic1,
        Implant2,
        Relic2,

        Part1,
        Part2,
        SensorUnit,
        Core1,
        Core2,
        Motor1,
        Motor2,
        Customization,
    }

Items have a list of Mods.  The list is in order as they appear on the item in-game.  Even if a mod slot is empty, a Mod object will be present with an Id of 0.  The Slot property on a mod can have the following values:

    public enum ModSlotEnum : byte
    {
        Armoring,
        Augment,
        Barrel,
        ColorCrystal,
        Enhancement,
        Hilt,
        Mod
    }

Stats on both items and mods are a dictionary of stat to value.  All values are short integers.  An item’s stats will be the total stats for that item, including any mods in the item.  The mod stats are included as a convenience if you wish to do some math to remove a mod manually, etc.  The possible stat keys are:

    public enum Stat : byte
    {
        Strength,
        Endurance,
        Crit,
        Power,
        Defense,
        Accuracy,
        Alacrity,
        Surge,
        Shielding,
        Presence,
        Will,
        Cunning,
        Aim,
        Absorb,
        Expertise,

        Armor,
        MinDamage,
        MaxDamage,

        TechPower,
        ForcePower
    }

Items will either have an ArmorType, WeaponType, or ShieldType — only one of these will be specified per item, and for some items they are all null (such as relics, companion customization items, etc.).  The possible values are:

    public enum WeaponType : byte
    {
        LightSaber,
        Pistol,
        PoleSaber,
        BlasterRifle,
        VibroKnife,
        VibroSword,
        TrainingSaber,
        ScatterGun,
        AssaultCannon,
        SniperRifle,
        ElectroStaff,
        TechBlade,
        TechStaff
    }

    public enum ArmorType : byte
    {
        Light,
        Medium,
        Heavy
    }

    public enum ShieldType : byte
    {
        Focus,
        Generator,
        ForceShield,
        TechShield,
    }
Items may also have an ItemSetId.  Items that belong to the same set (i.e. contribute to the same set bonuses) have the same ItemSetId.  If more detail is desired around item sets, please comment and let us know — the ID is all we provide at the moment.

Other Enumerated Values
Below are the possible values for many of the returned properties in the JSON.

Region

    public enum SwtorRegion
    {
        US,
        EU,
        Asia,
    }

Faction

    public enum Faction
    {
        Empire,
        Republic,
    }

AdvancedClass

    public enum AdvancedClass : byte
    {
        Guardian,
        Sentinel,
        Commando,
        Vanguard,
        Sage,
        Shadow,
        Gunslinger,
        Scoundrel,
        Juggernaut,
        Marauder,
        Mercenary,
        Powertech,
        Assassin,
        Sorcerer,
        Operative,
        Sniper,
    }

Gender

    public enum Gender : byte
    {
        Female,
        Male
    }

Race

    public enum Race
    {
        Chiss,
        Cyborg,
        Human,
        Miraluka,
        Mirialan,
        Rattataki,
        SithPureblood,
        Twilek,
        Zabrak,
    }

Alignment

    public enum Alignment
    {
        Neutral = 0,
        Dark1 = -1,
        Dark2 = -2,
        Dark3 = -3,
        Dark4 = -4,
        Dark5 = -5,
        Light1 = 1,
        Light2 = 2,
        Light3 = 3,
        Light4 = 4,
        Light5 = 5,
    }

SocialLevel

    public enum SocialLevel
    {
        None,
        Social1,
        Social2,
        Social3,
        Social4,
        Social5,
        Social6,
        Social7,
        Social8,
        Social9,
        Social10,
    }

CraftingCrewSkill, CrewSkill2, CrewSkill3

    public enum CrewSkill
    {
        None,
        Archaeology,
        Bioanalysis,
        Scavenging,
        Slicing,
        Armormech,
        Armstech,
        Artifice,
        Biochem,
        Cybertech,
        Synthweaving,
        Diplomacy,
        Investigation,
        TreasureHunting,
        UnderworldTrading,
    }

Quality

    public enum Quality : byte
    {
        Cheap,
        Standard,
        Premium,
        Prototype,
        Custom,
        Artifact,
        Legendary,
        Legacy,
    }
Slot
This slot appears directly on each item, and is a more general description of how the item can be used.
    public enum ItemSlot : byte
    {
        Belt,
        Ear,
        Helm,
        Chest,
        PrimaryRanged,
        SecondaryRanged,
        EitherRanged,
        CustomRanged,    // scattergun
        Foot,
        Hands,
        Wrist,
        Legs,
        Implant,
        Shield,
        MainHand,
        OffHand,
        EitherHand,
        CustomMelee,     // vibroknife
        Relic,

        DroidParts,
        DroidSensor,
        DroidMotor,
        DroidCore,

        Customization
    }
Datacrons

Datacrons are a list of datacron ids.  The following code block describes each datacron.  Feel free to copy and adapt this code into your own code base as needed.  More concise documentation or an API call to get JSON describing these is forthcoming.

private static readonly List _allDatacrons = new List();
        static Datacron()
        {
            _allDatacrons.Add(new Datacron
            {
                Id = 0,
                Planet = "Alderaan",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Aim,
                Shard = null,
                Amount = 4,
                X = 1107,
                Y = 80,
                CodexEntry = "Galactic History 43: The Great Droid Revolution",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 1,
                Planet = "Alderaan",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Presence,
                Shard = null,
                Amount = 3,
                X = -82,
                Y = -268,
                CodexEntry = "Galactic History 45: The Krath Cult",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 2,
                Planet = "Alderaan",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Will,
                Shard = null,
                Amount = 3,
                X = -2508,
                Y = -427,
                CodexEntry = "Galactic History 47: Naddist Rebels",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 3,
                Planet = "Alderaan",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Strength,
                Shard = null,
                Amount = 4,
                X = 2190,
                Y = -2019,
                CodexEntry = "Galactic History 46: Nadd's Legacy",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 4,
                Planet = "Alderaan",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Endurance,
                Shard = null,
                Amount = 3,
                X = 2721,
                Y = 2496,
                CodexEntry = "Galactic History 44: The Jedi Nomi",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 5,
                Planet = "Balmorra",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Strength,
                Shard = null,
                Amount = 2,
                X = 727,
                Y = 2033,
                CodexEntry = "Galactic History 31: The Ritual of Nathema",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 6,
                Planet = "Balmorra",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Aim,
                Shard = null,
                Amount = 2,
                X = -1017,
                Y = 1514,
                CodexEntry = "Galactic History 28: The Battle at Primus Goluud",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 7,
                Planet = "Balmorra",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Will,
                Shard = null,
                Amount = 2,
                X = 191,
                Y = -346,
                CodexEntry = "Galactic History 32: Long Exile",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 8,
                Planet = "Balmorra",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Cunning,
                Shard = null,
                Amount = 2,
                X = 1853,
                Y = 111,
                CodexEntry = "Galactic History 29: Sadow's Escape",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 9,
                Planet = "Balmorra",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = null,
                Shard = "Green Matrix Shard",
                Amount = null,
                X = -505,
                Y = 1990,
                CodexEntry = "Galactic History 30: Rise of the Sith Emperor",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 10,
                Planet = "Balmorra",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Aim,
                Shard = null,
                Amount = 4,
                X = 191,
                Y = -346,
                CodexEntry = "Galactic History 53: The Conclave at Deneba",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 11,
                Planet = "Balmorra",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Cunning,
                Shard = null,
                Amount = 4,
                X = -1017,
                Y = 1514,
                CodexEntry = "Galactic History 56: The Brotherhood of the Sith",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 12,
                Planet = "Balmorra",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Presence,
                Shard = null,
                Amount = 4,
                X = 730,
                Y = 2030,
                CodexEntry = "Galactic History 57: The Brotherhood's Power Grows",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 13,
                Planet = "Balmorra",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Endurance,
                Shard = null,
                Amount = 3,
                X = -485,
                Y = -233,
                CodexEntry = "Galactic History 54: Ulic's Fall",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 14,
                Planet = "Balmorra",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Will,
                Shard = null,
                Amount = 4,
                X = -779,
                Y = 2069,
                CodexEntry = "Galactic History 55: The Ascension of Exar Kun",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 15,
                Planet = "Belsavis",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Will,
                Shard = null,
                Amount = 4,
                X = -501,
                Y = 768,
                CodexEntry = "Galactic History 72: The Fall of the Covenant",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 16,
                Planet = "Belsavis",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Endurance,
                Shard = null,
                Amount = 4,
                X = -992,
                Y = -450,
                CodexEntry = "Galactic History 69: The Mandalorian Wars",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 17,
                Planet = "Belsavis",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Presence,
                Shard = null,
                Amount = 4,
                X = -1915,
                Y = -476,
                CodexEntry = "Galactic History 70: The Covenant Acts",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 18,
                Planet = "Belsavis",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Aim,
                Shard = null,
                Amount = 4,
                X = -785,
                Y = -1930,
                CodexEntry = "Galactic History 68: The Mandalorians Return",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 19,
                Planet = "Belsavis",
                Faction = null,
                Stat = null,
                Shard = "Green Matrix Shard",
                Amount = null,
                X = -315,
                Y = -2172,
                CodexEntry = "Galactic History 71: The Muur Talisman",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 20,
                Planet = "Corellia",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Strength,
                Shard = null,
                Amount = 4,
                X = -2755,
                Y = -2005,
                CodexEntry = "Galactic History 82: Darth Traya's Return",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 21,
                Planet = "Corellia",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Will,
                Shard = null,
                Amount = 4,
                X = 703,
                Y = 1717,
                CodexEntry = "Galactic History 79: The Conclave at Katarr",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 22,
                Planet = "Corellia",
                Faction = null,
                Stat = null,
                Shard = "Blue Matrix Shard",
                Amount = null,
                X = -2425,
                Y = -1063,
                CodexEntry = "Galactic History 62: The Great Sith War Ends",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 23,
                Planet = "Corellia",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Presence,
                Shard = null,
                Amount = 4,
                X = 3425,
                Y = -3209,
                CodexEntry = "Galactic History 80: A Return from Exile",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 24,
                Planet = "Corellia",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Aim,
                Shard = null,
                Amount = 4,
                X = 3140,
                Y = -1790,
                CodexEntry = "Galactic History 78: The Sith Triumvirate",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 25,
                Planet = "Corellia",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Cunning,
                Shard = null,
                Amount = 4,
                X = -2658,
                Y = -3114,
                CodexEntry = "Galactic History 81: The Battle of Telos Four",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 26,
                Planet = "Corellia",
                Faction = null,
                Stat = null,
                Shard = "Green Matrix Shard",
                Amount = null,
                X = 702,
                Y = -1884,
                CodexEntry = "Galactic History 61: The Brotherhood is Broken",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 27,
                Planet = "Corellia",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Will,
                Shard = null,
                Amount = 4,
                X = -2404,
                Y = 2948,
                CodexEntry = "Galactic History 79: The Conclave at Katarr",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 28,
                Planet = "Coruscant",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Presence,
                Shard = null,
                Amount = 2,
                X = 2320,
                Y = 1055,
                CodexEntry = "Galactic History 08: Hyperspace Cannons",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 29,
                Planet = "Coruscant",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = null,
                Shard = "Yellow Matrix Shard",
                Amount = null,
                X = 905,
                Y = 4557,
                CodexEntry = "Galactic History 06: The Infinite Empire Collapses",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 30,
                Planet = "Coruscant",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Strength,
                Shard = null,
                Amount = 2,
                X = -3087,
                Y = 3030,
                CodexEntry = "Galactic History 07: The First Spaceflights",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 31,
                Planet = "Coruscant",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Endurance,
                Shard = null,
                Amount = 2,
                X = -3729,
                Y = 161,
                CodexEntry = "Galactic History 04: King Adas",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 32,
                Planet = "Coruscant",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Cunning,
                Shard = null,
                Amount = 2,
                X = 1021,
                Y = 3967,
                CodexEntry = "Galactic History 05: Rise of the Infinite Empire",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 33,
                Planet = "Dromund Kaas",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Strength,
                Shard = null,
                Amount = 2,
                X = 855,
                Y = 643,
                CodexEntry = "Galactic History 19: The Pius Dea Crusades",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 34,
                Planet = "Dromund Kaas",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Presence,
                Shard = null,
                Amount = 2,
                X = 581,
                Y = 798,
                CodexEntry = "Galactic History 21: The Birth of the Mandalorians",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 35,
                Planet = "Dromund Kaas",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Cunning,
                Shard = null,
                Amount = 2,
                X = -1219,
                Y = 209,
                CodexEntry = "Galactic History 22: The Second Great Schism",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 36,
                Planet = "Dromund Kaas",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = null,
                Shard = "Yellow Matrix Shard",
                Amount = null,
                X = -187,
                Y = 1738,
                CodexEntry = "Galactic History 18: The Hutt Cataclysms",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 37,
                Planet = "Dromund Kaas",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Endurance,
                Shard = null,
                Amount = 2,
                X = -793,
                Y = 1450,
                CodexEntry = "Galactic History 20: Chancellor Blotus",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 38,
                Planet = "Hoth",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Presence,
                Shard = null,
                Amount = 4,
                X = 1039,
                Y = -1243,
                CodexEntry = "Galactic History 65: An Exile on Rhen Var",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 39,
                Planet = "Hoth",
                Faction = null,
                Stat = null,
                Shard = "Red Matrix Shard",
                Amount = null,
                X = -738,
                Y = 1705,
                CodexEntry = "Galactic History 66: The Jedi Covenant",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 40,
                Planet = "Hoth",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Endurance,
                Shard = null,
                Amount = 4,
                X = 2837,
                Y = -375,
                CodexEntry = "Galactic History 64: The Kanz Disorders",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 41,
                Planet = "Hoth",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Cunning,
                Shard = null,
                Amount = 4,
                X = 3144,
                Y = 475,
                CodexEntry = "Galactic History 63: The Terentatek Hunt",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 42,
                Planet = "Hoth",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Strength,
                Shard = null,
                Amount = 4,
                X = -4102,
                Y = 115,
                CodexEntry = "Galactic History 67: Mandalore the Ultimate",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 43,
                Planet = "Hutta",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Aim,
                Shard = null,
                Amount = 2,
                X = -96,
                Y = 861,
                CodexEntry = "Galactic History 01: The Architects",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 44,
                Planet = "Hutta",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = null,
                Shard = "Blue Matrix Shard",
                Amount = null,
                X = -9,
                Y = 319,
                CodexEntry = "Galactic History 03: The Battalions of Zhell",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 45,
                Planet = "Hutta",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Presence,
                Shard = null,
                Amount = 2,
                X = 648,
                Y = -107,
                CodexEntry = "Galactic History 02: Ancient Civilizations",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 46,
                Planet = "Illum",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Aim,
                Shard = null,
                Amount = 4,
                X = 920,
                Y = 1075,
                CodexEntry = "Galactic History 83: The Republic Rebuilds",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 47,
                Planet = "Illum",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Endurance,
                Shard = null,
                Amount = 4,
                X = 103,
                Y = -80,
                CodexEntry = "Galactic History 84: The G0-T0 Coup",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 48,
                Planet = "Illum",
                Faction = null,
                Stat = null,
                Shard = "Red Matrix Shard",
                Amount = null,
                X = 543,
                Y = 544,
                CodexEntry = "Galactic History 85: The Purge of the Dark Council",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 49,
                Planet = "Illum",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Will,
                Shard = null,
                Amount = 4,
                X = 304,
                Y = -1568,
                CodexEntry = "Galactic History 87: A Wayward Apprentice",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 50,
                Planet = "Illum",
                Faction = null,
                Stat = null,
                Shard = "Yellow Matrix Shard",
                Amount = null,
                X = 311,
                Y = -377,
                CodexEntry = "Galactic History 86: The Empire's Revenge",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 51,
                Planet = "Korriban",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Will,
                Shard = null,
                Amount = 2,
                X = 529,
                Y = 65,
                CodexEntry = "Galactic History 16: The Alsakan Conflicts",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 52,
                Planet = "Korriban",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Endurance,
                Shard = null,
                Amount = 2,
                X = 150,
                Y = 78,
                CodexEntry = "Galactic History 15: Mandalore",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 53,
                Planet = "Korriban",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = null,
                Shard = "Red Matrix Shard",
                Amount = null,
                X = -55,
                Y = 379,
                CodexEntry = "Galactic History 17: The Duinuogwuin Contention",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 54,
                Planet = "Nar Shaada",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Aim,
                Shard = null,
                Amount = 3,
                X = -3362,
                Y = -3316,
                CodexEntry = "Galactic History 33: Dromund Kaas",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 55,
                Planet = "Nar Shaada",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Presence,
                Shard = null,
                Amount = 3,
                X = 3338,
                Y = -3287,
                CodexEntry = "Galactic History 35: The Gank Massacres",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 56,
                Planet = "Nar Shaada",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Cunning,
                Shard = null,
                Amount = 3,
                X = 1958,
                Y = 3288,
                CodexEntry = "Galactic History 34: The Discovery of Ryll",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 57,
                Planet = "Nar Shaada",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Strength,
                Shard = null,
                Amount = 3,
                X = 2156,
                Y = 3103,
                CodexEntry = "Galactic History 37: Freedon Nadd",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 58,
                Planet = "Nar Shaada",
                Faction = null,
                Stat = null,
                Shard = "Yellow Matrix Shard",
                Amount = null,
                X = 1781,
                Y = 3084,
                CodexEntry = "Galactic History 36: The Quarren-Mon Calamari War",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 59,
                Planet = "Nar Shaada",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Aim,
                Shard = null,
                Amount = 3,
                X = -3699,
                Y = -1692,
                CodexEntry = "Galactic History 33: Dromund Kaas",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 60,
                Planet = "Nar Shaada",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Presence,
                Shard = null,
                Amount = 3,
                X = 2930,
                Y = 400,
                CodexEntry = "Galactic History 35: The Gank Massacres",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 61,
                Planet = "Nar Shaada",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Strength,
                Shard = null,
                Amount = 3,
                X = 2017,
                Y = 2441,
                CodexEntry = "Galactic History 37: Freedon Nadd",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 62,
                Planet = "Ord Mantell",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = null,
                Shard = "Red Matrix Shard",
                Amount = null,
                X = 778,
                Y = 133,
                CodexEntry = "Galactic History 14: The Fall of Tion",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 63,
                Planet = "Ord Mantell",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Presence,
                Shard = null,
                Amount = 2,
                X = -971,
                Y = 201,
                CodexEntry = "Galactic History 13: The First Great Schism",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 64,
                Planet = "Ord Mantell",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Aim,
                Shard = null,
                Amount = 2,
                X = -660,
                Y = -561,
                CodexEntry = "Galactic History 12: The Birth of the Republic",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 65,
                Planet = "Quesh",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Cunning,
                Shard = null,
                Amount = 4,
                X = 425,
                Y = -132,
                CodexEntry = "Galactic History 58: Ulic's Trials",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 66,
                Planet = "Quesh",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Endurance,
                Shard = null,
                Amount = 4,
                X = 207,
                Y = 773,
                CodexEntry = "Galactic History 59: Aleema's Fate",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 67,
                Planet = "Quesh",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Strength,
                Shard = null,
                Amount = 4,
                X = 557,
                Y = 1422,
                CodexEntry = "Galactic History 60: The Destruction of Ossus",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 68,
                Planet = "Taris",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Strength,
                Shard = null,
                Amount = 2,
                X = 1187,
                Y = -571,
                CodexEntry = "Galactic History 25: Two Rivals",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 69,
                Planet = "Taris",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Presence,
                Shard = null,
                Amount = 4,
                X = 1187,
                Y = -571,
                CodexEntry = "Galactic History 51: The Krath Cult Strikes",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 70,
                Planet = "Taris",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Aim,
                Shard = null,
                Amount = 2,
                X = -1515,
                Y = -253,
                CodexEntry = "Galactic History 23: The Sith Order Begins",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 71,
                Planet = "Taris",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Endurance,
                Shard = null,
                Amount = 3,
                X = -1515,
                Y = -253,
                CodexEntry = "Galactic History 48: The Audiences on Onderon",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 72,
                Planet = "Taris",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Cunning,
                Shard = null,
                Amount = 2,
                X = 1047,
                Y = 454,
                CodexEntry = "Galactic History 24: Empress Teta",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 73,
                Planet = "Taris",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Aim,
                Shard = null,
                Amount = 4,
                X = 1047,
                Y = 454,
                CodexEntry = "Galactic History 49: Exar Kun",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 74,
                Planet = "Taris",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Will,
                Shard = null,
                Amount = 2,
                X = -362,
                Y = -227,
                CodexEntry = "Galactic History 26: Naga Sadow's Deceptions",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 75,
                Planet = "Taris",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = null,
                Shard = "Green Matrix Shard",
                Amount = null,
                X = 1059,
                Y = 1039,
                CodexEntry = "Galactic History 27: The Great Hyperspace War",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 76,
                Planet = "Taris",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Will,
                Shard = null,
                Amount = 4,
                X = 444,
                Y = -772,
                CodexEntry = "Galactic History 50: Basilisk",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 77,
                Planet = "Taris",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Cunning,
                Shard = null,
                Amount = 4,
                X = -643,
                Y = 1606,
                CodexEntry = "Galactic History 52: Exar Kun Faces Korriban",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 78,
                Planet = "Tatooine",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Cunning,
                Shard = null,
                Amount = 3,
                X = 2140,
                Y = -3671,
                CodexEntry = "Galactic History 39: The Third Great Schism",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 79,
                Planet = "Tatooine",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Will,
                Shard = null,
                Amount = 3,
                X = 2115,
                Y = -596,
                CodexEntry = "Galactic History 42: The Nevoota Extinction",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 80,
                Planet = "Tatooine",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Aim,
                Shard = null,
                Amount = 3,
                X = -628,
                Y = -30,
                CodexEntry = "Galactic History 38: The Tyrant of Onderon",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 81,
                Planet = "Tatooine",
                Faction = null,
                Stat = null,
                Shard = "Blue Matrix Shard",
                Amount = null,
                X = -2391,
                Y = -1381,
                CodexEntry = "Galactic History 40: Czerka Discovers Kashyyyk",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 82,
                Planet = "Tatooine",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Strength,
                Shard = null,
                Amount = 3,
                X = -2391,
                Y = -1381,
                CodexEntry = "Galactic History 41: The Droid Rights Movement",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 83,
                Planet = "Tatooine",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Stat = TeamRobot.Swtor.Stat.Cunning,
                Shard = null,
                Amount = 3,
                X = 726,
                Y = 3137,
                CodexEntry = "Galactic History 39: The Third Great Schism",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 84,
                Planet = "Tython",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Endurance,
                Shard = null,
                Amount = 2,
                X = -33,
                Y = -102,
                CodexEntry = "Galactic History 09: The Force Wars",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 85,
                Planet = "Tython",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = TeamRobot.Swtor.Stat.Will,
                Shard = null,
                Amount = 2,
                X = -648,
                Y = -72,
                CodexEntry = "Galactic History 10: The Tion Cluster",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 86,
                Planet = "Tython",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Stat = null,
                Shard = "Blue Matrix Shard",
                Amount = null,
                X = -93,
                Y = 922,
                CodexEntry = "Galactic History 11: The Tionese Face the Hutt Empire",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 87,
                Planet = "Voss",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Will,
                Shard = null,
                Amount = 4,
                X = -29,
                Y = 372,
                CodexEntry = "Galactic History 77: A Return to the Unknown Regions",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 88,
                Planet = "Voss",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Presence,
                Shard = null,
                Amount = 4,
                X = 2144,
                Y = -840,
                CodexEntry = "Galactic History 75: The Jedi Civil War",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 89,
                Planet = "Voss",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Endurance,
                Shard = null,
                Amount = 4,
                X = -1950,
                Y = -2220,
                CodexEntry = "Galactic History 73: The Battle of Malachor Five",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 90,
                Planet = "Voss",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Strength,
                Shard = null,
                Amount = 4,
                X = 655,
                Y = 2049,
                CodexEntry = "Galactic History 76: Revan is Remade",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 91,
                Planet = "Voss",
                Faction = null,
                Stat = TeamRobot.Swtor.Stat.Cunning,
                Shard = null,
                Amount = 4,
                X = 515,
                Y = 175,
                CodexEntry = "Galactic History 74: Revan and Malak Fall",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 92,
                Planet = "Imperial Fleet",
                Faction = TeamRobot.Swtor.Faction.Empire,
                Shard = "+10 All Stats",
                CodexEntry = "N/A",
            });
            _allDatacrons.Add(new Datacron
            {
                Id = 93,
                Planet = "Republic Fleet",
                Faction = TeamRobot.Swtor.Faction.Republic,
                Shard = "+10 All Stats",
                CodexEntry = "N/A",
            });
        }

SWTOR 1.2 Items Added to the Database

It’s time to get your undies in a bundle! Mr. Robot is THE FIRST database to have the patch 1.2 SWTOR items live! You can /cheer for him now… maybe even a /woot would be appropriate.

Need a little help sorting through what’s what?

You can now equip any of the gear to a character in Mr. Robot’s Character Builder, see an example of a full War Hero set. If you don’t want to sift through those items on your character, there is a toggle to turn the 1.2 items off.

SWTOR Patch 1.2 ItemsRemember: Mr. Robot is dedicated to having accurate data. We’re looking for sources for the following sets of items, if you have a screenshot, send it our way!

  • Birthright – where do you get the construction kits?
  • Inheritance – where do you get the MH / OH construction kits?
  • “Elegant” weapons – how / where do you get the recipe?
  • Many of the new crystals – looking for sources

We have several suspicious items that we’ve taken out, since we doubt their existence. We’re suspicious of the items listed below – if you have a screenshot of their existence, send it our way.

  • Champion War Hero gear (rating 154)
  • Legionnaire gear (rating 154)
  • Warstalker gear (rating 154)
  • Denova gear (rating 150)
  • Hazmat gear (rating 150)
  • Elite War Hero gear (rating 150)
  • War Hero mods / enhancements 28 (ripped from Champion War Hero gear)
  • War Hero mods / enhancements 27 (ripped from Elite War Hero gear)
  • Advanced mods/ enhancements 27 (ripped from Denova and Hazmat gear)

If you see anything else that looks suspicious, or something that we are missing, let us know. When 1.2 hits, we’ll remove all suspicious gear that hasn’t been verified. We will also flag gear that is no longer obtainable, like Champion and Centurion sets (they will still be in the database, but they will have notes that they are no longer available).

SWTOR API by Mr. Robot

Mr. Robot loves building tools for games, and he has a lot of friends who also like building tools. He figures, instead of having everyone reinvent the wheel, why not share what he has? That way, everyone can focus on building bigger, cooler tools with all of their free time.

Mr. Robot’s API is coming in the next couple of weeks. 3rd party developers will be able to import character profiles and item data directly from Mr. Robot. The technological stuff: the API will retrieve JSON data.

There’s only one tiny catch: we ask that you do not build a competing item database. If you use the item data in a simulation tool, for example, that’s not a competing database, and is totally ok. If you’re unsure, just ask us, we’re friendly folks.

We’re also interested in anyone who writes wordpress plugins for bloggers. We think we can do even better than just tooltips. If you have cool ideas you want to code up, let us know. If we like your plugin, we have a few surprises in store.

 

Robo-Accurate Item Database for SWTOR

Another item database… really, Mr. Robot? That’s right, and this one is so accurate, it earned the rating, “Robo-Accurate” by the Robot Regulations & Standards Committee (RRSC). The other databases have one way of collecting and displaying data, but Mr. Robot had to raise the bar in order to pass the RRSC’s standards and get the highest data-rating that a Rob ot can earn.

 

Removed junk non-existent items! That’s right, Mr. Robot removed any items that don’t actually exist in the game, like Mastercraft Mods, or the BoE crafted versions of Advanced Commando Barrel / Hilt 23 (and other versions). If you’ve seen an item in-game that we don’t have, send us a screenshot via twitter, facebook, a comment, our forums, or any other human-interface-communication system. Mr. Robot needs proof, so “Screenshot, or it didn’t happen!”

Also a special thanks to several people who helped us verify some items: dulfy, kray (who makes a powertech dps simulator) & ezmode (who has a DPS spreadsheet), and jagger from Juyo.

First source to have all random item variants! This database is the first (and only) database to have all of the random items and their variants, for example, do a search for electrotex gloves. You’ll find a nice list of gloves and their modifiers on Mr. Robot’s database.

Mod sources  & where they are ripped from! A lot of great mods come already equipped in gear, and we know you rip them out and put them in your fancy orange digs. When you search Mr. Robot’s item database for mods, he’ll give you a list of gear they can be ripped from. He’s the only game in town to give you this info, btw, and he thinks he deserves some free cookies or something for his efforts (cookies, robot oil, nuts, bolts, and glitter hearts can all be sent via twitter images).

Smart navigation! Many of you know that Mr. Robot likes to think outside the box, improve on things, and not just copy what others have done before him. He got to thinking about the navigation… and he doesn’t want you to start with big search result pages, then narrow it down. He couldn’t think of a reason humans would ever want to start with a list of all 30,000 heavy armor items… so he grouped item lists into smaller, more digestible lists for us.

The left-hand navigation lets you easily browse the item database to discover cool items. Looking for PVP gear? Click on the PVP menu, then pick your class. Viola! Looking for gear from an operation? That’s just as easy! This list is brand-spanking new, and it might not have all of the ‘quick searches’ us meatbags want. If you think you have a search that everyone else would like to see, let us know! Mr. Robot just might add it in :)

API for Robo-Friends! Just when you thought the item database couldn’t get any better… Mr. Robot is working on an API to share item data and character info to 3rd party developers, to be released in the next couple of weeks. He’s done a LOT of work to get such accurate data and he doesn’t want everyone reinventing the wheel, so he’d like to share his work. Also, don’t scrape the site – you don’t need to when he has an API to share!!  If you’re making a tool that could use an item database, hit us up (leave a comment, email feedback@[oursite].com, stop by the forums, tweet us, etc). The only catch – we ask that you don’t make a competing database.

Some examples of people who’ve signed up to use our API:

  • Simulationcraft – importing characters and possibly item data
  • Guild hosting website – importing our data for a DKP management system
  • Sithwarrior.com – some of the tool makers of there are signed up to use our API

Gee, Mr. Robot, is there anything you DON’T HAVE? Aww, you had to ask that question, didn’t you? Mr. Robot is a very honest robot, so he’ll answer that for you. Things Mr. Robot’s item database does not have… at the moment:

  • Automatic tooltips for blogger (coming soon)
  • Sources for mission rewards (we’re working on a way to crowd-source that part)
  • Sources for flashpoints is not complete, and we’re fleshing it out. If you want to help speed it up, enter drops as you run flashpoints in our handy little form. A little note: although we list items as dropping from specific bosses, we are 95% positive the bosses share loot tables (meaning: the item can drop from any boss in the instance). Once we’re 100% positive that is the case, we will update the flashpoint sources to reflect that.
  • Comments (coming very soon)
  • Mobile view of the database (coming very soon, and it will be free)

SWTOR Flashpoint Gear

Mr. Robot is just days away from launching his item database! As you know, he’s dedicated to having the correct information, and he’s pretty confident about his list of gear from vendors, hardmode flashpoints, operations (thanks Dulfy), and crafting. However, he has only 80% of the data verified for normal mode flashpoints, resulting from his own flashpoint recordings and getting a few other drops from  Laura at Force Junkies. But he’d still like a little extra help from his humanoid friends.

As you run normal mode flashpoints, we’d love it if you filled out this form! Mr. Robot will publish a list of contributors… you could be in his hall of fame!

SWTOR Guild Summit, 1.2 in April, & Mr. Robot

If you didn’t get a chance to watch the live-steam of the guild summit, Dulfy has a nice blog that covers it and IGN has a summary of changes coming with 1.2.

A lot of great things were discussed, and Mr. Robot wants you to know he’s dedicated to making sure all of the tools and data on his site are updated with patch 1.2, to continue his promise to present accurate data. Here’s a few things we’ll be working on to make sure we have the proper updates the day SWTOR patch 1.2 launches.

  • There will be changes with some moddable and epic gear where more mods/armoring/enhancements will be able to be removed.
  • A lot of craftable BoPs sounds like they’ll be BoE in 1.2
  • There are a bunch of legacy changes that might unlock extra buffs or abilities for characters. We’ll be sure to add that in to our interface as well.
  • The reverse engineering chances will get better with 1.2 – and Mr. Robot will reflect that in our stats. Sneak peak at our feature: very soon we’ll have item pages for crafted items that show you the RE chances – badass, right?
  • Crafting crew skills are going to change to become more useful end-game. We’ll be updating patterns, materials, and all related items as needed.

Mr. Robot has ordered a few extra processors and a soldering kit off Amazon to install in his titanium core, so that he can make sure he updates all of these changes :) As always, Mr. Robot is dedicated to having accurate data, so that you can trust what you see on his site.

For other upcoming features, check out this article.

SWTOR: Avoid the Slow Loading Screen from Alt-Tab

So you want to alt-tab out of the game to look something up? Unheard of! Or maybe you want to fill out your gear on Mr. Robot’s handy dandy character builder and get in the armory? That load screen in SWTOR is a killer, isn’t it? It totally prevented me from alt-tabbing until a friend figured out the trick.

Load up your game. Hit the escape key to bring up the logout / quit / preferences menu. Select preferences. Go to the graphics sub menu. Right at the top there is an option to select windowed mode, or full-screen windowed mode.

SWTOR Alt Tab window modeFull-screen windowed mode will make SWTOR look just like before, it’s full screen! Windowed mode will leave your task bar at the bottom of the screen, which covers up part of your character bar, so it’s up to you if you prefer that option.

Enjoy! Please use your spare time to bake cookies for Mr. Robot – he likes chocolate chip and oatmeal raisin the best.

SWTOR Armory Guide

Mr. Robot's SWTOR Armory


What is Mr. Robot’s SWTOR Armory?

It’s a public database of characters and guilds, that anyone can search to find their friends, or compare gear to other people of the same advanced class. Mr. Robot gives you an option to add each profile you make to the armory. You can add or remove any profile at any time.

Here’s a list for Mr. Robot’s guild, GH-AMR.


How do I add my character to the Armory?  

If you haven’t already made a character on Ask Mr. Robot, go ahead and build one, there’s a walk through of that process here. On the first screen in the wizard, be sure to select ‘build my in-game character’ as ‘generic characters’ cannot be published to the Armory. The last screen gives you an option to publish the character to the Armory (the option is checked by default).

If you have an existing character, click on the edit icon next to your character name in the menu strip.

A window will pop up, and the first option is a check box to publish your character to the armory. If you do not see this option, you probably made a generic character, and at this time you cannot publish it.

How do I remove my character from the Armory?  

You can remove any profile you own from the armory. If someone else made a profile, for example, your friend set up your character, they will have to remove it from the armory. To remove it, click the edit icon next to your character name in the menu strip. The first option is a check box to publish the character to the Armory. Uncheck that box and click apply.

How do I update my character on the Armory?  

Every time you save your character by clicking the blue save button in the menu strip, your character is updated. It’s that easy!

I want to use someone else’s profile as a starting point, will it publish to the Armory?

Say a friend started a profile for you, or you’re looking at a BiS list from a blogger and you want to use that as a starting point for your character. It’s easy. Load the profile you want to start from, then click the blue ‘save as’ button on the menu strip.

Name it how you’d want it to appear in the Armory. It’s recommended that you follow the naming convention we use for new characters, so it’s easy for people to search for you. Character-Name of Server (Region). So my character is Zoopercat of Juyo (US).

Note, by default the ‘publish to Armory’ option is unchecked by default when you click the ‘save as’ button. We recommend leaving it unpublished until you have updated it with your character information, including your name, guild, server, and gear.

Once you have the character the way you want it, click the edit button next to your character name. The first option is a check box to publish to the Armory. Check the box and click apply. Note that you can change your profile name from the edit menu at any point. Viola! You are now in the Armory!

Can I publish more than 1 profile per character to the Armory?  

In general, we recommend that you only publish one profile per character to the armory. However, there are a few cases you might want to publish more than one, and we recommend giving very clear names to the profiles if you do this.

One example might be if you have a PVP and PVE set that you want to show off. In this case, we recommend naming the profiles with your name first, followed by the server name, then  -PVP or -PVE. So my character would be “Zoopercat of Juyo – PVP”

How do I find people in the Armory?  

You can type a character or guild name into the search box on any character page on Mr. Robot’s SWTOR website. Or you can navigate to the search page from the main navigation. If the character your guild return no results, that means the person doesn’t have their character in the database yet, or no one from that guild has created a profile. In which case, you should tell them to GET ON IT!