favid / longwar2abilitiesforwotc Goto Github PK
View Code? Open in Web Editor NEWPort of Long War 2 Abilities for XCOM 2 War of the Chosen
Port of Long War 2 Abilities for XCOM 2 War of the Chosen
See LWTemplateMods.EditGTSProjects() in LW2 source for reference
XComEngine.ini lists LongWar2AbilitiesForWotC as a dependency, which can cause compile issues. This reference needs to be removed. As a result, AreaSuppression restrictions need to be added to weapon abilities in the Secondary Pack in a different way.
Implement the LW2 version of the Solace ability. This includes creating the ability itself, integrating it into the PsiOperative class, English localization, and dynamic localization for configurable values (if applicable).
The ability's name must be 'LW2WotC_Solace'.
The code for creating the AbilityTemplate must be in the X2Ability_LW2WotC_ActivatedAbilitySet class.
Note that this issue does not include implementing the animation and FX - those should wait until the next Highlander is released.
Close Encounters red ring does not appear. The particle effect for it is in the included in LW_Perk_CloseEncounters.upk file. Tried to just copy the implementation from LW2 but it doesn't seem to work. I suspect there is something new that has to be done for it to work with WotC, but I currently do not know what that is.
LW2 Secondaries will become a dependency, instead of an included package
Because the default behavior in War of the Chosen is that being suppressed does not prevent you from using special abilities, whether or not abilities added by this mod should be unable to used while suppressed should be configurable though an .ini file.
Additionally, the list of Suppression abilities should not be hard coded; they should be defined in an .ini file.
New Promotion Screen by Default will become a dependency, instead of an included package
Abilities using an XComGameState_Effect component can cause hard to reproduce crashes due to them not unregistering from events properly at the end of a tactical mission. Below are steps to reproduce this issue with LW2WotC_LightningReflexes:
The game will crash when starting a new mission, presumably because there are still listeners tied to gamestates that shouldn't be. Or something, I don't totally understand it yet, but creating a new event that is registered for 'TacticalGameEnd' with a callback function that unregisters all events fixes the crash.
Long story short, we need to stop using XComGameState effects and use X2EventListerners instead. If that is not possible for some abilities for some reason, then at least make sure that events get unregistered at the end of a tactical mission.
This will require re-implementing:
The following abilities should be fine, but should be heavily retested to make sure they don't cause similar issues:
Most of these can be found by looking at LWTemplateMods.ModifyAbilitiesGeneral() in the LW2 source code. May need to use some discretion in deciding which changes to port, because some may not make sense in the context of WotC or may require changes to the implementation.
The warning is a false positive - it does not apply any negative effects to allies in the Area Suppression radius.
This is intended to be an on-going issue to attach commits to for changes that add more configuration settings.
The Gauntlet is now included in the LW2 Secondaries mod, which will become a dependency. Also rename abilities in the configs to match the naming scheme in LW2 Secondaries.
Implement the Bastion ability. This includes creating the ability itself, integrating it into the PsiOperative class, English localization, and dynamic localization for configurable values (if applicable).
The ability's name must be 'LW2WotC_Bastion'.
The code for creating the AbilityTemplate must be in the X2Ability_LW2WotC_PassiveAbilitySet class.
Note that this issue does not include implementing the animation and FX - those should wait until the next Highlander is released.
Rapid Targeting
Phantom
HiDef Holo
Independent Tracking
Vital Point Targeting
Multitargeting
Alpha Mike Foxtrot
Implemented where necessary, or just added to tree
Complete the implementations of the Mind Merge and Soul Merge abilities. Both are currently functional, but the following must still be done:
Note that this issue does not include implementing the animation and FX - those should wait until the next Highlander is released.
To reproduce:
Create readme similar to the alien and weapons pack readme (see copy paste).
The project should build and run in the WotC Modbuddy. This most likely means fixing the solution file by adding all of the files and removing any that no longer exist.
Currently, only the English (.INT) files are included. The localization files for the rest of the supported languages need to be ported over.
The localization files contains text for the following:
Some notes on what this issue entails:
Integrate the following abilities into the Psi Operative's class tree:
Implement PCS Items from LW2. This includes:
The functionality of Steady Weapon does not match its description. Its aim bonus also does not appear to be shown while using Extended Information. Because of that, need to do some extra testing to make sure that the bonus is actually applying.
Electroshock
Arc Pulser
Stun Gunner
Aggression
Rapid Fire
Close Combat Specialist
Chain Lightning
Implement LW2 functionality where overwatch shots can only target each enemy once per turn. This is mostly to support Sentinel and Rapid Reaction. By default, should only affect those abilities (so not Skirmisher's Waylay), but should be configurable.
For improved compatibility with other mods, particularly for the Skirmisher, use the base game Volatile Mix and modify it to meet our needs and remove LW2WotC_VolatileMix
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.