View Issue Details

IDProjectCategoryLast Update
0021495AI War 2Bug - GameplaySep 3, 2019 4:29 pm
Reporterzharmad Assigned ToBadgerBadger  
Status resolvedResolutionfixed 
Product Version0.880 Belatedly Finding Friends... And Enemies 
Fixed in Version0.886 Zombie Homebodies 
Summary0021495: Caps of some ships and structures are stuck at 1/1 despite mark upgrade.
DescriptionIn older versions, when a military command station gains experience to mark-II, it will acquire two forcefields. (Assuming no technology in either Forcefields of Mil. Commands). This seems no longer to be the case. All Forcefields regardless of station experience and tech level will have a cap of 1.

Further testing shows that all ships and structures that have been given a cap of 1 will fail to increase in numbers with increasing mark-levels. In save A, strike Omdes and strike Raion each have assault frigates.
- The version on Raion was given 2 to start with (FrigatesWithSupport) this cap was increased to 4, and with the IGC (Frigate) this was further increased to 6.
- the version on Omdes (and Hildnut) remains at 1.
NB: other frigate can be see on planet Rivest and around the galaxy, all at 1/1. Comparing the cap of sentry frigates and station-keeping assault frigates on a Logistics (Stade at bottom left with GCA) versus a Military (Rivest with the fleet) will show the same result.
TagsNo tags attached.

Activities

BadgerBadger

Aug 10, 2019 7:43 pm

manager   ~0052526

Dominus, I suspect your recent changes in ship caps

wm46

Aug 11, 2019 9:31 am

reporter   ~0052528

Found the issue:

                        if ( this.EffectiveSquadCap > 1 )
                        {
                            //We already checked for drone status, so now see if this thing gets bonus ships from higher marks
                            if (this.ForMark.MarkLevel.SquadCapMultiplier > FInt.One)
                                this.EffectiveSquadCap = (this.EffectiveSquadCap * this.ForMark.MarkLevel.SquadCapMultiplier).GetNearestIntPreferringHigher();

                            ...
                        }

So right now ships will only get the bonus units applied if they have a cap larger than 1. This also introduces a new bug with drones, drones will now have an increased cap when marking up, which is different from before.

wm46

Aug 11, 2019 9:50 am

reporter   ~0052529

Nvm, does not increase drone cap, I didn't see that this code was nested inside: if ( !IsDrone )

Zoreiss

Aug 14, 2019 9:49 am

reporter   ~0052557

This issue really makes the game a lot harder, unless I have just been very unlucky I keep getting fleets with only 1 frigate on them. The forcefields staying at 1 is tough too!

wm46

Aug 14, 2019 11:53 am

reporter   ~0052558

I'll make the change when I get back from work, but it won't be released until Chris pushes an update to steam.

I would send you a compiled dll with the change, but I suck at compiling the core dll properly and things break

Dominus Arbitrationis

Aug 14, 2019 1:11 pm

administrator   ~0052559

Last edited: Aug 14, 2019 1:11 pm

I'm not going to be able to make and push a change for a couple of days due to work schedule.

I'm not sure if we even need the >1 check, since stuff like flagships shouldn't have a multiplier.

wm46

Aug 14, 2019 8:10 pm

reporter   ~0052560

I can't think of any "one of" ship that shouldn't get more than one. Are trader purchases affected by mark level?

Zoreiss

Sep 2, 2019 7:56 pm

reporter   ~0052750

Any update on this issue? It's frustrating getting only 1 of frigates, especialy with the new ship capture research station. Thanks!

BadgerBadger

Sep 2, 2019 11:56 pm

manager   ~0052756

Last edited: Sep 3, 2019 12:18 am

