Bug report

Talk about general things concerning Forged Alliance Forever.

Moderators: FtXCommando, Ze Dogfather

Bug report

Postby ZLO_RD » 06 Apr 2014, 15:50

When you build cyb t3 nuke sub, it arrives with stealth "on" but not consuming power (not consuming power when should)
also stealth is working, i tested that

and if you not making nuke, and try to turn stealth off and then on, it will consume -200
but when you start make nuke missile, it gets -4500 as like stealth is not consuming power (not showing, that sub consuming power while it is consuming it, in other words - it is shwing -4500 power no matter is stealth on or off)

i am sure it should be easy to replicate, just build sub, turn stealth on/off
then start building nuke while stealth on and turn off stealth, and then press "stop"
or start building nuke while stealth is "off", and then try turn it "on"

gonna attach replay anyway, but there are some other action before i spawn subs
Attachments
2053032-ZLO.fafreplay
i was testing quite some stuff there
(24.68 KiB) Downloaded 27 times
http://www.youtube.com/user/dimatularus
http://www.twitch.tv/zlo_rd
TA4Life: "At the very least we are not slaves to the UI"
User avatar
ZLO_RD
Supreme Commander
 
Posts: 2265
Joined: 27 Oct 2011, 13:57
Location: Russia, Tula
Has liked: 303 times
Been liked: 400 times
FAF User Name: ZLO

Re: Bug report

Postby Anaryl » 06 Apr 2014, 18:23

