Page MenuHomeFeedback Tracker

Warlords - Infinite loadouts from Arsenal
Closed, ResolvedPublic

Description

Currently you can maintain access to your inventory while in the Arsenal, this allows players to dump items and entire loadouts onto the ground indefinately.

This is a glitch of the Warlords game mechanic which allows Arsenal access and is intended for a single players' loadout only.
It can be abused by dumping loadouts or vast amounts of ammunition onto the ground, effectively giving a player infinite ammo & equipment.

Details

Severity
Major
Resolution
Open
Reproducibility
Always
Operating System
Windows 10 x64
Operating System Version
Windows 10 1909 Pro x64
Category
Inventory
Steps To Reproduce
  • Start a MP server running the a Warlords Scenario/MPMission.
  • Change mission start params to 5000 starting credits.
  • When mission commences, access inventory by pressing 'I' key.
  • Access the Warlords menu by holding down the inventory key.
  • You now have access to the arsenal - where you can create/select/load loadouts.
  • You also have access to your inventory and the ground all at the same time where you can drag+drop items onto the ground from your inventory.
  • Drop all your player items/weapons onto the ground.
  • Select a pre-saved loadout or create a new one.
  • Drop all items on the ground.
  • Repeat ad infinitum - you can continue dumping vast amounts of items onto the ground, effectively infinite ammunition/equipment.
Additional Information

This can be easily fixed by modifying the following game function file:

a3\functions_f_warlords\Warlords\fn_WLOpenArsenal.sqf

From this:

/*
WARLORDS-SPECIFIC FUNCTION

Author: Josef Zemánek

Description: Opens Arsenal interface.
*/

_funds = player getVariable "BIS_WL_funds";

"close" call BIS_fnc_WLPurchaseMenu;

_null = ["Open", TRUE] spawn BIS_fnc_arsenal;

player setVariable ["BIS_WL_funds", (player getVariable "BIS_WL_funds") - BIS_WL_arsenalCost, TRUE];

To this:

/*
WARLORDS-SPECIFIC FUNCTION

Author: Josef Zemánek

Description: Opens Arsenal interface.
*/

_funds = player getVariable "BIS_WL_funds";

"close" call BIS_fnc_WLPurchaseMenu;

_null = ["Open", TRUE] spawn BIS_fnc_arsenal;

// Check if Inventory Dialog is open and close it after Arsenal is triggered.
// This prevents players from equipping loadouts within the Arsenal to dump from inventory onto the ground, a method which should be considered a glitch.
// Within the Arsenal the inventory dialog is disabled, after Arsenal is closed the inventory returns to its normal function.
if (!isNull findDisplay 602)then {closeDialog 602};

player setVariable ["BIS_WL_funds", (player getVariable "BIS_WL_funds") - BIS_WL_arsenalCost, TRUE];

By calling

if (!isNull findDisplay 602)then {closeDialog 602};

After the Arsenal is opened you disable the ability to access the inventory from within the Arsenal by closing the inventory dialog this way.
When the Arsenal is closed inventory function returns to normal.
This will not affect anyone's keymap's and thus cannot be circumvented by remapping inventory keys.

I made a video demonstrating the glitch and the fix in action:
https://youtu.be/Dl7E1y3FmpU

Event Timeline

Uro created this task.Dec 27 2019, 2:23 PM
dedmen added a subscriber: dedmen.Mar 24 2020, 5:14 PM

Fixed in dev branch, confirm?

dedmen changed the task status from New to Feedback.Mar 24 2020, 5:14 PM
Uro added a comment.EditedMar 27 2020, 7:53 PM

I dont have dev-branch installed atm, from @Groove_C 's video it looks fixed, would need a final confirmation after RC and subsequent Main Branch update to ensure it is within the next Main Branch game update.

I'd say hold off closing this ticket until then, as previous issues which have been fixed in dev-branch have sometimes missed main branch due to internal issues and as far as public Warlords game mode goes, this one's a biggie.

Uro added a comment.EditedApr 16 2020, 2:24 PM

I just checked latest game update v:1.98.146303

I can confirm issue is now fixed in stable.

@dedmen - Issue can now be closed, thanks for keeping it open to verify.

dedmen closed this task as Resolved.Apr 25 2020, 3:52 PM
dedmen claimed this task.
Groove_C removed a subscriber: Groove_C.Thu, Jul 2, 12:13 AM