BourbonWarfare / POTATO

GNU General Public License v2.0
17 stars 28 forks source link

Add ability to create larger supply boxes with smaller resupply boxes inside them #540

Open lambdatiger opened 1 week ago

lambdatiger commented 1 week ago

This adds an idea kilo had/stole in the resupply boxes suggestion on BW's discord. It allows a mission maker to use the CfgLoadouts SupplyBoxes class to make larger boxes with multiple smaller resupply boxes inside them. See this example

class CfgLoadouts {
  // other code before or after
  // Do Supply Box Loadouts
  // (1 will run normaly, 0 will leave them to vanilla defaults, -1 will clear and leave empty)
  setSupplyBoxLoadouts = 1;
  class SupplyBoxes {
    class ACE_medicalSupplyCrate {
      boxCustomName = "Wild Medical Box";
      TransportItems[] = {
        "ACE_elasticBandage:40",
        "ACE_packingBandage:20",
        "ACE_epinephrine:15",
        "ACE_morphine:15",
        "ACE_adenosine:15",
        "ACE_tourniquet:10",
        "ACE_splint:10",
        "ACE_salineIV:4",
        "ACE_salineIV_500:4",
        "ACE_salineIV_250:10"
      };
    };
    class I_E_CargoNet_01_ammo_F {
       // Add ability to mark the larger supply boxes
       // 0 for no actions
       // 1 for 1x smoke and 1x glow stick
       // 2 for 1x smoke and 1x glow stick, and a quick map marker based off of box name
      addMarkingActions = 2;
      // number of boxes that can be put in the crate, default is four,
      // but should be more than the number of sub boxes desired
      boxCustomName = "Multi Box Drifting";
      boxSpace = 4;
      class Box_NATO_Ammo_F { // doesn't affect configuration (or lack thereof) for this box elsewhere
        boxCount = 2; // default is 1 box
        boxCustomName = "Resupply Box";
        TransportWeapons[] = {"gm_m72a3_oli:2"};
        TransportMagazines[] = {
          "CUP_30Rnd_556x45_Stanag:30",
          "CUP_30Rnd_556x45_Stanag_Tracer_Red:6",
          "CUP_100Rnd_TE4_LRT4_Red_Tracer_762x51_Belt_M:8",
          "CUP_1Rnd_HE_M203:6",
          "CUP_1Rnd_HEDP_M203:4",
          "HandGrenade:8",
          "SmokeShell:5",
          "SmokeShellGreen:1",
          "gm_1Rnd_66mm_heat_m72a3:2"
        };
        TransportItems[] = {
          "ACE_elasticBandage:25",
          "ACE_packingBandage:15",
          "ACE_tourniquet:5",
          "ACE_splint:5"
        };
      };
      // inherit the normal boxes
      class ACE_medicalSupplyCrate: ACE_medicalSupplyCrate {
        boxCustomName = "Tame Medical Box";
      };
    };
  };
};

TODO

lambdatiger commented 1 week ago

The requires an ACE version after 2024/08/27 or the ability to pickup and move the larger box of boxes won't propagate across the network.

TheCandianVendingMachine commented 1 week ago

we usually pull master iirc so if it’s in that we are g2g

lambdatiger commented 1 week ago

Figured, just didn't want this to get merged and pushed if Potato was updated but not ACE BW

kil0byt3 commented 1 week ago

good clarification for my sake because pabst usually does the ACE BW updates and I do POTATO, good to know so we can sync up

lambdatiger commented 1 week ago

markers need to be side-specific to the unit marking. blufor and opfor marking the same crate should make it visible to blufor and opfor, but their state is not synchronized to each other

edit: this may be the case, i’m just posting this for PR history

It sure is the case, 1 is the default side channel id and I didn't see Potato changing that.