XCOM 2
评价数不足
[WOTC] Training Roulette Second Wave Option
3
2
   
奖励
收藏
已收藏
取消收藏
文件大小
发表于
更新日期
200.817 KB
9 月 17 日 下午 7:36
9 月 28 日 下午 5:04
2 项改动说明 ( 查看 )
您需要 DLC 才能使用该物品。

订阅以下载
[WOTC] Training Roulette Second Wave Option

描述
[WOTC] Training Roulette Second Wave Option

About the Mod
This mod adds a new Second Wave Advanced Option (Training Roulette) that, when enabled, will introduce configurable variety into the ability trees for supported classes inspired by the option in XCOM EU/EW.

This is primarily a tool for class modders or config tinkerers to utilize if they want to bring some randomization into their classes - though I have setup some illustrative support for the 4 base classes (Ranger, Sharpshooter, Grenadier, & Specialist) that mixes in abilities from Mitzruti's Perk Pack, if installed.

Note: The included base game class configs are just to illustrate the functions and setup some content for release - if someone would like to put together some proper, amazing base-game class configs, I'll happily disable these and link to yours instead!

How it Works
The configurable variety for a supported class is handled utilizing random decks from an alternate class config. Though RandomDeck support has of-course been available and in use for quite some time, those who have tried to utilize RandomDecks in soldier class configs in more advanced ways (or stitched ability trees like in Amalgamation) have likely run into issues and limitations with the current system that results in abilities being duplicated, unintended blank spaces in the tree, and a general lack of control over selection behavior.

To address these issues, the mod uses an event listener to trigger an alternative function to build the ability tree for supported soldier classes upon promotion that has the following features:
  • SW advanced option that can be turned on/off mid-campaign
    - (rebuilds and new reward units/rookie promotions will reflect option state at that time)

  • Allows optional config support for abilities from mods without hard dependencies
    - (if the rolled ability does not exist, remove it from deck and reroll)

  • Handling for duplicate abilities over multiple RandomDecks
    - (if the rolled ability has already been added to the tree, remove it from deck and reroll)

  • Mutual exclusion entries (OR statements) that will prevent one ability (A) when another (B) has already been added to the tree
    - (if excluding ability (B) is already in tree, remove rolled ability (A) from deck and reroll)

  • Pre-requisite entries (OR statements) that will skip an ability (A) if at least one pre-req (B, C, D, etc.) has not already been added to the tree
    - (if no pre-req abilities (B, C, D, etc.) are in tree, skip -not remove- ability (A) and reroll)

  • Rarity chance entries (OR statements) that will roll to skip an ability (A), either in general, or based on combo with another ability (B) already in the tree
    - (when ability (A) is rolled, do a %-chance check to skip -not remove- and reroll)

  • Forced injection entries to assign a specific ability to the tree at that spot if it has not been added previously, and roll normally if already present in the tree
    - (when these entries are present at a rank, they will be processed first, bypassing all rolls)

  • Control entries can be setup to apply only to specific classes (recommended) or applied universally to any class supporting the SWO (generally not recommended)

  • Method to assign placeholder RandomDeck to tell the function to use full CrossClassAbilities as deck, minus any ExcludedAbilities entries from original class
    - (placeholder deck is 'XCOM_AWC_Deck' & must be assigned to class, see examples)

  • Everything is config-setup in XComClassData.ini - any classes that do not have config support for the SWO will be unaffected and will simply build as normal
    - (option can be active and used without issues with unsupported classes)

  • Ability for classes to opt-in to the build features regardless if SW option is activated
    - (when a class in base form wants to utilize these random deck control features)

With these features, you can setup randomization/variation that is as open or as controlled as you want for your class; it can range from complete chaos (every slot just XCOM CrossClassAbilities) to guided, branching paths (all options in subsequent ranks tied to a previous rank's selection).

Dependencies and Suggested Mods
The following mods are required for things to work properly:

Known Issues and Incompatibilities
I've tried to account for and catch all ways a soldier can be created or promoted, but there may be a few cases missed. Some known issues include the base-game console commands to rebuild soldiers and level up the barracks (if jumping more than 1 level) These commands promote units without submitting gamestates, which means event listeners can't respond. Use RebuildSelectedSoldiersClass command from Additional Soldier Console Commands instead.

Thanks and Credits
Special thanks to Zelfana and Tedster for some help getting promotion logic working in console commands and Mitzruti's perk pack for abilities used to setup starter content!

Version History
(See Change Notes for full history)
    1.1.0
    • Reworked linkage for classes and their variants that store the SWO ability tree:
    • Now uses an array to define what class to use when the Training Roulette option is active rather than a predefined variant with a fixed naming convention. You can now name a SWO class whatever you like and there can be multiple potential variants defined for a class by multiple mod authors.
    • When multiple variants exist, will randomly choose from valid options. Result is stored and reused with rebuild commands, and rerolled with reset commands.
    1.0.0
    • Initial Release!
11 条留言
Hardygun 10 月 17 日 下午 4:54 
Thanks for confirming my suspicions!

Thank you for the pointer. I'll try tinkering with it.
shiremct  [作者] 10 月 16 日 下午 4:03 
There will be *very* minimal variation without the perk pack. A few abilities may swap spots here and there, but that's all the shipped config will do without the perk pack and chances are lower.

The config setup in the mod for base-game classes is still mostly demonstrative. If you are wanting it to do more than that, you may need to edit the XComClassData.ini file in the mod's config folder: ...\steamapps\workshop\content\268500\357009475\Config\VanillaClasses\XComClassData.ini
Hardygun 10 月 15 日 下午 5:22 
I'm trying to use this mod, but it doesn't appear to be working.

I am using the AML, but I am not using Mitzruti's Perk Pack.

When I check the XComClassData.ini, it appears to be the base file.

The most likely conflict is with Enemy Within Training Roulette by Teddy, which I was using before I found this mod. I still have it in my mod list, but it is currently disabled. AML is not reporting any conflicts.

Should I be seeing some randomization without the Perk Pack?

What should I be looking for in XComClassData.ini to verify I have the right one?
shiremct  [作者] 9 月 28 日 下午 5:15 
Important Update - the way the mod defines the appropriate class entry to use for the randomized ability tree when the Training Roulette SW option is active has changed, meaning setup for supported classes will need to be updated for anyone using this on their own.

This was needed to allow multiple mods/authors to touch the same class without hard incompatibilities. Help documentation in the included XComClassData.ini file has been updated to reflect new config structure.
shiremct  [作者] 9 月 24 日 下午 10:29 
I'm currently working on other stuff, so no plans to put that together at the moment, but I encourage someone to create some configs for them if they would like. Setting up the configs is not difficult, just takes some time.
savagek29 9 月 23 日 下午 8:41 
Any plans for compatibility with proficiency pack?
Boisegangpc 9 月 22 日 下午 4:38 
Would love to see someone make a patch for this and Proficiency; while I love Amalgamation, I definitely could use something a bit less insane while retaining a bit of that variability that I enjoy.
Zero 9 月 20 日 下午 6:53 
Oh no...
I am going to have so many god damned questions...
Vaultwulf 9 月 19 日 下午 10:53 
Congratulations on this release. This seems to be a very robust system with lots of buttons to push and levers to pull. A class tinkerer's dream come true. I'm looking forward to seeing the possibilities! :steamthis::steamthumbsup:
Bleggar 9 月 19 日 下午 9:22 
Have I lived to see the triumphant return of shiremct himself? Love your work, welcome back