Jump to content

Merit-based class assignment restoration project


Amphibious

Recommended Posts

I found this mod by Peasly Wellbot that goes well with SW NCE option however it has been deprecated... Other mods are there but they just aren't what I am looking for.

 

 

SO I thought it would nice if it could be restored. This is the code for the main part of mod:

 

 

SpoilerFind

46 32 00 00 94 25 00 00 00 00 00 00 3A 32 00 00 00 00 00 00 00 00 00 00 46 32 00 00 00 00 00 00 16 06 00 00 65 B1 00 00 54 04 00 00 10 03 00 00 54 00 45 32 00 00 2C 07 16 54 00 44 32 00 00 2C 07 16 0F 00 41 32 00 00 25 07 71 01 96 00 41 32 00 00 36 01 1E 31 00 00 16 07 6C 00 19 10 00 41 32 00 00 01 1E 31 00 00 0A 00 11 53 00 00 00 1B 6F 17 00 00 00 00 00 00 16 06 63 01 07 A3 00 9A 38 3A 19 10 00 41 32 00 00 01 1E 31 00 00 0A 00 82 53 00 00 00 1B 64 11 00 00 00 00 00 00 16 38 3A 24 06 16 06 63 01 0F 00 42 32 00 00 19 10 00 41 32 00 00 01 1E 31 00 00 0A 00 82 53 00 00 00 1B 64 11 00 00 00 00 00 00 16 0F 00 40 32 00 00 19 10 00 41 32 00 00 01 1E 31 00 00 0A 00 C6 52 00 00 00 1B 00 13 00 00 00 00 00 00 16 A1 10 38 3A 00 42 32 00 00 00 45 32 00 00 26 16 07 63 01 97 00 40 32 00 00 10 38 3A 00 42 32 00 00 00 44 32 00 00 16 0F 10 38 3A 00 42 32 00 00 00 44 32 00 00 00 40 32 00 00 A5 00 41 32 00 00 16 06 25 00 0F 00 3E 32 00 00 2C 02 0F 00 3F 32 00 00 92 25 26 16 07 27 02 96 00 3F 32 00 00 2C 05 16 07 19 02 96 10 00 3F 32 00 00 00 45 32 00 00 00 3E 32 00 00 16 0F 00 41 32 00 00 25 07 19 02 96 00 41 32 00 00 93 00 3E 32 00 00 10 00 3F 32 00 00 00 45 32 00 00 16 16 55 00 43 32 00 00 0C 00 38 3D 00 3F 32 00 00 16 A5 00 41 32 00 00 16 06 C7 01 A5 00 3F 32 00 00 16 06 8B 01 07 62 02 82 9B 36 00 43 32 00 00 25 16 18 0D 00 1B DA 29 00 00 00 00 00 00 2C 32 16 16 04 10 A7 36 00 43 32 00 00 16 00 43 32 00 00 06 78 02 40 00 43 32 00 00 25 36 00 43 32 00 00 16 0F 00 3F 32 00 00 92 25 26 16 07 76 03 96 00 3F 32 00 00 2C 05 16 07 C1 02 9A 36 00 43 32 00 00 25 16 55 00 43 32 00 00 0C 00 38 3D 00 3F 32 00 00 16 06 68 03 07 21 03 96 10 00 3F 32 00 00 00 44 32 00 00 10 38 3A 10 25 00 43 32 00 00 00 44 32 00 00 16 40 00 43 32 00 00 25 36 00 43 32 00 00 16 55 00 43 32 00 00 0C 00 38 3D 00 3F 32 00 00 16 06 68 03 07 68 03 9A 10 00 3F 32 00 00 00 44 32 00 00 10 38 3A 10 25 00 43 32 00 00 00 44 32 00 00 16 55 00 43 32 00 00 0C 00 38 3D 00 3F 32 00 00 16 A5 00 3F 32 00 00 16 06 86 02 07 B1 03 82 9B 36 00 43 32 00 00 25 16 18 0D 00 1B DA 29 00 00 00 00 00 00 2C 32 16 16 04 10 A7 36 00 43 32 00 00 16 00 43 32 00 00 06 C7 03 40 00 43 32 00 00 25 36 00 43 32 00 00 16 0F 00 42 32 00 00 38 3D 92 A7 93 2C 05 26 16 16 26 16 07 3F 04 82 82 82 9B 38 3A 00 42 32 00 00 38 3A 24 01 16 18 12 00 9B 38 3A 00 42 32 00 00 38 3A 24 02 16 16 18 12 00 9B 38 3A 00 42 32 00 00 38 3A 24 03 16 16 18 12 00 9B 38 3A 00 42 32 00 00 38 3A 24 04 16 16 0F 00 42 32 00 00 24 02 04 00 42 32 00 00 04 3A 46 32 00 00 53 00 00 00 02 00 02 00 E3 27 00 00 00 00 00 00

Replace

46 32 00 00 94 25 00 00 00 00 00 00 3A 32 00 00 00 00 00 00 00 00 00 00 46 32 00 00 00 00 00 00 16 06 00 00 65 B1 00 00 74 03 00 00 10 03 00 00 54 00 45 32 00 00 2C 07 16 0F 00 41 32 00 00 19 1B 68 03 00 00 00 00 00 00 16 09 00 0F 31 00 00 00 01 0F 31 00 00 05 41 32 00 00 00 00 41 32 00 00 0A 51 00 24 42 06 EF 00 0A 59 00 24 47 06 EF 00 0A 61 00 24 4C 06 10 01 0A 69 00 24 51 06 10 01 0A 71 00 24 56 06 31 01 0A 79 00 24 5B 06 31 01 0A 81 00 24 43 06 43 01 0A 89 00 24 48 06 43 01 0A 91 00 24 4D 06 64 01 0A 99 00 24 52 06 64 01 0A A1 00 24 57 06 94 01 0A A9 00 24 5C 06 94 01 0A B1 00 24 44 06 B5 01 0A B9 00 24 45 06 B5 01 0A C1 00 24 49 06 B5 01 0A C9 00 24 4A 06 B5 01 0A D1 00 24 4E 06 C7 01 0A D9 00 24 4F 06 C7 01 0A E1 00 24 53 06 C7 01 0A E9 00 24 54 06 C7 01 0A FF FF 06 E8 01 55 00 43 32 00 00 0C 00 2C 02 16 55 00 43 32 00 00 0C 00 2C 03 16 06 09 02 55 00 43 32 00 00 0C 00 2C 02 16 55 00 43 32 00 00 0C 00 2C 01 16 06 09 02 55 00 43 32 00 00 0C 00 2C 01 16 06 09 02 55 00 43 32 00 00 0C 00 2C 04 16 55 00 43 32 00 00 0C 00 2C 03 16 06 09 02 55 00 43 32 00 00 0C 00 19 1B 68 03 00 00 00 00 00 00 16 0A 00 52 32 00 00 00 1B E2 27 00 00 00 00 00 00 16 16 06 09 02 55 00 43 32 00 00 0C 00 2C 02 16 55 00 43 32 00 00 0C 00 2C 01 16 06 09 02 55 00 43 32 00 00 0C 00 2C 04 16 06 09 02 55 00 43 32 00 00 0C 00 2C 04 16 55 00 43 32 00 00 0C 00 2C 03 16 06 09 02 55 00 43 32 00 00 0C 00 2C 03 16 55 00 43 32 00 00 0C 00 2C 02 16 06 09 02 04 10 A7 36 00 43 32 00 00 16 00 43 32 00 00 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 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 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 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 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 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 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 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 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 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 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 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 04 3A 46 32 00 00 53 00 00 00 02 00 02 00 E3 27 00 00 00 00 00 00

 

 

 

 

So i search for non-adress parts and found an exact match in updated xcomstrategygame.upk, this is how that part of the code looks now:

 

 

