Page 10 of 21 FirstFirst 1234567891011121314151617181920 ... LastLast
Results 451 to 500 of 1037

[TOOL] Cope's DoW2 Toolbox - V1.991h released! [09/01/2012]

  1. #451
    Member Quozzo's Avatar
    Join Date
    Apr 2010
    Location
    Baal Secundus
    i've noticed that whenever i 'copy as corsix-string' and then paste into notepad, there are no line breaks (although it doesnt actually need any), but when i paste it into wordpad theres too many as each line has a space between them.
    Your unique, just like everyone else

    [Combat Squads | Pop Cap]

    IA: Phoenix Angels

    Chapter Name Creator | Chapter Library

  2. Modding Senior Member  #452
    Solution: Use notepad++ (which is superior to WordPad/Notepad).

    Edit: @Z405: The ReloadPropertyGroup function currently stops the idea from working; I'll debug it tomorrow. Might be possible to really pull this off.
    "When life gives you lemons, make lemonade. Then use the profits to buy an assault rifle. See if life makes the same mistake twice."
    When to report?

  3. #453
    what happened to the tutorial for creating a new mod with this?

  4. #454

  5. #455
    Yes thank you, it is gone from there for me for some reason

  6. #456
    Not sure whats going on, but all of a sudden the tool doesn't seem to recognize my mod's ucs file or the current index value.

  7. #457
    Member Z405's Avatar
    Join Date
    Jun 2009
    Location
    Lands ov Nether
    @Z405: The ReloadPropertyGroup function currently stops the idea from working; I'll debug it tomorrow. Might be possible to really pull this off.
    Are we talking about version 1.81 soon or more of a version 2.0 or version 5.0 or 10.0 :P

    (i saw that posted something about needing windows 7 for using this possible new mechanic; if thats the case i better start reinstalling)
    Dawn of War 2: Warhammer 40.000 MOD

    *your commander requires aids*

  8. Modding Senior Member  #458
    @Clonesa:
    Log please, also which language your DoW2 uses, your base index and every information you can get regarding the UCS .

    @Z405:
    1.81, you won't need Win7.

  9. #459
    Member Z405's Avatar
    Join Date
    Jun 2009
    Location
    Lands ov Nether
    @Z405:
    1.81, you won't need Win7.
    I`m beginning to suspect you're a robot.

    btw, with regards to the UCS editting, could you make it so that when i select an UCS value, as it is now, you`ll see the actual text regarding this value on the right bottom of the screen, but editting this text here will not be "remembered or saved". When i copy this text, then use CTRL + U and paste the just copied text; edit it and want to click on "OK". I often get the report (depending on how long the text was) that UCS-strings can't span over multiple lines; which ofcourse i understand, but could you make it so that i will automatically make a "line" out of it?

    Because even if i manually typed a long text (inside the CTRL + U popup box and then press OK) and then copy the UCS value into the desired value request box; then select this value and copy paste the text which had become visible in the right bottom of the screen, into the popup menu brought forth by using CTRL + U, then paste the text, do 1 small edit and then select OK, i will receive the message again that it cannot be spanned across multiple lines. It would be more convenient if it would make 1 line out of the text; regardless on how it looks, even if i type it like this:


    A
    Power Axe
    is sheathed
    in the lethal haze
    of a disruptive energy field,
    capable of tearing through all manner of materials
    with ease.

    ------------------------------------------------------------

    Would that be possible?

    *edit

    another minor bug (presuming that this is not working as intended)>>

    whenever i use the ability to "cut value" a part of an rbf file and then paste it where i would like to see it; this obviously works, then i save and close the rbf. Then when i re-open that same .rbf, i will see the same part which i "cut value" on the same place where i had "cut" it as well as on the place to where i copied it.
    Last edited by Z405; 14th Jun 10 at 6:44 AM.

  10. #460
    03:28:20 - LoggingManager - Logging system set up successfully!
    03:28:20 - ConfigManager - Setting up config system...
    03:28:20 - ConfigManager - Config system set up successfully!
    03:28:20 - Tool starting...
    03:28:20 - PluginManager - Attempting to load plugins from plugins-folder D:\Tools\DoW2Tools\CopeDoW2 1.8\plugins\
    03:28:20 - RBFDict - Reading RBF-Dictionary
    03:28:20 - RBFLib - Reading RBF-Library
    03:28:20 - PluginManager - Plugins successfully loaded!
    03:28:20 - UCSManager - Initializing...
    03:28:20 - FE - Starting front end...
    03:28:20 - FE - FileTree controls setup started
    03:28:20 - FE - FileTree controls setup finished
    03:28:20 - FE - Front end successfully started!
    03:28:24 - ModManager - Closing current mod (if any is loaded)
    03:28:24 - FileManager - Releasing file trees
    03:28:24 - UCSManager - UCS file is empty, nothing to save.
    03:28:24 - ModManager - Manual GarbageCollection in all generations in progess...
    03:28:24 - ModManager - Loading module file D:\Games\Steam\steamapps\common\dawn of war 2\testmod.module
    03:28:25 - ModManager - Loading mod resources
    03:28:26 - ModManager - Module file successfully loaded in 1.291 seconds
    03:28:26 - FileManager - Filling file trees
    03:28:28 - FileManager - File trees filled in 2.387 seconds
    03:28:34 - UCSManager - Trying to load UCS files...
    03:28:34 - UCSManager - UCS file for current mod found.
    03:28:34 - UCSManager - UCS file for vanilla DoW2 found.
    03:28:34 - UCSManager - Done loading UCS files!
    15:13:56 - Application shutting down
    15:13:56 - RBFDict - Writing RBF-Dictionary
    15:13:56 - RBFLib - Writing RBF-Library
    15:13:56 - ModManager - Closing current mod (if any is loaded)
    15:13:56 - FileManager - Releasing file trees
    15:13:56 - UCSManager - Saving UCS file for current mod...
    15:13:56 - UCSManager - Successfully saved UCS file!
    15:13:56 - ModManager - Manual GarbageCollection in all generations in progess...
    Not much help offered by the log.

    Ah I see it added the entry to my mod's ucs, however it ignored the previous index values. Last index was: 11110041, but it jumped to the default 100000000. It was working perfectly before. No idea what has changed.

    [edit]
    Manually entered the next index and tested the mod to make sure it wrote it. It did and works, but the auto indexing still does not work.
    Last edited by Clonesa; 14th Jun 10 at 12:45 PM.

  11. Modding Senior Member  #461
    Thanks! That log at least told me that it successfully loaded the UCS, so that's not the problem .

    Edit: I'm successfully reloading PropertyGroups (ergo RBFs) using the tool while ingame. The Reload feature of course only works in Test-Mode (start the mod using the tool). However, the way reloading works is the following: The PropertyGroup is updated as soon as there's a need for it. E.g. reloading the RaceBluePrint while ingame does not have any effect (but if you start a new skirmish it'll update the file); reloading a SquadBluePrint while ingame will not change the existing ones but rather take effect as soon as you build a new squad of that kind (so even the UI is only updated after the SBP has been updated). It's kinda cool that it worked the way I imagined it.
    Last edited by Copernicus; 15th Jun 10 at 7:35 AM.

  12. #462
    Member Z405's Avatar
    Join Date
    Jun 2009
    Location
    Lands ov Nether
    E.g. reloading the RaceBluePrint while ingame does not have any effect (but if you start a new skirmish it'll update the file); reloading a SquadBluePrint while ingame will not change the existing ones but rather take effect as soon as you build a new squad of that kind (so even the UI is only updated after the SBP has been updated). It's kinda cool that it worked the way I imagined it.
    Great progress; i`m very interested in how this wil turn out. If anything, it will make modding dow2 even less time consuming, not needing to restart dow2 as a whole, but simply build a new squad or at most, restart a game. Pure gold.

  13. #463
    Very very awesome. BTW my issue appears just be related to the auto index feature. It still adds UCS entries properly but I have to manually enter the next index.

  14. #464
    Senior Member horusheretic's Avatar
    Join Date
    May 2006
    Location
    United Kingdom
    has a search function been implemented or on the way?

    theres lots of values still that i cant seem to find like:

    Flight_ext, the remaining actions:
    Code:
    | | evacuate_from
    | | trigger_dca_action_on_executer
    | | use_slot_item
    | | animator_set_event
    | | scale_simbox_action
    | | set_pathfinding_plane_action
    | | set_retreat_disabled
    | | disable_object_cover_action
    | | enable_moving_firing_action
    | | find_open_space_action
    | | stop_ability_action
    | | modify_corruption_action
    | | generate_wargear_drop_action
    | | hold_slot_action
    | | trigger_kicker_action
    | | swap_entity_action
    | | replace_squad_action
    | | slot_item_remove
    | | set_direct_fire_bag
    | | speech_vehicle_action
    | | speech_expression_action
    | | | if_then_else
    | | | call_sequential
    | | | for_each
    | | | | set_sim_variable
    | | | | set_team_colour
    | | | | change_owner
    | | | | force_target
    | | | | debug_print
    | | trigger_extreme_death_action
    | | retreat_action
    | | gib_death_action
    | | out_of_control_action
    and more.its all well having the names, but without the actual functional stuff for them then they ant be used. if i could at least find some of them, then that would be great :P
    Tutorials_And_Helpful_Sites_Here <-link
    Want a 3d model commissioned? I may do so. Pm me!
    http://steamcommunity.com/groups/dow40k2-woa Join up for updates and view other members.

  15. #465
    out_of_control_action

    Check any pvp vehicle death actions.

    trigger_kicker_action

    Kicker messages like "rear hit"

    modify_corruption_action

    Check the campaign global abilities that cause corruption.

    set_direct_fire_bag

    See cope's post on this

    enable_moving_firing_action

    See campaign devastator abilities.

    use_slot_item

    Used in tons of places I believe. Check abilities that fire weapons.

    To search back in the day I wrote an app that used corsix tool to mass convert everything to text and then used textpad to mass file text search.

    But it would be great if Cope's tool had a mass search function. A great idea.

  16. #466
    If this can help you in any way, have a look at the thread I made: http://forums.relicnews.com/showthread.php?t=249113 (I originally posted the attributes here, but it was a bit much for one post)

  17. Modding Senior Member  #467
    @Clonesa:
    Index problem should be fixed in the next version.



    I'm currently working on properly implementing the Reload feature. The ability to search RBFs sounds incredible useful and I'll definitely add it to the tool soon. For the next release I plan to change the plugin system and give you some easy tools for reloading files at runtime (like "autoreload when saving file").

    Also, music: http://www.myspace.com/istapp, listen to I Väntan På Den Absoluta Nollpunkten; it's fantastic, great music with a somewhat hilarious refrain (at least for a Black Metal band ).

    -cope.

    EDIT: V1.81 Released!

    Download

    Changelog:
    V1.81 - 06/16/2010
    General:
    - added 'Tools->Open DoW2 Log Directory'
    - changing the language now works properly
    - UCS index is now detected correctly
    - UCS values with linebreaks will now be converted to one-liners
    - reworked plugin system (no tutorial yet, nobody is interested in it anyway)
    - added Advanced Testing Mode (see the options), commands for testing 'console':
    - print(string message) -- print to ingame console (e.g. print("TEST"))
    - PGM_ReloadGroup(string pathRelativeToPGMBasePath) -- reload RBF
    - PGM_GetBasePath() -- returns the base path of the PropertyGroupManager
    - PGM_GetGroup(string pathRelativetoPGMBasePath) -- returns a number (pointer) if the group exists, otherwise 0

    RBF-Editor:
    - you can now double-click table values in the grid view to open the table
    - changed the editing behaivor of cells to 'Edit on Enter' (so I FINALLY got rid of having to click a combo-box twice to get the dropdown!)
    - added options menu
    - new feature: Auto-RBF reloading on saving the file while testing the game

    awesomeness

    Last edited by Copernicus; 16th Jun 10 at 11:44 AM.

  18. #468
    Member Z405's Avatar
    Join Date
    Jun 2009
    Location
    Lands ov Nether
    - reworked plugin system (no tutorial yet, nobody is interested in it anyway)
    Lol... that sounded so sad. Almost emo.

  19. #469
    Member Z405's Avatar
    Join Date
    Jun 2009
    Location
    Lands ov Nether
    Still need to test your new ingame editting ability; but i have one thing to say for now about the UCS files. When i create a new mod, a new UCS file will be created with a size of 0 kb. If you make a new mod, without editting any UCS file, DOW2 will REFUSE to start. I didn't know this, so i thought there was a problem with my pc, thats why i reinstalled and eventually came across a crashing hdd. So perhaps maybe add one line and number to the UCS, very high, so that at least the file itself with have a size and does not disallow you to start up DoW2.

  20. #470
    Or simply do not create it until the user has added a string.

    Very cool feature. Will have to test this.

  21. #471
    holy crap! Cope is AMAZING. Testing right now!

    Edit: MIND = BLOWN.
    Last edited by Promythyus; 17th Jun 10 at 3:20 AM.
    I guess day 1 DLC was too casual for EA, so let's start doing 8-month-early DLC! - Shuma
    Eagerly awaiting DoW3 with mod tools. You hear me Relic?!


  22. #472
    Did some testing.

    UCS auto indexing still doesn't work for me :S

    Running test mod again after closing the game results in a crash error.

    Your tool now requires administrator privileges to 'test mod'. Not a problem, just thought I'd let people know. Although you may want to check for it rather than generating an error.

  23. Modding Senior Member  #473
    @Z405:
    Thanks for the report.

    @Clonesa:
    It still doesn't detect the index? Strange. Well, I'll have another look at it then... Thanks for reporting the administrator-issue.

  24. #474
    Member Z405's Avatar
    Join Date
    Jun 2009
    Location
    Lands ov Nether
    It's an awesome feature cope; i`m speechless. The only thing is that i`ll need to get used to it hah, i've been programmed to automatically shutdown DoW2 so i can do some new edits, which actually in most cases is not needed at all. On a side not, after the hdd crash from yesterday, thinking everything should be fine now... guess what; my vidcard crashed lawl; had to be a new one of that either; the Dark Gods have forsaken me :/

  25. Modding Senior Member  #475

    V1.82 Released

    I keep restarting the game as well, we'll get used to the new possibilities .

    Download

    Changelog:
    V1.82 - 06/17/2010
    General:
    - fixed crash which occured when testing the current mod multiple times
    - simplified internal UCS-system to fix indexing problems
    - UCS files will now be created as soon as they're needed (and not any earlier)
    - activating advanced test mode now requires administrator priviliges
    - various fixes for 'New Mod'
    -cope.

  26. #476
    Hey, I had some problems (like a dead end) with a file type (described here in the music playlist part), do you think this tool will be able to open those BSC files at some point?

  27. #477
    Auto indexing works now. Thx

  28. #478
    I love this tool! Question. After creating a Mod it will not launch. I get the same error even when trying to just play DoW or CR. Only a reinstall will fix it. Or, having a back up copy of the entire directory. What am I doing wrong?

    Here is the text from the warnings log

    01:32:38.48 -- DOW2 Warnings Log --
    01:32:38.48 c:\program files (x86)\steam\steamapps\common\dawn of war 2\dow2.exe started at 2010-06-18 01:32
    01:32:38.48 OS NT 6.1, 4096 MB Physical Memory, 2508 Mb Physical Available, 3329 Mb Virtual Available
    01:32:38.48 RUN OPTIONS: -logs -dev -modname XXXXXMod -nomovies
    01:32:38.48 WORKING DIR: 'c:\program files (x86)\steam\steamapps\common\dawn of war 2'
    01:32:38.48 USER: 'XXXXXXX'
    01:32:38.52 Game Init - Unable to load any localized text from 'GameAssets\Locale\english'!
    01:32:38.52 GlobalInit -- Failed load for step: 'MOD & Filesystem'

  29. #479
    Senior Member horusheretic's Avatar
    Join Date
    May 2006
    Location
    United Kingdom
    a bit of an exension request to the dll enjector and code system:

    would it be possible to log exactly what code is flying around and detect any potential errors and if it CTD's at certain points, could it make a log you can read?

    as the current system for normal debug doesn't really help you specifically enough.

  30. Modding Senior Member  #480
    @lone_guardsman:
    Which version are you using? V1.82? That crash-bug should have been fixed with that version.

    @horus:
    DoW2 is incredibly complex; if there are any specific crashes you'd like to log I can take a look into it.

  31. #481
    Looks like I was using 1.81. I found this mod two days ago right before 1.82. Came out. I will download and try it out. Thanks again.

  32. #482
    Senior Member horusheretic's Avatar
    Join Date
    May 2006
    Location
    United Kingdom
    well, thats the thing, the specific crash i have doesnt bug splat, produce a log, and there cant be a typo in any of the code, as it was cloned and the things that do get changed, like wargear paths are correct because your tool does that

    i know its something to do with the new armour types i added, yet some work and some don't in combat. it would just help to know why.

    if its going to be too much hassle then of course there isn't much i can do about that.

  33. #483
    Member Z405's Avatar
    Join Date
    Jun 2009
    Location
    Lands ov Nether
    Cope, 2 questions. Are you going to add the recently posted complete list of all DOW2 attributes, by Miguel to the library? I could do it myself ofcourse; i've been adding stuff to the Library, from within the tool itself, but everytime you update, i lose everything i added to that library. Maybe i should just add it to the .txt file and recopy/paste those myself after each new update.

    The second question regards UCS. Not that it's major important, but your newest ability does not support UCS changes to be seen directly in game; i will need to restart DoW2 for this. Like i said, no biggy; just wondering if you could or want to add the ability to also see UCS changes like you've done for RBF changes.

    And secretly a third question, which also regards the UCS editting from within your tool. What would be quite convenient is that whenever i select a UCS value and the UCS text appears on the right bottom of the ToolBox screen, that i could also edit it from there, instead of needing to make a new UCS through CTRL + U. I could ofcourse, open the entire UCS file itself and make some small edits from within there.

    Getting more used to not shutting DoW2 down for edits btw; really an amazing feature

  34. Modding Senior Member  #484
    I won't add Miguels library because I'm too lazy to convert it all. If anyone feels like he's got a most complete library feel free to share it.
    I've already thought about allowing you to edit the text down there, it would of course only change text from you UCS (and if the current string is not part of your UCS it would create a new string and copy it over to your UCS).
    Reloading UCS file at runtime is not a priority right now. It actually seems to be quite easy to load UCSs but reloading is different from just loading.

  35. #485
    Member Z405's Avatar
    Join Date
    Jun 2009
    Location
    Lands ov Nether
    I've already thought about allowing you to edit the text down there, it would of course only change text from you UCS (and if the current string is not part of your UCS it would create a new string and copy it over to your UCS).
    Sounds like what i`m after yes

    I won't add Miguels library because I'm too lazy to convert it all. If anyone feels like he's got a most complete library feel free to share it.
    If nobody else will, perhaps i`ll do it then. I like convenience

  36. #486
    Member Quozzo's Avatar
    Join Date
    Apr 2010
    Location
    Baal Secundus
    @ Z405
    saving to the library in-tool should aslo save it to the .txt file so it would just require you to copy and paste it into the new tool directory.

  37. #487
    @ Copernicus: That was the issue. Its working now. Thanks for the a great mod tool.

  38. #488
    Senior Member horusheretic's Avatar
    Join Date
    May 2006
    Location
    United Kingdom
    Cope, 2 questions. Are you going to add the recently posted complete list of all DOW2 attributes, by Miguel to the library? I could do it myself ofcourse; i've been adding stuff to the Library, from within the tool itself, but everytime you update, i lose everything i added to that library. Maybe i should just add it to the .txt file and recopy/paste those myself after each new update.
    if you hadn't noticed already, pretty much everything in that list of his was added by me anyway
    there's only a few things that aren't fully added from it yet such as the target types and a few of the extensions and a couple of the actions i couldnt find previously. it would be a huge waste of your time trying to go through and looking at each one to see if they are there. i already know which are and which aren't by a glance

  39. #489
    Member Z405's Avatar
    Join Date
    Jun 2009
    Location
    Lands ov Nether
    Got a new crashlog report for you Cope:

    Code:
    17:15:17 - LoggingManager - Logging system set up successfully!
    17:15:17 - ConfigManager - Setting up config system...
    17:15:17 - ConfigManager - Config system set up successfully!
    17:15:17 - Tool starting...
    17:15:18 - FE - Starting front end...
    17:15:18 - FE - Couldn't determine last used path, asking user for help.
    17:15:18 - FE - Trying to get Steam path from the registry
    17:15:18 - FE - FileTree controls setup started
    17:15:18 - FE - FileTree controls setup finished
    17:15:18 - FE - Front end successfully started!
    17:15:18 - PluginManager - Attempting to load plugins from plugins-folder C:\Program Files (x86)\Steam\steamapps\common\dawn of war 2\Tools\CopeDoW2 1.82\plugins\
    17:15:18 - RBFPlugin - Setup started
    17:15:18 - RBFLib - Reading RBF-Library
    17:15:19 - RBFDict - Reading RBF-Dictionary
    17:15:19 - RBFPlugin - Setup finished
    17:15:19 - PluginManager - Plugins successfully loaded!
    17:15:19 - No DoW2 language found, setting it to default (English)
    17:15:19 - UCSManager - Initializing...
    17:15:25 - ModManager - Closing current mod (if any is loaded)
    17:15:25 - FileManager - Releasing file trees
    17:15:25 - UCSManager - UCS file is empty, nothing to save.
    17:15:25 - ModManager - Manual GarbageCollection in all generations in progess...
    17:15:25 - ModManager - Loading module file C:\Program Files (x86)\Steam\steamapps\common\dawn of war 2\Warhammer_40k.module
    17:15:25 - ModManager - Loading mod resources
    17:15:27 - ModManager - Module file successfully loaded in 1,1388 seconds
    17:15:27 - FileManager - Filling file trees
    17:15:29 - FileManager - File trees filled in 2,3868 seconds
    17:15:33 - UCSManager - Trying to load UCS files...
    17:15:33 - UCSManager - UCS file for current mod found.
    17:15:33 - UCSManager - UCS file for vanilla DoW2 found.
    17:15:33 - UCSManager - Done loading UCS files!
    18:25:43 - UCSManager - Saving UCS file for current mod...
    18:25:43 - UCSManager - Successfully saved UCS file!
    18:28:57 - UCSManager - Saving UCS file for current mod...
    18:28:57 - UCSManager - Successfully saved UCS file!
    18:29:00 - DebugManager - Advanced mode started
    18:39:23 - ERROR - APPCRASH
    18:39:23 - PlugIns in use:
    ImageViewerPlugin.ImageViewerPlugin, ImageViewerPlugin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - ImageViewerPlugin.ImageViewerPlugin
    ImageViewerPlugin.ImageViewerPlugin, ImageViewerPlugin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - ImageViewerPlugin.ImageViewerPlugin
    RBFPlugin.RBFEditorPlugin, RBFEditorPlugin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - RBFPlugin.RBFEditorPlugin
    RBFPlugin.RBFEditorPlugin, RBFEditorPlugin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - RBFPlugin.RBFEditorPlugin
    
    18:39:23 - Mod info:
    Mod DATA directory: C:\Program Files (x86)\Steam\steamapps\common\dawn of war 2\Warhammer_40k\Data\
    Mod ATTRIB directory: C:\Program Files (x86)\Steam\steamapps\common\dawn of war 2\Warhammer_40k\DataAttrib\
    Mod DATA archives:
    Warhammer_40k_data.sga
    223_data.sga
    221_data.sga
    220_data.sga
    210_data.sga
    200_data.sga
    GameArt_DELTA.sga
    GameArt.sga
    GameArtEnvironment_DELTA.sga
    GameArtEnvironment.sga
    GameArtEnvironmentTextures_DELTA.sga
    GameArtEnvironmentTextures.sga
    GameMaps_DELTA.sga
    GameMaps.sga
    GameDefault_DELTA.sga
    GameDefault.sga
    Mod ATTRIB archives:
    Warhammer_40k_attrib.sga
    GameAttrib.sga
    
    18:39:23 - Exception Info
    		Type: CopeException
    		Message: The file you're trying to add does not exist! Base path: C:\Program Files (x86)\Steam\steamapps\common\dawn of war 2\Warhammer_40k\Data\ ; relative path: ui\textures\chaos_marines\portraits\csm_thousand_sons.dds
    		Exception source: CopeModToolCore
    		Stack trace:    bij ModTool.Core.FSNodeDir.TryAddFileFromRelativePath(String path)
       bij ModTool.Core.FileTree.ProcessEvent(FileSystemEventArgs e)
       bij ModTool.Core.FileTree.ConsumerThreadStart()
       bij System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
       bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       bij System.Threading.ThreadHelper.ThreadStart()
    		No InnerException
    
    18:39:23 - END OF APPCRASH INFO
    Occured when i editted a dds file in paint.net and then saved it; the moment i save it, ToolBox crashed.

    Quozzo: saving to the library in-tool should aslo save it to the .txt file so it would just require you to copy and paste it into the new tool directory.
    I suspected this, but yeah, a conformation is good to have. Thanks for the pointer

    HorusHeretic: if you hadn't noticed already, pretty much everything in that list of his was added by me anyway
    Well the reason i wondered is because with every new patch Cope spoils us with, the RBF library is back to normal. And seeing the long list Miguel posted, i might have overlooked a lot of requirements i mostly use myself, but they seem to not be there. Like binary requirement or required ration (in the vanilla library).

  40. #490
    Senior Member horusheretic's Avatar
    Join Date
    May 2006
    Location
    United Kingdom
    Well the reason i wondered is because with every new patch Cope spoils us with, the RBF library is back to normal. And seeing the long list Miguel posted, i might have overlooked a lot of requirements i mostly use myself, but they seem to not be there. Like binary requirement or required ration
    then you keep a back up if things are going to be obscure and hard to find, of course they are likely not going to make it in to complete the list. ive never even said it was complete... just has most of what you will need to make a decent mod with in a short amount of time.

    if theres complete things out there that someone has found i have no problem adding them.

    Edit2: sigh, something must of gotten lost in transit somewhere, as i did have requirements done. ill have to do them again then.
    Last edited by horusheretic; 19th Jun 10 at 11:44 AM.

  41. #491
    Member Z405's Avatar
    Join Date
    Jun 2009
    Location
    Lands ov Nether
    I actually made my own .rbf thingie, so i can look up stuff quickly for when i cant find it in the library; worked quite handy up so far.

    Code:
    GameData: {
    | delay: {
    | | $REF: "actions\ability\delay";
    | | delay: 2f;
    | | delayed_actions: {
    | | };
    | | display_progress_bar: false;
    | };
    | convert_to_position_action: {
    | | $REF: "actions\ability\convert_to_position_action";
    | | sub_actions: {
    | | };
    | };
    | use_accessory_weapon: {
    | | $REF: "actions\ability\use_accessory_weapon";
    | | accessory_weapon_item: "slot_item\heroes\kommando_nob\rocket_barrage";
    | | decrement_accessory_item: "";
    | | no_decrement: true;
    | | number_of_shots: 3;
    | | switch_back_duration: 0f;
    | | target_info: {
    | | | $REF: "types\targets\all";
    | | };
    | };
    | activate_extension_action: {
    | | $REF: "actions\ability\activate_extension_action";
    | | activate: true;
    | | cover_ext: true;
    | | crush_ext: true;
    | };
    | delete_wargear_action: {
    | | $REF: "actions\upgrade\delete_wargear_action";
    | | wargear: "wargear\wargear\pvp\race_eldar\eld_wp1_dual_deathspinner_exarch";
    | };
    | filter_action: {
    | | $REF: "actions\upgrade\filter_action";
    | | apply_to_future_units: false;
    | | apply_to_local_player: true;
    | | entity_type: "ebps\pvp\race_chaos\troops\csm_tactical_marine";
    | | squad_type: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | actions: {
    | | | equip_wargear_action: {
    | | | | $REF: "actions\upgrade\equip_wargear_action";
    | | | | wargear: "wargear\wargear\pvp\race_chaos\csm_wp1_missile_launcher_plague";
    | | | };
    | | };
    | | target_info: {
    | | | $REF: "types\targets\own";
    | | };
    | | unit_class_type: "infantry";
    | };
    | modify_energy_action: {
    | | $REF: "actions\ability\modify_energy_action";
    | | energy_adjust: -7f;
    | | give_difference_to_caster: false;
    | };
    | invulnerable_action: {
    | | $REF: "actions\ability\invulnerable_action";
    | | duration: 12f;
    | | minimum_health_cap: 1f;
    | };
    | random_list_action: {
    | | $REF: "actions\ability\random_list_action";
    | | sub_action_entries: {
    | | | random_list_action_entry: {
    | | | | $REF: "types\random_list_action_entry";
    | | | | actions: {
    | | | | | damage: {
    | | | | | | $REF: "actions\ability\damage";
    | | | | | | application_type: "simulate_weapon_hit";
    | | | | | | courage_damage: 0f;
    | | | | | | damage: 1f;
    | | | | | | damage_type: "weapons\weapon_damage\core\energy";
    | | | | | | death_type: {
    | | | | | | | $REF: "weapons\weapon_death_type";
    | | | | | | | gibbing: 0f;
    | | | | | | | ragdoll: 0f;
    | | | | | | };
    | | | | | | extreme_kills: {
    | | | | | | };
    | | | | | | leveling_weapon_type_damage: "melee";
    | | | | | | morale_damage: 0f;
    | | | | | | percentage: false;
    | | | | | | show_health_kicker: false;
    | | | | | };
    | | | | };
    | | | | weight: 3f;
    | | | };
    | | | random_list_action_entry: {
    | | | | $REF: "types\random_list_action_entry";
    | | | | actions: {
    | | | | | damage: {
    | | | | | | $REF: "actions\ability\damage";
    | | | | | | application_type: "simulate_weapon_hit";
    | | | | | | courage_damage: 0f;
    | | | | | | damage: 2f;
    | | | | | | damage_type: "weapons\weapon_damage\core\energy";
    | | | | | | death_type: {
    | | | | | | | $REF: "weapons\weapon_death_type";
    | | | | | | | gibbing: 0f;
    | | | | | | | ragdoll: 0f;
    | | | | | | };
    | | | | | | extreme_kills: {
    | | | | | | };
    | | | | | | leveling_weapon_type_damage: "melee";
    | | | | | | morale_damage: 0f;
    | | | | | | percentage: false;
    | | | | | | show_health_kicker: false;
    | | | | | };
    | | | | };
    | | | | weight: 3f;
    | | | };
    | | };
    | };
    | damage: {
    | | $REF: "actions\ability\damage";
    | | application_type: "simulate_weapon_hit";
    | | courage_damage: 0f;
    | | damage: 75f;
    | | damage_type: "weapons\weapon_damage\pvp\piercing_pvp";
    | | death_type: {
    | | | $REF: "weapons\weapon_death_type";
    | | | gibbing: 0f;
    | | | ragdoll: 0f;
    | | };
    | | extreme_kills: {
    | | };
    | | leveling_weapon_type_damage: "range";
    | | morale_damage: 0f;
    | | percentage: false;
    | | show_health_kicker: false;
    | };
    | change_target_type: {
    | | $REF: "actions\upgrade\change_target_type";
    | | new_type: "vehicle";
    | | original_type: "super_heavy_infantry";
    | };
    | jump_action: {
    | | $REF: "actions\ability\jump_action";
    | | jump_info: {
    | | | $REF: "types\jump_info";
    | | | aggression: 0.6f;
    | | | anticipation_time: 0f;
    | | | breakdown_time: 0f;
    | | | jump_distance_max: 30f;
    | | | jump_height: 5f;
    | | | jump_min_height: 5f;
    | | | jump_pass_type: "";
    | | | max_forward_speed: 12f;
    | | | min_forward_speed: 0f;
    | | | number_of_jumpers: 0;
    | | | skip_facing: false;
    | | | teleport: false;
    | | | use_special_on_completion_actions: false;
    | | };
    | | jump_order: "leader_first";
    | };
    | ability_recharge_time_squad_modifier: {
    | | $REF: "modifiers\ability_recharge_time_squad_modifier";
    | | application_type: "apply_to_squad";
    | | exclusive: false;
    | | exclusive_type: "tp_modifier";
    | | target_type_name: "";
    | | usage_type: "multiplication";
    | | value: 0.5f;
    | | probability_of_applying: 1f;
    | };
    | add_weapon_on_hit_action: {
    | | $REF: "actions\ability\add_weapon_on_hit_action";
    | | extra_on_hit_actions: {
    | | | knockback_action: {
    | | | | $REF: "actions\ability\knockback_action";
    | | | | crush_type: "passability\light_crusher";
    | | | | domino_strength: 0f;
    | | | | flight_distance: 1.2f;
    | | | | flight_loft: 0f;
    | | | | knockback_type: "weapon_knockback";
    | | | | levitate: {
    | | | | | duration: 0f;
    | | | | | scatter_angle: 0f;
    | | | | };
    | | | | scatter_angle: 0f;
    | | | | scatter_flight: 0f;
    | | | | specials: {
    | | | | | ignore_pathfinding: false;
    | | | | | knock_towards_executer: false;
    | | | | };
    | | | };
    | | };
    | | permanent: false;
    | | weapon_stance: "range";
    | };
    | apply_modifiers_action: {
    | | $REF: "actions\ability\apply_modifiers_action";
    | | duration: 0f;
    | | modifiers: {
    | | };
    | | permanent: false;
    | };
    | requirement_action: {
    | | $REF: "actions\ability\requirement_action";
    | | kill_action_on_failed_requirements: true;
    | | requirements: {
    | | | required_binary_expr: {
    | | | | $REF: "requirements\required_binary_expr";
    | | | | operation: "and";
    | | | | reason: "usage";
    | | | | requirements_lhs: {
    | | | | };
    | | | | requirements_rhs: {
    | | | | };
    | | | | ui_name: 0;
    | | | };
    | | };
    | | subactions: {
    | | };
    | | apply_to_target: false;
    | | validate_subactions: true;
    | | validate: false;
    | };
    | animator_set_action: {
    | | $REF: "actions\ability\animator_set_action";
    | | action_name: "ui\buffs\positive_buff";
    | | fire_and_forget: false;
    | | delay: 0f;
    | | action_name: "ui\nimbus\ch_nimbus_zombie";
    | | action_name: "abilities\chaos\unit_explode";
    | | action_name: "ui\buffs\positive_buff";
    | | action_name: "abilities\tyranid\synapse_giver_melee";
    | | action_name: "abilities\space_marine\ambush_lvl1";
    | | action_name: "abilities\space_marine\ambush_lvl2";
    | | action_name: "abilities\space_marine\ambush_lvl3";
    | | action_name: "abilities\space_marine\ambush_lvl4";
    | | action_name: "abilities\common\up_fire_hit";
    | | action_name: "abilities\space_marine\lacerate_wounds";
    | | action_name: "abilities\space_marine\forcefield_corrupt_02";
    | | action_name: "abilities\space_marine\aura_of_blood";
    | | action_name: "abilities\chaos\sorceror_consume_absorb";
    | | action_name: "abilities\space_marine\berserk";
    | | action_name: "abilities\tyranid\on_charge";
    | | action_name: "ui\buffs\loner_buff";
    | | action_name: "abilities\common\up_holy_hit";
    | | action_name: "munition_type\up_holy\hitfx\lrg_unit_flesh_armor";
    | | action_name: "abilities\tyranid\adrenal_rush";
    | | action_name: "abilities\tyranid\hive_psy_scream_caster";
    | | action_name: "abilities\tyranid\hive_psy_scream_target";
    | | action_name: "ui\buffs\negative_buff";
    | | action_name: "abilities\eldar\anti_grav_victim";
    | | action_name: "abilities\space_marine\empower";
    | };
    | requirements: {
    | | require_squad_ratio: {
    | | | $REF: "requirements\require_squad_ratio";
    | | | max_squad_cap: 1;
    | | | reason: "usage";
    | | | squad_name: "";
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | };
    | | | requirements_rhs: {
    | | | };
    | | | ui_name: 90000001;
    | | };
    | | required_combat: {
    | | | $REF: "requirements\required_combat";
    | | | reason: "usage";
    | | | required_force_target: false;
    | | | stance: "melee";
    | | };
    | | required_convert_target: {
    | | | $REF: "requirements\required_convert_target";
    | | | sub_requirements: {
    | | | };
    | | | target_promotion: "entity";
    | | };
    | | required_element: {
    | | | $REF: "requirements\required_element";
    | | | element: "0_core";
    | | | reason: "usage";
    | | };
    | | required_energy: {
    | | | $REF: "requirements\required_energy";
    | | | cap: "min";
    | | | level: 1f;
    | | | measure: "value";
    | | | reason: "usage";
    | | };
    | | required_entity: {
    | | | $REF: "requirements\required_entity";
    | | | armour_type: "vehicle";
    | | | entity_blueprint_name: "";
    | | | reason: "usage";
    | | | ui_name: 0;
    | | };
    | | required_health: {
    | | | $REF: "requirements\required_health";
    | | | cap: "max";
    | | | level: 1f;
    | | | measure: "value";
    | | | reason: "usage";
    | | | ui_name: 0;
    | | };
    | | required_is_weapon_setup: {
    | | | $REF: "requirements\required_is_weapon_setup";
    | | | check_all_in_squad: false;
    | | | reason: "display";
    | | };
    | | required_leveling: {
    | | | $REF: "requirements\required_leveling";
    | | | attrib_points_category: "";
    | | | attrib_points_max: 100000;
    | | | attrib_points_min: 0;
    | | | consider_only_discretionary_points: false;
    | | | level_threshold: 1;
    | | | reason: "usage";
    | | };
    | | required_local_entity: {
    | | | $REF: "requirements\required_local_entity";
    | | | entity: "";
    | | | maximum_allowed: 0;
    | | | minimum_allowed: 0;
    | | | reason: "usage_and_display";
    | | | ui_name: 0;
    | | };
    | | required_local_upgrade: {
    | | | $REF: "requirements\required_local_upgrade";
    | | | is_present: true;
    | | | max_completed: 1000000000;
    | | | min_completed: 1;
    | | | only_check_in_progress: false;
    | | | reason: "usage";
    | | | ui_name: 0;
    | | | upgrade_name: "";
    | | };
    | | required_modifiers: {
    | | | option: "modifiers\camouflage_enable_modifier";
    | | | option: "modifiers\burrowed_dummy_modifier";
    | | };
    | | required_not_in_building: {
    | | | $REF: "requirements\required_not_in_building";
    | | | reason: "usage";
    | | };
    | | required_player_hero_level: {
    | | | $REF: "requirements\required_player_hero_level";
    | | | maximum_level: 10;
    | | | minimum_level: 1;
    | | | reason: "usage";
    | | | ui_name: 0;
    | | };
    | | required_player_upgrade: {
    | | | $REF: "requirements\required_player_upgrade";
    | | | is_present: true;
    | | | max_completed: 1000000000;
    | | | min_completed: 1;
    | | | only_check_in_progress: false;
    | | | reason: "usage";
    | | | ui_name: 0;
    | | | upgrade_name: "";
    | | };
    | | required_random: {
    | | | $REF: "requirements\required_random";
    | | | chance: 0.5f;
    | | | reason: "display";
    | | };
    | | required_sim_var: {
    | | | $REF: "requirements\required_sim_var";
    | | | comparison: "equal";
    | | | reason: "usage";
    | | | sim_variable: "test_variable";
    | | | ui_name: 0;
    | | | value: 0f;
    | | };
    | | required_squad_type: {
    | | | $REF: "requirements\required_squad_type";
    | | | reason: "usage";
    | | | type_list: {
    | | | | squad_type: "scout_marine";
    | | | | squad_type: "tactical_marine";
    | | | | squad_type: "devastator_marine";
    | | | | squad_type: "assault_marine";
    | | | | squad_type: "force_commander";
    | | | };
    | | };
    | | required_squad_type_and_upgrade: {
    | | | $REF: "requirements\required_squad_type_and_upgrade";
    | | | reason: "";
    | | | squad_type: {
    | | | | $REF: "requirements\required_squad_type";
    | | | | reason: "usage";
    | | | | type_list: {
    | | | | | squad_type: "assault_marine";
    | | | | };
    | | | };
    | | | squad_upgrade: {
    | | | | $REF: "requirements\required_squad_upgrade";
    | | | | is_present: true;
    | | | | max_completed: 1;
    | | | | min_completed: 1;
    | | | | only_check_in_progress: false;
    | | | | reason: "usage";
    | | | | ui_name: 0;
    | | | | upgrade_name: "";
    | | | };
    | | };
    | | required_squad_upgrade: {
    | | | $REF: "requirements\required_squad_upgrade";
    | | | is_present: true;
    | | | max_completed: 1;
    | | | min_completed: 1;
    | | | only_check_in_progress: false;
    | | | reason: "usage";
    | | | ui_name: 0;
    | | | upgrade_name: "";
    | | };
    | | required_team_upgrade: {
    | | | $REF: "requirements\required_team_upgrade";
    | | | is_present: false;
    | | | max_completed: 1;
    | | | min_completed: 1;
    | | | only_check_in_progress: false;
    | | | reason: "usage";
    | | | ui_name: 0;
    | | | upgrade_name: "";
    | | };
    | | required_unary_expr: {
    | | | $REF: "requirements\required_unary_expr";
    | | | operation: "and";
    | | | reason: "usage";
    | | | requirements: {
    | | | };
    | | };
    | | required_unit_nearby: {
    | | | $REF: "requirements\required_unit_nearby";
    | | | allied: false;
    | | | distance: 15f;
    | | | enemy: false;
    | | | reason: "usage";
    | | };
    | | required_wargear_tag: {
    | | | $REF: "requirements\required_wargear_tag";
    | | | reason: "usage";
    | | | wargear_tag: "power_armour";
    | | };
    | | required_weapon: {
    | | | $REF: "requirements\required_weapon";
    | | | reason: "usage";
    | | | require_instant_response_weapon: false;
    | | | weapon: "";
    | | };
    | | required_health: {
    | | | $REF: "requirements\required_health";
    | | | cap: "max";
    | | | level: 0.33f;
    | | | measure: "percent";
    | | | reason: "";
    | | | ui_name: 0;
    | | };
    | };
    | modifiers: {
    | | recharge_time_ability_modifier: {
    | | | $REF: "modifiers\recharge_time_ability_modifier";
    | | | application_type: "apply_to_ability";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "ability\heroes\warlock\ethereal_slash";
    | | | usage_type: "multiplication";
    | | | value: 0f;
    | | };
    | | energy_regen_rate_squad_modifier: {
    | | | $REF: "modifiers\energy_regen_rate_squad_modifier";
    | | | application_type: "apply_to_squad";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 1.1f;
    | | };
    | | energy_maximum_squad_modifier: {
    | | | $REF: "modifiers\energy_maximum_squad_modifier";
    | | | application_type: "apply_to_squad";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 1.1f;
    | | };
    | | health_regeneration_modifier: {
    | | | $REF: "modifiers\health_regeneration_modifier";
    | | | application_type: "apply_to_entity";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 5f;
    | | };
    | | shoot_enable_modifier: {
    | | | $REF: "modifiers\shoot_enable_modifier";
    | | | application_type: "apply_to_entity";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "enable";
    | | | value: -1f;
    | | };
    | | enable_melee_weapon_modifier: {
    | | | $REF: "modifiers\enable_melee_weapon_modifier";
    | | | application_type: "apply_to_weapon";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "enable";
    | | | value: -1f;
    | | };
    | | enable_ranged_weapon_modifier: {
    | | | $REF: "modifiers\enable_ranged_weapon_modifier";
    | | | application_type: "apply_to_weapon";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "enable";
    | | | value: -1f;
    | | };
    | | enable_weapon_modifier: {
    | | | $REF: "modifiers\enable_weapon_modifier";
    | | | application_type: "apply_to_weapon";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "enable";
    | | | value: -1f;
    | | };
    | | setup_modifier: {
    | | | $REF: "modifiers\setup_modifier";
    | | | application_type: "apply_to_weapon";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0f;
    | | };
    | | teardown_modifier: {
    | | | $REF: "modifiers\teardown_modifier";
    | | | application_type: "apply_to_weapon";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0f;
    | | };
    | | received_damage_modifier: {
    | | | $REF: "modifiers\received_damage_modifier";
    | | | application_type: "apply_to_entity";
    | | | exclusive: true;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0.3f;
    | | };
    | | received_damage_ranged_modifier: {
    | | | $REF: "modifiers\received_damage_ranged_modifier";
    | | | application_type: "apply_to_squad";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 1.01f;
    | | };
    | | received_accuracy_modifier: {
    | | | $REF: "modifiers\received_accuracy_modifier";
    | | | application_type: "apply_to_entity";
    | | | exclusive: true;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0.3f;
    | | };
    | | damage_weapon_modifier: {
    | | | $REF: "modifiers\damage_weapon_modifier";
    | | | application_type: "apply_to_weapon";
    | | | exclusive: true;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "hardpoint_01";
    | | | usage_type: "multiplication";
    | | | value: 1.3f;
    | | };
    | | range_weapon_modifier: {
    | | | $REF: "modifiers\range_weapon_modifier";
    | | | application_type: "apply_to_weapon";
    | | | exclusive: false;
    | | | probability_of_applying: 1f;
    | | | target_type_name: "hardpoint_01";
    | | | usage_type: "multiplication";
    | | | value: 1.05f;
    | | };
    | | range_maximum_weapon_modifier: {
    | | | $REF: "modifiers\range_maximum_weapon_modifier";
    | | | application_type: "apply_to_weapon";
    | | | exclusive: true;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 1.05f;
    | | };
    | | speed_maximum_modifier: {
    | | | $REF: "modifiers\speed_maximum_modifier";
    | | | application_type: "apply_to_entity";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0f;
    | | };
    | | received_courage_damage_squad_modifier: {
    | | | $REF: "modifiers\received_courage_damage_squad_modifier";
    | | | application_type: "apply_to_squad";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0.5f;
    | | };
    | | health_maximum_modifier: {
    | | | $REF: "modifiers\health_maximum_modifier";
    | | | application_type: "apply_to_squad";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 1.25f;
    | | };
    | | received_damage_melee_modifier: {
    | | | $REF: "modifiers\received_damage_melee_modifier";
    | | | application_type: "apply_to_squad";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0.5f;
    | | };
    | | received_damage_flame_modifier: {
    | | | $REF: "modifiers\received_damage_flame_modifier";
    | | | application_type: "apply_to_squad";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0.5f;
    | | };
    | | damage_melee_weapon_modifier: {
    | | | $REF: "modifiers\damage_melee_weapon_modifier";
    | | | application_type: "apply_to_weapon";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "hardpoint_01";
    | | | usage_type: "multiplication";
    | | | value: 1.5f;
    | | };
    | | skill_melee_modifier: {
    | | | $REF: "modifiers\skill_melee_modifier";
    | | | application_type: "apply_to_squad";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "addition";
    | | | value: 60f;
    | | };
    | | cooldown_weapon_modifier: {
    | | | $REF: "modifiers\cooldown_weapon_modifier";
    | | | application_type: "apply_to_weapon";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0f;
    | | };
    | | damage_ranged_weapon_modifier: {
    | | | $REF: "modifiers\damage_ranged_weapon_modifier";
    | | | application_type: "apply_to_weapon";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "hardpoint_01";
    | | | usage_type: "multiplication";
    | | | value: 1f;
    | | };
    | | reload_weapon_modifier: {
    | | | $REF: "modifiers\reload_weapon_modifier";
    | | | application_type: "apply_to_weapon";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | probability_of_applying: 1f;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0f;
    | | };
    | | resources_given_on_kill_or_death_modifier: {
    | | | $REF: "modifiers\resources_given_on_kill_or_death_modifier";
    | | | application_type: "apply_to_entity";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0f;
    | | };
    | | knockback_chance_ability_modifier: {
    | | | $REF: "modifiers\knockback_chance_ability_modifier";
    | | | application_type: "apply_to_squad";
    | | | exclusive: false;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0f;
    | | };
    | | knockback_chance_domino_modifier: {
    | | | $REF: "modifiers\knockback_chance_domino_modifier";
    | | | application_type: "apply_to_squad";
    | | | exclusive: false;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0f;
    | | };
    | | knockback_chance_light_weapon_modifier: {
    | | | $REF: "modifiers\knockback_chance_light_weapon_modifier";
    | | | application_type: "apply_to_squad";
    | | | exclusive: false;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0f;
    | | };
    | | knockback_chance_medium_weapon_modifier: {
    | | | $REF: "modifiers\knockback_chance_medium_weapon_modifier";
    | | | application_type: "apply_to_squad";
    | | | exclusive: false;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0f;
    | | };
    | | knockback_chance_weapon_modifier: {
    | | | $REF: "modifiers\knockback_chance_weapon_modifier";
    | | | application_type: "apply_to_squad";
    | | | exclusive: false;
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0f;
    | | };
    | | personnel_cap_player_modifier: {
    | | | $REF: "modifiers\personnel_cap_player_modifier";
    | | | application_type: "apply_to_player";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 10f;
    | | | probability_of_applying: 1f;
    | | };
    | | ability_enable_modifier: {
    | | | application_type: "apply_to_entity";
    | | | exclusive: false;
    | | | target_type_name: "";
    | | | usage_type: "enable";
    | | | value: -1f;
    | | | exclusive_type: "tp_modifier";
    | | | $REF: "modifiers\ability_enable_modifier";
    | | | probability_of_applying: 1f;
    | | };
    | | ability_energy_cost_modifier: {
    | | | $REF: "modifiers\ability_energy_cost_modifier";
    | | | application_type: "apply_to_squad";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0.5f;
    | | | probability_of_applying: 1f;
    | | };
    | | ability_recharge_time_entity_modifier: {
    | | | $REF: "modifiers\ability_recharge_time_entity_modifier";
    | | | application_type: "apply_to_entity";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0.5f;
    | | | probability_of_applying: 1f;
    | | };
    | | ability_recharge_time_squad_modifier: {
    | | | $REF: "modifiers\ability_recharge_time_squad_modifier";
    | | | application_type: "apply_to_squad";
    | | | exclusive: false;
    | | | exclusive_type: "tp_modifier";
    | | | target_type_name: "";
    | | | usage_type: "multiplication";
    | | | value: 0.5f;
    | | | probability_of_applying: 1f;
    | | };
    | };
    | animator_set_state: {
    | | $REF: "actions\ability\animator_set_state";
    | | do_action_state_name: "on";
    | | state_machine_name: "poison_state";
    | | undo_action_state_name: "";
    | };
    | equip_wargear_action: {
    | | $REF: "actions\upgrade\equip_wargear_action";
    | | wargear: "wargear\wargear\pvp\race_marine\sm_wp3_enhanced_and_grenade_decorator";
    | };
    | validation_action: {
    | | $REF: "actions\ability\validation_action";
    | | only_initial_target_check: false;
    | | subactions: {
    | | };
    | | targets: {
    | | };
    | | validation_on_self: false;
    | };
    | timed_action: {
    | | $REF: "actions\ability\timed_action";
    | | duration: 10f;
    | | subactions: {
    | | };
    | };
    | target_offset_action: {
    | | $REF: "actions\ability\target_offset_action";
    | | method: "linear_from_caster";
    | | offset_x: -7.5f;
    | | offset_y: -7.5f;
    | | sub_actions: {
    | | };
    | };
    | target_offset_action: {
    | | $REF: "actions\ability\target_offset_action";
    | | method: "caster_as_target";
    | | offset_x: -7.5f;
    | | offset_y: -7.5f;
    | | sub_actions: {
    | | };
    | };
    | spawn_squad: {
    | | $REF: "actions\ability\spawn_squad";
    | | spawn_count: 0;
    | | spawn_with_level_of_executor: false;
    | | squad_name: "sbps\pvp\race_tyranid\troops\tyr_ripper";
    | | subactions: {
    | | };
    | };
    | spawn_entity: {
    | | $REF: "actions\ability\spawn_entity";
    | | add_to_target_squad: false;
    | | clear_area: "";
    | | duration: 5f;
    | | entity_blueprint: "ebps\projectiles\chaos\plague_marines\bilious_discharge";
    | | entity_is_serializable: true;
    | | facing: 0f;
    | | facing_variation: 0f;
    | | load_executor: false;
    | | offset_pos: {
    | | | x: 0f;
    | | | y: 0f;
    | | };
    | | passability_validation: "";
    | | player_owned: true;
    | | spawn_actions: {
    | | };
    | | spawn_with_level_of_executor: false;
    | | use_executer_facing: false;
    | };
    | set_direct_fire_bag: {
    | | $REF: "actions\upgrade\set_direct_fire_bag";
    | | direct_fire_bag: "direct_fire\heavy_bolter";
    | };
    | scar_function_call: {
    | | $REF: "actions\ability\scar_function_call";
    | | function_name: "SetMaxFodder";
    | };
    | scar_function_call: {
    | | $REF: "actions\ability\scar_function_call";
    | | function_name_params: "SetMaxFodder( arg1 , arg2 , arg3 )";
    | };
    | replace_ability_action: {
    | | $REF: "actions\upgrade\replace_ability_action";
    | | ability_to_add: "";
    | | ability_to_remove: "";
    | };
    | repeat_action: {
    | | $REF: "actions\ability\repeat_action";
    | | frequency: 1f;
    | | number_of_repeats: 0;
    | | sub_actions: {
    | | };
    | | validate: true;
    | };
    | reinforcement_action: {
    | | $REF: "actions\ability\reinforcement_action";
    | };
    | probability_action: {
    | | $REF: "actions\ability\probability_action";
    | | probability: 50f;
    | | sub_actions: {
    | | | target_action: {
    | | | | $REF: "actions\ability\target_action";
    | | | | area_info: {
    | | | | | angle_left: 0f;
    | | | | | angle_right: 0f;
    | | | | | radius: 3f;
    | | | | | area_type: "Circle";
    | | | | | line_length: 0f;
    | | | | | radius_inner: 0f;
    | | | | };
    | | | | die_with_creator: true;
    | | | | do_recalc_targets: false;
    | | | | duration: 0.1f;
    | | | | stationary: false;
    | | | | subactions: {
    | | | | | knockback_action: {
    | | | | | | $REF: "actions\ability\knockback_action";
    | | | | | | knockback_type: "weapon_knockback";
    | | | | | | flight_distance: 5f;
    | | | | | | scatter_angle: 0f;
    | | | | | | flight_loft: 0.65f;
    | | | | | | scatter_flight: 25f;
    | | | | | | domino_strength: 35f;
    | | | | | | crush_type: "passability\light_crusher";
    | | | | | | levitate: {
    | | | | | | | duration: 0f;
    | | | | | | | scatter_angle: 0f;
    | | | | | | };
    | | | | | | specials: {
    | | | | | | | knock_towards_executer: false;
    | | | | | | | ignore_pathfinding: false;
    | | | | | | };
    | | | | | };
    | | | | | call_instance: {
    | | | | | | $REF: "actions\functional\executors\call_instance";
    | | | | | | arguments: {
    | | | | | | };
    | | | | | | function: "action_instance\campaign\all\all_stun_duration_2_seconds";
    | | | | | | delay: {
    | | | | | | | $REF: "types\actions\value_constants\float";
    | | | | | | | constant: 0f;
    | | | | | | };
    | | | | | | duration: {
    | | | | | | | $REF: "types\actions\value_constants\float";
    | | | | | | | constant: 0f;
    | | | | | | };
    | | | | | };
    | | | | };
    | | | | targets: {
    | | | | | entity_type_to_choose: "";
    | | | | | exclude_self: true;
    | | | | | prefer_squads: false;
    | | | | | target_info: {
    | | | | | | $REF: "types\targets\enemy";
    | | | | | };
    | | | | };
    | | | | sweep_type: "in_to_out";
    | | | | use_direction: false;
    | | | };
    | | };
    | };
    | munition_tracer_switch_action: {
    | | $REF: "actions\ability\munition_tracer_switch_action";
    | | new_fx: {
    | | | fx_action_target_name: "bolter_ff_target";
    | | | fx_munition_name: "or_shoota_special";
    | | | fx_swing_size: "small";
    | | | fx_tracer_name: "tracers\sm\fx_bolter_ff_tracer";
    | | | fx_tracer_speed: 80f;
    | | };
    | | switch_back: true;
    | | time: 15f;
    | | weapons: {
    | | | weapon: "weapons\weapon\pvp\race_marine\sm_heavy_bolter";
    | | };
    | };
    | knockback_action: {
    | | $REF: "actions\ability\knockback_action";
    | | crush_type: "passability\light_crusher";
    | | domino_strength: 40f;
    | | flight_distance: 7f;
    | | flight_loft: 1.2f;
    | | knockback_type: "weapon_knockback";
    | | levitate: {
    | | | duration: 0f;
    | | | scatter_angle: 0f;
    | | };
    | | scatter_angle: 0f;
    | | scatter_flight: 35f;
    | | specials: {
    | | | ignore_pathfinding: false;
    | | | knock_towards_executer: false;
    | | };
    | };
    | heal_action: {
    | | $REF: "actions\ability\heal_action";
    | | amount: 2.5f;
    | | heal_type: "health_boost_percentage";
    | | only_unconscious: false;
    | | target_info: {
    | | | $REF: "types\targets\binary_expr";
    | | | operation: "and";
    | | | targets: {
    | | | | allied: {
    | | | | | $REF: "types\targets\allied";
    | | | | };
    | | | | is_conscious: {
    | | | | | $REF: "types\targets\is_conscious";
    | | | | };
    | | | };
    | | };
    | };
    | grant_remove_upgrade: {
    | | $REF: "actions\upgrade\grant_remove_upgrade";
    | | do: "remove";
    | | upgrades: {
    | | | upgardes_ref: "upgrade\pvp\race_marine\troops\sm_battle_cry_active";
    | | };
    | };
    | grant_bonus_attribute_points_action: {
    | | $REF: "actions\ability\grant_bonus_attribute_points_action";
    | | add_attribute_points: 1;
    | | attrib_points_category: "melee";
    | };
    | fire_and_forget_action: {
    | | $REF: "actions\ability\fire_and_forget_action";
    | | sub_actions: {
    | | };
    | | validate: true;
    | };
    | start_target_actions: {
    | | requirement_action: {
    | | | $REF: "actions\ability\requirement_action";
    | | | kill_action_on_failed_requirements: true;
    | | | requirements: {
    | | | | required_health: {
    | | | | | $REF: "requirements\required_health";
    | | | | | cap: "max";
    | | | | | level: 0.33f;
    | | | | | measure: "percent";
    | | | | | reason: "";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | subactions: {
    | | | | target_action: {
    | | | | | $REF: "actions\ability\target_action";
    | | | | | area_info: {
    | | | | | | angle_left: 0f;
    | | | | | | angle_right: 0f;
    | | | | | | radius: 0f;
    | | | | | | area_type: "Circle";
    | | | | | | line_length: 0f;
    | | | | | | radius_inner: 0f;
    | | | | | };
    | | | | | die_with_creator: true;
    | | | | | do_recalc_targets: false;
    | | | | | duration: 0f;
    | | | | | stationary: false;
    | | | | | subactions: {
    | | | | | | retreat_action: {
    | | | | | | | $REF: "actions\critical\retreat_action";
    | | | | | | };
    | | | | | };
    | | | | | targets: {
    | | | | | | entity_type_to_choose: "";
    | | | | | | exclude_self: false;
    | | | | | | prefer_squads: true;
    | | | | | | target_info: {
    | | | | | | | $REF: "types\targets\binary_expr";
    | | | | | | | operation: "and";
    | | | | | | | targets: {
    | | | | | | | | enemy: {
    | | | | | | | | | $REF: "types\targets\enemy";
    | | | | | | | | };
    | | | | | | | | unary_expr: {
    | | | | | | | | | $REF: "types\targets\unary_expr";
    | | | | | | | | | operation: "not";
    | | | | | | | | | target: {
    | | | | | | | | | | $REF: "types\targets\has_unit_type";
    | | | | | | | | | | unit_type: "does_not_retreat";
    | | | | | | | | | };
    | | | | | | | | };
    | | | | | | | | unary_expr: {
    | | | | | | | | | $REF: "types\targets\unary_expr";
    | | | | | | | | | operation: "not";
    | | | | | | | | | target: {
    | | | | | | | | | | $REF: "types\targets\has_unit_type";
    | | | | | | | | | | unit_type: "hero";
    | | | | | | | | | };
    | | | | | | | | };
    | | | | | | | | unary_expr: {
    | | | | | | | | | $REF: "types\targets\unary_expr";
    | | | | | | | | | operation: "not";
    | | | | | | | | | target: {
    | | | | | | | | | | $REF: "types\targets\has_armour_type";
    | | | | | | | | | | armour_type: "vehicle";
    | | | | | | | | | };
    | | | | | | | | };
    | | | | | | | | unary_expr: {
    | | | | | | | | | $REF: "types\targets\unary_expr";
    | | | | | | | | | operation: "not";
    | | | | | | | | | target: {
    | | | | | | | | | | $REF: "types\targets\has_armour_type";
    | | | | | | | | | | armour_type: "building";
    | | | | | | | | | };
    | | | | | | | | };
    | | | | | | | | unary_expr: {
    | | | | | | | | | $REF: "types\targets\unary_expr";
    | | | | | | | | | operation: "not";
    | | | | | | | | | target: {
    | | | | | | | | | | $REF: "types\targets\has_armour_type";
    | | | | | | | | | | armour_type: "building_defence";
    | | | | | | | | | };
    | | | | | | | | };
    | | | | | | | | unary_expr: {
    | | | | | | | | | $REF: "types\targets\unary_expr";
    | | | | | | | | | operation: "not";
    | | | | | | | | | target: {
    | | | | | | | | | | $REF: "types\targets\has_armour_type";
    | | | | | | | | | | armour_type: "building_light";
    | | | | | | | | | };
    | | | | | | | | };
    | | | | | | | };
    | | | | | | };
    | | | | | };
    | | | | | sweep_type: "none";
    | | | | | use_direction: false;
    | | | | };
    | | | };
    | | | apply_to_target: false;
    | | | validate_subactions: true;
    | | | validate: false;
    | | };
    | };
    };
    I just copy the node i need; made this before the library came into existance, so now it's kinda obsolete, but tend to use it still when that what i need, like requirements he

    Wanted to add: this is the reason why i`m so glad Cope decided to make this tool>>

    Code:
    required_binary_expr: {
    | $REF: "requirements\required_binary_expr";
    | operation: "and";
    | reason: "usage";
    | requirements_lhs: {
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 5;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 1;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 5;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 1;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 4;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 4;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 4;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 2;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 4;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 2;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 3;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 3;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 3;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 3;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 3;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 3;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 3;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 3;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 2;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 4;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 2;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 4;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 2;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 3;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 2;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 3;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 2;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 3;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 2;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 3;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 2;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 2;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 1;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 4;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 1;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 4;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 1;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 4;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 1;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 4;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 1;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 3;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 1;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 3;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 1;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 3;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 1;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 3;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 1;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 5;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 1;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 5;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 1;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 5;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 1;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 5;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 2;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 4;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 2;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 4;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 3;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 3;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 3;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 3;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 4;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 2;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 4;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 2;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 5;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 1;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "or";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 5;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | require_squad_ratio: {
    | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | max_squad_cap: 1;
    | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | | | reason: "usage";
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | ui_name: 0;
    | | };
    | };
    | requirements_rhs: {
    | | required_binary_expr: {
    | | | $REF: "requirements\required_binary_expr";
    | | | operation: "and";
    | | | reason: "usage";
    | | | requirements_lhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 3;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 3;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 3;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 3;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 3;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 3;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 4;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 4;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 4;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 5;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 5;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 5;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 4;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 3;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 3;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 4;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 2;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "or";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 5;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | require_squad_ratio: {
    | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | max_squad_cap: 1;
    | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | reason: "usage";
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 0;
    | | | | };
    | | | };
    | | | requirements_rhs: {
    | | | | required_binary_expr: {
    | | | | | $REF: "requirements\required_binary_expr";
    | | | | | operation: "and";
    | | | | | reason: "usage";
    | | | | | requirements_lhs: {
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 4;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 4;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 4;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 4;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 4;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 4;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 5;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 5;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 5;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "or";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 0;
    | | | | | | };
    | | | | | };
    | | | | | requirements_rhs: {
    | | | | | | required_binary_expr: {
    | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | operation: "and";
    | | | | | | | reason: "usage";
    | | | | | | | requirements_lhs: {
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 5;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 5;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 5;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 4;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | required_binary_expr: {
    | | | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | | | operation: "or";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 4;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | required_binary_expr: {
    | | | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | | | operation: "or";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 4;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | required_binary_expr: {
    | | | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | | | operation: "or";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 4;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 4;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 4;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | required_binary_expr: {
    | | | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | | | operation: "or";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | required_binary_expr: {
    | | | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | | | operation: "or";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | required_binary_expr: {
    | | | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | | | operation: "or";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | required_binary_expr: {
    | | | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | | | operation: "or";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | required_binary_expr: {
    | | | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | | | operation: "or";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | required_binary_expr: {
    | | | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | | | operation: "or";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 2;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | | | max_squad_cap: 1;
    | | | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | | | };
    | | | | | | | | | | | };
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | required_binary_expr: {
    | | | | | | | | | $REF: "requirements\required_binary_expr";
    | | | | | | | | | operation: "or";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | requirements_lhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | requirements_rhs: {
    | | | | | | | | | | require_squad_ratio: {
    | | | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | | | max_squad_cap: 3;
    | | | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | | | reason: "usage";
    | | | | | | | | | | | ui_name: 0;
    | | | | | | | | | | };
    | | | | | | | | | };
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | requirements_rhs: {
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 6;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_tactical_marine";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 6;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_bloodletters";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 6;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_cultist";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | | require_squad_ratio: {
    | | | | | | | | | $REF: "requirements\require_squad_ratio";
    | | | | | | | | | max_squad_cap: 6;
    | | | | | | | | | squad_name: "sbps\pvp\race_chaos\troops\csm_khorne_bezerkers";
    | | | | | | | | | reason: "usage";
    | | | | | | | | | ui_name: 0;
    | | | | | | | | };
    | | | | | | | };
    | | | | | | | ui_name: 90000002;
    | | | | | | };
    | | | | | };
    | | | | | ui_name: 90000002;
    | | | | };
    | | | };
    | | | ui_name: 90000002;
    | | };
    | | require_squad_ratio: {
    | | | $REF: "requirements\require_squad_ratio";
    | | | max_squad_cap: 6;
    | | | squad_name: "sbps\pvp\race_chaos\troops\csm_plague_marines";
    | | | reason: "usage";
    | | | ui_name: 0;
    | | };
    | | require_squad_ratio: {
    | | | $REF: "requirements\require_squad_ratio";
    | | | max_squad_cap: 6;
    | | | squad_name: "sbps\pvp\race_chaos\troops\csm_thousand_sons";
    | | | reason: "usage";
    | | | ui_name: 0;
    | | };
    | };
    | ui_name: 90000002;
    };
    If i had to write this down in corsix i would have gone insane

  42. #492
    Hey, remember before I could not get the new version that used NET4 to work, but an old one did? Well, just tried the latest, and it works fine, so whatever error there was is probably fixed. Just to let you know. This is a really great tool that is so easy to use once you get the hang of it. Well done

  43. Modding Senior Member  #493

    V1.83 Released

    Download

    Changelog:
    V1.83 - 06/20/2010
    General:
    - fixed crash when trying to add a non-existent file
    - various fixes

    RBF-Editor:
    - added RBF-search (Plugins->Cope's RBF Editor->RBF Search)
    - allows you to:
    - search for either keys or values in either all RBFs or only those in a specific folder (see the 'Relative Path for Start-Node' textbox)
    - quickly open the files which hold the finding (double-click result)
    - will automatically display the selected result (right hand side of the screen)

  44. #494
    Member Z405's Avatar
    Join Date
    Jun 2009
    Location
    Lands ov Nether
    Hey Cope,

    with your latest patch, i`m getting a "PGM_reloadgroup is not a valid command!" message in the Advanced Debug Mode window, whenever i edit something while DOW2 is running in the background when using Advanced Mode. The logfile does not mention anything about this as it did not cause a crash, so i hope you know what i`m talking about without it.

  45. #495
    Case typo maybe

  46. #496
    Senior Member horusheretic's Avatar
    Join Date
    May 2006
    Location
    United Kingdom
    could you add a paste from library option?
    it will paste the table instead, so you could copy a burst_table, and it will paste over an existing burst_table.
    the tags will be useful still for context.

  47. Modding Senior Member  #497

    Hotfix V.1831 Released

    Download

    V1.831 - 06/21/2010
    RBF-Editor:
    - auto-reloading while testing fixed
    Does not include anything besides a new RBFEditorPlugin.dll.

    Paste from library would require the library to be sorted by the actual key of the value which means having a new data structure for each key etc. etc..

  48. #498
    Fore some reason, the dropdown menu for the entity select does not include anything from race_ig\

  49. Modding Senior Member  #499
    Probably because there's no search-path set for the Imperial Guard path; take a look into the RBF-dictionary.

  50. #500
    OK, I used the add ucs string thing but then decided just to work on my original. I found then that my previous ucs did not show up. If I copy-paste my original text into the newly-made one, it will not show up. I save it, but then once I play, it does not display (9000ect no range) and when I reopen the file (the one made by the tool) all my ucs strings are gone. I did save...

Page 10 of 21 FirstFirst 1234567891011121314151617181920 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •