XCOM EU: Revive changes mod

From Nexus Mods Wiki
Jump to: navigation, search
'This is just an example picture, delete it or replace with a relevant picture!'

Basic information

Short description

Known Issues

Requirements and compatibility

Required game version

Steam version: Patch 4 ( Changelist: 356266 )

Compatible DLC's

  • No DLC
  • Elite soldier pack
  • Sling shot

Other requirements

Support

Forum only - Please do not send questions directly to the author of this mod.

Detailed information

Author

Amineri

Tools used

Developer notes

Difficulties encountered

Sacrifices made

Necessary File Changes

UPK files

Command1.upk

XComGame.upk

XComShell.upk

XComStrategyGame.upk

INI files

DefaultGameCore.ini

Other files

Localization changes

Easy way to install the mod

The following text can be used to create a Custom Mod text-file to use in Toolboks[1]. Version 1.21 or greater is required.

MOD_NAME=
AUTHOR=amineri
DESCRIPTION=

This mod requires ToolBoks v1.21 or greater to install.

Version: 1.0

Compatible with XCOM Enemy Unknown versions:
 - Patch 4 ( Changelist: 356266 )

UPK_FILE=
OFFSET=4567890 {Decimal value}
[MODDED_HEX]
FF FF FF FF FF {Hex value}


Authors dumping site

In this section it is OK to dump unstructured information

in hope that a less wiki-challenged user will sort it out...

Basic Hex change:

Allows single action after being Revived.

XGUnit.GiveOneMove

original hex: header: 4A B4 00 00 50 55 00 00 00 00 00 00 35 B4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 1B 00 00 97 59 03 00 38 00 00 00 30 00 00 00

body: 07 35 00 9A 1B 64 33 00 00 00 00 00 00 16 25 16 1B 59 62 00 00 00 00 00 00 26 16 07 35 00 97 01 B6 30 00 00 26 16 0F 01 B6 30 00 00 26 04 0B 53

new hex: (virtual 0x34) header: 4A B4 00 00 50 55 00 00 00 00 00 00 35 B4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 1B 00 00 97 59 03 00 34 00 00 00 30 00 00 00

body: 1B 59 62 00 00 00 00 00 00 26 16 0F 01 B6 30 00 00 26 1B E8 5D 00 00 00 00 00 00 16 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 04 0B 53


Original and Target Code:

original code: function GiveOneMove() { // End:0x35 Loop:False if(GetMoves() == 0) { SetMoves(1); // End:0x35 Loop:False if(m_iMovesActionsPerformed > 1) { m_iMovesActionsPerformed = 1; } } }

target code: function GiveOneMove() { SetMoves(1); m_iMovesActionsPerformed = 1; ResetUseAbilities(); }


Optional hex changes.

  • Reduce permanent Will penalty to -5 instead of -15
  • Allow Revived unit that a roll if it is critically wounded again

Hex change:

XGAbilityTree.ApplyEffectsToTarget

original hex: 07 30 17 19 19 19 00 BD 7E 00 00 09 00 E6 7B 00 00 00 01 E6 7B 00 00 0A 00 63 B4 00 00 00 1B 7B 31 00 00 00 00 00 00 16 0C 00 EA A2 00 00 00 1B B8 36 00 00 00 00 00 00 2C 38 16 19 00 BC 7E 00 00 0A 00 00 00 00 00 00 1B EF 66 00 00 00 00 00 00 16 19 00 BC 7E 00 00 97 00 00 00 00 00 00 1B 25 63 00 00 00 00 00 00 38 44 AE AB 38 3F 19 00 BC 7E 00 00 0A 00 35 34 00 00 00 1B 32 35 00 00 00 00 00 00 16 19 19 2E FE 2C 00 00 19 12 20 4F FE FF FF 0A 00 D8 F9 FF FF 00 1C F6 FB FF FF 16 09 00 98 F9 FF FF 00 01 98 F9 FF FF 09 00 F0 2C 00 00 00 01 F0 2C 00 00 05 00 F0 2C 00 00 00 1E C3 F5 A8 3E 16 38 3F 26 16 16 19 00 BC 7E 00 00 0A 00 00 00 00 00 00 1B B6 35 00 00 00 00 00 00 16 19 00 BC 7E 00 00 0A 00 00 00 00 00 00 1B 48 02 00 00 00 00 00 00 16


new hex: 19 00 BC 7E 00 00 0A 00 00 00 00 00 00 1B EF 66 00 00 00 00 00 00 16 19 00 BC 7E 00 00 39 00 00 00 00 00 00 1B 25 63 00 00 00 00 00 00 38 44 AE AB 38 3F 19 00 BC 7E 00 00 0A 00 35 34 00 00 00 1B 32 35 00 00 00 00 00 00 16 1E C3 F5 A8 3E 16 38 3F 26 16 16 A2 1A 2C 0F 19 00 BC 7E 00 00 09 00 0D 31 00 00 00 01 0D 31 00 00 26 16 A1 1A 2C 07 35 CE 0D 00 00 D5 0D 00 00 00 00 19 19 00 BC 7E 00 00 0A 00 63 B4 00 00 00 1B 7B 31 00 00 00 00 00 00 16 09 00 C3 A2 00 00 00 01 C3 A2 00 00 2C 0A 16 19 00 BC 7E 00 00 0A 00 00 00 00 00 00 1B B6 35 00 00 00 00 00 00 16 19 00 BC 7E 00 00 0A 00 00 00 00 00 00 1B 48 02 00 00 00 00 00 00 16 00 BC 7E 00 00 00 BC 7E 00 00 00 BC 7E 00 00 00 BC 7E 00 00 00 BC 7E 00 00 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B


Original and target code:

original code: if(kAbility.m_kUnit.GetCharacter().HasUpgrade(56)) { kTarget.Stabilize(); kTarget.SetUnitHP(int((float(kTarget.GetUnitMaxHP()) * XComGameReplicationInfo(class'Engine'.static.GetCurrentWorldInfo().GRI).m_kGameCore.0.330) + float(1))); kTarget.GiveOneMove(); } kTarget.AddRecoverFromCriticallyWoundedAction();


-- no need for Upgrade(56) check, as the Revive perk is only available with that perk -- can shorten constant check

target code: kTarget.Stabilize(); kTarget.SetUnitHP(int((float(kTarget.GetUnitMaxHP()) * 0.330) + float(1))); kTarget.GiveOneMove(); kTarget.m_aCurrentStats[15] -= 1; kTarget.GetCharacter().m_kChar.aStats[7] += 10; kTarget.AddRecoverFromCriticallyWoundedAction();

References

Referred to by this article:

That refer to this article: