Crew Experience

Crew Experience; support/discussion/questions

Moderator: thunderchero

User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7824
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: Crew Experience

Post by thunderchero »

since this topic has many code changes I would have to ask what code changes have you made?

you might double check your changes.

thunderchero
User avatar
AlexMcpherson79
Commander
Commander
Posts: 332
Joined: Thu Sep 04, 2008 2:00 am

Re: Crew Experience

Post by AlexMcpherson79 »

None manually. I dont have a hex editor anymore... and just looking in the patcher, "1+3 crew experience fixes..." Doh. I'll just.... go test it now I've removed that.

Edit: Done. Also why does the train crew menu disappear if the structure doesn't require energy (a little change I'd made *after* noting the non-increasing-skill-level but since corrected back)
User avatar
EnPhreg
Lieutenant-Commander
Lieutenant-Commander
Posts: 130
Joined: Thu Jul 10, 2008 2:00 am

Re: Crew Experience

Post by EnPhreg »

Gowron wrote:
1. Amount of Exp. Points gained during battle

To get Exp. Points from a battle, you must enter the tactical combat screen. "Auto" and "Hail" (before the battle) will result in zero points.
that's not correct.
you also gain crew exp. points from auto battle. (tested it several times with vanilla)
User avatar
EnPhreg
Lieutenant-Commander
Lieutenant-Commander
Posts: 130
Joined: Thu Jul 10, 2008 2:00 am

Re:

Post by EnPhreg »

Spocks-cuddly-tribble wrote: Thu Aug 27, 2009 9:16 pm :arrow: 3. Enabling the Training Limits (broken feature fix)

Code: Select all

In trek.exe at 0x6854B
replace:
89 C2 89 C7 8B 44 24 08 01 42 40 8B 42 40 E8 C2 09 FE FF 39 C6 7D 3E 89 F0 89 47 44
with:
3B 70 40 76 17 8B 54 24 08 01 50 40 3B 70 40 7D 03 89 70 40 E8 9C 7B 00 00 90 90 90


New code at asm 46914B:

cmp     esi, [eax+40h]
jbe     short loc_469167
mov     edx, [esp+8]
add     [eax+40h], edx
cmp     esi, [eax+40h]
jge     short_( skip next )
mov     [eax+40h], esi
call    sub_470D00  =>[position3]
nop     (3x)

loc_4691A0 -> unused = space for an additional limit or building slots
loc_4691A0 -> unused = space for an additional limit or building slots


By default there are three slots for IDs of Training Facilities and two Training Limits involved, which I call limit A and limit B.

Formally, the function can be written as:

IF Training Facility on the list THEN [limit A] ELSE [limit B]


Slots and IDs for Training Facilities:

Code: Select all

46912A     cmp     dx, 39h // 0x6852D
46918D     cmp     dx, 55h // 0x68590
469193     cmp     dx, 2Bh // 0x68596
The IDs are compared to the value at relative offset +0x50 in edifice.bst for each active Training Facility. :idea:

Thus the defaults stand for:

0x6852D (0x39) -> Andorian War College
0x68590 (0x55) -> Zakdorn Military Academy
0x68596 (0x2B) -> Klingon Tactical College
greetings,
i have some questions about your post:
1. if i want only two facilities which have the high training limit, and i want to delete the high limit for the andorian war collage, is it ok, if i change the ID at position 0x6852D from (0x39) to (0x90) (like mentioned down below "We could also use two invalid IDs of course.")? or would that make problems?

2. another training limit (limit C) like mentioned above at position (loc_4691A0): would it be a lot of work or relatively simply to do (maybe if gowron would accept to work on)

3. a similar question like number 2: is it possible to simply implement (add) an EP limit (e.g. max 21000 EP possible) for your ongoing (above legendary) experience bonus? or is it needed to rewrite the complete code you've wrote? i just ask 2 and 3, to decide which way i will go with my mod and maybe skip some ideas, if the changes would be to complicated. i think, if gowron will help me with some things, it should be not to complicated or time consuming. so i want to estimate the effort.


by the way,
fantastic post :!:
User avatar
EnPhreg
Lieutenant-Commander
Lieutenant-Commander
Posts: 130
Joined: Thu Jul 10, 2008 2:00 am

Re: Crew Experience

Post by EnPhreg »

Gowron wrote: Sat May 03, 2008 7:48 am 1. Amount of Exp. Points gained during battle

To get Exp. Points from a battle, you must enter the tactical combat screen. "Auto" and "Hail" (before the battle) will result in zero points.
There are three "sources" of Exp. Points during battle:

a) The sum of points of damage that your ships do to enemies with beam and/or torpedo weapons (damage from ramming doesn't count).

b) A bonus for every enemy ship that retreats. The bonus is
0.05 * [combined nominal shield+hull hit points of retreated ship]

c) Invisible overflow damage (only if your ships still have weapon capacity left when all enemies are destroyed). This extra damage is hard to predict, but has to be equal to or lower than the unused weapon capacity.

The values from a, b and c are added and equally divided (rounded up if not integer) between your surviving ships.
some comments:
for a): also the last hit at a destroyed ship counts fully (amount like stated in tactical report) into the calculation, even if the destroyed ship's real remained hit points were even lower than the last hit did damage.

for c): the amount seems to depend on fired but not struck weapon capacity, cause if all shots hit the target, there will be no extra XP, no matter if unused weapon capacity still remains at the attacking ship or not, and regardless of wether an enemy ship is destroyed or retreats.
User avatar
Kurn
Lieutenant-Junior Grade
Lieutenant-Junior Grade
Posts: 93
Joined: Thu Aug 12, 2010 2:00 am
Location: Germany

Re: Crew Experience

Post by Kurn »

Gowron wrote: Sat May 03, 2008 7:48 am b) Thresholds


threshold for 4th star ("elite" crew)
position1: 0x48F28
position2: 0x48F95
position3: 0x7010F
default value: 5000

threshold for 5th star ("legendary" crew)
position1: 0x48F21
position2: 0x48F78
position3: 0x70107
default value: 8000
In ECML I edited succesfully the threshold for "elite" and now wanted to edit the threshold for "legendary" too, but I have a problem. The second position should originally be 40 1F, but in ECML it is "24 85". I don't know why.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7824
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: Crew Experience

Post by thunderchero »

ECM has code fix Crew Experience fixes 1 & 3 this may change position of offset

link to code changes for Crew Experience fixes 1 & 3
viewtopic.php?f=197&t=74&p=15050#p15050
User avatar
Kurn
Lieutenant-Junior Grade
Lieutenant-Junior Grade
Posts: 93
Joined: Thu Aug 12, 2010 2:00 am
Location: Germany

Re: Crew Experience

Post by Kurn »

Thanks for the info, but it doesn't work when I raise the values only at position 3, because their is no effect on training facilities.
Spocks-cuddly-tribble wrote: Thu Aug 27, 2009 9:16 pm
-> sub_449B20 (64bytes+14unused above) is not longer in use after the training bug fix (chapter 2 resp.3) i.e. the [position1] thresholds can be ignored now. :)

-> This sends also [position2] thresholds into disuse:
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7824
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: Crew Experience

Post by thunderchero »

Kurn wrote: Tue Apr 02, 2019 3:50 am Thanks for the info, but it doesn't work when I raise the values only at position 3, because their is no effect on training facilities.
the code changes applied to ECM (Crew Experience fixes 3) prevents training to Legandary for all races except klingons
Spocks-cuddly-tribble wrote: Thu Aug 27, 2009 9:16 pm The game manual tells that only Klingons can reach the 'Legandary' level by training. (I read somewhere minor facilities also, iirc). Now it turned out that the unfinished code for this is there and it can be activated.
Post Reply

Return to “Crew Experience”