F4 32 00 00 E0 25 00 00 00 00 00 00 E8 32 00 00 00 00 00 00 00 00 00 00 F4 32 00 00 00 00 00 00 16 06 00 00 65 B1 00 00 54 04 00 00 10 03 00 00 54 00 F3 32 00 00 2C 07 16 54 00 F2 32 00 00 2C 07 16 0F 00 EF 32 00 00 25 07 71 01 96 00 EF 32 00 00 36 01 CC 31 00 00 16 07 6C 00 19 10 00 EF 32 00 00 01 CC 31 00 00 0A 00 BF 53 00 00 00 1B 8C 17 00 00 00 00 00 00 16 06 63 01 07 A3 00 9A 38 3A 19 10 00 EF 32 00 00 01 CC 31 00 00 0A 00 30 54 00 00 00 1B 7A 11 00 00 00 00 00 00 16 38 3A 24 06 16 06 63 01 0F 00 F0 32 00 00 19 10 00 EF 32 00 00 01 CC 31 00 00 0A 00 30 54 00 00 00 1B 7A 11 00 00 00 00 00 00 16 0F 00 EE 32 00 00 19 10 00 EF 32 00 00 01 CC 31 00 00 0A 00 74 53 00 00 00 1B 16 13 00 00 00 00 00 00 16 A1 10 38 3A 00 F0 32 00 00 00 F3 32 00 00 26 16 07 63 01 97 00 EE 32 00 00 10 38 3A 00 F0 32 00 00 00 F2 32 00 00 16 0F 10 38 3A 00 F0 32 00 00 00 F2 32 00 00 00 EE 32 00 00 A5 00 EF 32 00 00 16 06 25 00 0F 00 EC 32 00 00 2C 02 0F 00 ED 32 00 00 92 25 26 16 07 27 02 96 00 ED 32 00 00 2C 05 16 07 19 02 96 10 00 ED 32 00 00 00 F3 32 00 00 00 EC 32 00 00 16 0F 00 EF 32 00 00 25 07 19 02 96 00 EF 32 00 00 93 00 EC 32 00 00 10 00 ED 32 00 00 00 F3 32 00 00 16 16 55 00 F1 32 00 00 0C 00 38 3D 00 ED 32 00 00 16 A5 00 EF 32 00 00 16 06 C7 01 A5 00 ED 32 00 00 16 06 8B 01 07 62 02 82 9B 36 00 F1 32 00 00 25 16 18 0D 00 1B 36 2A 00 00 00 00 00 00 2C 32 16 16 04 10 A7 36 00 F1 32 00 00 16 00 F1 32 00 00 06 78 02 40 00 F1 32 00 00 25 36 00 F1 32 00 00 16 0F 00 ED 32 00 00 92 25 26 16 07 76 03 96 00 ED 32 00 00 2C 05 16 07 C1 02 9A 36 00 F1 32 00 00 25 16 55 00 F1 32 00 00 0C 00 38 3D 00 ED 32 00 00 16 06 68 03 07 21 03 96 10 00 ED 32 00 00 00 F2 32 00 00 10 38 3A 10 25 00 F1 32 00 00 00 F2 32 00 00 16 40 00 F1 32 00 00 25 36 00 F1 32 00 00 16 55 00 F1 32 00 00 0C 00 38 3D 00 ED 32 00 00 16 06 68 03 07 68 03 9A 10 00 ED 32 00 00 00 F2 32 00 00 10 38 3A 10 25 00 F1 32 00 00 00 F2 32 00 00 16 55 00 F1 32 00 00 0C 00 38 3D 00 ED 32 00 00 16 A5 00 ED 32 00 00 16 06 86 02 07 B1 03 82 9B 36 00 F1 32 00 00 25 16 18 0D 00 1B 36 2A 00 00 00 00 00 00 2C 32 16 16 04 10 A7 36 00 F1 32 00 00 16 00 F1 32 00 00 06 C7 03 40 00 F1 32 00 00 25 36 00 F1 32 00 00 16 0F 00 F0 32 00 00 38 3D 92 A7 93 2C 05 26 16 16 26 16 07 3F 04 82 82 82 9B 38 3A 00 F0 32 00 00 38 3A 24 01 16 18 12 00 9B 38 3A 00 F0 32 00 00 38 3A 24 02 16 16 18 12 00 9B 38 3A 00 F0 32 00 00 38 3A 24 03 16 16 18 12 00 9B 38 3A 00 F0 32 00 00 38 3A 24 04 16 16 0F 00 F0 32 00 00 24 02 04 00 F0 32 00 00 04 3A F4 32 00 00 53 00 00 00 02 00 02 00 32 28 00 00 00 00 00 00

 

As you can see the content in regards to meaning itself hasn't changed.

 

SO I have tryied to reconstruct the code for peasley's mod (replace part) but have some difficulty since there are parts I can't figure out, perhaps if someone posted script of the parts it would be easier and I'd be grateful (I can't use ue explorer myself)

 

