Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changelog to rst retry #236

Open
wants to merge 3,033 commits into
base: master
Choose a base branch
from

Conversation

Giddius
Copy link

@Giddius Giddius commented May 27, 2022

extension was changed so github can preliminary render it.

I only formatted the last two versions nicely, the rest is formatted roughly.

I will format the rest nicely, if someone makes them all adhere to a single style.
Each and every version entry is written in a different style, there is quetionable benefit of working through all of them, because only a few people will really look at it anyway and I am at my limit regarding dealing with a million different styles.

jaj22 and others added 30 commits August 21, 2021 14:01
## What type of PR is this.
1. [X] Bug
2. [ ] Change
3. [ ] Enhancement

### What have you changed and why?
- Fix case where players could be added to a garrison (probably as nils).
- Fix case where units without a unitType (eg. Zeus'd units) could be added to a garrison as nils.
- Remove non-string types (including nils) from garrisons on load.
- Remove empty strings from garrisons on load (bug from <2.4).

### Please specify which Issue this PR Resolves.
closes #1927

### Is further testing or are further changes required?
1. [X] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
You can test the load checks without saving anything by abusing loadStat with arbitrary data, like this:
```
_garrisonData = [["Zaros", ["", "loadouts_rebel_militia_rifleman", nil, "loadouts_reb_militia_rifleman"]]]; 
["garrison", _garrisonData] call A3A_loadStat;
garrison getVariable "Zaros";
```

Notes:
* Prevent bad unit types being added to garrisons and repair previous saves

* Fix ancient bug where wrong groupID was checked for roadblocks/watchposts
## What type of PR is this.
1. [x] Bug
2. [ ] Change
3. [ ] Enhancement

### What have you changed and why?
Information: due to object based jip keys overwriting each other some actions on statics were being blocked from being added for jip clients,
this fix adds a custom jip key and null object handling to the logistics system as a band aid as currently the only actions that ***we know*** are conflicting are the logistics and garrison static manning actions.
in the future we might want to consider other possibilities to prevent this from happening again.

### Please specify which Issue this PR Resolves.
closes #2072 

### Please verify the following and ensure all checks are completed.

1. [ ] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [ ] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 

********************************************************
Notes:
* made custom JIP keys for Logistics system

* fixed JIP clearing

* fixed jip conflict with addWeaponAction
updated header

* resolved more jip conflicts,
corrected wrong key being cleared from jip

* toArray to splitString

* removed stray seperator
### What type of PR is this.
1. [X] Bug
2. [X] Change
3. [ ] Enhancement

### What have you changed and why?
1. Changed zoneCheck to use an average marker radius with some mild proximity falloff, as opposed to the previous flat 300m count. What would often happen otherwise is that markers occupied by small teams could potentially be flipped very easily by singleAttacks, especially for small markers with a lot of surrounding tree cover.

2. Changed the mrkWIN calc similarly to the zoneCheck calc. This one was already marker-size based so previously you could often flip the flag back immediately after a zoneCheck recapture (without killing any enemies), causing stacked singleAttacks. Also cleared up a lot of weird shit in mrkWIN while I was there.

3. Fixed some old broken code in markerChange that was used to allow enemies to re-flip rebel-captured locations with any units in the vicinity. I assume this is there to prevent rebels speed-capping a location, leaving it empty and it remaining in their hands despite incoming QRFs/patrols. Because markerChange has a lockout (markersIsChanging) and it wasn't running as a spawn and had slightly different conditions to zoneCheck or wavedCA, there were cases where it would block or stall future marker changes causing broken behaviour. I simplified the code and changed it to run as a spawn. Could have just removed it due to marginal utility, but it's fairly harmless now.

Note that zoneCheck is primarily used by singleAttack (the capture response "QRFs"). wavedCA (major attack routine) has its own capture detection. This should be sanitized at some point, but there's less potential harm in leaving it for the moment.

### Please specify which Issue this PR Resolves.
Very partial fix of #1976.

### Please verify the following and ensure all checks are completed.
1. [X] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [X] No
2. [ ] Yes (Please provide further detail below.)

Should probably get a test run on a server before it hits release though. Mission doesn't work very well if capturing breaks.

Notes:
* Use a marker-size based metric for capture and fix some old broken code in markerChange

* Change mrkWIN method to match zoneCheck, fix a lot of weird stuff
…o-block-asset-refunds-in-hostile-areas

## What type of PR is this.
1. [x] Bug
2. [ ] Change
3. [ ] Enhancement

### What have you changed and why?
Information:
    the old order didnt have good synergy with LTC refund and the newly added Utillity refund.
    i moved some checks around so that the refunds could only happen when in a valid area and no hostiles were near.
    this prevents some potential unwanted exploitation of storing loot when mid combat or in the middle of nowhere

### Please specify which Issue this PR Resolves.
closes #XXXX

### Please verify the following and ensure all checks are completed.

1. [ ] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [x] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 

********************************************************
Notes:
## What type of PR is this.
1. [x] Bug
2. [ ] Change
3. [ ] Enhancement

### What have you changed and why?
Information:
Created a carry item function that can carry all objects.
Needed because carryCrate is for crates.
Fixed the double addaction that caused drop crate to show up. add global to the object to tell which add action to show.
Fixed garaging world objects. Added a global to the spawned light to tell what to garage.
Changed the height issue when carrying by calling setPosATL. 

### Please specify which Issue this PR Resolves.
closes ##2065

### Please verify the following and ensure all checks are completed.

1. [x] Have you loaded the mission in LAN host?
2. [x] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [x] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 

********************************************************
Notes:
Fix missing return value on actionRevive
## What type of PR is this.
1. [X] Bug
2. [ ] Change
3. [ ] Enhancement

### What have you changed and why?
actionRevive needs a return case for when it's used by fn_help. Missed one for the case where the target unit is deleted during the revive. This likely didn't cause any problems (if the target unit is deleted, the medic almost certainly is too) but did throw an RPT error, so may as well clean it up.

Not tested, but the change itself is harmless. If there's a resulting problem further down the line then it's old and almost certainly invisible.

### Please specify which Issue this PR Resolves.
closes #2071

### Is further testing or are further changes required?
1. [X] No
2. [ ] Yes (Please provide further detail below.)
Fix vehicle kill event handler
## What type of PR is this.
1. [X] Bug
2. [ ] Change
3. [ ] Enhancement

### What have you changed and why?
Vehicle kill handler got broken in an Arma update, so vehicle kills are not being registered for any purpose. See #2083 for more details.

Switched it over to the EntityKilled mission event handler, seems to work fine. Tested with various vanilla and RHS vehicles.

I cut down the aggro boosts a bit because it's already death spiralling. QRFs and singleAttacks probably shouldn't be adding their own aggro boosts on failure.

### Please specify which Issue this PR Resolves.
closes #2083

### Please verify the following and ensure all checks are completed.
1. [X] Have you loaded the mission in LAN host?
2. [X] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [X] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Kill some vehicles, check that vehKilledOrCaptured is triggering in the RPT.
## What type of PR is this.
1. [x] Bug
2. [ ] Change
3. [ ] Enhancement

### What have you changed and why?
Information:
    when redoing some of the jip key constructions two old jipKey variables were not swapped out for the in line key construction, also swapped a leftover old object str constructor for the new one

### Please specify which Issue this PR Resolves.
closes #XXXX

### Please verify the following and ensure all checks are completed.

1. [ ] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [ ] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 

********************************************************
Notes:
* fix jip key not being passed logistics_load

* swapped old obj string for new

* removed missed toString

* stored key in variable for readability
## What type of PR is this.
1. [ ] Bug
2. [x] Change
3. [ ] Enhancement

### What have you changed and why?
Information:
Changed the light back to Shabby for a better hitbox.    

### Please verify the following and ensure all checks are completed.

1. [x] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [x] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 

********************************************************
Notes:
## What type of PR is this.
1. [ ] Bug
2. [x] Change
3. [ ] Enhancement

### What have you changed and why?
Information:
    changes to  setpos coordinates from different asl and atl. Sets z axis to zero to snap to surface.

### Please verify the following and ensure all checks are completed.

1. [x] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [x] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 

********************************************************
Notes:
* changed setpos z axis to zero

* change player to _item
## What type of PR is this.
1. [x] Bug
2. [ ] Change
3. [ ] Enhancement

### What have you changed and why?
Information:
    opening y-menu during placement would break shit, this canceles placement when the y-menu is attempted to be open. also defined a lot of shit that was in placement code

### Please specify which Issue this PR Resolves.
closes #XXXX

### Please verify the following and ensure all checks are completed.

1. [ ] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [ ] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 

********************************************************
Notes:
* cancel with Y when in placement

* default defines added, y press now returns false
- moved antistasi dependancies to MIE license section
- made all compatible vehicles attached to a vehicle being garaged also be garaged (not just statics)
- reduced publicVariable spam
- improved transfer to arsenal reliability
…ereImprovements

Improved garaging consistency and reliability

## What type of PR is this.
1. [x] Bug
2. [ ] Change
3. [x] Enhancement

### What have you changed and why?
Information:
- pulled out to private function and generalized garage add vehicle code. (as its use in two places)
- moved antistasi dependencies to MIT license section. (easier to alter those systems and maintain functionality like this)
- made all compatible vehicles attached to the vehicle being garaged also be garaged (not just statics)
- reduced `publicVariable` spam (only once per `addVehicle` call)
- improved transfer to arsenal reliability (removed middle man as were already on server and dont need to remoteExec)

### Please specify which Issue this PR Resolves.
closes #XXXX

### Please verify the following and ensure all checks are completed.

1. [ ] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [x] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 

********************************************************
Notes:
…hpp-tabs-to-spaces

functions.hpp tabs to spaces

## What type of PR is this.
1. [ ] Bug
2. [x] Change
3. [ ] Enhancement

### What have you changed and why?
Information:
    changed tabs to spaces

### Please specify which Issue this PR Resolves.
closes #1867 

### Please verify the following and ensure all checks are completed.

1. [ ] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [x] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 

********************************************************
Notes:
## What type of PR is this.
1. [x] Bug
2. [x] Change
3. [ ] Enhancement

### What have you changed and why?
Information: 
The old log macros implementation lack overflow handling of the log message char limit.
this PR fixes this as well as introduces a new line indicator `>>> ` and eol termination to the log macros.
in addition the logArray calls that was left in previously due to the overflow issue has now been made into log array macro calls.

### Please specify which Issue this PR Resolves.
closes #XXXX

### Please verify the following and ensure all checks are completed.

1. [x] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [ ] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 

********************************************************
Notes: The overflow handling adds to the logging time as it has to do heavier processing of the log line, but for most shorter logging it will have a negligent impact.

* Improved logging
- updated log to be able to handle char limit overflow
- added new line indicator
- revamped array logging formating

* updated log new line indicator per giddi's recommendation

* added EOL terminators to log macros

* swapped logArray calls for macros

* old log calls to new log macros

* removed old debug lines from milBuildings

* debug and info to server

* added missing delimiters

* added an early escape

* added a is server check on server logs making them regular logs
## What type of PR is this.
1. [x] Bug
2. [ ] Change
3. [ ] Enhancement

### What have you changed and why?
`[cursorObject, clientOwner, call HR_GRG_dLock, player] remoteExecCall ['HR_GRG_fnc_addVehicle',2]` call on listen server leads to 
inability to put vehicles into garage if host sits inside the vehicle. It is caused by seems to be forgotten usage of vanilla `player` function/property, so when we're executing it on listen server (`remoteExecCall ['HR_GRG_fnc_addVehicle',**2**]`) it checks host player instead of `_player`.
Also, this fix fixes vehicle checks on dedicated server too.

Original reports about the problem for reference and more explanation:
```
My friend and I have an issue where we cannot garage a vehicle while the other person is driving. For example I could be driving an offroad miles away but he cannot garage a vehicle unless I get out of my own car and wait for him to get it put away. Is there a way to get rid of this issue?

The specific line is more towards you cannot garage a vehicle while inside a vehicle, it's not really an error message btw, more of an in game tooltip that appears in the top right corner box with other notifications. I'll try to get a screenshot later when my friend is on and we can recreate. We are using the latest version because it's direct from the workshop and has been updated. So far it's not worked while driving Offroads, Trucks, Assault Boat, HEMMT, or other civ vehicles we have messed with.
```


### Please specify which Issue this PR Resolves.

### Please verify the following and ensure all checks are completed.

1. [x] Have you loaded the mission in LAN host?
2. [x] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [x] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 
1. Host listen server.
2. Player-server should sit in the vehicle.
3. Other player should try to put something into garage.

********************************************************
Notes:
Fixed inability to put vehicles into garage when player host of listen server is inside vehicle
MeltedPixel and others added 29 commits April 8, 2022 09:10
Arma's default string conversion limits numbers to 6 significant figures. We use toFixed to convert numbers to strings longer than 6 digits.
## What type of PR is this.
1. [ ] Bug
2. [x] Change
3. [ ] Enhancement

### What have you changed and why?
Information:
    fixed the missing flag texture in NPC, fixed incorrect flag texture in TKL, removed towing tractor in the civ vehicles. Removed confusing starting weapons, switched starting weapons for TKL to be enfields. Removed headgear as it gets auto auto dectected in anyways. Removed uniforms that may causes issues. Made NPC uniforms more temperate, made TKL uniforms more arid.

### Please specify which Issue this PR Resolves.

### Please verify the following and ensure all checks are completed.

1. [x] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [x] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 

********************************************************
Notes:
* init commit for changes to reb and civil fixes

* added headgear

* killing TKL

* changes
### What type of PR is this.
1. [X] Bug
2. [ ] Change
3. [ ] Enhancement

### What have you changed and why?
Fixed a bug where the garage's pylon-removal code could remove weapons that were not pylons due to them sharing magazines with pylon weapons. The new code should work correctly with everything but I haven't tested it with much.

Also fixed a zero-divisor bug in the ammo percentage calculation that I ran into with the FA-181.

### Please specify which Issue this PR Resolves.
closes #2246

### Please verify the following and ensure all checks are completed.
1. [X] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [ ] No
2. [X] Yes (Please provide further detail below.)

Should ideally be tested with a decent selection of vehicles. I've only tried a few vanilla air vehicles so far.

### How can the changes be tested?
Enable debug mode to get TRACE working. Take vehicles out of garage and check the output of `HR_GRG_fnc_prepPylons | Removing pylon weapons:`.

Notes:
* Fix non-pylons being removed by prepPylons, and fixed a zero-divisor bug in garage ammo calc

* Also fix off-by-one in pylon turret path saving
### What type of PR is this.
1. [X] Bug
2. [ ] Change
3. [ ] Enhancement

### What have you changed and why?
createVehicleCrew was pre-filtering the turret classes using configClasses, which doesn't work because it breaks the turret path if earlier items are removed. In the case of the UAZ, the commander FFV turret is before the proper turret.

This PR moves the turret filtering until after the turret path has been established. Also moved the nested turret code, because I'm pretty sure that was also wrong in the case where the first-level turret doesn't have weapons.

### Please specify which Issue this PR Resolves.
closes #2308

### Please verify the following and ensure all checks are completed.
1. [X] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [ ] No
2. [X] Yes (Please provide further detail below.)

Don't know a vehicle to test the nested turrets logic. Feel free to suggest one.

### How can the changes be tested?
Start game with CUP mods and russian invaders (default Livonia works). Use Zeus to add any empty armed UAZ. Select it in Zeus, then run:
`[east, curatorSelected#0#0] call A3A_fnc_createVehicleCrew`

Notes:
Fix createVehicleCrew placing turret crew in wrong seats
## What type of PR is this.
1. [x] Bug
2. [x] Change
3. [ ] Enhancement

### What have you changed and why?
Information:
So apparently this has been in InitClient and OnPlayerRespawn for 3 Years,
As everyone got 0,8 Audio and Camo applied this just meant that TL was the worst Class to use as you only had negative Perks, and everyone else had the Good perks only you should have got.
Cleaned up unused/Dead Case for UnitTraits


### Please specify which Issue this PR Resolves.
closes #XXXX

### Please verify the following and ensure all checks are completed.

1. [x] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [x] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 

********************************************************
Notes:
* remove accidental or Missed setUnitTrait

* remove obsolete code in FN_Unittraits
## What type of PR is this.
1. [ ] Bug
2. [ ] Change
3. [X] Enhancement

### What have you changed and why?
This PR gives the commander an interface to manually adjust the non-member limit for each item in the arsenal. This isn't essential with no-unlocks (you could use flat or category-dependent limits instead), but it enables some management flexibility. Some uses:

- Items that are uncommon but also not popular could have their limits reduced towards zero, to give non-members a greater equipment choice, and something non-terrible to use if the popular items run out.
- Some common and effective items could have higher limits set to increase the chance that the AIs use them.
- Items that you simply don't want non-members using for whatever reason could have their limits raised.

This is still experimental. It'll likely need reworking to fit in with the new Antistasi GUI system. Currently it hooks onto the recently-blank button under the commander menu. Other stuff that probably needs adding:

- Limit data should be saved & loaded.
- Default limits should be parameter based.
- Reset button for limits (in a category? all?).
- Ideally remove the arsenal type index magic numbers, but that might not be reasonable due to how config is loaded.    

### Please specify which Issue this PR Resolves.
Related to the grand no-unlocks project. Should probably write something for that.

### Please verify the following and ensure all checks are completed.
1. [X] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [ ] No
2. [X] Yes (Please provide further detail below.)

See above.

### How can the changes be tested?
Y -> Commander -> arsenal limits. Play around.

Notes:
* Initial working version of arsenal non-member limits dialog

* Add a parameter for the guest item limit and a category reset button

* Refactor arsenal limts dialog into GUI branch

* Give up the unequal struggle with broken onLoad and just use spawn
### What type of PR is this.
1. [ ] Bug
2. [ ] Change
3. [X] Enhancement

### What have you changed and why?
We need a new method of picking rebel AI equipment after removing unlocks. I've decided that the best method is to base AI equipment on the arsenal contents but generate new items. This is relatively simple (actually taking items from the arsenal is complex and expensive, especially with garrisons) and should have low exploit potential and no significant player count balance problems.

Processing the arsenal for each unit recruited is still too expensive, so this PR rewrites the rebel AI equipping code to use server-generated weighted lists. Some details:
- Generates weighted arrays on server every 10mins, transmits to clients as required.
- Weight based on arsenal contents. Typically 10 items min chance, 50 max.
- Item usage is also capped by available magazines/bullets.
- Refund value halved to reduce effectiveness of exploits.
- Still works correctly with unlocks enabled.

General improvements to rebel AI equipping:
- Improved use of NV, grenades, explosives and launchers.
- Optics are now weapon-appropriate.
- Magazines are now added by weight instead of count.

General improvements to automatic item categorisation:
- equipmentClassToCategories now caches for fast subsequent use.
- Disposable launcher support added.
- Optic categorization added.
- Explosive charge detection added.
- Moved smoke grenade, flashlight and thermal detection to equipmentClassToCategories.
- Simplified and fixed missile launcher support.
- Fixed some broken CUP stuff in categoryOverrides.

Misc:
- Fixed incorrect CUP template dependency.

The only regression at the moment is that missile launchers will no longer be used even if the unlocks are enabled. The plan is to add AT/AA missile launcher rebel infantry types which should be much more expensive to buy, but this requires additional entries added to each rebel template, and some UI work.

### Please verify the following and ensure all checks are completed.
1. [X] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [ ] No
2. [X] Yes (Please provide further detail below.)

This is insufficiently tested. I've run the categorization code on RHS and CUP, but not VN or BAF yet. The rebel equipping code should be somewhat solid if the categorization works, although if weapons exist without a default magazine then that may trip up some config calls.

### How can the changes be tested?
A3A_rebelGear is the hashmap containing all the gear lists, so that's worth looking at before spamming soldiers.

Notes:
* No-unlocks support for rebel AI equipping:
- Generates weighted arrays on server every 10mins, transmits to clients as required.
- Based on arsenal contents. Typically 10 items min chance, 50 max.
- Item usage is also capped by available magazines/bullets.
- Refund value halved to reduce effectiveness of exploits.

General improvements to rebel AI equipping:
- Improved use of NV, grenades, explosives and launchers.
- Optics are now weapon-appropriate.
- Magazines are now added by weight instead of count.

General improvements to automatic item categorisation:
- equipmentClassToCategories now caches for fast subsequent use.
- Disposable launcher support added.
- Optic categorisation added.
- Explosive charge detection added.
- Moved smoke grenade, flashlight and thermal detection to equipmentClassToCategories.
- Simplified and fixed missile launcher support.
- Fixed some broken CUP stuff in categoryOverrides.

Misc:
- Fixed incorrect CUP template dependency.

* Fixes to no-unlocks-rebel-gear:
- Cleared up some "weapons" that weren't fireable with categoryOverrides.
- Expanded OpticsMid detection to 6.25x.
- Belt-and-braces error detection for weapons with no default magazine.
- Fixed precedence syntax error in randomRifle fallback.
- Added safety check for zero-mass secondary weapon mags.

* Rework mid/long optic detection to use ranging capability instead of zoom level.
Change UnarmoredVests -> CivilianVests to match the category name.

* Fix VN weapon category overrides and rebel AI disposable launcher equipping.

* - Fix issue where arsenal_addItem didn't update immediately on the server.
- Fix some typos added in the last commit.

* Fix scope detection with ACE compats

* Better ACE scope ranging detection
## What type of PR is this.
1. [ ] Bug
2. [ ] Change
3. [ ] Enhancement

### What have you changed and why?
Information:
Cleanup the Mess in SetPlaneLoadout,
Add Drones to Templates, they were left out without any Reason stated.
Lower the Amount of GMG/GLs/MK19s, only BAF, rest is mostly 4 to 1ish
Removed AttackHelicopters in Transport,
Removed Vanilla Trucks in CargoTrucks, if there is no Truck for the Faction then there should be no Truck.
Removed Vanilla AA in BAF Template, replaced with US AA.
Added More Variants to US Army AA
Texture Path consistency, all to lower.
Removed leftover Comments.

supressed the Format rebellion, If we want to change the Format we should do it in all Not start it randomly in one Modset.

### Please specify which Issue this PR Resolves.
closes eh

### Please verify the following and ensure all checks are completed.

1. [x] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [x] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 

********************************************************
Notes:
* Cleanup SetPlaneLoadout

* Format Consistency, Drones, Planes, GMG/GL/MK19 Ratio, Remove Hints
Change selector for Testing

For Cherno Winter
CDF as OCC,
AFRF as INV.
Fix flag texture on AI resources and factories #2323
## What type of PR is this.
1. [ ] Bug
2. [x] Change
3. [x] Enhancement

### What have you changed and why?
Information:
Added Faces and Voices (Speaker) to Templates,
removed Identities and its use in the Code, replaced it with BIS_fnc_setIdentity,
Players get Faction fitting Speakers applied, If people use Ace this will only work if "ace_noradio_enabled" is not enabled.
(This sets "AceNoVoice" as Speaker on Respawn).
### Please specify which Issue this PR Resolves.
only half of #1914 

### Please verify the following and ensure all checks are completed.

1. [x] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [x] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 
TP around spawn Units etc.
If you manually Spawn units they need NatoInit/FiaInit called onto them.
```sqf
//All Loadouts with 15 meters in between with NatoInit  
 private _returnpos = getpos (player);  
 private _westGrp = createGroup west;  
 private _eastGrp = createGroup east;  
  
//All Loadouts with 15 meters in between 
    _returnpos = getpos (player); 
    //SF 
        [_westGrp, "loadouts_occ_SF_SquadLeader", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_SF_Rifleman", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_SF_Medic", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_SF_Engineer", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_SF_ExplosivesExpert", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_SF_Grenadier", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_SF_LAT", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_SF_AT", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_SF_AA", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_SF_MachineGunner", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_SF_Marksman", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_SF_Sniper", getpos (player)] call A3A_fnc_createUnit; 
        player setPos (getPos player vectorAdd [15,0,0]); 
    //Military 
        [_westGrp, "loadouts_occ_military_SquadLeader", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_military_Rifleman", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_military_Medic", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_military_Engineer", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_military_ExplosivesExpert", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_military_Grenadier", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_military_LAT", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_military_AT", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_military_AA", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_military_MachineGunner", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_military_Marksman", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_military_Sniper", getpos (player)] call A3A_fnc_createUnit; 
        player setPos (getPos player vectorAdd [15,0,0]); 
    //Militia 
        [_westGrp, "loadouts_occ_militia_SquadLeader", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_militia_Rifleman", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_militia_Medic", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_militia_Engineer", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_militia_ExplosivesExpert", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_militia_Grenadier", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_militia_LAT", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_militia_AT", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_militia_AA", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_militia_MachineGunner", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_militia_Marksman", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_militia_Sniper", getpos (player)] call A3A_fnc_createUnit; 
        player setPos (getPos player vectorAdd [15,0,0]); 
    //Other Loadouts 
        [_westGrp, "loadouts_occ_police_SquadLeader", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_police_Standard", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_other_Official", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_other_Traitor", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_other_Crew", getpos (player)] call A3A_fnc_createUnit;  
        [_westGrp, "loadouts_occ_other_Pilot", getpos (player)] call A3A_fnc_createUnit; 
        player setpos _returnpos; 
        player setPos (getPos player vectorAdd [0,10,0]); 
  //Safety west 
        _westGrp setCombatMode "BLUE"; 
        _westGrp setBehaviourStrong "CARELESS"; 
        { 
        _x disableAI "TARGET";  
        _x disableAI "AUTOTARGET"; 
        _x stop true; 
        _x setCaptive true; 
        } forEach units _westGrp; 
  {[_x] call A3A_fnc_NATOinit} forEach units _westGrp; 
    //All INV Loadouts 
    //SF  
        [_eastGrp, "loadouts_inv_SF_SquadLeader", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_SF_Rifleman", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_SF_Medic", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_SF_Engineer", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_SF_ExplosivesExpert", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_SF_Grenadier", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_SF_LAT", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_SF_AT", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_SF_AA", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_SF_MachineGunner", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_SF_Marksman", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_SF_Sniper", getpos (player)] call A3A_fnc_createUnit;  
        player setPos (getPos player vectorAdd [15,0,0]);  
    //Military  
        [_eastGrp, "loadouts_inv_military_SquadLeader", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_military_Rifleman", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_military_Medic", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_military_Engineer", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_military_ExplosivesExpert", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_military_Grenadier", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_military_LAT", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_military_AT", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_military_AA", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_military_MachineGunner", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_military_Marksman", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_military_Sniper", getpos (player)] call A3A_fnc_createUnit;  
        player setPos (getPos player vectorAdd [15,0,0]);  
    //Militia  
        [_eastGrp, "loadouts_inv_militia_SquadLeader", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_militia_Rifleman", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_militia_Medic", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_militia_Engineer", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_militia_ExplosivesExpert", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_militia_Grenadier", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_militia_LAT", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_militia_AT", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_militia_AA", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_militia_MachineGunner", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_militia_Marksman", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_militia_Sniper", getpos (player)] call A3A_fnc_createUnit;  
        player setPos (getPos player vectorAdd [15,0,0]);  
    //Other Loadouts  
        [_eastGrp, "loadouts_inv_police_SquadLeader", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_police_Standard", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_other_Official", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_other_Traitor", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_other_Crew", getpos (player)] call A3A_fnc_createUnit;   
        [_eastGrp, "loadouts_inv_other_Pilot", getpos (player)] call A3A_fnc_createUnit;  
 
 
    //Safety east 
 _eastGrp setCombatMode "BLUE";  
 _eastGrp setBehaviourStrong "CARELESS";  
 {  
 _x disableAI "TARGET";   
 _x disableAI "AUTOTARGET";  
 _x stop true;  
 _x setCaptive true;  
 } forEach units _eastGrp;  
 {[_x] call A3A_fnc_NATOinit} forEach units _eastGrp; 
 player setpos _returnpos; 

```
********************************************************

Notes:
* Removal of Identities

* Adding BIS_fnc_setIdentity to files

* Updating Reb Example, Remove comments

* Update other Examples

* Add Faces/Speaker to Templates

* Find and Replace mistake

* Fix Casing

* removed check for ace_noradio_enabled

* Update NatoInit with Johns suggestions

* Update fn_NATOinit.sqf
## What type of PR is this.
1. [ ] Bug
2. [x] Change
3. [x] Enhancement

### What have you changed and why?
Information:
While digging through the Files i found out that the only time we apply "locks" is when Non Commanders buy vehicles.
This is done by setting the Variable OwnerX with the Players SteamID.
Unlocking before this change was by removing OwernX's SteamID.

Added a locked variable to be added on Vehicle Placement and when Vehicles are bought by Non Commanders.
Commander's bought vehicles stay unaffected, they are always open and cannot be locked.

They start with locked false, meaning they are unlocked, only the Owner of the Vehicle can lock and Unlock it.
I wanted to remain the previous behaiviour of the Mechanic so Members Ignore locks, Owner ignores locks, Group Members of the Owner will ignore locks.

Updated the Hints to fit the changes.

Updated the Joke if you try to unlock a Person.

### Please specify which Issue this PR Resolves.
closes #XXXX

### Please verify the following and ensure all checks are completed.

1. [ ] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [ ] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 
Can be tested with Bought and Ungaraged Vehicles.
As a Member you can always enter the Vehicle,
As the Owner you can always enter the Vehicle,
As a Non Member you can only enter the Vehicle if its unlocked.
```sqf
//Test by Not being the Owner, you cannot Lock the Vehicle anymore.
_veh = cursorObject;
_veh setVariable ["ownerX","1234",true];
//Test by not being a Member anymore, you cannot ignore the lock, you cannot enter the vehicle if its locked.
membersx = [];
```
********************************************************
Notes:
The only Issue i could see is Sell Vehicle, as that actually checks and uses OwnerX
https://github.com/official-antistasi-community/A3-Antistasi/blob/afd998fc28ec329333929e37ba11dcac1111063f/A3A/addons/core/functions/Base/fn_sellVehicle.sqf#L47

* Attempt to make Locked Vehicle Opt-In

* Rename locked to A3A_locked,Switch to Global, clean up

* Change to Nil check
## What type of PR is this.
1. [x] Bug
2. [x] Change
3. [ ] Enhancement

### What have you changed and why?
Information:
Added a Check for not having Ace, so Players with Ace won't get a Speaker set and it should stay with "Ace_novoice".
Removed the Speaker Lines in OnPlayerRespawn.
Added a missed Semicolon.

### Please specify which Issue this PR Resolves.


### Please verify the following and ensure all checks are completed.

1. [ ] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [x] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 

********************************************************
Notes:
* Silence Players with Ace.

* Missed Semicolon

* Update fn_initClient.sqf

* Update fn_initClient.sqf

* Update fn_initClient.sqf

* Silence fn_TV_verifyAssets

* Update fn_TV_verifyAssets.sqf

* Update fn_initClient.sqf
## What type of PR is this.
1. [ ] Bug
2. [x] Change
3. [x] Enhancement

### What have you changed and why?
Information:
  removed extra attack helicopters, removed cz 805

### Please specify which Issue this PR Resolves.
closes #XXXX

### Please verify the following and ensure all checks are completed.

1. [ ] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [ ] No
2. [ ] Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 

********************************************************
Notes:
* removed extra attack helicopters, removed cz 805

* comma fix

* specOpsSnipers and SpecOpsRandom

* added more different guns

* remove sniper group

* re added group

* readded again becuase git sucks

* remove stuff not needed in pr
## What type of PR is this.
1. [X] Bug fix
2. [ ] Change
3. [ ] Enhancement

### What have you changed and why?
Forgot to test #2305 on DS+client. Apparently the only broken bit was that categoryOverrides is only created on the server, but now needs to be created everywhere because equipmentClassToCategories is used for general equipment identification.

Also tagged it with A3A_.

### Please specify which Issue this PR Resolves.
closes #2327

### Please verify the following and ensure all checks are completed.
1. [X] Have you loaded the mission in LAN host?
2. [X] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
1. [X] No
2. [ ] Yes (Please provide further detail below.)

Notes:
Fix categoryOverrides not being created on clients, and tag with A3A
)