Code: Select all
UnitBlueprint {
    AI = {
        InitialAutoMode = false,
    },
    Audio = {
        AmbientMove = Sound {
            Bank = 'URS',
            Cue = 'URS0304_Move_Loop',
            LodCutoff = 'UnitMove_LodCutoff',
        },
        AmbientMoveSub = Sound {
            Bank = 'URS',
            Cue = 'URS0304_Move_Loop',
            LodCutoff = 'UnitMove_LodCutoff',
        },
        Killed = Sound {
            Bank = 'URSDestroy',
            Cue = 'URS0304_Destroy',
            LodCutoff = 'UnitMove_LodCutoff',
        },
        NuclearLaunchDetected = Sound {
            Bank = 'XGG',
            Cue = 'Computer_Computer_MissileLaunch_01351',
        },
        StartMove = Sound {
            Bank = 'URS',
            Cue = 'URS0304_Move_Start',
            LodCutoff = 'UnitMove_LodCutoff',
        },
        StartMoveSub = Sound {
            Bank = 'URS',
            Cue = 'URS0304_Move_Start',
            LodCutoff = 'UnitMove_LodCutoff',
        },
        StopMove = Sound {
            Bank = 'URS',
            Cue = 'URS0304_Move_Stop',
            LodCutoff = 'UnitMove_LodCutoff',
        },
        StopMoveSub = Sound {
            Bank = 'URS',
            Cue = 'URS0304_Move_Stop',
            LodCutoff = 'UnitMove_LodCutoff',
        },
        SubmergeStart = Sound {
            Bank = 'URS',
            Cue = 'URS_Sub_Submerge',
            LodCutoff = 'UnitMove_LodCutoff',
        },
        SurfaceStart = Sound {
            Bank = 'URS',
            Cue = 'URS_Sub_Surface',
            LodCutoff = 'UnitMove_LodCutoff',
        },
        UISelection = Sound {
            Bank = 'Interface',
            Cue = 'Cybran_Select_Sub',
            LodCutoff = 'UnitMove_LodCutoff',
        },
    },
    Buffs = {
        Regen = {
            Level1 = 3,
            Level2 = 6,
            Level3 = 9,
            Level4 = 12,
            Level5 = 15,
        },
    },
    BuildIconSortPriority = 20,
    Categories = {
        'PRODUCTSC1',
        'SELECTABLE',
        'BUILTBYTIER3FACTORY',
        'CYBRAN',
        'MOBILE',
        'NAVAL',
        'INDIRECTFIRE',
        'NUKE',
        'SILO',
        'SUBMERSIBLE',
        'TECH3',
        'VISIBLETORECON',
        'RECLAIMABLE',
        'SHOWATTACKRETICLE',
        'NUKESUB',
        'OVERLAYSONAR',
        'OVERLAYINDIRECTFIRE',
        'OVERLAYANTINAVY',
    },
    CollisionOffsetY = -0.25,
    CollisionOffsetZ = 0.25,
    Defense = {
        AirThreatLevel = 0,
        ArmorType = 'Normal',
        EconomyThreatLevel = 0,
        Health = 3500,
        MaxHealth = 3500,
        RegenRate = 0,
        SubThreatLevel = 0,
        SurfaceThreatLevel = 60,
    },
    Description = '<LOC urs0304_desc>Strategic Missile Submarine',
    Display = {
        Abilities = {
            '<LOC ability_stun>EMP Weapon',
            '<LOC ability_manuallaunch>Manual Launch',
            '<LOC ability_sonar>Sonar',
            '<LOC ability_submersible>Submersible',
            '<LOC ability_torpedo>Torpedoes',
        },
        IdleEffects = {
            Sub = {
                Effects = {
                    {
                        Bones = {
                            'Projectile_Front_Right',
                            'Projectile_Front_Left',
                            'URS0304',
                            'Exhaust_Right',
                            'Exhaust_Left',
                        },
                        Type = 'UnderWater01',
                    },
                },
            },
            Water = {
                Effects = {
                    {
                        Bones = {
                            'Exhaust_Right',
                            'Exhaust_Left',
                            'Projectile_Front_Left',
                            'Projectile_Front_Right',
                        },
                        Offset = {
                            0,
                            0,
                            -0.8,
                        },
                        Scale = 0.5,
                        Type = 'SeaIdle01',
                    },
                },
            },
        },
        Mesh = {
            IconFadeInZoom = 130,
            LODs = {
                {
                    LODCutoff = 100,
                    ShaderName = 'Insect',
                },
                {
                    AlbedoName = 'urs0304_lod1_albedo.dds',
                    LODCutoff = 215,
                    ShaderName = 'Insect',
                    SpecularName = 'urs0304_lod1_specteam.dds',
                },
            },
        },
        MotionChangeEffects = {
            SubBottomUp = {
                Effects = {
                    {
                        Bones = {
                            'Projectile_Front_Right',
                            'Projectile_Front_Left',
                            'URS0304',
                            'Exhaust_Right',
                            'Exhaust_Left',
                        },
                        Type = 'Surface01',
                    },
                },
            },
            WaterTopDown = {
                Effects = {
                    {
                        Bones = {
                            'Projectile_Front_Right',
                            'Projectile_Front_Left',
                            'URS0304',
                            'Exhaust_Right',
                            'Exhaust_Left',
                        },
                        Type = 'Submerge01',
                    },
                },
            },
        },
        MovementEffects = {
            Sub = {
                Effects = {
                    {
                        Bones = {
                            'URS0304',
                            'Exhaust_Right',
                            'Exhaust_Left',
                        },
                        Scale = 2.5,
                        Type = 'BackWake',
                    },
                },
            },
            Water = {
                Effects = {
                    {
                        Bones = {
                            'Projectile_Front_Right',
                            'Projectile_Front_Left',
                        },
                        Scale = 0.6,
                        Type = 'LeftFrontWake',
                    },
                    {
                        Bones = {
                            'Projectile_Front_Right',
                            'Projectile_Front_Left',
                        },
                        Scale = 0.6,
                        Type = 'RightFrontWake',
                    },
                    {
                        Bones = {
                            'Exhaust_Right',
                            'Exhaust_Left',
                        },
                        Offset = {
                            0,
                            0,
                            -0.8,
                        },
                        Scale = 0.4,
                        Type = 'BackWake',
                    },
                },
            },
        },
        PlaceholderMeshName = 'UES0304',
        SpawnRandomRotation = true,
        UniformScale = 0.05,
    },
    Economy = {
        BuildCostEnergy = 800000,
        BuildCostMass = 11000,
        BuildRate = 1080,
        BuildTime = 20000,
    },
    Footprint = {
        SizeX = 2,
        SizeY = 0.7,
        SizeZ = 5,
    },
    General = {
        Category = 'Submarine',
        Classification = 'RULEUC_MilitaryShip',
        CommandCaps = {
            RULEUCC_Attack = true,
            RULEUCC_CallTransport = false,
            RULEUCC_Capture = false,
            RULEUCC_Dive = true,
            RULEUCC_Guard = true,
            RULEUCC_Move = true,
            RULEUCC_Nuke = true,
            RULEUCC_Patrol = true,
            RULEUCC_Reclaim = false,
            RULEUCC_Repair = false,
            RULEUCC_RetaliateToggle = true,
            RULEUCC_SiloBuildNuke = true,
            RULEUCC_SiloBuildTactical = false,
            RULEUCC_Stop = true,
            RULEUCC_Tactical = false,
            RULEUCC_Transport = false,
        },
        FactionName = 'Cybran',
        Icon = 'sea',
        TechLevel = 'RULEUTL_Secret',
        UnitName = '<LOC urs0304_name>Plan B',
        UnitWeight = 1,
    },
    Intel = {
        SonarRadius = 60,
        VisionRadius = 16,
        WaterVisionRadius = 35,
    },
    Interface = {
        HelpText = '<LOC urs0304_help>Strategic Missile Submarine',
    },
    LifeBarHeight = 0.075,
    LifeBarOffset = 2,
    LifeBarSize = 2,
    Physics = {
        BackUpDistance = 5,
        BankingSlope = 0,
        BuildOnLayerCaps = {
            LAYER_Air = false,
            LAYER_Land = false,
            LAYER_Orbit = false,
            LAYER_Seabed = false,
            LAYER_Sub = true,
            LAYER_Water = false,
        },
        CatchUpAcc = 10,
        DragCoefficient = 0.2,
        Elevation = -2,
        MaxAcceleration = 3.5,
        MaxBrake = 3.5,
        MaxSpeed = 3.5,
        MaxSpeedReverse = 3.5,
        MaxSteerForce = 5,
        MinSpeedPercent = 0,
        MotionType = 'RULEUMT_SurfacingSub',
        TurnRadius = 15,
        TurnRate = 50,
    },
    SelectionSizeX = 0.95,
    SelectionSizeZ = 2.6,
    SelectionThickness = 0.28,
    SizeX = 1.5,
    SizeY = 0.7,
    SizeZ = 3.75,
    SplitDamage = {
        DamageAmount = 500,
        DamageRadius = 0.5,
    },
    StrategicIconName = 'icon_sub3_missile',
    StrategicIconSortPriority = 145,
    Veteran = {
        Level1 = 12,
        Level2 = 24,
        Level3 = 36,
        Level4 = 48,
        Level5 = 60,
    },
    Weapon = {
        {
            Audio = {
                Fire = Sound {
                    Bank = 'URSWeapon',
                    Cue = 'URS0304_Missile_Cruise',
                    LodCutoff = 'Weapon_LodCutoff',
                },
            },
            BallisticArc = 'RULEUBA_None',
            CollideFriendly = false,
            CountedProjectile = false,
            Damage = 1500,
            DamageFriendly = true,
            DamageRadius = 4,
            DamageType = 'Normal',
            DisplayName = 'Loa Tactical Missile',
            FireTargetLayerCapsTable = {
                Sub = 'Land|Water|Seabed',
                Water = 'Land|Water|Seabed',
            },
            FiringTolerance = 2,
            Label = 'CruiseMissile',
            MaxRadius = 150,
            MinRadius = 15,
            MuzzleSalvoDelay = 1.5,
            MuzzleSalvoSize = 5,
            MuzzleVelocity = 5,
            ProjectileId = '/projectiles/CIFMissileTactical02/CIFMissileTactical02_proj.bp',
            ProjectileLifetime = 50,
            ProjectilesPerOnFire = 1,
            RackBones = {
                {
                    MuzzleBones = {
                        'Projectile_Left',
                    },
                    RackBone = 'Projectile_Left',
                },
                {
                    MuzzleBones = {
                        'Projectile_Right',
                    },
                    RackBone = 'Projectile_Right',
                },
                {
                    MuzzleBones = {
                        'Projectile_Center',
                    },
                    RackBone = 'Projectile_Center',
                },
            },
            RackFireTogether = false,
            RackRecoilDistance = 0,
            RackReloadTimeout = 10,
            RackSalvoChargeTime = 0,
            RackSalvoReloadTime = 0,
            RackSalvoSize = 1,
            RackSlavedToTurret = false,
            RangeCategory = 'UWRC_IndirectFire',
            RateOfFire = 0.05,
            RenderFireClock = true,
            TargetCheckInterval = 2.5,
            TargetPriorities = {
                'SPECIALHIGHPRI',
                'STRUCTURE DEFENSE',
                'SPECIALLOWPRI',
                'ALLUNITS',
            },
            TargetRestrictDisallow = 'UNTARGETABLE',
            Turreted = false,
            WeaponCategory = 'Missile',
        },
        {
            BallisticArc = 'RULEUBA_None',
            CollideFriendly = false,
            Damage = 45,
            DamageType = 'Normal',
            DisplayName = 'Nanite Torpedo',
            DoTPulses = 5,
            DoTTime = 0.5,
            FireTargetLayerCapsTable = {
                Sub = 'Seabed|Sub|Water',
                Water = 'Seabed|Sub|Water',
            },
            FiringTolerance = 2,
            Label = 'Torpedo01',
            MaxRadius = 80,
            MuzzleSalvoDelay = 0,
            MuzzleSalvoSize = 1,
            MuzzleVelocity = 5,
            ProjectileId = '/projectiles/CANTorpedoNanite01/CANTorpedoNanite01_proj.bp',
            ProjectileLifetime = 7,
            ProjectilesPerOnFire = 1,
            RackBones = {
                {
                    MuzzleBones = {
                        'Projectile_Front_Left',
                        'Projectile_Front_Right',
                    },
                    RackBone = 'Projectile_Front_Left',
                },
            },
            RackFireTogether = true,
            RackRecoilDistance = 0,
            RackReloadTimeout = 10,
            RackSalvoChargeTime = 0,
            RackSalvoReloadTime = 0,
            RackSalvoSize = 1,
            RackSlavedToTurret = false,
            RangeCategory = 'UWRC_AntiNavy',
            RateOfFire = 0.5,
            SlavedToBody = true,
            SlavedToBodyArcRange = 10,
            TargetCheckInterval = 1,
            TargetPriorities = {
                'SPECIALHIGHPRI',
                'MOBILE',
                'STRUCTURE DEFENSE',
                'SPECIALLOWPRI',
                'ALLUNITS',
            },
            TargetRestrictDisallow = 'UNTARGETABLE, HOVER',
            TrackingRadius = 1.15,
            Turreted = false,
            WeaponCategory = 'Anti Navy',
        },
        {
            AboveWaterTargetsOnly = true,
            Audio = {
                Fire = Sound {
                    Bank = 'URSWeapon',
                    Cue = 'URS0304_Missile_Emp',
                    LodCutoff = 'Weapon_LodCutoff',
                },
            },
            BallisticArc = 'RULEUBA_None',
            Buffs = {
                {
                    Add = {
                        OnImpact = true,
                    },
                    AppliedToTarget = true,
                    BuffType = 'STUN',
                    Duration = 3,
                    Radius = 40,
                    TargetAllow = 'MOBILE',
                    TargetDisallow = 'TECH3,EXPERIMENTAL,COMMAND',
                },
            },
            CollideFriendly = false,
            CountedProjectile = true,
            Damage = 0,
            DamageType = 'Normal',
            DisplayName = 'EMP Flux Warhead',
            EnergyDrainPerSecond = 0,
            EnergyRequired = 0,
            FireTargetLayerCapsTable = {
                Sub = 'Land|Water|Seabed',
                Water = 'Land|Water|Seabed',
            },
            FiringTolerance = 2,
            InitialProjectileStorage = 0,
            Label = 'NukeMissile',
            ManualFire = 1,
            MaxProjectileStorage = 3,
            MaxRadius = 1024,
            MinRadius = 128,
            MuzzleSalvoDelay = 0,
            MuzzleSalvoSize = 1,
            MuzzleVelocity = 0,
            NukeInnerRingDamage = 70000,
            NukeInnerRingRadius = 30,
            NukeInnerRingTicks = 24,
            NukeInnerRingTotalTime = 0,
            NukeOuterRingDamage = 500,
            NukeOuterRingRadius = 40,
            NukeOuterRingTicks = 20,
            NukeOuterRingTotalTime = 0,
            NukeWeapon = true,
            ProjectileId = '/projectiles/CIFEMPFluxWarhead04/CIFEMPFluxWarhead04_proj.bp',
            ProjectilesPerOnFire = 1,
            RackBones = {
                {
                    MuzzleBones = {
                        'Projectile_Center',
                    },
                    RackBone = 'Projectile_Center',
                },
            },
            RackFireTogether = false,
            RackRecoilDistance = 0,
            RackReloadTimeout = 10,
            RackSalvoChargeTime = 0,
            RackSalvoReloadTime = 0,
            RackSalvoSize = 1,
            RackSlavedToTurret = false,
            RateOfFire = 1,
            TargetCheckInterval = 0.5,
            TargetRestrictDisallow = 'UNTARGETABLE',
            TurretDualManipulators = false,
            TurretPitch = 0,
            TurretPitchRange = 0,
            TurretPitchSpeed = 0,
            TurretYaw = 0,
            TurretYawRange = 0,
            TurretYawSpeed = 0,
            Turreted = false,
            WeaponCategory = 'Missile',
        },
    },
}