SO this is my attempt so far, parts after ?? are dubious:

 

 

F4 32 00 00 E0 25 00 00 00 00 00 00 E8 32 00 00 00 00 00 00 00 00 00 00 F4 32 00 00 00 00 00 00 16 06 00 00 65 B1 00 00 54 04 00 00 10 03 00 00 54 00 F3 32 00 00 2C 07 16 0F 00 EF 32 00 00

?? 19 1B 68 03 00 00 00 00 00 00 16 09 00

?? 0F 31 00 00 00 01 0F 31 00 00 05

EF 32 00 00 00 00 EF 32 00 00

?? 0A 51 00 24 42 06 EF 00 0A 59 00 24 47 06 EF 00 0A 61 00 24 4C 06 10 01 0A 69 00 24 51 06 10 01 0A 71 00 24 56 06 31 01 0A 79 00 24 5B 06 31 01 0A 81 00 24 43 06 43 01 0A 89 00 24 48 06 43 01 0A 91 00 24 4D 06 64 01 0A 99 00 24 52 06 64 01 0A A1 00 24 57 06 94 01 0A A9 00 24 5C 06 94 01 0A B1 00 24 44 06 B5 01 0A B9 00 24 45 06 B5 01 0A C1 00 24 49 06 B5 01 0A C9 00 24 4A 06 B5 01 0A D1 00 24 4E 06 C7 01 0A D9 00 24 4F 06 C7 01 0A E1 00 24 53 06 C7 01 0A E9 00 24 54 06 C7 01 0A FF FF 06 E8 01 55 00

F1 32 00 00 0C 00 2C 02 16 ?? 55 00

F1 32 00 00 0C 00 2C 03 16 ?? 06 09 02 55 00

F1 32 00 00 0C 00 2C 02 16 ?? 55 00

F1 32 00 00 0C 00 2C 01 16 ?? 06 09 02 55 00

F1 32 00 00 0C 00 2C 01 16 ?? 06 09 02 55 00

F1 32 00 00 0C 00 2C 04 16 ?? 55 00

F1 32 00 00 0C 00 2C 03 16 ?? 06 09 02 55 00

F1 32 00 00 0C 00 19 ?? 1B 68 03

00 00 00 00 00 00 16

0A 00 00 33 00 00 00 ?? 1B E2 27

00 00 00 00 00 00 16 16 ?? 06 09 02 55 00

F1 32 00 00 0C 00 2C 02 16 ?? 55 00

F1 32 00 00 0C 00 2C 01 16 ?? 06 09 02 55 00

F1 32 00 00 0C 00 2C 04 16 ?? 06 09 02 55 00

F1 32 00 00 0C 00 2C 04 16 ?? 55 00

F1 32 00 00 0C 00 2C 03 16 ?? 06 09 02 55 00

F1 32 00 00 0C 00 2C 03 16 55 00 F1 32 00 00 0C 00 2C 02 16

?? 06 09 02 04 10 A7 36 00

F1 32 00 00 16 00 F1 32 00 00 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 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 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 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 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 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 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 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 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 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 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 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 04 3A F4 32 00 00 53 00 00 00 02 00 02 00 32 28 00 00 00 00 00 00

Edited by Amphibious
Link to comment
Share on other sites

BTW, there is an alternative mod, which can be installed with PatchUPK: http://www.nexusmods.com/xcom/mods/487

 

As I said I don't like much these other mods... I tried this one. I don't like that it makes heavies prefer high aim and high mobility exlusively. Peasley mod is better in that regard since i.e. high mobility/high aim soldier have 50-50 chance to be either support or heavy.

 

It lacks however a mechanism of compenstaing for the classes that are missing as far as I know but randomness of the process should compensate for this if enough soldiers are recruited.

Link to comment
Share on other sites

Just one outcome: 0.

 

Rand(n) returns random value between 0 and n-1, including 0 and n-1. So Rand(2) will return 0 or 1. Rand(1) will always return 0. Rand(0) will return a number between 0 and something like unsigned integer max value / 2 (unsigned equivalent of -1).

Edited by wghost81
Link to comment
Share on other sites

  • Recently Browsing   0 members

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