OVERWATCH - Soldier 76

* AutoBurst shoots 4-bullet bursts for optimal hit registration and minimal reticle bloom at mid-long range * RapidFire shoots 1-bullet at a time for pinpoint accuracy at long range * Activating 76's Ultimate auto-drops a Biotic and pauses AutoBurst & RapidFire * Rocket Jump * Rocket and Biotic regeneration timers * Rumble and LED fire mode & recharge indicators * Hair triggers * Non-disruptive toggle buttons * Multiple or single Fire Mode toggle buttons
Version1.11
Authorantithesis
Publish DateWed, 9 Aug 2017 - 22:13
Last UpdateSat, 12 Aug 2017 - 10:25
Downloads1130
RATE


5

0

Release Notes: Added editable defines for RocketHeight, RocketLength and RumbleDelay for additional tweaking
Code: Select all
//================================================================================
/* OVERWATCH: Soldier 76
 
//--------------------------------------------------------------------------------
// FEATURES
 
    - AutoBurst shoots 4-bullet bursts for optimal hit registration and minimal reticle bloom at mid-long range
    - RapidFire shoots 1-bullet at a time for pinpoint accuracy at long range
    - Activating 76's Ultimate auto-drops a Biotic and pauses AutoBurst and RapidFire
    - Rocket Jump
    - Rocket and Biotic regeneration timers
    - Rumble fire mode and recharge notifiers
    - LED fire mode and recharge indicators
    - Hair triggers
    - Non-disruptive toggle buttons
    - Multiple or Single Fire Mode toggle buttons
 
//--------------------------------------------------------------------------------
// CONTROLS
 
    AutoBurst      - Tap D-PAD UP to enable. Green LED and double-rumble when enabled
    RapidFire      - Tap D-PAD RIGHT enable. Pink LED and triple-rumble when enabled
    FullAuto       - Tap D-PAD LEFT to return to default automatic fire. Blue LED and single-rumble when enabled
    FireMode Cycle - Alternately, tap D-PAD DOWN to cycle between AutoBurst, RapidFire and FullAuto
    Rocket Jump    - Hold L3 / LS while shooting a rocket at your feet to Rocket Jump. Quad-rumble when Rocket is recharged
    Ultimate       - Tap Y / Triangle to trigger Ult, auto-drop a Biotic and pause AutoBurst & RapidFire. Red LED when activated. Quad-rumble when Biotic is recharged
 
//--------------------------------------------------------------------------------                   
// CUSTOMISATION         
 
                - LED colours are editable, refer to the table at the bottom of the script
                - Toggle buttons are customisable. Refer to lines 90-96
                - Choose between three separate Fire Mode buttons, or cycle between  Fire Modes with a single button on line 82
 
//==============================================================================         
// COPYRIGHT
 
        2017 antithesis from http://www.consoletuner.com. This Script was made and intended for http://www.Consoletuner.com & Titan 0ne ONLY,
        UNLESS written permission is given by the creator and/or copywritee. 
        All rights reserved. This material may not be reproduced, displayed, modified or distributed without the express prior written permission
        of the copyright holder. For permission, contact antithesis via http://www.consoletuner.com/forum
*/

 
//==============================================================================
// DECLARATIONS
 
//------------------------------------------------------------------------------
// CONTROLLER LAYOUT
 
// Do NOT rename any of the define aliases (e.g HOME, SHARE etc) or the script will break. All aliases work for all supported platforms
// Do NOT edit the red index numbers, unless you know what you're doing, e.g  remapping ADS and SHOOT from L2 / R2 to L1 / R1
 
define HOME          = 0;      // XB1_XBOX    XB360_XBOX   PS4_PS           PS3_PS
define SHARE         = 1;      // XB1_VIEW    XB360_BACK   PS4_SHARE        PS3_SELECT
define OPTIONS       = 2;      // XB1_MENU    XB360_START  PS4_OPTIONS      PS3_START
define R1            = 3;      // XB1_RB      XB360_RB     PS4_R1           PS3_R1
define SHOOT         = 4;      // XB1_RT      XB360_RT     PS4_R2           PS3_R2
define R3            = 5;      // XB1_RS      XB360_RS     PS4_R3           PS3_R3
define L1            = 6;      // XB1_LB      XB360_LB     PS4_L1           PS3_L1
define L2            = 7;      // XB1_LT      XB360_LT     PS4_L2           PS3_L2
define L3            = 8;      // XB1_LS      XB360_LS     PS4_L3           PS3_L3
define RX            = 9;      // XB1_RX      XB360_RX     PS4_RX           PS3_RX
define RY            = 10;     // XB1_RY      XB360_RY     PS4_RY           PS3_RY
define LX            = 11;     // XB1_LX      XB360_LX     PS4_LX           PS3_LX
define LY            = 12;     // XB1_LY      XB360_LY     PS4_LY           PS3_LY
define UP            = 13;     // XB1_UP      XB360_UP     PS4_UP           PS3_UP
define DOWN          = 14;     // XB1_DOWN    XB360_DOWN   PS4_DOWN         PS3_DOWN
define LEFT          = 15;     // XB1_LEFT    XB360_LEFT   PS4_LEFT         PS3_LEFT
define RIGHT         = 16;     // XB1_RIGHT   XB360_RIGHT  PS4_RIGHT        PS3_RIGHT
define TRIANGLE      = 17;     // XB1_Y       XB360_Y      PS4_TRIANGLE     PS3_TRIANGLE
define CIRCLE        = 18;     // XB1_B       XB360_B      PS4_CIRCLE       PS3_CIRCLE
define CROSS         = 19;     // XB1_A       XB360_A      PS4_CROSS        PS3_CROSS
define SQUARE        = 20;     // XB1_X       XB360_X      PS4_SQUARE       PS3_SQUARE
 
 
//------------------------------------------------------------------------------
// CONTROL SCHEME
 
    // Set to 1 for three separate buttons for AutoBurst, RapidFire and FullAuto
    // Set to 0 to cycle through AutoBurst, RapidFire and FullAuto with one button
 
    define TripleToggles = 0// Set to 1 or 0
 
//------------------------------------------------------------------------------
// TOGGLE BUTTONS
 
    // Choose your toggle buttons to enable/disable fire modes
    // Refer to CONTROLLER LAYOUT above for button aliases
 
    define AutoBurstToggle  = UP; // all three buttons are used with TripleToggle controls enabled
    define RapidFireToggle  = RIGHT;
    define FullAutoToggle   = LEFT;
 
    define FireModeToggle   = DOWN; // only used when TripleToggle controls are disabled
 
    define FireModeOverride = L3; // Hold while shooting or firing rockets to block AutoBurst and RapidFire
 
//------------------------------------------------------------------------------
// AUTO-BURST
 
    // Fine-tune the time between bursts
    define BurstHold = 400; // time in ms. Overwatch shoots 1 bullet / 100 ms
    define BurstRest = 300;
 
//------------------------------------------------------------------------------
// RAPID-FIRE
 
    // Fine-tune the time between single shots
    define RapidHold = 100; // time in ms. Overwatch shoots 1 bullet / 100 ms
    define RapidRest = 50;
 
//------------------------------------------------------------------------------
// RUMBLE
 
    define RumbleStrength = 60// Set to 0 to disable rumble
    define RumbleLength = 250; // Tweak to increase / decrease rumble length
 
//------------------------------------------------------------------------------   
//  ROCKET JUMP
 
    // Hold this button while shooting a rocket at your feet to RocketJump
    // Required to avoid interference with regular Rocket usage
    define RocketJumpHold = L3;
    define JumpHeight = 100; //tweak for added RocketJump height
    define JumpLength = 1500; // tweak for RocketJump length
 
//==============================================================================
// SCRIPT VARIABLES
 
    int FireMode;
    int HoldTime, RestTime;
 
//==============================================================================
// INITIALISATION
 
init
{
    FireMode = 1;   
}
 
//==============================================================================
// MAIN
 
main
{
 
//------------------------------------------------------------------------------
// HAIR TRIGGERS
 
    // Shoot
    if (get_val(SHOOT)) { set_val(SHOOT, 100); }
 
    // ADS   
   if (get_val(L2)) { set_val(L2, 100); }
 
 
//------------------------------------------------------------------------------
// FIRE-MODE
 
    if (TripleToggles)
    {
        if (event_press (AutoBurstToggle)) { FireMode = 2; combo_run (DoubleRumble); LED (0, 0, 1, 0); } // Green LED
        else if (event_press (RapidFireToggle)) { FireMode = 3; combo_run (TripleRumble); LED (0, 0, 0, 1); } // Pink LED
        else if (event_press (FullAutoToggle)) { FireMode = 1; combo_run (Rumble); LED (1, 0, 0, 0); } // Blue LED
        block (AutoBurstToggle, 100); block (RapidFireToggle, 100); block (FullAutoToggle, 100);
    }
    else if (!TripleToggles)
    {
        if (event_press (FireModeToggle) && FireMode == 1) { FireMode = 2; LED (0, 0, 1, 0); combo_run (DoubleRumble); }
        else if (event_press (FireModeToggle) && FireMode == 2) { FireMode = 3; LED (0, 0, 0, 1); combo_run (TripleRumble); }
        else if (event_press (FireModeToggle) && FireMode == 3) { FireMode = 1; LED (1, 0, 0, 0); combo_run (Rumble); }
        block (FireModeToggle, 100);
    }
//------------------------------------------------------------------------------
// RAPID-FIRE
 
    if (get_val (SHOOT) && FireMode == 2) { combo_run (AutoBurst); }
    else if (get_val (SHOOT) && FireMode == 3) { combo_run (RapidFire); }
 
    if (get_val (SHOOT))
    {
        if (get_val (FireModeOverride))
        { combo_stop (AutoBurst); combo_stop (RapidFire); LED (0,1,0,0); }
        else if (!get_val (FireModeOverride))
        {
            if (FireMode == 1) { LED (1,0,0,0); }
            else if (FireMode == 2) { LED (0,0,1,0); }
            else if (FireMode == 3) { LED (0,0,0,1): }
        }
    }
 
//------------------------------------------------------------------------------
// ULTIMATE
 
    if (event_press (TRIANGLE) && FireMode == 2) { combo_run (VisorUpBurst); }
    else if (event_press (TRIANGLE) && FireMode == 3) { combo_run (VisorUpRapid); }
    else if (event_press (TRIANGLE) && FireMode == 1) {combo_run (DropBiotic); }
 
//------------------------------------------------------------------------------
// ROCKET JUMP   
 
    if (event_press (L2)) { combo_run (RocketRecharge); }
    if (get_val (RocketJumpHold)) { if (event_press (L2)) { combo_run (RocketJump); } }
 
//------------------------------------------------------------------------------
// BIOTIC RECHARGE
    if (event_press (R1)) { combo_run (BioticRecharge); }
 
//------------------------------------------------------------------------------
} // end main
 
//==============================================================================
// COMBOS
 
combo AutoBurst
{   
    set_val(SHOOT, 100);
    wait(BurstHold);
    set_val(SHOOT, 0);
    wait(BurstRest);
    set_val(SHOOT, 0);
}
 
combo RapidFire
{   
    set_val(SHOOT, 100);
    wait(RapidHold);
    set_val(SHOOT, 0);
    wait(RapidRest);
    set_val(SHOOT, 0);
}
 
combo VisorUpBurst
{
    FireMode = 1;
    LED (0, 1, 0, 0); // Red LED
    combo_run (DropBiotic);
    wait (4000);
    LED (0, 1, 0, 0);
    wait (2600);
    FireMode = 2;
    LED (0, 0, 1, 0);
}
 
combo VisorUpRapid
{
    FireMode = 1;
    LED (0, 1, 0, 0); // Red LED
    combo_run (DropBiotic);
    wait (4000);
    LED (0, 1, 0, 0);
    wait (2600);
    FireMode = 3;
    LED (0, 0, 0, 1);
}
 
combo DropBiotic
{
    set_val (TRIANGLE, 0);
    set_val (R1, 100);
    wait (50);
    set_val (R1, 0);
    set_val (TRIANGLE, 100);
    wait (50);   
    set_val (TRIANGLE, 0);
}
 
combo RocketJump
{
    set_val (CROSS, 100);
    wait (JumpHeight);
    set_val (L2, 100);
    set_val (L1, 100);
    set_val (LY, -100);
    wait (JumpLength);
    set_val (LY, 0);
    set_val (CROSS, 0);
}
 
combo RocketRecharge
{
    wait (200);
    combo_run (RechargeRumble);
}
 
combo BioticRecharge
{
    wait (200);
    wait (3000);
    wait (4000);
    combo_run (RechargeRumble);
}
 
combo RechargeRumble
{
    wait (4000);
    wait (4000);
    combo_run (QuadRumble);
    LED (0, 1, 0, 0); // Red
    wait (RumbleLength);
    LED (0, 1, 1, 0); // Yellow
    wait (RumbleLength);
    LED (0, 1, 0, 0); // Red
    wait (RumbleLength);
    LED (0, 1, 1, 0); // Yellow
    wait (RumbleLength);       
    LED (0, 1, 0, 0); // Red
    wait (RumbleLength);
    LED (0, 1, 1, 0); // Yellow
    wait (RumbleLength);
    LED (0, 1, 0, 0); // Red
    wait (RumbleLength);
    LED (0, 1, 1, 0); // Yellow
    wait (RumbleLength);
    LED (0, 1, 0, 0); // Red
    wait (RumbleLength);
    LED (0, 1, 1, 0); // Yellow
    wait (RumbleLength);
    if (FireMode == 1) { LED (1,0,0,0); }
    else if (FireMode == 2) { LED (0,0,1,0); }
    else if (FireMode == 3) { LED (0,0,0,1): }
}
 
combo Rumble
{
    set_rumble (RUMBLE_A, RumbleStrength);
    wait(300);
    reset_rumble();
}
 
combo DoubleRumble
{
    set_rumble (RUMBLE_A, RumbleStrength);
    wait (300);
    set_rumble (RUMBLE_A, 0);
    wait (RumbleLength);
    set_rumble (RUMBLE_A, RumbleStrength);
    wait (RumbleLength);
    reset_rumble();
}
 
combo TripleRumble
{
    set_rumble (RUMBLE_A, RumbleStrength);
    wait (300);
    set_rumble (RUMBLE_A, 0);
    wait (RumbleLength);
    set_rumble (RUMBLE_A, RumbleStrength);
    wait (RumbleLength);
    set_rumble (RUMBLE_A, 0);
    wait (RumbleLength);
    set_rumble (RUMBLE_A, RumbleStrength);
    wait (RumbleLength);
    reset_rumble();
}
 
combo QuadRumble
{
    set_rumble (RUMBLE_A, RumbleStrength);
    wait (300);
    set_rumble (RUMBLE_A, 0);
    wait (RumbleLength);
    set_rumble (RUMBLE_A, RumbleStrength);
    wait (RumbleLength);
    set_rumble (RUMBLE_A, 0);
    wait (RumbleLength);
    set_rumble (RUMBLE_A, RumbleStrength);
    wait (RumbleLength);
    set_rumble (RUMBLE_A, 0);
    wait (RumbleLength);
    set_rumble (RUMBLE_A, RumbleStrength);
    wait (RumbleLength);
    reset_rumble();
}
 
//==============================================================================
// FUNCTIONS
 
//------------------------------------------------------------------------------
// LED LIGHTS
 
   function LED(a, b, c, d) // Make the lights pretty
{
   set_led(0, a);
   set_led(1, b);
   set_led(2, c);
   set_led(3, d);
}
 
//------------------------------------------------------------------------------
// LED DEFINITIONS FOR PS4 LIGHT BAR
 
// LED(0,0,0,0); // Off
// LED(1,0,0,0); // Blue
// LED(0,1,0,0); // Red
// LED(0,0,1,0); // Green
// LED(0,0,0,1); // Pink
// LED(1,0,1,0); // SkyBlue
// LED(0,1,1,0); // Yellow
// LED(1,1,1,1); // White