That's interesting - personal stealth isn't in the original .bp.

Probably has something to do with it.
Image
User avatar
Anaryl
Banned
 
Posts: 453
Joined: 20 Dec 2011, 18:54
Location: Rohangrad
Has liked: 13 times
Been liked: 6 times
FAF User Name: Anaryl

Re: Bug report

Postby IceDreamer » 06 Apr 2014, 18:57

I was under the impression it had always been Stealthed. Who made that dumb decision then?
IceDreamer
Supreme Commander
 
Posts: 2607
Joined: 27 Dec 2011, 07:01
Has liked: 138 times
Been liked: 488 times

Re: Bug report

Postby Anaryl » 06 Apr 2014, 19:59

Pip apparently.

There seems to be some confusion regarding balance effectiveness here: If your change
a) fails to make appreciable changes to unit usage or meta
&
b) causes bugs due to shitty implementation

then

c: It is a shit change.

Why was effort on this ever expended? Continually it is said that balance needs to focus solely on real and pressing issues. Yet we have this giant mission creep of a patch that is propagating more and more bugs into the game, with more and more changes that were not pressing in 3610. I'm sorry but where is the benchmark for "screwups" here?
Image
User avatar
Anaryl
Banned
 
Posts: 453
Joined: 20 Dec 2011, 18:54
Location: Rohangrad
Has liked: 13 times
Been liked: 6 times
FAF User Name: Anaryl

