Hunker down keybind is still broken. I hope it gets fixed soon, but meanwhile there's a way how to use reload keybind instead. Only downside is there's no key for reloading weapons after the change.
So ask yourself a question first: "Do I hunker down more than reload?".
File XComGame.upk, class XComTacticalInput, state ActiveUnit_Moving
function bool Key_R(int Actionmask)
{
local XGUnit kActiveUnit;
kActiveUnit = GetActiveUnit();
if(kActiveUnit.IsPanicked())
{
return false;
}
if((Actionmask & 32) != 0)
{
if((kActiveUnit.GetAction() == none) || !kActiveUnit.GetAction().AllObjects('XGAction_Fire'))
{
kActiveUnit.PerformAbility(45);
Outer.PlaySound(soundcue'MenuSelectCue', true);
return true;
}
}
return false;
}
Changing PerformAbility(45) to 38 does the job.
Search for: 2D 16 19 01 F5 F9 FF FF 09 00 00 00 00 00 00 1C 54 FC FF FF 20 A6 Replace with: 26 16 19 01 F5 F9 FF FF 09 00 00 00 00 00 00 1C 54 FC FF FF 20 A6
Start the game, bind a key to Reload and you're set to go. Soldiers will now hunker down instead of reloading weapon.
Tested functionality and works as supposed.
XCOM Enemy Within changes
First of all, hunker down was completely removed from options - keyboard bindings tactical shortcuts. That's what I call hot fix.
Key_R function didn't change much in XCOM Enemy Within. A conditional newly reflects strangle and the ability has different number.
if((kActiveUnit.IsPanicked() || kActiveUnit.IsStrangled()) || kActiveUnit.IsStrangling()) kActiveUnit.PerformAbility(33);
XCOM EW vanilla, Patch 1 - 19 00 1A 81 00 00 0C 00 00 00 00 00 00 1B 86 63 00 00 00 00 00 00 24 21 16
Replace 21 with 1B. The code will change to PerformAbility(27), which is eAbility_TakeCover.
Removing Menu Select sound
I don't like hearing Menu Select sound before Hunker Down sound (it is the same for overwatch) so I removed soundcue line.
Outer.PlaySound(soundcue'MenuSelectCue', true);
Here's hex for the change - use it instead of hex above:
// XCOM EW vanilla, Patch 1 Search for: 32 81 00 00 76 5F 00 00 00 00 00 00 19 81 00 00 E5 5B 00 00 00 00 00 00 1C 81 00 00 00 00 00 00 F8 03 00 00 93 80 00 00 52 01 00 00 02 01 00 00 0F 00 1A 81 00 00 1B F7 36 00 00 00 00 00 00 16 07 80 00 84 84 19 00 1A 81 00 00 0A 00 B2 3A 00 00 00 1B 43 45 00 00 00 00 00 00 16 18 20 00 19 00 1A 81 00 00 0A 00 39 C6 00 00 00 1B AC 45 00 00 00 00 00 00 16 16 18 20 00 19 00 1A 81 00 00 0A 00 3B C6 00 00 00 1B AD 45 00 00 00 00 00 00 16 16 04 28 07 45 01 9B 9C 00 1C 81 00 00 2C 20 16 25 16 07 45 01 84 72 19 00 1A 81 00 00 0A 00 07 C9 00 00 00 1B F0 36 00 00 00 00 00 00 16 2A 16 18 39 00 81 19 19 00 1A 81 00 00 0A 00 07 C9 00 00 00 1B F0 36 00 00 00 00 00 00 16 0B 00 CB FF FF FF 00 C5 21 D5 80 00 00 00 00 00 00 16 16 16 19 00 1A 81 00 00 0C 00 00 00 00 00 00 1B 86 63 00 00 00 00 00 00 24 21 16 19 01 BF F9 FF FF 09 00 00 00 00 00 00 1C 39 FC FF FF 20 73 DA 00 00 27 4A 4A 4A 4A 16 04 27 04 28 04 3A 1B 81 00 00 53 00 00 00 02 00 02 00 44 48 00 00 00 00 00 00 Replace with: 32 81 00 00 76 5F 00 00 00 00 00 00 19 81 00 00 E5 5B 00 00 00 00 00 00 1C 81 00 00 00 00 00 00 F8 03 00 00 93 80 00 00 42 01 00 00 02 01 00 00 0F 00 1A 81 00 00 1B F7 36 00 00 00 00 00 00 16 07 80 00 84 84 19 00 1A 81 00 00 0A 00 B2 3A 00 00 00 1B 43 45 00 00 00 00 00 00 16 18 20 00 19 00 1A 81 00 00 0A 00 39 C6 00 00 00 1B AC 45 00 00 00 00 00 00 16 16 18 20 00 19 00 1A 81 00 00 0A 00 3B C6 00 00 00 1B AD 45 00 00 00 00 00 00 16 16 04 28 07 18 01 9B 9C 00 1C 81 00 00 2C 20 16 25 16 07 45 01 84 72 19 00 1A 81 00 00 0A 00 07 C9 00 00 00 1B F0 36 00 00 00 00 00 00 16 2A 16 18 39 00 81 19 19 00 1A 81 00 00 0A 00 07 C9 00 00 00 1B F0 36 00 00 00 00 00 00 16 0B 00 CB FF FF FF 00 C5 21 D5 80 00 00 00 00 00 00 16 16 16 19 00 1A 81 00 00 0C 00 00 00 00 00 00 1B 86 63 00 00 00 00 00 00 24 1B 16 04 27 04 28 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 04 3A 1B 81 00 00 53 00 00 00 02 00 02 00 44 48 00 00 00 00 00 00
Remaining space was nulled and function's virtual size was updated.
Changing Reload string to Hunker Down in Options | Interface | Keyboard Bindings | Tactical Shortcuts
Edit XCom-Enemy-Unknown\XEW\XComGame\Localization\INT\XComGame.int and change:
m_arrTacticalBindableLabels[eTBC_AbilityReload]="RELOAD" // to m_arrTacticalBindableLabels[eTBC_AbilityReload]="HUNKER DOWN"
Funny m_arrTacticalBindableLabels[eTBC_AbilityHunkerDown] is still listed, but was removed from enum in XComGame.upk.
Future plans
I'd like to enable the key for Head Down (escorted civilian's version).
Edited by Drakous79, 27 January 2014 - 10:19 PM.



Sign In
Create Account

Back to top