## What type of PR is this.
* Bug
* Change
* [x] Enhancement
* [x] Logging

### What have you changed and why?
* Refactored `A3A_fnc_punishment_FF` to `A3A_fnc_punishment_evaluateEvent`
* Added additional Punishment logging for cheking player's UAV body.

### Please verify the following and ensure all checks are completed.

1. [x] Have you loaded the mission in LAN host?
2. [ ] Have you loaded the mission on a dedicated server?

### Is further testing or are further changes required?
* [x] No
* Yes (Please provide further detail below.)

### How can the changes be tested?
Steps: 
```sqf
        [player, 0, 0, objNull] remoteExec ["A3A_fnc_punishment_evaluateEvent",2];          // Test self with no victim
        [player, 0, 0, cursorObject] remoteExec ["A3A_fnc_punishment_evaluateEvent",2];     // Test self with victim
        [getPlayerUID player,"forgive"] remoteExec ["A3A_fnc_punishment_release",2];  // Self forgive all sins
```

Notes:
* Refactored punishment_FF to ..._evaluateEvent.

* Added Additional Logging.

* Check to see if original body matches instigator.

* Logs that UAV was detected in FF case.
### What have you changed and why?
Information:
    Added a block to prevent multiple event handlers being added and therefore not be able to remove them all on cleanup

