View Issue Details

IDProjectCategoryLast Update
0021343AI War 2Balance IssueJul 3, 2019 10:56 am
Reporterptarth Assigned To 
Status closedResolutionno change required 
Product Version0.871 More Control, Part 1 
Summary0021343: Should Zombies produce salvage?
DescriptionCurrently Zombies produce salvage for the AI (at least it looks like it did in testing, I can't enable the AI salvage to view to validate).
Current Zombies AI is purposefully unintelligent and causes them to raid the AI at regular intervals. These raids are under strength, and generally cause no material damage against the AI. However, the AI is able to generate salvage from it, which can go into Reprisal waves.

So, it seems that either the zombies shouldn't generate salvage or zombies should have smarter raid behaviors.
I'm not sure about anti-player zombies, or similar entities.
TagsNo tags attached.

Activities

Chris_McElligottPark

Jul 3, 2019 10:56 am

administrator   ~0052008

Not sure if this is new, but it looks like they already don't:



                    debugStage = 4200;
                    if ( entity.Planet.GetIsControlledByFactionType( FactionType.Player ) )
                    {
                        debugStage = 4300;
                        //If this is on a player planet, give it PlayerSalvage for any non-player unit that dies
                        if ( entity.PlanetFaction.Faction.ControlledByPlayerAccounts_DuringGame.Count == 0 )
                        {
                            entity.Planet.PlayerSalvage += entity.DataForMark.StrengthPerSquad * ExternalConstants.Instance.PlayerSalvageMultiplier;
                            if ( debug )
                                ArcenDebugging.ArcenDebugLogSingleLine( entity.TypeData.InternalName + " with strength "+ entity.DataForMark.StrengthPerSquad + " * multiplier " + ExternalConstants.Instance.PlayerSalvageMultiplier + " just died on player planet " + entity.Planet.Name + ". PlayerSalvage is now " + entity.Planet.PlayerSalvage, Verbosity.DoNotShow );

                        }
                    }
                    else if ( entity.Planet.GetIsControlledByFactionType( FactionType.AI ) && entityOwningFaction != null)
                    {
                        debugStage = 4400;

                        AISentinelsExternalData sentinels = entity.Planet.GetControllingFaction().GetSentinelsExternal();
                        if ( sentinels != null && sentinels.AIDifficulty.AIPUnlockReprisalWave <= sentinels.AIProgress_Effective ) //Note that this is on a per-faction AIP basis, not the highest of any faction
                        {
                            debugStage = 4500;
                            //if the thing killed is a player unit on an AI planet, and the AIP is high enough, give the AI salvage
                            //We don't give salvage for non-player units (otherwise the Devourer or Marauders will trigger reprisal waves)
                            if ( entityOwningFaction.ControlledByPlayerAccounts_DuringGame.Count > 0 )
                            {
                                debugStage = 4600;
                                FInt updateAmount = entity.DataForMark.StrengthPerSquad * ExternalConstants.Instance.AISalvageMultiplier;
                                entity.Planet.AISalvage += updateAmount;
                                entity.Planet.SecondLastUpdatedAISalvage = World_AIW2.Instance.GameSecond;
                                if ( debug )
                                    ArcenDebugging.ArcenDebugLogSingleLine( entity.TypeData.InternalName + " with strength "+ entity.DataForMark.StrengthPerSquad + " * multiplier " + ExternalConstants.Instance.AISalvageMultiplier + " = " + updateAmount + " just died on ai planet " + entity.Planet.Name + " set this-planet AISalvage to " + entity.Planet.AISalvage + " total AI salvage " + sentinels.StoredSalvage, Verbosity.DoNotShow );

                            }
                        }
                    }

Issue History

Date Modified Username Field Change
Jul 2, 2019 8:54 pm ptarth New Issue
Jul 3, 2019 10:56 am Chris_McElligottPark Status new => closed
Jul 3, 2019 10:56 am Chris_McElligottPark Resolution open => no change required
Jul 3, 2019 10:56 am Chris_McElligottPark Note Added: 0052008