Broken Lines

Broken Lines

Not enough ratings
XML Weapon/Equipment/Trait/Ability codes
By ALLIDoIsWin
I put together a list of item codes from the game's XML files to make creating new campaign starting states easier. This guide presents a quick 'cheat-sheet' of item codes.
   
Award
Favorite
Favorited
Unfavorite
Intro
This guide is meant to build on top of Darkfall's excellent guide "How to Customize your game"
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=2063665338

As is mentioned in Darkfall's "How to Customize your game" guide, pretty much everything in the game is referenced using an 8-character key code. If you want to play around at all with modding how the campaign works or what items your characters have access too, you will need to use these 8-digit key codes. Unfortunately these key codes are dispersed across multiple dense XML files, making finding the code for a specific item quite a time-consuming and cumbersome task. Even once the correct XML data file is located which contains the key-codes you want, the key codes will typically still be buried within hundreds and hundreds of lines of boiler-plate XML syntax.

Luckily however, this guide has been written to serve as a remedy to this issue. While this guide doesn't cover every last detail about the game entities, most of the common one's in the game appear here. The idea is you should find this information very useful if you plan on editing the starting campaign save state file yourself:



Please note that as of now, this guide does not cover how to actually use these key-codes to mod the game. I found that after a little experimentation modding the game files is in fact a relatively intuitive experience and worth attempting on one's own. With a little practice, making these changes can be a very straight-forward process. However if there is interest out there, I could perhaps be willing to make a short and quick tutorial on how to do some basic modifications.
Weapons
| ~~~~~ WEAPONS ~~~~~ | | "Pistol/Webley" : bIjNvU59 | | "Shotgun/Coach Gun" : VwNkcRgb | "Shotgun/M97" : UzEcv9EA [Starting Shotgun] | "Shotgun/Winchester Model 21" : ORPhp2sv | "Shotgun/Stevens630" : w0GFDpDp | "Shotgun/Auto-5" : jLVrnlNU | | "SubMachinegun/Stengun" : aQf12U81 | "SubMachinegun/PPSH41" : JrtHHZaF | "SubMachinegun/Thompson" : Rf8Ww2UX | "SubMachinegun/MP40" : n2oRdBV2 | "SubMachinegun/StG44" : kG68QmeN | | "Rifle/Lee-Enfield" : AV4xRoeR | "Rifle/GarandM1" : kwy5Cs1H | "Rifle/Mauser98" : l48HH0A7 | "Rifle/Gewehr43" : 08Caniq7 | | "SniperRifle/Mauser98new" : bLjgDN05 | "SniperRifle/Mosin-NagantwithScope" : sk5AUOHv |
Items
| ~~~~~~ ITEMS ~~~~~~ | | "Grenade Launcher" : AfuyCEO2 [Utility_primary] | "Bazooka" : Z6XZNYr0 [Utility_primary] | "Grenade/ExplosiveImpact" : iatCvUGO [Utility_secondary] | "Grenade/SmallerExplosive" : BWpTrwtH [Utility_primary] | "Grenade/Explosive" : 4r6q85wD [Utility_primary] | "Grenade/Fake" : IUaMEqeG [Utility_secondary] | "Grenade/Shock" : xl9NedBE [Utility_secondary] | "Grenade/Smoke" : Q9gtRH83 [Utility_secondary] | "Grenade/Large Smoke" : 3Bh8AYOP [Utility_secondary] | "RifleGrenade" : tZKO7PVP [Utility_primary] | "Healing_Single" : dnErnjDv [Utility_secondary] | "AdrenalShot" : gwmuGRcF [Utility_secondary] | "Healing_Area" : D8PkE8df [Utility_primary] | "Adrenal_Area" : kkuZoqgz [Utility_secondary] | "Flare" : wLBSHdb3 [Utility_secondary] |

