View Issue Details

IDProjectCategoryLast Update
0021575AI War 2Bug - GameplaySep 9, 2019 10:33 am
Reporterwm46 Assigned To 
Status resolvedResolutionfixed 
Product Version0.886 Zombie Homebodies 
Fixed in Version0.888 Astro Examination 
Summary0021575: Ships gain full cloak after unstacking
DescriptionNow that player ships can stack, and that the stack starting point has been lowered in general, I've noticed that cloaking points do not carry over when unstacking. This is true both for deaths, and for any other unstacking reason like tractors.

For players defending planets this is not really a big issue (as long as its not early game where you have very little uncloaking ability), but this could possibly be abused by the player in attacking the AI.

Set the stack limit to 6 >> Stack your 50-ish units into 6 units >> Each stack can now shoot 45 times before being fully killed.

Since the the 9x stack gets 9x damage, 8x gets 8x... It gives a total damage value of 225x damage x 6 units, or basically enough damage to kill anything important.
TagsNo tags attached.

Activities

wm46

Sep 4, 2019 9:28 pm

reporter   ~0052835

Forgot stacks were changed from max 10x damage + 1 shot every 10 after, to max 5x + 1 shot every 5 after. Still a lot of damage for free though.

wm46

Sep 8, 2019 11:46 am

reporter   ~0052920

I happened to find why ships were cloaking in the first place World_AIW2.cs line 1987:

                    if ( entity.CloakingPointsLost > 0 && entity.GameSecondOfLastCloakingPointLoss < World_AIW2.Instance.GameSecond - ExternalConstants.Instance.SecondsToWaitBeforeRecloaking )
                    {
                        //must be all the way out
                        if ( entity.GetCurrentCloakingPoints() <= 0 )
                            entity.CloakingPointsLost = 0;
                        else //otherwise stop checking for a bit
                            entity.GameSecondOfLastCloakingPointLoss = World_AIW2.Instance.GameSecond;
                    }

This code resets the ship's cloaking points to full if the last second the ship lost cloaking points was more than 5 seconds ago. When EjectEntireStackFromMyselfIfPresent is called, the code copies over the cloaking points lost, but not the GameSecondOfLastCloakingPointLoss.

Maybe the cloaking points should just be set to the current game second when cloaked ships unstack.

wm46

Sep 8, 2019 1:12 pm

reporter   ~0052921

Just submitted a fix, revealed ships with cloaking must wait a minimum of 5 seconds after a ship on the stack dies before they can cloak again.

BadgerBadger

Sep 9, 2019 10:07 am

manager   ~0052942

WM, you just checked in a fix for this, right?

wm46

Sep 9, 2019 10:20 am

reporter   ~0052943

I did, this can be closed

BadgerBadger

Sep 9, 2019 10:33 am

manager   ~0052945

Fixed

Issue History

Date Modified Username Field Change
Sep 4, 2019 9:23 pm wm46 New Issue
Sep 4, 2019 9:28 pm wm46 Note Added: 0052835
Sep 8, 2019 11:46 am wm46 Note Added: 0052920
Sep 8, 2019 1:12 pm wm46 Note Added: 0052921
Sep 9, 2019 10:07 am BadgerBadger Note Added: 0052942
Sep 9, 2019 10:20 am wm46 Note Added: 0052943
Sep 9, 2019 10:33 am BadgerBadger Status new => resolved
Sep 9, 2019 10:33 am BadgerBadger Resolution open => fixed
Sep 9, 2019 10:33 am BadgerBadger Fixed in Version => 0.888 Astro Examination
Sep 9, 2019 10:33 am BadgerBadger Note Added: 0052945