Nolanoth Posted December 18, 2013 Share Posted December 18, 2013 I have tried messing with these, but alas... I failed miserably yet again. I was trying to nerf both of these abilities. Remove the Kinetic Fist/Strike movement increase completely by setting it to 0 and make the Advanced Servomotors icrease the movement factor just by 1 point. XCOM units are simply too good. The extreme mobility and a ton of HP just allow the player to abuse flanking... Add additional passive/skill defense and people simply start replacing regular trooper's with MEC units all the time. Could anyone please help me find what I'm looking for? Link to comment Share on other sites More sharing options...
Amineri Posted December 18, 2013 Share Posted December 18, 2013 There was no in-game system to make "weapons" (basically anything equippable that isn't armor is a "weapon", including things like SCOPE and nano-fiber vests) grant extra movement so it appears to have been sort of 'hacked in' by Firaxis. They did so by hard-coding a bunch of special mobility increasing effects into XGUnitNativeBase.GetMaxPathLength. Advanced Servomotors: if(GetCharacter().HasUpgrade(122)) { if((IsATank()) || IsAugmented()) { iMaxMobility += XComGameReplicationInfo(class'Engine'.static.GetCurrentWorldInfo().GRI).m_kGameCore.3; } } Kinetic Strike module : if((IsAugmented()) && GetInventory().HasItemOfType(22)) { iMaxMobility += XComGameReplicationInfo(class'Engine'.static.GetCurrentWorldInfo().GRI).m_kGameCore.4; } Link to comment Share on other sites More sharing options...
Nolanoth Posted December 18, 2013 Author Share Posted December 18, 2013 (edited) Is there any way to simply disable them? By replacing HasUpgrade(number??? like 0?) or something? The number of extra movement points must be there somewhere too. And actually now that I think of it I guess this could be also useful: HasItemOfType(22)) Change the number to 1 or something like that. It would simply disable the extra moment from Kinetic strike right? If I understand it the code says something like this: If the character has augmentation (is a MEC) and has kinetic strike module (Item Type 22) in the inventory, then give him extra movement points. Correct? Then if this item was 0 (no idea what item would it be) the the MEC would have no extra movement. Or am I simply totally wrong? Edited December 18, 2013 by Nolanoth Link to comment Share on other sites More sharing options...
Amineri Posted December 18, 2013 Share Posted December 18, 2013 If you want to disable the extra movement change the value to 0. All the extra junk is some left-over code from how the Unreal Engine compiler handles constants, I think. So to remove extra mobility from Kinetic Strike Module, change: if((IsAugmented()) && GetInventory().HasItemOfType(22)) { iMaxMobility += XComGameReplicationInfo(class'Engine'.static.GetCurrentWorldInfo().GRI).m_kGameCore.4; } to: if((IsAugmented()) && GetInventory().HasItemOfType(22)) { iMaxMobility += XComGameReplicationInfo(class'Engine'.static.GetCurrentWorldInfo().GRI).m_kGameCore.0; } At the end of the big long line of hex for iMaxMobility += should be a "2C 04" which should change to "2C 00" Link to comment Share on other sites More sharing options...
Nolanoth Posted December 18, 2013 Author Share Posted December 18, 2013 (edited) Found it. If anyone else is interested it's: 1F 32 00 00 00 2C 04 16 07 8C 03 1B E2 43 00 00 For the Kinetic Strike Module. I've also decided to leave the MEC upgrade just the way it is and adjust the progression in the ini file. I've settled for a 12 basic movement + 3 from the upgrade. It should be enough for a walking tank. Thanks for all the help! Edited December 18, 2013 by Nolanoth Link to comment Share on other sites More sharing options...
Recommended Posts