you have too many ships in your ship list, max with monsters is 255 (or FF) code for monster id's only has room for 2 bytes.rxz1000 wrote:My EDO Guardian ID in UE 257 (the Borg monster starts at 252).
I am shocked UE allowed this.
Moderator: thunderchero
you have too many ships in your ship list, max with monsters is 255 (or FF) code for monster id's only has room for 2 bytes.rxz1000 wrote:My EDO Guardian ID in UE 257 (the Borg monster starts at 252).
TBH i don't think it has ever been tested. I just checked and individual monsters have 4 bytes of space, only some of the Alien Starting ID are 2 bytesrxz1000 wrote:UE hasn't thrown any wobblers for the large number. Even a file integrity check didn't complain.
I don't know why but this isn't working in my mod. I (Klingons) got an offer from the Federation to be allies because the BORG are a big threat. Then I looked what's happening and I found a cube is attacking one of their systems.Spocks-cuddly-tribble wrote: ↑Tue Mar 06, 2012 3:09 pm
Avoid AI Systems Fix for Monster Programs 2-4
This should help preventing games ruined due to monster assaults on the AI empires (especially borg).
Code: Select all
trek.exe at 0x325DB new code 0xF bytes: 6B C0 65 8B 15 C8 36 5A 00 80 7C C2 04 01 90 -asm code: 004331DB 6BC0 65 IMUL EAX, EAX ,65 // system ID 004331DE 8B15 C8365A00 MOV EDX, [5A36C8] //address systInfo 004331E4 807CC2 04 01 CMP BYTE [EDX+EAX*8+4], 1 // AI check 004331E9 90 NOP
Spocks-cuddly-tribble wrote: ↑Thu Apr 21, 2016 5:34 pm Alternatively, here is a simple hex code to disable system-specific random events, but keeping the Initial test for rebellions (see @1.2).
It's mistakenly part of the random events. The code for penalties for low morale is flawed:
viewtopic.php?f=242&t=1082#p18755
You can disable this for AI, see above.Code: Select all
trek.exe at 0x04B5B7 change 7E 27 to -> 90 90 044C1B7 jle short select_event -> nop
This fix is not failsafe. When testing the monster save game data fix, using F6, F11 and repeated reloading of saved games, it failed for me as well. viewtopic.php?p=51581#p51581Kurn wrote: ↑Tue Oct 27, 2020 11:18 pmI don't know why but this isn't working in my mod. I (Klingons) got an offer from the Federation to be allies because the BORG are a big threat. Then I looked what's happening and I found a cube is attacking one of their systems.Spocks-cuddly-tribble wrote: ↑Tue Mar 06, 2012 3:09 pm Avoid AI Systems Fix for Monster Programs 2-4
I edited this hex code years ago, but now it's the first time the Borg attacking AI.
0x050b1c > 06 0F 8F06 = Race ID
0F = opcode
8F = jump if greater than (06 Cardassian)
So if you want to have 4 races with the Edo god, 06 becomes 08 and the 2 races shall be moved near the top of the list (just after major races)06 = Race ID
0F = opcode
8F = jump if greater than (06 Cardassian)
Sorry to spoil the fun, but there is still much work to do.
00430620 test byte ptr ds:dead_races_BitMask_1+2, 4 // check if EDO race still alive for race ID 18 / 12h 00430653 mov eax, offset AlienInfo_EDO_entry // get AlienInfo entry for relationship testEDIT: A solution for you the check the minor race ID by loading systInfo
5B5560 TC_sector_lst_entryBut there is at least six xrefs to 5A2490 AlienInfo_EDO_entry, so you're going to have a lot of fun with this...
For free minors it will still check whether the EDO are alive and relationship of other ships in combat to the EDO for all EDO gods in game.DCER wrote: ↑Mon Aug 11, 2008 5:15 amIf you sign a membership treaty, the alien will consider you an ally just like before with the Edo set. (...) Each guardian is tied to the race it protects, meaning if you sign membership with the Edo, their guardian will consider you an ally, but the Talarian one won't.
Even if you want to use this glitch as a feature in your mod, you still need to handle the GOD codes for free minor races (EDO bitmask & alienInfo).
Removing all codes (or just the JZ's) and my "Edo God auto hail bugfix" should work for your retarded/cheesable EDO God stations:
00430620 test byte ptr ds:dead_races_BitMask_1+2, 4 00430627 jz short read_off_for_edo_test 0047131B test byte ptr ds:dead_races_BitMask_1+2, 4 00471322 jz EDO_alive 004773FC test byte ptr ds:dead_races_BitMask_1+2, 4 ; case 0x6 00477403 jz short load_edo_dip_info_ 005529A3 test byte ptr ds:dead_races_BitMask_1+2, 4 005529AA jz loc_552A1A 00552AB1 test byte ptr ds:dead_races_BitMask_1+2, 4 00552AB8 jz loc_552B95 00552E28 test byte ptr ds:dead_races_BitMask_1+2, 4 00552E2F jz loc_552E9F