Borg System Attacks..

This forum is for outdated or irrelevant Modding Information that may or may not be 3 months old.

Moderator: thunderchero

Post Reply
Chernabog
Lieutenant-Commander
Lieutenant-Commander
Posts: 102
Joined: Fri Oct 02, 2009 2:00 am

Borg System Attacks..

Post by Chernabog »

Hi,

This is a little (actually by the look of the size of the subroutine probably not that little :roll: ) request for one of the code gurus to take a look at subroutine 44F42C (aka monster_system_attack - I hope), if they feel in the mood for torturing their mind for a few hours :)

I have taken a look at it, but with almost no assembler knowledge I cant really work out what is going on (there are no usefull helping comments that I can see but then again, I could be looking at the wrong window inside IDA pro).

What I would like to be able to do seems fairly simple, and one part of it I can already do, so read on below...

1) Ensure that whenever a monster event happens, the same monster type is always spawned (This I can already do thanks to SCT's work, so basically I can always spawn a borg cube if I want to).

2) Limit the ammount of damage a borg cube does to a system. Basically, rather than wipe out the system, it would be better if it could assimilate say 50mil pop, potentialy create a new cube and then continue on its way (leaving the system to be able to recover).

So point 1 is done, point 2 is the 'would be nice' if someone can find the time at some point in the future.

I just wanted this post out there and in the collective concious as it were, there is no rush for it or anything, its just something to think about :D

Thanks as ever,

C.
User avatar
Peter1981
Rear-Admiral
Rear-Admiral
Posts: 1118
Joined: Tue May 06, 2008 2:00 am
Location: England

Post by Peter1981 »

IGNORE WRONG INFO SORRY

looking at the code c.
asm_44f802 seems to be a test with 0x14 i.e 20
and
asm_44f809 seems to set a value to 9 (the min borg deat amount) it is the only valueset to 9 in the subroutine.

if you want to make the borg less deadly might try 0x14 -> FF (255 max) and
0x09 -> 19 (25 thus 11 turns to distroy system)

this is very much speculation on my part and i would throngly recomend backing up your files before you try it. I have mad no attempt to test this either.
Last edited by Peter1981 on Wed May 19, 2010 4:19 pm, edited 1 time in total.
Chernabog
Lieutenant-Commander
Lieutenant-Commander
Posts: 102
Joined: Fri Oct 02, 2009 2:00 am

Post by Chernabog »

Thanks for the info peter, so like you say that might slow them down ... I will give it a test to see if the AI can handle it, will be interesting if it can (this is the main reason for making the change, to ensure that the AI doesnt get zerged by the borg).

Regards,

C.
User avatar
DCER
Code Master
Code Master
Posts: 683
Joined: Sat Apr 26, 2008 2:00 am

Post by DCER »

The multipliers can be found at 0x176FA0

They are doubles (8 byte floating point numbers):

0.15, 0.3, 0.5, 1.25

I haven't searched for the limits but the first one is likely used if the system has a certain size, when the pop drops the second is used and when there's minimum population before extinction, the last one is used.

Make the last one 0 and the population shouldn't ever get killed completely, but the cube won't go away either.
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 876
Joined: Sun Apr 27, 2008 2:00 am

Post by Spocks-cuddly-tribble »

DCER wrote:0.15, 0.3, 0.5, 1.25

I haven't searched for the limits but the first one is likely used if the system has a certain size, when the pop drops the second is used and when there's minimum population before extinction, the last one is used.
Almost there. Those are multipliers for population loss (if not minimum check/code -> post by Peter1981) for Tarellian, Crystal Entity & Borg Cube. Last one is borg multiplier for block cube check (see my posts).
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
Post Reply

Return to “Modding Information Archive”