Re: Bug report

Postby pip » 06 Apr 2014, 20:15

There is a time before each new patch called balance testing. It lasts for several month, usually 2 or more. This change was introduced in june, as a part of other buffs to t3 nuke subs in general, and Cybran got this special ability because its t3 navy is lackluster to say the least and stealth is a Cybran trait. Nobody reported that the Cybran t3 sub energy consumption had an issue when the sub goes out of the yard, so it remained as is until someone, Zlo, report it, 10 month later. What a game breaking bug that remains under the radar for 10 month. It will be very easy to fix in next patch, now that it was reported. And yes, as every mistake, it's a dumb mistake.
pip
Supreme Commander
 
Posts: 1826
Joined: 04 Oct 2011, 15:33
Has liked: 191 times
Been liked: 86 times
FAF User Name: pip

Re: Bug report

Postby errorblankfield » 07 Apr 2014, 00:08

^[In support of this post]

Yea, it's not like we aren't fixing bugs that have been in the game since day one still.

Do people not realize it's literally impossible to keep this (or any) game bug free no matter how long you test it. All it takes is one fresh set of eyes to find a bug no one else would have been able to spot.

Seriously, I haven't built one of those guys in ages. (Not that you can actually play balance patch games during the balance periods... no one host'em and they don't fill.)
errorblankfield
Priest
 
Posts: 409
Joined: 15 Mar 2013, 16:21
Has liked: 7 times
Been liked: 11 times
FAF User Name: errorblankfield

Re: Bug report

Postby IceDreamer » 07 Apr 2014, 00:12

Fixed in next version of Tweak Pack. Three lines of code... Now begins with Stealth turned on and draining, and toggles correctly. Whatever Resin was trying clearly was not hooking correctly, but when I tried hard-overwriting it everything works fine so... Yeah :/
IceDreamer
Supreme Commander
 
Posts: 2607
Joined: 27 Dec 2011, 07:01
Has liked: 138 times
Been liked: 488 times

Re: Bug report

Postby E8400-CV » 07 Apr 2014, 00:45

Anaryl wrote:Pip apparently.

There seems to be some confusion regarding balance effectiveness here: If your change
a) fails to make appreciable changes to unit usage or meta
&
b) causes bugs due to shitty implementation

then

c: It is a shit change.

Why was effort on this ever expended? Continually it is said that balance needs to focus solely on real and pressing issues. Yet we have this giant mission creep of a patch that is propagating more and more bugs into the game, with more and more changes that were not pressing in 3610. I'm sorry but where is the benchmark for "screwups" here?


There also seems to be some confusion regarding "screwups". If a screwup:
a) it not noticed until 10 months later
&
b) has negligible effect on the game

Then that "screwup" is pretty acceptable.

For one: 200 power is usually nothing when one has a power park of ~30.000 /s. I like the effort that was put into this, and now it's gonna be even better. Enjoy!
E8400-CV
Evaluator
 
Posts: 849
Joined: 24 Feb 2013, 21:00
Has liked: 29 times
Been liked: 32 times
FAF User Name: jcvjcvjcvjcv

Re: Bug report

Postby Anaryl » 07 Apr 2014, 05:13

There also seems to be some confusion regarding "screwups". If a screwup:
a) it not noticed until 10 months later
&
b) has negligible effect on the game

Then that "screwup" is pretty acceptable.

For one: 200 power is usually nothing when one has a power park of ~30.000 /s. I like the effort that was put into this, and now it's gonna be even better. Enjoy!


^[In support of this post]

Yea, it's not like we aren't fixing bugs that have been in the game since day one still.

Do people not realize it's literally impossible to keep this (or any) game bug free no matter how long you test it. All it takes is one fresh set of eyes to find a bug no one else would have been able to spot.

Seriously, I haven't built one of those guys in ages. (Not that you can actually play balance patch games during the balance periods... no one host'em and they don't fill.)


When did you all turn into solipsists?

Just because you did not build a plan B does not mean that somebody else did not - the arrogance of assuming one's experience contains all the valid experience is ... well ... staggeringly arrogant. Such individuals should be kept from colouring books, let alone FAF balance.

This isn't one tiny screwup - its one of may tiny screwups that demonstrate how flawed the process is - and how flawed the team is. This isn't new, and just because this isn't a major fuckup doesn't mean that there haven't been or that there won't be. The only place this change shows is in an out of the way balance forum. The changes being pushed by the balance team aren't being remit to the community - and these changes are clearly biased. Arguing that this is the first time is bullshit - this has been happening for months. The only reason this hasn't been caught is because these people lie to cover their own ineptness.

It's completely reasonable to express no - confidence in a balance team that has created more balance issues than they have solved, are clearly biased towards one faction and clearly biased towards one end of the ladder. Where is the line where somebody can reasonably say "These people are doing an absolutely shit job and should be removed?" - there is not a mechanism for this - because it is believed that they can't fail that badly. How badly do these people have to suck before FAF will admit that "these people suck" - at what point is there a fuckup too momentous even for the FAF admins, that they can say "Yes in that case we would remove their privileges"? Can FAF admins/Zep even tell us if such a line exists? In other words, what kind of fuckup is too big even for FAF? I would imagine that stealth buffing Cybran, making knowingly misleading calls for buffs when it is well known that cybran units are too strong is that kind of f*** up. But if it isn't - what is? Tell us o'FAF where is the line, that these people would be too incompetent even for you? We are talking about a coder who could not implement a stealth drain correctly.


But this isn't kindergarten - not everyone deserves a gold star for participation. If members of the balance team f*** up, they should be fired and forced to account for their incompetence publicly.
Image
User avatar
Anaryl
Banned
 
Posts: 453
Joined: 20 Dec 2011, 18:54
Location: Rohangrad
Has liked: 13 times
Been liked: 6 times
FAF User Name: Anaryl

Re: Bug report

Postby IceDreamer » 07 Apr 2014, 06:03

It turns out the mistake was a small oversight in the code, easily solved, and exactly the kind of thing one might accidentally miss. It doesn't need incompetence, just a bad day. It shall be fixed. As for Stealth Buffing Cybran and preferring one faction over another, having been closer involved than most, I've seen no evidence of this. I don't believe this to have been a conspiracy, merely an honestly cocked up code error on a unit change so small it barely drew a second glance during discussions.
IceDreamer
Supreme Commander
 
Posts: 2607
Joined: 27 Dec 2011, 07:01
Has liked: 138 times
Been liked: 488 times

Next

Return to General Discussions

Who is online

Users browsing this forum: Google [Bot] and 1 guest

cron