[IMPORTANT: The RifleGrenade only should be equipped onto characters already equipped with rifles]
Traits
| ~~~~~~ Traits ~~~~~~ | | "Trait/Bullseye" : 2yyAW9kd | "Trait/Bulletshy" : gPZaGnFk | "Trait/CoolUnderFire" : vwHnd8gx | "Trait/CourageBoostWhen100" : mcsuu1qe | "Trait/Dashing" : h4ip8q9K | "Trait/EquipmentSpecialist" : bVQpObG8 | "Trait/FastDraw" : i8NusMxq | "Trait/FastRunner" : pSxCKjgW | "Trait/GoodHealth" : pG6eWLYH | "Trait/Inconspicuous" : iWAUUM5R | "Trait/Loner" : L0f2YOmW | "Trait/Loudmouth" : wBRUEXa1 | "Trait/Pacifist" : OLazUJGr | "Trait/PoorHealth" : c7lhCPig | "Trait/SlowRunner" : ZpJTYHyK | "Trait/Social" : fAa5yjq4 | "Trait/ThickHeaded" : J0NSFm6T | "Trait/TriggerHappy" : K8OwvoR3 | "Trait/UnsteadyNerves" : zHA8sc89 | "Trait/WallHugger" : 7PWH7JKX |
Abilities
| ~~~~~~~ Ability ~~~~~~~ | | "Ability/AssaultTraining" : L1g82Ohz | "Ability/BloodRage" : Bh7mJIsL | "Ability/Chicken" : OnJELY7d | "Ability/Covering" : 9H8uAMf3 | "Ability/DamageBoost" : 8KAhoBGP | "Ability/Drunken" : w8Chpm2N | "Ability/EagleEye" : Pj6w3Bvp | "Ability/FeinDeath" : 7uMd6vbs | "Ability/GlassFocus" : UaiQzoPU | "Ability/PanicDefence" : TcRDyiqU | "Ability/Courageous" : borZX5A0 | "Ability/PissedOff" : w2BM5fxV | "Ability/SelfHealing" : In0PlbVt | "Ability/Sneak" : UswpR15e | "Ability/Sprinter" : PnL9JzP7 | "Ability/SteadyAim" : WrK4QO8t | "Ability/Suppressionist" : Va2xgxgi | "Ability/Taunt" : NPFq3iNB | "Ability/Attention Seeker" : BGjNzXTl |
[WIP] Characters [Party]
~~~ All of the values for this section can be found ~~~
~~~ in the file "CharacterDefinitionDatabase.xml" ~~~

NOTE: For Every Party Member There Are 2 Associated ID Codes:
* ID Code That Is Unique To The Party Member
* Class ID Code That Represents The Party Characters Class


Party Member
ID Code
Class ID Code
...
...
no class
^^EVENTUALLY DATA WILL APPEAR HERE^^

[ ATTENTION]
WIP -> The data is here but I haven't converted it from its native XML tag format yet

Without further ado, here is the data for the party characters:
<key>Avery</key> <id>m9cdISs3</id> <classID>sUncHDuR</classID> <key>Conner</key> <id>07ms4CnF</id> <classID>CxMIgqQv</classID> <key>Morgan</key> ------------> Apparently Steam thinks Morgan's ID code (a random <id>VSelFvqT</id> sequence of letters) contains a potentially offensive <classID>CxMIgqQv</classID> phrase and may blot part of the code out. To work around this issue, here is Morgan's ID code written backwards: TqvFleSV To use this code, simply reverse it so the 'V' appears first and the 'T' last <key>Fry</key> <id>uQMlGW8o</id> <classID>sUncHDuR</classID> <key>Hailey</key> <id>T15B2IQl</id> <classID>CxMIgqQv</classID> <key>King</key> <id>X65j4fCV</id> <classID>CxMIgqQv</classID> <key>Sherman</key> <id>WPwhTUce</id> <classID>sUncHDuR</classID> <key>Wood</key> <id>2NycBTnt</id> <classID>sUncHDuR</classID>
[WIP] Additional Characters [Izkor]
Non-Party Characters are just like Party Characters in that they
have both a unique ID and a class ID. However I have decided to
also include an extra ID tag for each non-party character, which is
their characterAI ID tag


Party Member
ID Code
Class ID Code
AI ID Code
AI GUID
[name]
8-digit ID code
8-digit Class code
8-digit AI code
I'm considering removing this column from this table
^^EVENTUALLY DATA WILL APPEAR HERE^^



