[MOD] Marine Rebalance

The place to discuss scripting and game modifications for X Rebirth.

Moderators: Moderators for English X Forum, Scripting / Modding Moderators

User avatar
iWARR
Posts: 69
Joined: Mon, 10. Aug 15, 15:11

Post by iWARR » Wed, 12. Aug 15, 20:11

And what if I NEVER didn't have any ship for the fighters to dock (yet)? But will?

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Wed, 12. Aug 15, 20:17

Then you can just uninstall the carrier mod.

Just to be clear, it is in two mods:

http://steamcommunity.com/sharedfiles/f ... =393167595

is the carrier mod, and can just be uninstalled as long as you don't have any fighters docked with carriers. (Could be safe even if they are docked, but I'd undock them just to be sure.)

And this:

http://steamcommunity.com/sharedfiles/f ... =394441537

adds docks to the Heavy and Light Sul. This cannot be removed without save-editing, and it says so right on the box.

Really though, I seriously doubt that these are causing your problems. I have them both, although I got them straight from Marvin's thread, and I'm not seeing the problems that you are.

If you send me your list of mods, I could take a look. At the very least, I could tell you which mods I don't have installed, and you could start looking there. I suggest we take this to PM, though, since it really doesn't have anything to do with Marine Rebalance.

User avatar
iWARR
Posts: 69
Joined: Mon, 10. Aug 15, 15:11

Post by iWARR » Wed, 12. Aug 15, 20:23

OK, thank you for your great support!

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Wed, 12. Aug 15, 20:26

I have time at the moment, so not a problem.

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Wed, 12. Aug 15, 21:59

12.Aug.2015 - Marine Rebalance is updated to v0.49

Quick fix to make sure that the engineer.ai tweak lands correctly.
Credit to Sindrali for the French t-file was already typed, but not saved before the last upload! Apologies. Fixed.

Scoob
Posts: 10081
Joined: Thu, 27. Feb 03, 22:28
x4

Post by Scoob » Thu, 13. Aug 15, 00:45

Hi, quick question...

I'm using BR's CWIR mod as you're likely aware.

Anyway every time so far I've boarded one of the Sennin variants I never get the option to do the pre-scan thing. I mean, I strip the ship, lower its resistance way down, select "Board" select "Scan" but my pods always launch instantly with the "Pre-scan not done" message showing.

Other ships, such as Rahanas and Fedhelms, I've captured just fine.

Any idea why it might be behaving differently with this ship? Needless to say I have the appropriate drones aboard.

Cheers,

Scoob.

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Thu, 13. Aug 15, 01:17

It's possible that the new ships don't have any defined scan points. So PreScan launches, calls to generate scan points, and the ship doesn't have any, so the process fails.

edit: checked again, and that looks like it. Is it possible to hack them? Generating hack points uses a similar process, but I think uses a different set of coordinates. Might not even be possible to just get into a Beholder/Trojan and double-click scan/hack outside of a boarding situation.

Or they're equipped with lead-lined walls reinforced with scan scramblers and Xenon level software security AIs.

Scoob
Posts: 10081
Joined: Thu, 27. Feb 03, 22:28
x4

Post by Scoob » Thu, 13. Aug 15, 01:30

w.evans wrote:It's possible that the new ships don't have any defined scan points. So PreScan launches, calls to generate scan points, and the ship doesn't have any, so the process fails.

edit: checked again, and that looks like it. Is it possible to hack them? Generating hack points uses a similar process, but I think uses a different set of coordinates. Might not even be possible to just get into a Beholder/Trojan and double-click scan/hack outside of a boarding situation.

Or they're equipped with lead-lined walls reinforced with scan scramblers and Xenon level software security AIs.
Ah, I see. Thanks for looking into that. Possibly we'd want to ask BR to look at this, as he's added the Sennin variants used by the Reivers. However, as the base Sennin is a vanilla vessel, possibly it's an ES oversight? Not urgent at all, just glad I know why now :)

Scoob.

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Thu, 13. Aug 15, 01:35

Omicron ship? Can't remember having ever encountered one.

If it is based on a vanilla ship, should be able to just copy the points over from the vanilla files. Can't remember where they're stored, though, since I don't play with models much. Navmesh maybe?

Scoob
Posts: 10081
Joined: Thu, 27. Feb 03, 22:28
x4

Post by Scoob » Thu, 13. Aug 15, 01:41

w.evans wrote:Omicron ship? Can't remember having ever encountered one.

If it is based on a vanilla ship, should be able to just copy the points over from the vanilla files. Can't remember where they're stored, though, since I don't play with models much. Navmesh maybe?
It's been a while since I played vanilla, so I might be getting a little confused. I thought it was added as an Albion vessel a few updates back. Really not sure now though, and it's way too late for thinking :)

Scoob.

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Thu, 13. Aug 15, 01:43

Heh. I hear ya.

Sparky Sparkycorp
Moderator (English)
Moderator (English)
Posts: 8074
Joined: Tue, 30. Mar 04, 12:28
x4

Post by Sparky Sparkycorp » Thu, 13. Aug 15, 02:14

I'm pretty sure the Sennin variants are BlackRain-developed monsters.

There was a new vanilla ship with a similar name though (Sanahar).

Edit: Not sure what vanilla ship the Sennins were based on but I think it was mentioned in the World War X thread. Probably something like a Titurel or Sanahar.

User avatar
xrook
Posts: 205
Joined: Fri, 31. Jul 15, 01:25

Post by xrook » Fri, 14. Aug 15, 09:48

in each and every captured ship i do, i always have to re-talk to the marine officer to "work on this ship"

as a person whos main income comes from capturing ships, im starting to find it annoying already

is there a way to make them "work for my ship" automatically?

Sparky Sparkycorp
Moderator (English)
Moderator (English)
Posts: 8074
Joined: Tue, 30. Mar 04, 12:28
x4

Post by Sparky Sparkycorp » Fri, 14. Aug 15, 10:08

Yes. Dock, remotely tell your crew to work on the new ship and then speak to MO face-to-face.

If you are using the Capital Ship Bridge and/or Co-Pilot Convo mods I guess docking is slower but in vanilla, doing the above via docking is basically as quick as entering the rear of the Skunk to order crew to work on a ship.

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Sat, 7. Nov 15, 08:03

Does anybody else feel like the Boarding Strength at Normal difficulty with the version uploaded to Steam progresses a bit too fast? Started a new game this week, boarded 5 Titurels so far, and:

1st boarding with 50 recruits, 5/5/4 Marine Officer, had to destroy all surface elements and drop the hull down to around 10%, some losses

2nd boarding, about the same, but didn't have to drop the hull much, no losses

3rd boarding, destroyed all surface elements, didn't have to touch the hull at all, no losses

4th boarding, about the same as the third, no losses

5th, destroyed just the turrets, engines, and jump drive, drone bay intact, lost around 9 marines.

edit: 6th, another Titurel, drone bay intact, no losses

7th, an epic Arawn, destroyed EVERYTHING but hull wasn't reduced any more than over the course of destroying surface elements. 12 losses.

#8 was another Titurel, destroyed just the turrets, engines, and jump drive. Blitz (op done in a couple of seconds), with no losses. Got my first elite.

edit: Boarding Strength plateaus at around #11 (Boarding Strength at around 300) when most of the marines hit veteran. There's still progress but, because of the low chance of a marine getting promoted to elite, progress slows down by a lot.
Last edited by w.evans on Sun, 8. Nov 15, 12:29, edited 3 times in total.

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Sat, 7. Nov 15, 11:42

7.Nov.2015 - Marine Rebalance is updated to v0.50

Compatibility update with the Fleet Supported Boarding mod by Marvin Martian

Thanks to Marvin for thinking about compatibility.

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Sun, 22. Nov 15, 10:25

22.Nov.2015 - Marine Rebalance is updated to v0.51

The number of scan points for PreScan in Normal difficulty was reduced to 1-3 points for some testing, and I forgot to put them back up. This has been fixed. When doing PreScan in Normal difficulty, you will now have to scan between 2 and 10 points to successfully scan a ship in preparation for boarding.

Marvin Martian is doing something really cool with his Fleet Supported Boarding mod. I'll let him announce it when it's released. Some things were changed in this mod upon his recommendation to prepare compatibility with this upcoming really cool thing. Thanks to Marvin, as usual, for thinking about compatibility.

Vlyxnol
Posts: 45
Joined: Wed, 19. Feb 14, 18:33
x4

Post by Vlyxnol » Tue, 15. Dec 15, 16:52

Evans thank you for making this mod, it really does make boarding balanced and even more interesting. I'm using some of your other mods like MCT and they make this game so much more enjoyable.

I have been playing with your mods and "Conquest and War in Rebirth" and it has been an amazing experience. I hope that egosoft takes note of the hard work being done by you modders.

I have been playing this entire play through on Hard without switching and boarding is truly hard now. At first I was really banging my head against the wall trying to figure out how to not lose to many marines while overall slowly gaining elite marines. I don't mind figuring difficult things out because to me thats most of the fun :).
Spoiler
Show
At first I'd lose an average of 12 marines and gain 1 elite every other ship capture using prescan(capturing ships with 5 strength). Than after I got to around 50+ boarding strength over my opponent I noticed 50% of the time I'd lose 0 marines a wave. Eventually when I got to where I had 75+ strength on the ship I noticed I'd lose 0 marines a wave 100% of the time(I started not prescaning to level faster at this point), and eventually when I got to 100+ boarding started going very fast.
I'm assuming this is how you intended it to be done and this system was tough to figure out but in the end makes perfect sense and is very very good.

My only tweak I would recommend is to make it so the death of elite marines is much less, I had to resort to Save/Loading techniques during boards just because when I did lose marines 90% of the losses would be elites and veterans, which just makes it so you never can progress above 50 board strength unless you suffer 0 elite losses, which early on requires alot of reloading during each board wave.
Last edited by Vlyxnol on Wed, 16. Dec 15, 06:40, edited 2 times in total.

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Tue, 15. Dec 15, 22:06

Was looking through old pages from this thread -- fond memories -- and found this:

http://forum.egosoft.com/viewtopic.php? ... 89#4477289

Looks like there supposedly is already a higher chance of a recruit dying rather than an elite. The documentation on "scale" is rather scant, but if lubatomy's analysis is correct (and it usually is), increasing the value of the "scale" attribute should increase the weight towards recruits further.

I also found a sort of let's play I wrote a fairly long time ago. Here:

http://forum.egosoft.com/viewtopic.php? ... 46#4475046

The numbers and features of the mod are considerably different now, but the method of boarding as well as weighing the risks involved in particular situations in the context of your intrepid marines' (hopefully) progressing careers should still hold true.

Glad you're enjoying the mod.

ps. Not doing Prescan won't increase the chances of your marines being promoted. All they have to do is board and survive.

Vlyxnol
Posts: 45
Joined: Wed, 19. Feb 14, 18:33
x4

Post by Vlyxnol » Wed, 16. Dec 15, 06:30

Alright so I went and added some code and did some detailed testing. I want to say that I'm no great programmer i'm a novice at best so if something looks wrong to you in my approach it probably is. I used X-Rebirth Tools to append the cat file with a new boarding.xml file and I verified that I was editing the used file.


First, I used a save where I started right before the last pod reached the target, each test was just me sitting and letting the board happen. I started with no changes to the mod and did 10 captures and found the Elite Death Rate to be 1.6 average per capture. More details on the setup below.

Than I changed the following code..

Code: Select all

<!--Fight Outcome-->
	<replace sel="//cue[@name='MarineFight']/actions/do_if[@value='$nummarines']/do_if[@value='$fightoutcome gt 10']">
		<do_if value="$fightoutcome gt 10">
			<set_value name="$losschancemin" exact="(($defencestrength)f / ((($attackstrength)f) / 4)) * 2"/>
			<set_value name="$losschancemax" exact="(($defencestrength)f / ((($attackstrength)f) / 5)) * 2"/>
			<include_actions ref="LoseMarines"/>
			<!--<show_notification caption="{97523, 11}" details="'Taking heavy losses!\nYou lost %1 marines.'.[($InjuredAmount)i]" timeout="10s" queued="false" priority="8" sound="notification_generic"/>-->
		</do_if>
	</replace>

	<replace sel="//cue[@name='MarineFight']/actions/do_if[@value='$nummarines']/do_elseif[@value='$fightoutcome lt -10']">
		<do_elseif value="$fightoutcome lt -100">
			<!--<show_notification caption="{97523, 11}" details="'Rolling them up.\nIt will all be over in a minute.'" timeout="10s" queued="false" priority="8" sound="notification_generic"/>-->
			<!--<write_to_logbook category="general" text="'WE ARE UNSTOPPABLE!  BWAHAHAHAHA!  Fight Outcome = %1.'.[$fightoutcome]"/>-->
		</do_elseif>
	</replace>

	<add sel="//cue[@name='MarineFight']/actions/do_if[@value='$nummarines']/do_else[2]">
		<!--<show_notification caption="{97523, 11}" details="'Meeting resistance, but we are getting there.\n%1 marines remaining.\nPressing on.'.[$nummarines]" timeout="10s" queued="false" priority="8" sound="notification_generic"/>-->
		<!--<write_to_logbook category="general" text="'Close Fight:  Fight Outcome = %1, Outcome Decider = %2\n  Minimum Losses = %3, Maximum Losses = %4'.[$fightoutcome, $outcomedecider, $losschancemin, $losschancemax]"/>-->
	</add>

	<replace sel="//set_value[@name='$outcomedecider']/@min">$fightoutcome + 50</replace>

	<replace sel="//set_value[@name='$outcomedecider']/@max">$fightoutcome + 100</replace>