Notes:
* Added a block in confimPlacement if already placing, this should prevent multi added event handlers

* review cange requests

* review cange requests 2

* review cange requests 3
What have you changed and why?
Information:
added groupSpecOpsRandom, and groupSpecOpsSniper.
groupSpecOpsRandom is used for random selection of 6 man group of sf units.
groupSpecOpsSniper will be used for sniper patrols, right now It is not used, just defines it.
groupSpecOps still exist, was kept for no school specOps if needed somewhere later.
all references of groupSpecOps are replaced with groupSpecOpsRandom. (hq_attack, dead towns, and controls)
fixed incorrect variable used for flight height restrictions
Turns out weapon classes found in vehicle turret config are not guaranteed to have the same case as weapon classes found using weaponsTurret. Which is fun. So the comparison here needs to be case-sensitive.

The RHS zu-23s tripped up on this, which is very bad.
#2352)

A3A_climate was declared in selector.sqf (which only runs on the server) and not published, but used in combatLanding which runs on HCs. This probably caused singleAttack combat landings to follow the wrong path with HCs present.

selector.sqf seemed like a terrible place for it anyway, so I moved A3A_climate to initVarCommon which runs early and everywhere.
PR was broken as repo got deleted, hence this adaptation.
#2336
Hovering over vehicle menu buy button renders a preview of the vehicle. For when the mod-pack (Unsung) doesn't include images.
* Create publishBranchToSteamDev.yml

* removed manual dispatch
changed file extension to `.rst`
@Bob-Murphy Bob-Murphy deleted the changelog_to_rst_retry branch July 30, 2023 19:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.