<key>Izkor</key> <id>PVDGoaA3</id> <gender>Male</gender> <classID>3pUP6Gon</classID> <characterAI> <id>HYQ6kbJX</id> <guid>a005a12f47f2e994c9099f7dac9b9326</guid> </characterAI>
[WIP] Additional Characters [Hostile]
BONUS SECTION ---> ADDITIONAL CHARACTERS [Hostile] <key>Animal</key> [I'm pretty sure this character is hostile] <id>Wf9siDjD</id> <gender>Male</gender> <classID>CxMIgqQv</classID> <characterAI> <id>ZF11iB9R</id> <guid /> </characterAI> <key>Tank</key> <id>ho93mm04</id> <gender>Male</gender> <classID>nnE3SzMD</classID> <characterAI> <id>HYQ6kbJX</id> <guid>a005a12f47f2e994c9099f7dac9b9326</guid> </characterAI> <key>EnemyOffensive/Pistol/LugerGrenade</key> <id>t3xgjH7g</id> <gender>Male</gender> <classID>5wRIVexP</classID> <characterAI> <id>th01aB7L</id> <guid>6b3d28da95ceffc429c04c6b36014ecd</guid> </characterAI> <key>EnemyOffensive/Pistol/LugerGrenade_WreckLeader</key> <id>vBgPzsvm</id> <gender>Male</gender> <classID>npZUtKkW</classID> <characterAI> <id>U3q2LqjT</id> <guid>6b3d28da95ceffc429c04c6b36014ecd</guid> </characterAI> <key>EnemyDefensive/Rifle/Mauser Ms420</key> <id>2kBWg4G6</id> <gender>Male</gender> <classID>NrZv6huJ</classID> <characterAI> <id>EsQOXWNU</id> <guid>f2b1a8190addcad4da59017ddbcfdd38</guid> </characterAI> <key>EnemyOfficer/Off. Enemy</key> <id>2XqKKjmv</id> <gender>Male</gender> <classID>Xb8e9rZe</classID> <characterAI> <id>0XWa62LJ</id> <guid>4b1f9d0d6b8abfb438988e05b9d4d53a</guid> </characterAI> <key>EnemyOffensive/Shotgun/short-barreled</key> <id>mCwLhB1D</id> <gender>Male</gender> <classID>5wRIVexP</classID> <characterAI> <id>YOjAwJ8E</id> <guid>6b3d28da95ceffc429c04c6b36014ecd</guid> </characterAI> <key>EnemyDefensive/Pistol/Tutorial</key> <id>2fIxYedx</id> <gender>Male</gender> <classID>zPSs3keX</classID> <characterAI> <id>1wYqHnty</id> <guid>f2b1a8190addcad4da59017ddbcfdd38</guid> </characterAI> <key>EnemyOfficer/Officer Def. Enemy Mortar</key> <id>B6qdl7V2</id> <gender>Male</gender> <classID>hos2Jov8</classID> <characterAI> <id>v7KxNVVb</id> <guid>13997172a78e61c4fb85b077cf026a31</guid> </characterAI> <key>EnemyOfficer/Officer Def. Enemy</key> <id>BaVW3kRh</id> <gender>Male</gender> <classID>hos2Jov8</classID> <characterAI> <id>szR7vyFf</id> <guid>13997172a78e61c4fb85b077cf026a31</guid> </characterAI> <key>EnemyOfficer/Seargent Def. Enemy</key> <id>kPh5S40H</id> <gender>Male</gender> <classID>NrZv6huJ</classID> <characterAI> <id>d6okwd3o</id> <guid>bc90698b0e4be664898a9f4241161096</guid> </characterAI> <key>EnemyBoss/Rocketeer</key> <id>lWaYyIyQ</id> <gender>Male</gender> <classID>Jncz09mG</classID> <characterAI> <id>Hn6yAHnq</id> <guid>0ec1fb8b9efad8a43988e96169c2cea8</guid> </characterAI> <key>EnemyBoss/Machinegun</key> <id>rux1pACs</id> <gender>Male</gender> <classID>ffnLXHug</classID> <characterAI> <id>gzi7KVCi</id> <guid>dd3838d5343dbe949ae0dfad9111634a</guid> </characterAI> <key>EnemyBoss/GrenadeLauncher</key> <id>GBfxyXlE</id> <gender>Male</gender> <classID>NvMSnnrX</classID> <characterAI> <id>Tx6EdT7C</id> <guid>95fea971252771b419d0409dcdc9ef34</guid> </characterAI> <key>Turret Enemy Boss Flak88</key> <id>5uBirgqG</id> <gender>Male</gender> <classID>5wMd5CNF</classID> <characterAI> <id>BZMP37gY</id> <guid>9e25e5f8a28724041a2b2e8ab49ce519</guid> </characterAI> <key>EnemyDefensive/HeavyMachinegun</key> <id>SurGqg4p</id> <gender>Male</gender> <classID>NrZv6huJ</classID> <characterAI> <id>J3SHjFoC</id> <guid>dd3838d5343dbe949ae0dfad9111634a</guid> </characterAI> <key>EnemyOffensive/Rifle/Mauser Ms420</key> <id>W0pY4zVx</id> <gender>Male</gender> <classID>5wRIVexP</classID> <characterAI> <id>Xrog9D9Q</id> <guid>6b3d28da95ceffc429c04c6b36014ecd</guid> </characterAI> <key>Vehicle_mounting_turret</key> <id>HywQyrC0</id> <gender>Male</gender> <classID>FWtvL2Ve</classID> <characterAI> <id>09ii3A5f</id> <guid>2c9998c906049884e9ae8aeab1cb8bb8</guid> </characterAI> <key>Vehicle_mounting_heavy_gun</key> <id>aHXUghNl</id> <gender>Male</gender> <classID>FWtvL2Ve</classID> <characterAI> <id>p65zRV0d</id> <guid>78d8f28790ec80d48973a932e6917392</guid> </characterAI> <key>Vehicle_heavy_gunner</key> <id>Zs4tungp</id> <gender>Male</gender> <classID>KrKgssUj</classID> <characterAI> <id>AIgz8SKG</id> <guid>0727dbebde198a2409936fb93da0c727</guid> </characterAI> <key>EnemyOffensive/Moonshine/short-barreled_Moonshine</key> <id>OOOBinPK</id> <gender>Male</gender> <classID>5zqOL3EO</classID> <characterAI> <id>1sa5cR2m</id> <guid>6b3d28da95ceffc429c04c6b36014ecd</guid> </characterAI> <key>EnemyOffensive/Moonshine/Stengun_Moonshine</key> <id>lebAUYcz</id> <gender>Male</gender> <classID>5zqOL3EO</classID> <characterAI> <id>MHaKSYqx</id> <guid>6b3d28da95ceffc429c04c6b36014ecd</guid> </characterAI> <key>EnemyOffensive/Rifle/GarandM1</key> <id>kLezCXtH</id> <gender>Male</gender> <classID>5wRIVexP</classID> <characterAI> <id>ghzKC3MJ</id> <guid>6b3d28da95ceffc429c04c6b36014ecd</guid> </characterAI> <key>EnemyOffensive/Rifle/Mauser98</key> <id>bOEz7Edj</id> <gender>Male</gender> <classID>5wRIVexP</classID> <characterAI> <id>vwv9fiQT</id> <guid>6b3d28da95ceffc429c04c6b36014ecd</guid> </characterAI>

[ Yet Another Note: Please be aware that there are still probably ~50 or so Characters I have not yet listed here. A lot of these remaining characters are in the tutorial only or seem like they probably would be used only for debug and stuff like that. Perhaps sometime soon I will return to this guide to fill in the remaining data... ]
[WIP] Characters [Other]
<key>Civilian/man</key> <id>w3fWOHtj</id> <gender>Male</gender> <classID>3pUP6Gon</classID> <characterAI> <id>TcsBAuEb</id> <guid>a005a12f47f2e994c9099f7dac9b9326</guid> </characterAI> <key>Civilian/woman</key> <id>oPxShqFy</id> <gender>Female</gender> <classID>3pUP6Gon</classID> <characterAI> <id>t9jGR0sE</id> <guid>a005a12f47f2e994c9099f7dac9b9326</guid> </characterAI> <key>Civilian/oldMan</key> <id>vCzk2HD6</id> <gender>Male</gender> <classID>3pUP6Gon</classID> <characterAI> <id>R55HoJOK</id> <guid>a005a12f47f2e994c9099f7dac9b9326</guid> </characterAI> <key>Civilian/oldWoman</key> <id>v2oxFWAZ</id> <gender>Female</gender> <classID>3pUP6Gon</classID> <characterAI> <id>QKHHxli5</id> <guid>a005a12f47f2e994c9099f7dac9b9326</guid> </characterAI> <key>Civilian/girl</key> <id>ioDFZGRU</id> <gender>Female</gender> <classID>3pUP6Gon</classID> <characterAI> <id>0uzkbaPW</id> <guid>a005a12f47f2e994c9099f7dac9b9326</guid> </characterAI>

Conclusion
Please be aware that I have not actually tested more than a handful of items from this list so there is possibly a chance I copied a code over wrong. The name strings for each item should match what the XML object is labeled with so it should be relatively easy to verify a code simply by searching the XML text for the object's name.

Hope someone out there finds this useful!