PapaCharlie9 / multi-balancer

BF3 & BF4 multiple mode balancer & unstacker, including SQDM.
9 stars 12 forks source link

Patch 1 #94

Closed phreic closed 9 years ago

phreic commented 9 years ago

Added Squad Obliteration and Obliteration (Competitive) support. Obliteration is handled in the same way as NS Carrier Assault and CTF

PapaCharlie9 commented 9 years ago

Looks good, thanks. I'm not sure if I'll have time to verify this and release it this weekend, but I'll try.

PapaCharlie9 commented 9 years ago

Question: are there round time limits for Obliteration and Squad Obliteration? Is the max round 30 minutes if vars.roundTimeLimit and/or vars.gameModeCounter is 100%? Refers to this block of code:

// Special handling for CTF & Carrier Assault modes
    bool isCTF = IsCTF();
    bool isCarrierAssault = IsCarrierAssault();
    bool isObliteration = IsObliteration();
    if (isCTF || isCarrierAssault || isObliteration) {
        if (fRoundStartTimestamp == DateTime.MinValue) return Phase.Early;

        double earlyMinutes = earlyTickets;
        double lateMinutes = lateTickets;

        // TBD - assume max round time is 20 minutes for CTF at 100%
        // TBD - assume max round time is 30 minutes for CRL/CRS at 100%
        double maxMinutes = ((isCTF) ? 20 : 30) * fRoundTimeLimit;
phreic commented 9 years ago

Default round times on CTF and Obliteration have changed with some patches.

I've just tested the default round time with vars.roundTimeLimit 100:

Squad Obliteration ("SquadObliteration0"): 20 min Obliteration ("Obliteration" and "vars.isCompetitive false"): 20 min Obliteration Competitive ("Obliteration" and "vars.isCompetitive true"): 20 min CTF (CaptureTheFlag0): 20 min

vars.gameModeCounter has no effect on round time and Obliteration at all but It changes the flags which need to be captured to win a round in CaptureTheFlag0:

vars.gameModeCounter 100 3 Flags vars.gameModeCounter 100 6 Flags

PapaCharlie9 commented 9 years ago

Great detail, makes updating the code easy. Thanks.