I added.....

Code: Select all

	<replace sel="//cue[@name='MarineFight']/actions/do_if[@value='$nummarines']">
		<set_value name="$KilledMarineMKIndex" min="1" max="$PossibleMarines.count" profile="decreasing" scale="10"/> 
		<include_actions ref="LoseMarines"/>
	</replace>
So my Final Code was....

Code: Select all

<!--Fight Outcome-->
	<replace sel="//cue[@name='MarineFight']/actions/do_if[@value='$nummarines']">
		<set_value name="$KilledMarineMKIndex" min="1" max="$PossibleMarines.count" profile="decreasing" scale="10"/> 
		<include_actions ref="LoseMarines"/>
	</replace>
	<replace sel="//cue[@name='MarineFight']/actions/do_if[@value='$nummarines']/do_if[@value='$fightoutcome gt 10']">
		<do_if value="$fightoutcome gt 10">
			<set_value name="$losschancemin" exact="(($defencestrength)f / ((($attackstrength)f) / 4)) * 2"/>
			<set_value name="$losschancemax" exact="(($defencestrength)f / ((($attackstrength)f) / 5)) * 2"/>
			<include_actions ref="LoseMarines"/>
			<!--<show_notification caption="{97523, 11}" details="'Taking heavy losses!\nYou lost %1 marines.'.[($InjuredAmount)i]" timeout="10s" queued="false" priority="8" sound="notification_generic"/>-->
		</do_if>
	</replace>

	<replace sel="//cue[@name='MarineFight']/actions/do_if[@value='$nummarines']/do_elseif[@value='$fightoutcome lt -10']">
		<do_elseif value="$fightoutcome lt -100">
			<!--<show_notification caption="{97523, 11}" details="'Rolling them up.\nIt will all be over in a minute.'" timeout="10s" queued="false" priority="8" sound="notification_generic"/>-->
			<!--<write_to_logbook category="general" text="'WE ARE UNSTOPPABLE!  BWAHAHAHAHA!  Fight Outcome = %1.'.[$fightoutcome]"/>-->
		</do_elseif>
	</replace>

	<add sel="//cue[@name='MarineFight']/actions/do_if[@value='$nummarines']/do_else[2]">
		<!--<show_notification caption="{97523, 11}" details="'Meeting resistance, but we are getting there.\n%1 marines remaining.\nPressing on.'.[$nummarines]" timeout="10s" queued="false" priority="8" sound="notification_generic"/>-->
		<!--<write_to_logbook category="general" text="'Close Fight:  Fight Outcome = %1, Outcome Decider = %2\n  Minimum Losses = %3, Maximum Losses = %4'.[$fightoutcome, $outcomedecider, $losschancemin, $losschancemax]"/>-->
	</add>

	<replace sel="//set_value[@name='$outcomedecider']/@min">$fightoutcome + 50</replace>

	<replace sel="//set_value[@name='$outcomedecider']/@max">$fightoutcome + 100</replace>
Upon my second set of 10 captures using the same save with only the code being changed above, I got an Elite Death Rate of 1.1 average per capture.

Next I changed the scale to "100" and ran 10 more captures off of this same save with no other changes and got an Elite Death Rate of 1.0 average per capture.

Either my code is wrong and not working, my sample size is to low, or everything is working how I intended and to get the elite death rate below 1.0 the scale must be set very very high.

However after all this being done, the original problem still exists. If you have 30 veterans on average survive the capture (which I think is roughly average if your doing it right) than your Elite Gained per Capture is 1.5. If the 1.6 elite deaths per capture from my first set of 10 with the original code is right than the player would have to get lucky to get above 50 boarding strength early on, and this is what was happening to me and why I had to cheat and constantly reload my save to get good results to progress. Granted this is all being done on Hard difficulty and the player could change to normal early on, so this isn't game breaking by any means just a small thing.

Thanks for reading,
Vlyxnol


Boarding Details:
Captured ship Rahanas.
Boarded ship initial and final strength 52
Ending player boarding strength 67-88
Prescan used.
Starting Elite Marines = 7
Average Total Marine Death Count = 12
Marine Officer Skills - 5/5/5
Game Difficulty - Hard

PS: If you want screenshots of the 30 total ship captures I can upload them.

Post Reply

Return to “X Rebirth - Scripts and Modding”