I think the fix is going to be to add a "This unit's cap size is not allowed to increase" flag to the Membership class, and set that here:
                //these are per-fleet now, of course!
                switch ( this.TypeData.SpecialType )
                {
                    case SpecialEntityType.BattlestationBasic:
                    case SpecialEntityType.BattlestationCitadel:
                    case SpecialEntityType.MobileOfficerCombatFleetFlagship:
                    case SpecialEntityType.MobileStrikeCombatFleetFlagship:
                    case SpecialEntityType.MobileSupportFleetFlagship:
                    case SpecialEntityType.MobileLoneWolfFleetFlagship:
                    case SpecialEntityType.AICommandStationOriginal:
                    case SpecialEntityType.AICommandStationReconquest:
                    case SpecialEntityType.NormalHumanCommandStation:
                    case SpecialEntityType.HumanHomeCommand:
                    case SpecialEntityType.AIKingCommandStation:
                    case SpecialEntityType.AIKingMobile:
                        this.EffectiveSquadCap = 1;
                        this.LocalPlayerUISquadCap = 1;
                         <Add new field here>
                        break;

Then change the ensuing checks to ask "Is this allowed to have an increased cap" instead of "if ( EffectiveSquadCap > 1 )"

What do people think about that suggestion?

Also, could someone upload a save game to make testing a fix for this easy?

Zoreiss

Sep 3, 2019 11:37 am

reporter   ~0052768

Here you go!

BadgerBadger

Sep 3, 2019 4:02 pm

manager   ~0052777

Frigates are now allowed to have their cap increase. If it's still strongly desired to get more forcefields as command stations level up then please open a new bug if this code doesn't fix that too (I didn't check that path)

RocketAssistedPuffin

Sep 3, 2019 4:26 pm

reporter   ~0052779

It seems that the forcefield cap does indeed increase with your fix.

Zoreiss

Sep 3, 2019 4:29 pm

reporter   ~0052780

Sweet! Can't wait for the next update, thanks guys!

Issue History

Date Modified Username Field Change
Aug 10, 2019 7:40 pm zharmad New Issue
Aug 10, 2019 7:43 pm BadgerBadger Assigned To => Dominus Arbitrationis
Aug 10, 2019 7:43 pm BadgerBadger Status new => assigned
Aug 10, 2019 7:43 pm BadgerBadger Note Added: 0052526
Aug 11, 2019 9:31 am wm46 Note Added: 0052528
Aug 11, 2019 9:50 am wm46 Note Added: 0052529
Aug 14, 2019 9:49 am Zoreiss Note Added: 0052557
Aug 14, 2019 11:53 am wm46 Note Added: 0052558
Aug 14, 2019 1:11 pm Dominus Arbitrationis Note Added: 0052559
Aug 14, 2019 1:11 pm Dominus Arbitrationis Note Edited: 0052559
Aug 14, 2019 8:10 pm wm46 Note Added: 0052560
Sep 2, 2019 7:56 pm Zoreiss Note Added: 0052750
Sep 2, 2019 11:56 pm BadgerBadger Note Added: 0052756
Sep 3, 2019 12:18 am BadgerBadger Note Edited: 0052756
Sep 3, 2019 11:37 am Zoreiss File Added: 1 of Mugger and Hydra Warbird.savemet
Sep 3, 2019 11:37 am Zoreiss File Added: 1 of Mugger and Hydra Warbird.save
Sep 3, 2019 11:37 am Zoreiss Note Added: 0052768
Sep 3, 2019 4:02 pm BadgerBadger Assigned To Dominus Arbitrationis => BadgerBadger
Sep 3, 2019 4:02 pm BadgerBadger Status assigned => resolved
Sep 3, 2019 4:02 pm BadgerBadger Resolution open => fixed
Sep 3, 2019 4:02 pm BadgerBadger Fixed in Version => 0.886 Zombie Homebodies
Sep 3, 2019 4:02 pm BadgerBadger Note Added: 0052777
Sep 3, 2019 4:26 pm RocketAssistedPuffin Note Added: 0052779
Sep 3, 2019 4:29 pm Zoreiss Note Added: 0052780