View Issue Details

IDProjectCategoryLast Update
0021186AI War 2[All Projects] Bug - GameplayMay 18, 2019 8:14 pm
Reporterwm46Assigned ToBadgerBadger 
Severityminor 
Status resolvedResolutionfixed 
Product VersionBETA 0.856 Clever Girl 
Fixed in VersionBETA 0.861 Strength Of Remains 
Summary0021186: Hydra Head Ships Function Oddly
DescriptionThe hydra head version of ships function oddly in that they can't be put into roaming defender mode at all. The icon flashes red and white until an order is given, then it just stays white.

I think it could be fixed if they just get put into the zombie fleet when created. It should be fine since zombies now attrition.
TagsNo tags attached.

Activities

RocketAssistedPuffin

May 6, 2019 5:34 am

developer   ~0051526

They are also meant to attrition without their parent, but don't.

wm46

May 11, 2019 1:35 am

reporter   ~0051582

I understand the issue now, but I don't know a good way to fix at the moment.

The main issue is in DoEntitySecondLogic for GameEntity_Squad, there are several things that build up to this wonkiness:

1. Ships that spawn from spawns_on_death get added to the fleet of the dying ship.
            This causes a minor annoyance that they pop up under the fleet centerpiece as ships they can rebuild, when they can't. Very minor, goes away when the ship dies.

2. Attrition damage functions off of being on the same planet as the fleet centerpiece, rather than the "parent" ship
            Fine for drones, since they are only created by fleet centerpieces. Not fine for zombies and hydra heads since they are not directly created by fleet centerpieces.

3. The attrition damage logic attempts to force ships into drone behaviors when on the same planet as the fleet centerpiece
            Fine for drones, but when a ship doesn't have drone orders set, things don't work as intended

4. If the fleet centerpiece is null, none of this logic functions at all (including attrition damage)
            This is why zombies are no longer attritioning, and why the solution to above problems is not as simple as removing the fleet membership from ships created by spawns_on_death

wm46

May 11, 2019 1:45 am

reporter   ~0051583

I'm tired so I'm not going to make these changes now, but I do have somewhat of a plan.

Ships spawned from spawns_on_death don't inherit fleet membership, set fleet to null.
Break up the attrition check
            First check if the ship attritions
                        If the ship has a fleet membership, use the current logic
                        Else check ( this.TypeData.SpecialType != SpecialEntityType.DroneGeneral && this.TypeData.SpecialType != SpecialEntityType.DroneFrigate )
                                    From there, force the unit into full attacker behavior and make it attrition.

wm46

May 11, 2019 1:53 am

reporter   ~0051584

Attrition logic is going to get ugly pretty quickly though, as after this change is made there's going to be yet another edge case of drones with non-centerpiece parents, tethidula and shredder drones (also marauders).

Maybe having centerpiece checking in the attrition code is too ugly, and things should revert back to checking if a specific primaryIDKey is on the same planet...

BadgerBadger

May 11, 2019 11:22 am

manager   ~0051585

I would run a potential solution past Chris to see if he has any recommendations.

BadgerBadger

May 17, 2019 8:30 pm

manager   ~0051672

Weapon Master, you fixed this one, right?

wm46

May 18, 2019 9:03 am

reporter   ~0051697

I never got a save to test the fix, but in theory its fixed with the addition of always_self_attritions

Issue History

Date Modified Username Field Change
May 5, 2019 10:15 pm wm46 New Issue
May 6, 2019 5:34 am RocketAssistedPuffin Note Added: 0051526
May 11, 2019 1:35 am wm46 Note Added: 0051582
May 11, 2019 1:45 am wm46 Note Added: 0051583
May 11, 2019 1:53 am wm46 Note Added: 0051584
May 11, 2019 11:22 am BadgerBadger Note Added: 0051585
May 17, 2019 8:30 pm BadgerBadger Note Added: 0051672
May 18, 2019 9:03 am wm46 Note Added: 0051697
May 18, 2019 8:14 pm BadgerBadger Assigned To => BadgerBadger
May 18, 2019 8:14 pm BadgerBadger Status new => resolved
May 18, 2019 8:14 pm BadgerBadger Resolution open => fixed
May 18, 2019 8:14 pm BadgerBadger Fixed in Version => BETA 0.861 Strength Of Remains