Drakous79 Posted November 12, 2012 Share Posted November 12, 2012 (edited) 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 A6Start 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 changesFirst 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 soundI 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 00Remaining space was nulled and function's virtual size was updated. Changing Reload string to Hunker Down in Options | Interface | Keyboard Bindings | Tactical ShortcutsEdit 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 plansI'd like to enable the key for Head Down (escorted civilian's version). Edited January 27, 2014 by Drakous79 Link to comment Share on other sites More sharing options...
FlyingHigh10000000 Posted November 13, 2012 Share Posted November 13, 2012 Post this on the 2K forums so Firaxis can actually see it. Link to comment Share on other sites More sharing options...
Drakous79 Posted November 13, 2012 Author Share Posted November 13, 2012 (edited) Done. Wonder, if it would make XCOM EU modding community bigger :) if ppl see, they can play another way or fix stuff themselves. Edit: Not sure, but I'm quite positive I posted the info in support section of 2K Forums, but the post disappeared without notification. So I reposted without link to Nexus forum... so much for modder friendly approach and appreciation of being helped. I want to be proven wrong on previous statement. Edited November 13, 2012 by Drakous79 Link to comment Share on other sites More sharing options...
Recommended Posts