Jump to content

Run and Gun, anyway to make it a passive?


GSmog

Recommended Posts

Hmm, well I have what I think might work, but now Im stumped in how to get the test mod to even show up on the mods list when I start everything up, can't really enable anything if it doesnt show up can I?

 

So far all I've done for modding is download a few things off the steam workshop. I looked up some instructions on how to manually install mods and followed these instructions

 

INSTALLATION:
Windows users:
For manual install unzip the package into your Steam\steamapps\common\XCOM 2\XComGame\Mods folder (create Mods folder if it doesn't exist). The mod should be visible and selectable in launcher.

 

But nope, doesnt show up still. Maybe I have to do something additionally when using the sdk?

Link to comment
Share on other sites

Right Ive seen that. While I havent read all the links there, the amount of links and the size of each one is quite intimiditating and doesnt serve much to help my very specific question. If you could at least narrow it down slightly to which I should look at [or look again] to make a mod actually show up so I can enable it, that would be amazing. :smile:

 

Edit= nvm found it, have to build it first before it shows up. This was fairly helpful

 

https://downloads.2kgames.com/xcom2/uploads/pdfs/XCOM2_SDK_QuickStart.pdf

 

Anyway I was able to reduce the cooldown to 1 which was fairly easy, and lets it be used once every round. How to make it passive though, I don't know. I noticed a couple different abilities had something called pure passive, but it was set up very different than the run and gun which is built around cool downs.

 

This is Deep Cover for example, I wanted to use spoilers but couldn't find the option to do so in the editor.

static function X2AbilityTemplate DeepCover()
{
local X2AbilityTemplate Template;
Template = PurePassive('DeepCover', "img:///UILibrary_PerkIcons.UIPerk_one_for_all");
Template.AdditionalAbilities.AddItem('DeepCoverTrigger');
Template.bCrossClassEligible = true;
return Template;
}
static function X2AbilityTemplate DeepCoverTrigger()
{
local X2AbilityTemplate Template;
local X2AbilityTrigger_EventListener Trigger;
`CREATE_X2ABILITY_TEMPLATE(Template, 'DeepCoverTrigger');
Template.AbilityToHitCalc = default.DeadEye;
Template.AbilityShooterConditions.AddItem(default.LivingShooterProperty);
Template.AbilityTargetStyle = default.SelfTarget;
Template.eAbilityIconBehaviorHUD = eAbilityIconBehavior_NeverShow;
Template.Hostility = eHostility_Neutral;
Trigger = new class'X2AbilityTrigger_EventListener';
Trigger.ListenerData.Deferral = ELD_OnStateSubmitted;
Trigger.ListenerData.EventID = 'PlayerTurnEnded';
Trigger.ListenerData.Filter = eFilter_Player;
Trigger.ListenerData.EventFn = class'XComGameState_Ability'.static.DeepCoverTurnEndListener;
Template.AbilityTriggers.AddItem(Trigger);
Template.BuildNewGameStateFn = TypicalAbility_BuildGameState;
return Template;
}

 

I guess I just need to compare that to this example of Run and Gun to figure out what exactly I need to change to get it to happen passively on its own...

 

static function X2AbilityTemplate RunAndGunAbility(Name AbilityName)
{
local X2AbilityTemplate Template;
local X2AbilityCooldown Cooldown;
local X2Effect_GrantActionPoints ActionPointEffect;
local X2AbilityCost_ActionPoints ActionPointCost;
`CREATE_X2ABILITY_TEMPLATE(Template, AbilityName);
// Icon Properties
Template.DisplayTargetHitChance = false;
Template.AbilitySourceName = 'eAbilitySource_Perk'; // color of the icon
Template.IconImage = "img:///UILibrary_PerkIcons.UIPerk_runandgun";
Template.ShotHUDPriority = class'UIUtilities_Tactical'.const.CLASS_LIEUTENANT_PRIORITY;
Template.Hostility = eHostility_Neutral;
Template.eAbilityIconBehaviorHUD = eAbilityIconBehavior_AlwaysShow;
Template.AbilityConfirmSound = "TacticalUI_Activate_Ability_Run_N_Gun";
Cooldown = new class'X2AbilityCooldown';
Cooldown.iNumTurns = 1;
Template.AbilityCooldown = Cooldown;
ActionPointCost = new class'X2AbilityCost_ActionPoints';
ActionPointCost.iNumPoints = 1;
ActionPointCost.bFreeCost = true;
Template.AbilityCosts.AddItem(ActionPointCost);
Template.AbilityToHitCalc = default.DeadEye;
SuperKillRestrictions(Template, 'RunAndGun_SuperKillCheck');
Template.AbilityShooterConditions.AddItem(default.LivingShooterProperty);
Template.AddShooterEffectExclusions();
ActionPointEffect = new class'X2Effect_GrantActionPoints';
ActionPointEffect.NumActionPoints = 1;
ActionPointEffect.PointType = class'X2CharacterTemplateManager'.default.RunAndGunActionPoint;
Template.AddTargetEffect(ActionPointEffect);
Template.AbilityTargetStyle = default.SelfTarget;
Template.AbilityTriggers.AddItem(default.PlayerInputTrigger);
Template.bShowActivation = true;
Template.bSkipFireAction = true;
Template.ActivationSpeech = 'RunAndGun';
Template.BuildNewGameStateFn = TypicalAbility_BuildGameState;
Template.BuildVisualizationFn = TypicalAbility_BuildVisualization;
Template.bCrossClassEligible = true;
return Template;
}

 

Edited by GSmog
Link to comment
Share on other sites

Congratulations on mastering the sdk installation. Making an active ability into a passive one still isn't easy. Now that you can make a mod, you may want to (sorry again) disable the run and gun ability, and boost their mobility. Or, make a passive ability which boosts mobility. The kind of change that run and gun makes is not the hardest one to mod (quickdraw is probably harder) but it is kind of challenging. I am sure if anybody had the actual code, they would have pointed you to it by now.

Link to comment
Share on other sites

well I still dont know how to change ones mobility, but I did consider the mobility already. Problem is the ability doesnt actually give more mobility, run and guns gives an extra action point. So if anything Id need a way to give an additional action point not mobility.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...