Compare commits

...

578 Commits

Author SHA1 Message Date
Hexo
ce873ad501
Update French (#10274) 2024-08-30 11:16:22 -05:00
johnb432
d56a3a6a95
Dragging - Add parameters for FUNC(setDraggable) & FUNC(setCarryable) to apply globally (#10266) 2024-08-27 18:34:46 -03:00
johnb432
96700e8dfd
Fastroping - Fix FRIES not working after vehicle respawn (#10268) 2024-08-27 18:30:16 -03:00
PabstMirror
884ae78704
Interaction - Add remote squad management (#10258)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-08-27 18:30:06 -03:00
PabstMirror
c5fb3d4cb0
Dragging - Fix dragging ai turrets via keybind (#10267) 2024-08-27 01:36:29 -03:00
johnb432
3b10396d3b
Dragging - Fix dragging breaking via keybind (#10261)
Fixed dragging breaking via keybind
2024-08-27 01:36:07 -03:00
johnb432
db7b78c068
Dragging - Add parameters check for FUNC(setDraggable) & FUNC(setCarryable) (#10264)
* Check params

* Update fnc_setDraggable.sqf
2024-08-26 22:59:22 -05:00
johnb432
284d3105db
Cargo - Fix missing cargo box sizes & cleanup (#10263)
* Clean up cargo's CfgVehicles

* Update CfgVehicles.hpp
2024-08-26 21:19:59 -05:00
johnb432
a894fc78c3
Safemode - Fix safemode being broken after respawning (#10260)
* Fix safemode being broken when respawning

* Update addons/safemode/XEH_postInit.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update XEH_postInit.sqf

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-08-26 11:33:40 -05:00
lambdatiger
da73cf979d
Common - Make FUNC(getVehicleIcon) check for strings without the .paa extension (#10257)
* added fallback for icons without .paa post-fix

* Make sure it's at least a valid path before we spend time searching

* Revert "Make sure it's at least a valid path before we spend time searching"

This reverts commit 2d7a9454e3316d3aa7bdfc4f6713ae3aa4859208.

* Added checking for empty `_vehicleValue` strings

Update addons/common/functions/fnc_getVehicleIcon.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-08-26 11:31:25 -05:00
lambdatiger
18bd1acc33
Compat GM - Fix inheritance and add GM stringtable entries to display names (#10256)
* Fixed inheritance on PETN and PLNP

* Added GM's localization strings

* adds required addons

* one of my testing scripts added forward slashes that aren't/aren't reflected in the GM configs
2024-08-26 11:29:34 -05:00
johnb432
cc00f5e551
SPE Compat - Improve SPE CfgVehicles explosives naming (#10259)
Improve SPE explosives naming
2024-08-25 15:41:36 -05:00
johnb432
008606f636
Interaction - Use animateSource instead of animate for interaction anims (#10249)
Use animateSource instead of animate
2024-08-24 18:59:01 -05:00
PabstMirror
fb177e43c5
aegis_compat - more names (#10254) 2024-08-24 18:57:10 -05:00
johnb432
ed1d42f71d
Aegis Compat - Add some realistic names (#10253) 2024-08-24 17:17:39 -03:00
PabstMirror
42d2322ac0
Missile Guidance - Cleanup merge (#10246) 2024-08-24 19:54:17 +00:00
johnb432
0983c9b3bb
General - Fix and improve misc. interaction anims (#10248) 2024-08-24 14:57:44 -03:00
johnb432
8161e5ceed
WS Compat - Use ACE MG for realistic name (#10252) 2024-08-24 14:56:38 -03:00
johnb432
9cfdf3dc19
Docs - Add interaction anims (#10250) 2024-08-24 14:55:59 -03:00
PabstMirror
17f2de4ec1
General - Fix some format args/strings (#10251) 2024-08-24 14:55:45 -03:00
Apricot
59314edf62
Translations - Improve Japanese (#10245)
update Japanese
2024-08-23 10:35:32 -05:00
Bailey Danyluk
7279b94945
Missileguidance - Update Javelin (#10030) 2024-08-23 14:51:55 +00:00
Bailey Danyluk
b36961937c
Metis - Update to use missile guidance framework (#10033) 2024-08-23 09:48:08 -05:00
Bailey Danyluk
9d429b8be5
Hot - Update to new framework (#10029) 2024-08-23 09:47:52 -05:00
Bailey Danyluk
fad9244104
Hellfire - Update to new framework (#10028) 2024-08-23 09:47:28 -05:00
Bailey Danyluk
4d088fd828
Missileguidance - Update DAGR (#10024) 2024-08-23 09:46:44 -05:00
Bailey Danyluk
8d2b2ce3b9
Dragon - Update to new framework (#10025) 2024-08-23 09:46:30 -05:00
Bailey Danyluk
a1cafef5ae
Nlaw - Update to use Missile Guidance Framework (#10034) 2024-08-23 09:46:01 -05:00
Bailey Danyluk
2c4c7c2fdf
Maverick - Update to missile guidance framework (#10032) 2024-08-23 09:45:21 -05:00
Bailey Danyluk
8ac2d09c31
Missileguidance -- rewrite to use real-world guidance principles, general refactor (#10019)
* update todo with list of weapons

* Add AIM-120 with ARH. Change AHR to not always seek all targets

* Implement some generic modes of flight

* implement augmented proportional navigation

* Add zero-effort miss. Seeker now feeds data to navigation

* Fix bug with ZEM

* remove placeholder

* Change out missile types to reflect navigation scheme they use IRL

* remove uneeded sets

* chane navigation profiles to go for attack direction instead of target

* multiple changes

* SALH: only update seeker pos if it within small error

* IR seeker and AIM-9M

* small tweaks

* more tweaks

* todo: fix nlaw

* update todo

* implement course state machine

* Improve radar simulation

* enable chaff decoy

* add config entries

* Implement optical mavericks

* Allow for debug info to be displayed via variable

* Change AIM-9 agility

* update dragon to not use new guidance

* Tweak flight parameters. Add R-77

* Add AIM-120A

* add ASRAAM

* add R-73/4

* Add all GBU-12s that exist for all planes

* update todo

* update todo for ground based weapons

* Add GPS selector dialog for GPS munitions

* add TOO TGP

* Add SDB and JDAM

* update todo

* fix gimbal lock via rotating with quaternions

* tweak JDAM guidance

* Better attack angle calculation. Does not get exactly right, but works for all cases.

Need to implement a PID controller navigation type to get a correct attack angle

* Fix SACLOS missiles

* Fix NLAW and PLOS

The missile pitches up due to initial angle stuff. I don't know if this is behaviour we want to fix or not?

* update todo

* update todo

* Add Vikhr ATGM

* Add long range SAMs

* fix SAM animations

* Add all ground based missiles. Tweak AIM-9 flare angle

* remove debugh print

* Fix Wiesel ATGM animation. Tweak SACLOS values

* Add action to get into jdam settings

* fix all script components

* Add paremter to allow weathervaning

Weapons usually tend toward the velocity vector due to aerodynamics - calculate side slip and use calculation to do this

* Add new navigation profile. Tweak javelin mid-course guidance

* Process all navigation onFired. Send the correct array to function

* fix missing semicolons

* Add hellfire mid course guidance

* Tweak hellfire attack profile

* change how IR seeker performs

The angle check is better now. Relative velocites guarenteed

* tabs -> spaces

* localise aim120

* localise aim9

* localise gbu

* fix IR tracker losing lock immediately due to being blocked by launcher

* localise manpad

* actually localise manpad

* localise maverick

* localise missile guidance

* localise sam

* localise sdb

* localise vikhr

* tabs -> spaces again

* init commit 9m14

* update stringtables so they are in titlecase

* crash on load

* perplexed

* fix game crashing on load

* Add joystick model

* Add realistic 9m14 behaviour

the 9m14 control joystick can attach 4 9m14 launchers at a time. Replicate that here

* add MCLOS guidance

* add the ability to see a light trail

* tweak HOT guidance params

* tweak metis guidance params

* tweak Vikhr guidance

* add trail to vikhr

* Add Iron Dome interceptor API

* Optimise iron dome

* Only launch if we are above a threshold angle

* add local event for mission makers

* change events to allow for any number of arguments

* avoid making un-needed calls to the server

* Update doppler seeker to allow the tracking and killing of projectiles

* Avoid overshooting target

* Add settings for various things

* Add missile hiding for malyutka

* init commit of cruise missile

* Various - Add missing units/weapons to cfgPatches (#8175)

* Various - Add missing units/weapons to cfgPatches

* Update config.cpp

* Documentation - Add Mikero binarization note (#8172)

* Bump is-svg from 4.2.1 to 4.3.1 in /docs/src (#8177)

Bumps [is-svg](https://github.com/sindresorhus/is-svg) from 4.2.1 to 4.3.1.
- [Release notes](https://github.com/sindresorhus/is-svg/releases)
- [Commits](https://github.com/sindresorhus/is-svg/compare/v4.2.1...v4.3.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Adjust "New issue" link to lead to template selection page (#8182)

We want people to choose a template when creating a new issue

* Update linguist settings (#8151)

* Typo in usage example (#8201)

* Mk6 Mortar - Fix README.md typo (#8205)

* Overhaul CSW docs (#8206)

* Medical - Add Alternative Survival Chance (#8192)

Co-authored-by: TyroneMF <TyroneMF@hotmail.com>
Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>
Co-authored-by: Kyle Mckay <5459452+kymckay@users.noreply.github.com>

* Fix make.py temp files cleanup (#8189)

* Fix Injured Sounds Not Playing At Altitudes Above 70 (#8212)

* Particles - Fix macro (#8214)

* initial push

* Update script_component.hpp

* Update script_component.hpp

* Update script_component.hpp

* Map - Fix stuck map compass size (add 0.1 zoom duration) (#8176)

Co-authored-by: jonpas <jonpas33@gmail.com>

* Medical - Allow unconscious unit in Taru pods (#8168)

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>

* Name Tags - Add ability to set custom rank icon (#8174)

* Tools - Add script to update HEMTT include folder (#8134)

* Tools - Add script to check sqf/config with sqfvm (#8137)

* Medical - Add Vehicle Crashes setting (#8149)

Co-authored-by: jonpas <jonpas33@gmail.com>

* Dragging - Add new dragging animations (#7950)

* New custom animation added

* Adjusted CfgMoves and the script components

* New drop animation and key handler

* CBA settings and new ManActions added

* Adjustments to the drop animation

* Added translations and fixed some stuff

* Update CfgMovesBasic.hpp

* Fix translations

Co-authored-by: Elgin675 <elgin675@hotmail.com>
Co-authored-by: Blutze <37950828+Blutze@users.noreply.github.com>

* Use the same key to drop object

* Update addons/dragging/stringtable.xml

Co-authored-by: Jo David <github@jonathandavid.de>

* Fix French translation

Co-authored-by: Elgin675 <elgin675@hotmail.com>

* Lower the weapon accuracy of the drag animations

* Removed auto-switch to handgun

* Update fnc_startDrag.sqf

 - Holding a launcher breaks the firing animation.
 - Now the unit has to hold either a primary weapon or handgun.

* Handle the unit's current weapon

Co-authored-by: BaerMitUmlaut <BaerMitUmlaut@users.noreply.github.com>

* Update addons/dragging/functions/fnc_handlePlayerWeaponChanged.sqf

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>

* Update addons/dragging/initSettings.sqf

Co-authored-by: Elgin675 <elgin675@hotmail.com>
Co-authored-by: Blutze <37950828+Blutze@users.noreply.github.com>
Co-authored-by: Jo David <github@jonathandavid.de>
Co-authored-by: BaerMitUmlaut <BaerMitUmlaut@users.noreply.github.com>
Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>
Co-authored-by: jonpas <jonpas33@gmail.com>

* Dragging - Fix build issue (#8219)

* Documentation - Remove DeTex requirement (#8220)

DeTex is subscriber-only now, not required for building ACE3.

* User Interface - Add setting for Development Build watermark (#8140)

Co-authored-by: jonpas <jonpas33@gmail.com>

* RHS USAF Compat - Nightforce NXS scopes updated (#8222)

* Interact Menu - Make List default (#8217)

* Markers - Add scale slider (#8059)

Co-authored-by: commy2 <commy-2@gmx.de>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: jonpas <jonpas33@gmail.com>

* Initial push (#8225)

* MicroDAGR - Add mode switching keybinds (#8216)

* Initial push

* Mode cycling

* Use defines

* RHS ARF Compat - Fix RPK74M wrong ammo bug (#8223)

* Fixed RPK74M wrong ammo bug

* Fix wrong deleted lines of code

* Edit rjs_weap_rpk74_base to rhs_weap_rpk_base

Co-authored-by: Dabako <github@dabakoworld.de>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Extensions - Various Improvments (#8227)

* Translations - Spanish (#8229)

Complete to date spanish translation.

* Attach - Added attached/detaching events (#8193)

* Added ace_attach attached/detach events

* Apply suggestions from code review

Co-authored-by: Jo David <github@jonathandavid.de>

* Apply suggestions from code review

Co-authored-by: jonpas <jonpas33@gmail.com>

Co-authored-by: Jo David <github@jonathandavid.de>
Co-authored-by: jonpas <jonpas33@gmail.com>

* Markers - Fix marker scale (#8233)

* Cargo - paradrop fixes (#8203)

* Small fixes in ace_cargo

Makes paradropItem and unloadItem invoke event "ace_cargoUnloaded" with parameters _itemObject, _vehicle and "paradrop" or "unload" respectivelty.
paradropItem invoked said event but if item was classname it would send classname to event which is not particularly useful.

* Update XEH_postInit.sqf

Moved event invocation to unloadItem, this provides ability to always pass object to eventhandlers.

* code refactor

refactored according to https://github.com/acemod/ACE3/pull/8203#discussion_r610394484

* Update fnc_paradropItem.sqf

apply new fix

* Revert "Update fnc_paradropItem.sqf"

This reverts commit 3db5cc191082a4d8e3cb0c39f0a5c791e2874f0e.

* Update fnc_paradropItem.sqf

fixed hint that was broken by previous fixes

* style check

Co-authored-by: commy2 <commy-2@gmx.de>

* style check

Co-authored-by: commy2 <commy-2@gmx.de>

* naming convention

replaced object references called _item with _object.

* Update fnc_paradropItem.sqf

Co-authored-by: commy2 <commy-2@gmx.de>

* Parachute - Add failure chance (#8226)

* Initial push

* disable forgotten define

* Improve exitWith check

* Requested/suggested changes

* Requested changes

* Requested changes

* Bump lodash from 4.17.20 to 4.17.21 in /docs/src (#8244)

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump grunt from 1.0.4 to 1.3.0 in /docs/src (#8246)

Bumps [grunt](https://github.com/gruntjs/grunt) from 1.0.4 to 1.3.0.
- [Release notes](https://github.com/gruntjs/grunt/releases)
- [Changelog](https://github.com/gruntjs/grunt/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt/compare/v1.0.4...v1.3.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump hosted-git-info from 2.5.0 to 2.8.9 in /docs/src (#8247)

Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.5.0 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.5.0...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Markers - Fix JIP scale (#8248)

* Night Vision - Add color variants to all generations (#8209)

* Fix wrong shot size in birdshot strings (#8253)

* Patachute - Add sound effect when cutting (#8239)

* Changes poisson disc to centered random. (#8257)

It looks nicer and distributes more realistically. I don't know what I was thinking when I first put in poisson disc.

* Fix tabs and manpad UBC

* fix tabs in aim9

* progress update: tercom now flies to acquisition basket

* add TERCOM state defines

* work on parsing heightmap

* Change GBU navigation

* remove testing constants

* remove TERCOM guidance

* better JDAM simulation

Attack heading and impact angle now are followed better

* Better flare decoy calculation

* Update 9m14_joystick.p3d

removed p:\ part from proxy path:
was: `\p:\a3\data_f\proxies\gunner_static_low01\gunner.p3d`

* Destroy projectile on all clients

The projectile needs to be destroyed on all clients to stop it from being simulated. If not destroyed where projectile is local, it will still explode when hitting the ground. If not destroyed on remote clients, the projectile will still be visible but deal no damage

* fix NLAW navigation profile

* fix uninitialised values

* make over-fly trajectory over-fly

* remove malyutka

* SACLOS tweaks

* small changes

* fix bug in laser

* make pronav use the correct units

* change back

* add dev function to get ammo which has MG class data

* improve lin navigation

* Minor style

* add spike ATGM

* Allow multiple cameras to exist at once. Fix script error

* fix bug with angles close to 0

* remove debug

* misc updates

* Handle pre-tracking

* Tweak target acquisition. Reset target after shooting

* Tweak how targets are acquired. Fix velocity calculation

* tweak navigation to allow for <200m shots

* enhance target designation

* Stringtable addition

* Config changes

* more SACLOS tweaks

* Some minor fixes

* fix undefined array

* Only play sound when Spike is launcher. Change onFired to missileguidance

* Tweak IR seeker. Fix MCLOS fired from vehicles

* Remove debug sets

* Update all Line guidance missiles

* remove debug sets

* tweak javelin to make minimum ranges more realistic

* cut spike

* add better error messaging

* better debug info

* Rewrite documentation

* Add ability to disable iron dome (disabled by default)

* Change name

* fix typo

* Remove null projectiles from iron dome nonTrackingProjectiles

* HEMTT v10 Compatibility

* Update addons/field_rations/CfgUIGrids.hpp

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* fix PabstMirror review

* optionals

* Change configs to enclose strings for calculations

* Fix NLAW guidance that was causing massive overfly

* make tweaks for PLOS movement path

* fix NLAW overfly

* Fix hemmit merge

* fix header

* Update fnc_seekerType_SACLOS.sqf

* Update to new include paths

* Update fnc_midCourseTransition.sqf

* initSettings.inc.sqf

* Remove weapon additions

* revert old weapons, pt1

* revert pt2

* readd javelin

* split iron dome

* cleanup laser

* remove GPS files

* remove gps definitions

* remove IR

* remove MCLOS

* remove doppler

* final cleanup

* restore final final i promise

* cleanup arbitrary files

* small cleanup

* fix hemtt warnings

* cleanup unused var

* fix preping some missing files (jdam/doppler)

* move cam func

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: jonpas <jonpas33@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jo David <github@jonathandavid.de>
Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>
Co-authored-by: Pascal Dunaj <32539404+t-zilla@users.noreply.github.com>
Co-authored-by: BaerMitUmlaut <BaerMitUmlaut@users.noreply.github.com>
Co-authored-by: Brett <brett@bmandesigns.com>
Co-authored-by: TyroneMF <TyroneMF@hotmail.com>
Co-authored-by: Kyle Mckay <5459452+kymckay@users.noreply.github.com>
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: commy2 <commy-2@gmx.de>
Co-authored-by: R3voA3 <robertseibel@outlook.de>
Co-authored-by: Steve Zhao <ampersand38@gmail.com>
Co-authored-by: Kyle J. McKeown <Drift91@users.noreply.github.com>
Co-authored-by: Salluci <69561145+Salluci@users.noreply.github.com>
Co-authored-by: Dániel Boros <43353942+Malbryn@users.noreply.github.com>
Co-authored-by: Elgin675 <elgin675@hotmail.com>
Co-authored-by: Blutze <37950828+Blutze@users.noreply.github.com>
Co-authored-by: Laid3acK <bal2.chris@orange.fr>
Co-authored-by: frankplow <post@frankplowman.com>
Co-authored-by: JoramD <j.davids@hotmail.nl>
Co-authored-by: Dabako <dabako@gmx.de>
Co-authored-by: Dabako <github@dabakoworld.de>
Co-authored-by: Abogado <regiregi22@hotmail.com>
Co-authored-by: Dedmen Miller <dedmen@users.noreply.github.com>
Co-authored-by: Lupus the Canine <tymoteusz.2000.0+GitHub@gmail.com>
Co-authored-by: Drofseh <Drofseh@users.noreply.github.com>
Co-authored-by: LorenLuke <LukeLLL@aol.com>
Co-authored-by: SzwedzikPL <szwedzikpl@gmail.com>
Co-authored-by: BrettMayson <brett@mayson.io>
2024-08-23 09:21:31 -05:00
PabstMirror
1f67058dda
Interaction - Give some feedback if action is disabled (#10244) 2024-08-23 09:12:53 -05:00
johnb432
87333a1218
CSW/Reload - Don't allow interactions with hostile CSWs (#10152)
Don't allow interactions with hostile CSWs

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-08-23 07:22:19 -03:00
PabstMirror
7cdafe1d10
Interaction - Add setting for blocking interaction with enemy crew (#10237) 2024-08-23 07:21:51 -03:00
johnb432
dcf49d77eb
CUP Compat - Add interaction anims to CUP vehicles (#10238)
Add interaction anims to CUP
2024-08-22 20:00:15 -05:00
johnb432
7790028aa7
RHS Compat - Add interaction anims for ammo boxes (#10242)
* Add ammo boxes interaction anims to RHS

* Fix bad inheritance
2024-08-22 19:59:48 -05:00
johnb432
f564016b4b
WS Compat - Rename WS weapon holders when realistic names is loaded (#10240)
Rename WS weapon holders
2024-08-22 12:15:20 -05:00
johnb432
53a42fc89e
General - Improve backpack interaction anim names (#10239)
Improve backpack interaction names
2024-08-22 12:14:38 -05:00
PabstMirror
afde7264ba
UI - Add keybind to hide all hud elements (#10227)
* UI - Add keybind to hide all hud elements

* Handle advFatigue stamina bar

* Update stringtable.xml

* Update docs/wiki/framework/ui-framework.md

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-08-22 12:13:54 -05:00
johnb432
82f5019488
SPE Compat - Add interaction anims to SPE vehicles (#10226)
Add interaction anims to SPE
2024-08-21 22:49:28 -05:00
johnb432
15a5e74649
GM Compat - Add interaction anims to GM vehicles (#10234)
Add interaction anims to GM
2024-08-21 22:49:06 -05:00
johnb432
1dae884fff
General - Add replacement items for editor inventory management (#10216)
Add replacement items for editor inventory management
2024-08-21 22:48:36 -05:00
Hexo
6304a9e5f3
Translation French (#10236)
* Update translate Hearing french

* update map tools

* trad fr

* correction

* Translate realisticnames

* compat_ws translate fr

* translate FR

* Update stringtable.xml

* Update addons/cookoff/stringtable.xml

space correction

---------
2024-08-21 21:16:43 -05:00
PabstMirror
b4700aeffc
Interaction - Add action to drop distant units from group (#10228)
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-08-21 22:13:29 -03:00
johnb432
e798050a00
SOG Compat - Add interaction anims to SOG vehicles (#10223) 2024-08-21 21:57:30 -03:00
johnb432
abced51bb0
WS Compat - Add interaction anims to WS vehicles (#10229) 2024-08-21 21:56:30 -03:00
johnb432
b2091f0e4d
RHS Compats - Improve some locations for interaction anims (#10235) 2024-08-21 21:55:42 -03:00
johnb432
ffba612011
Interaction - Add distance to interaction anims (#10233) 2024-08-20 19:27:28 -03:00
Mike-MF
52c19d53af
Magazine Repack - Add ability to disable repacking via class (#10232)
* Magazine Repack - Add ability to disable repacking via class

* Update addons/magazinerepack/functions/fnc_getMagazineChildren.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Bretts suggestion

* Documentation

* Apply suggestions from code review

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Review missed a line

* Fix getting number instead of config & microoptimisation

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-08-20 17:24:58 -05:00
johnb432
0643ca6fd9
Repair - Improve some locations for interaction anims (#10224)
Improve some locations for interaction anims
2024-08-20 14:44:47 -05:00
johnb432
c292f0ed31
Interaction - Improve interaction anims locations for bags (#10230)
Improve interaction anims locations
2024-08-20 14:44:33 -05:00
johnb432
80b2fa9a05
Vehicle damage - Code cleanup (#9831)
* Cook-off improvements

* More changes

* Update fnc_getVehicleAmmo.sqf

* Better engine fire placement

* Update fnc_detonateAmmunition.sqf

* Update XEH_postInit.sqf

* Update fnc_getVehicleAmmo.sqf

* Update events-framework.md

* Various improvements

* Separate effect handling

* Tweaks

* Update XEH_postInit.sqf

* Prevent double ammo detonation

* Fixed objects not being able to cook-off again

* Added incendiary rounds as source of box cookoff

* Converted enable setting to bool

* Fixed brackets

* Update fnc_cookOff.sqf

* Update CfgEden.hpp

* Removed GVAR(enable), added GVAR(enableFire) back

* Vehicle damage fixes

* Made hitpoint hash common

* Update fnc_addEventHandler.sqf

* Update fnc_medicalDamage.sqf

* Update fnc_handleBail.sqf

* Changed API

* Remove `CBA_fnc_getConfigEntry` as much as possible, as it's 2x slower

* More cleanup

* More cleanup

* Fix merging issues, remove turret tossing

* Update translations

* More cleanup

* Reverted some logic back to original, minor tweaks & fixes

* Fix undefined variable

* Cleanup

* Fixed bad logic

* Update addons/vehicle_damage/script_macros.hpp

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/vehicle_damage/functions/fnc_handleDamage.sqf

* Update addons/vehicle_damage/stringtable.xml

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/vehicle_damage/stringtable.xml

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/vehicle_damage/XEH_postInit.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-08-20 16:23:21 -03:00
Dart
2682778499
HEMTT - Use extends for launch presets (#10231)
Use extends for launch presets
2024-08-20 10:47:47 -05:00
Enrico Machado
962b498e6a
Translation - Improve Portuguese (#10159)
* Update stringtable.xml

* Update stringtable.xml
2024-08-19 20:31:43 -05:00
johnb432
81f44e6e7a
Realistic Names - Fix bad inheritance from #10202 (#10225)
Fix bad inheritance from #10202
2024-08-19 00:51:37 -05:00
johnb432
35658e41cc
Docs - Update Arma 3 Issues (#10207)
Update arma-3-issues.md
2024-08-19 00:50:54 -05:00
PabstMirror
1b210d80a7
workflow - fix hemtt lint, drop sqflint, fix ext clippy warnings (#10219) 2024-08-18 14:02:35 -05:00
BrettMayson
b72ce6180a
Extension - Change clipboard crate (#10221)
* extension: change clipboard crate

* forgot fmt :|
2024-08-18 09:53:11 -05:00
Grim
fcfb2121be
Common - Use lifeState check in FUNC(isAwake) (#9646)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-08-17 12:59:26 -03:00
Fabio Schick
22f97270f6
Kestrel4500 - Measure wind relative to player's head direction (#10215) 2024-08-17 12:57:37 -03:00
johnb432
bdf6a179ad
Artillery Tables - Fix artillery UI not refreshing when being teleported from one vehicle to another (#10217) 2024-08-17 12:56:51 -03:00
johnb432
094e235f7a
Artillery Tables - Fix artillery UI not showing if no gunner view available (#10218) 2024-08-17 12:56:19 -03:00
BrettMayson
043b3907fe
Extensions - Rust (#9015)
Co-authored-by: Pepijn Holster <pgaholster@gmail.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: LorenLuke <LukeLLL@aol.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-08-17 12:50:38 -03:00
BrettMayson
1cd48c52c3
HuntIR - Add Events & Animation Disable Flag (#10214) 2024-08-17 09:42:34 -03:00
johnb432
e5178fe6fd
Explosives - Use full magazine name in interaction menu (#10192)
* Force better names in explosives placing menu

* Revert "Force better names in explosives placing menu"

This reverts commit 29af35ae8bb2d6355512ce27d6c4dd94687fabeb.

* Use `displayName` instead of `displayNameShort`
2024-08-17 00:30:32 -07:00
johnb432
8e2398d7cc
Docs - Force functions to be alphabetically sorted on wiki (#10208)
Force functions to be alphabetically sorted on wiki
2024-08-16 12:44:58 -07:00
johnb432
0164b6259f
General - Add missing pretty names to components (#10211)
Add missing pretty names to components
2024-08-16 12:44:37 -07:00
PabstMirror
6572422ec7
Doc - Try to fix framework-attach event list (#10212)
* Doc - Try to fix framework-attach event list

* Update docs/wiki/framework/attach-framework.md

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-08-16 12:58:13 -05:00
johnb432
8dbad08838
Arsenal - Fix modParams printing messages in RPT (#10213)
Fix modParams printing messages in RPT
2024-08-16 10:17:57 -07:00
commy2
903f046810
Optics - Convert Optics to use CBA Optics (#7273)
* convert ace_optics to use cba_optics

* convert ace optics to cba optics

* Remove duplicate

* Add PIP config

* Use optics index

* Fix pboProject build

* Update CfgWeapons.hpp

* Correct SOS, adjust sizes and fix build issues

* Update addons/optics/script_component.hpp

* Corrected sizes again

* Made the scripted optics the first optics mode, fixed PIP SOS not being able to use irons

* Remove unused test object

* Readd AI stuff

visionMode is already set

* Updated some info on binos

forceOptics also already set

* Overhaul of magnifications

* Adjusted MOS & Nightforce

* Maybe this time the optics sizes will be fine... surely?

* Replace heavy optics blur with CBA one

* Added PIP names back

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-08-15 01:17:46 -07:00
johnb432
4014cd5539
Explosives - Remove replacement explosives (#10206)
Remove replacement explosives
2024-08-15 00:32:17 -07:00
Tim Beswick
f3e2e11693
Headless - Fix unable to transfer groups (#10203)
* Fix headless unable to transfer groups

* Switch events to use `CBA_fnc_ownerEvent`

* Update variable definitions

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-08-15 00:31:51 -07:00
PabstMirror
3728bc4b8b
Hearing - Fix explosions from AI fire (#10204) 2024-08-14 16:30:13 -05:00
johnb432
3229336018
Explosives - Trivial cleanup (#10205)
Explosives trivial cleanup
2024-08-14 10:53:40 -07:00
johnb432
740869e859
Realistic Names - Complete & cleanup (#10202)
Cleanup & complete realistic names
2024-08-13 09:30:42 -07:00
johnb432
a2be42ba57
Realistic Names - Add optics & vehicles compats (#10201)
Add optics & vehicles compats to realistic names
2024-08-13 04:28:24 -07:00
johnb432
62ba5ffe24
Explosives/Realistic Names - Improve CfgVehicles explosives naming (#10200)
* Improve explosives naming

* Move all ACE explosives into compat

* Update CfgMagazines.hpp
2024-08-13 04:12:52 -07:00
PabstMirror
b96d74fb11
Interact Menu - Fix self actions when handcuffed (#10188) 2024-08-13 02:19:18 -07:00
johnb432
7cd2b9820b
Docs - Update CfgVehicles ACE config entries (#10199)
* Update CfgVehicles ACE config entries

* Update ace3-config-entries.md
2024-08-12 14:27:08 -07:00
johnb432
a99c78cf87
Compats - Use EGVAR where possible (#10194)
Use `EGVAR` in compats where possible
2024-08-12 14:25:29 -07:00
johnb432
3d86fffef6
No Uniform Restrictions - Update FUNC(exportConfig) (#10198)
* Update fnc_exportConfig.sqf

* Update fnc_exportConfig.sqf

* Update fnc_exportConfig.sqf
2024-08-12 14:22:53 -07:00
johnb432
cf3a86ffc7
Medical Treatment - Notify restart requirement (#10197)
Add restart notification for convert items setting
2024-08-12 09:59:48 -07:00
johnb432
72f230a3a2
Hearing - Fix explosions not affecting hearing (#10002)
* Have explosions affect hearing

* Update fnc_explosion.sqf

* Update XEH_postInit.sqf

* Update addons/hearing/functions/fnc_explosion.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update fnc_explosion.sqf

* Make EH local

* Use sound entry instead

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-08-12 06:45:03 -07:00
johnb432
f3938ba0cc
Explosives - Use triggerAmmo instead of setDamage (#10182)
* Use `triggerAmmo` instead of `setDamage`

* Update docs/wiki/framework/explosives-framework.md
2024-08-12 06:18:21 -07:00
johnb432
5e65e56c5e
Wiki - Fix dependencies list on wiki (#10109)
* Fix dependencies list on wiki

* laser-guided

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>

* Update docs/wiki/feature/xm157.md

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Moved medical_menu to medical-gui

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
2024-08-12 10:16:27 -03:00
johnb432
198c09dccd
CUP Compat - Improve explosives compat (#10193)
Updated CUP explosives compat
2024-08-12 06:15:35 -07:00
johnb432
ada7b93219
General - Use QUOTE(ADDON) for status effects (#10195)
Use ADDON for status effects
2024-08-12 06:15:09 -07:00
johnb432
43d42c85cd
Cookoff - Use triggerAmmo instead of setDamage (#10185) 2024-08-11 20:31:02 -03:00
PabstMirror
285f903b14
General - Optimize some loops with forEachReversed (#10191) 2024-08-11 20:30:08 -03:00
PabstMirror
3ff635f82d
Common - Use hashmap for canInteractWith check (#10189) 2024-08-11 20:29:33 -03:00
Grim
fff66bc27c
Medical - Make Peripheral Resistance affect blood loss (#8420)
Co-authored-by: Salluci <69561145+Salluci@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-08-11 20:29:11 -03:00
johnb432
c8e7b6396b
Medical Damage - Improve custom wound handling (#9310) 2024-08-11 20:28:51 -03:00
johnb432
be23ae7ecd
Medical GUI - Make separate file for keybinds (#10190)
* Make separate file for keybinds

* Add missing ;
2024-08-11 14:24:01 -07:00
johnb432
70c8322392
Aegis Compat - Overwrite some Aegis changes (#10173)
* Overwrite some Aegis changes

* Preemptively overwrite upcoming changes to Aegis
2024-08-11 08:10:48 -07:00
johnb432
b7f48a912f
IR Light - Fix bad item replacements and switching to primary weapons (#10119)
* Fix bad item replacements and switching to primary weapons

* Update addons/irlight/functions/fnc_initItemContextMenu.sqf

* Update fnc_initItemContextMenu.sqf

* Remove unused funtions

* Various fixes/tweaks

- Added a weapon parameter to `switchAttachmentMode`
- Made `switchPersistentLaser` take pointer switching into account
- Fixed IR light attachments being added to the wrong weapon
2024-08-11 08:08:50 -07:00
johnb432
ff31bc69a8
Medical AI - Prevent medics from being blocked on treatments they can't complete (#10167)
* Add tourniquet support for Medical AI

* Stop blocking start

* Renamed states, condensed `canHeal`

* Renamed `tooManyMeds` state

* Update addons/medical_ai/functions/fnc_healUnit.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Change states to use singular, add states for autoinjectors & splint

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-08-11 08:06:59 -07:00
PabstMirror
0b4029b12f
Medical AI - AI will remove tourniquets (#10166)
* Medical AI - AI will remove tourniquets

* Medical AI - Improve tourniquet removal (for #10166) (#10178)

* Fixes & tweaks

- Have AI remove tourniquets ASAP
- Fixed bug where AI would not remove tourniquet, because it didn't have any bandages
- Allowed for more multitasking

* Allow healer to administer morphine if out of bandages

* Remove TODO comment

* Allow AI to remove tourniquets from limbs with no open wounds

* Update addons/medical_ai/functions/fnc_healingLogic.sqf

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-08-11 00:19:35 -07:00
Dystopian
96f81f1c9b
Interaction - Add actions based on animations (#6144)
* Add actions based on animations

* Add setting

* Add ability to set items for users

* Add actions for 1.82 changes

Add actions for backpacks, canisters, entrench tool.
Move items and backpack to WeaponHolder.

* Add RHS 0.4.6 ZIL spare

* Update to new standards

* Handle RHS BTR retread system

* Make init faster: move condition to configClasses

* Fix CUP fake anims

* Refactor

* Rework

* Rename init function

* Decrease number of classes to init

* Fix merge mistake

* Apply suggestions from code review

* Updated code for current mod structure

* Multiple fixes & tweaks

- Made anim setting require a mission restart
- Handle more types of items that can be spawned
- Prioritise adding items to inventory and only drop on ground if no inventory space
- Add more position checks to make certain no valid position are present before stopping
- If 1 item was spawned in, it's considered as success
- Disable RHS' wheel replacement only if ace_repair is loaded

* Update CfgVehicles.hpp

* cache config lookup at preStart

* Fix error

* Add text config entry for progress bar title

* Restructure interactions, improved some locations & added interaction to some missing vehicles

* Reverted preInit change

---------

Co-authored-by: jonpas <jonpas33@gmail.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-08-10 23:29:50 -05:00
Dart
e36363e8cc
Arsenal - Add ace_arsenal_fnc_saveLoadout as API to save loadouts (#10151)
* Added fnc_saveLoadout

* Changed to toLower for other languages

* GitHub didn't like editing the file in the browser

* Fix case-sensitive _loadoutIndex

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Unicode support

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* setVariable in case no loadouts are saved

* Fix return not happening properly

* Added scripting example

* Update docs/wiki/framework/arsenal-framework.md

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-08-10 12:01:12 -07:00
PabstMirror
346d56c659
QuickMount - Fix keybind (#10184) 2024-08-10 13:53:01 -05:00
johnb432
e181cffc83
RHS Compats - Remove nametags related functions being called if nametags isn't loaded (#10177)
Don't call nametags related functions if nametags isn't loaded
2024-08-10 12:58:43 -05:00
johnb432
d7c98ea366
Medical AI - Fix specific treatment items not being removed (#10179)
Fix treatment items not being removed

Bug introduced in #10158
2024-08-10 10:19:36 -07:00
johnb432
9e4bcc5d72
Explosives - Remove delayTime for explosives, as it no longer serves any purpose (#10181)
Remove `delayTime` for explosives, as it no longer serves any purpose
2024-08-10 10:06:45 -07:00
johnb432
22c71ba80e
CSW - Fix round count in GMG belt description (#10180)
* Correct round count in GMG belt

* Fixed failing CI
2024-08-10 06:48:34 -07:00
tuntematonjr
b2a3fac4b6
Medical Feedback - Add parameters to fnc_playInjuredSound (#10175)
* Additional parameters

- added parameters to allow changing distances for sounds for each severity.
- added parameter to allow unconscious units to do sounds.

* fix conditio

* Updated header formatting + minor tweaks

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-08-09 16:35:35 -05:00
johnb432
4db0f7de24
Interaction - Improve FUNC(switchWeaponAttachment) (#10145)
* Improve swtichWeaponAttachment

* change interact_SWA to use common_SAM (#10176)

* change interact_SWA to use common_SAM

* Directly call

* exit on bad arg

* Update fnc_switchAttachmentMode.sqf

* Minor optimisations

* Cleanup leftover code, use unit instead of target

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/interaction/functions/fnc_switchWeaponAttachment.sqf

* Revert some unnecessary changes

* Remove sound, as it was part of the CBA attachment switching & pass missing parameter

* Add sound back, to indicate new attachment

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-08-09 14:08:07 -07:00
johnb432
5afe06999f
Chemlights - Add pretty name for addon (#10174)
Add pretty name for chemlights addon
2024-08-08 12:27:27 -03:00
johnb432
0b2a8f23e6
Vehicle Damage - Let AP trigger ERA/SLAT (#10169)
Let AP trigger ERA/SLAT
2024-08-08 12:26:52 -03:00
johnb432
7838dea543
Common - Improve persistent lights/lasers (#10118)
* Improve persistent lasers

* Update addons/common/functions/fnc_switchPersistentLaser.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Fix inventory changes toggling laser, removed alignment code

* Update addons/common/functions/fnc_switchPersistentLaser.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Added API for setting weapon lights/lasers

* Fix undefined variables

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-08-08 01:01:39 -07:00
johnb432
80a310d4c6
Vehicles - Remove unneeded magazines (#10172)
Remove unneeded magazines
2024-08-08 00:29:41 -07:00
johnb432
b9a361fd39
Vehicle damage - Fix ERA/SLAT not being detected (#10168)
* Fix ERA/SLAT not being detected
2024-08-06 11:15:01 -05:00
johnb432
973cfdd1c4
Common - Move missing compats warning to pre start (#10162)
* Remove missing compats warning

* move to common/preStart

* ?

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-08-06 00:48:10 -07:00
johnb432
92e10bc578
Fix overlapping CSW interaction position for SPG-9, improve positions for Mk19 and DSHKM (#10165)
Fix overlappting CSW interaction position for SPG-9, improve Mk19 and DSHKM
2024-08-06 00:33:52 -07:00
Fabio Schick
f4f2dbaad9
Docs - Add missing info to Interaction Menu Framework (#10160)
* Interaction Exceptions

* Additional Action Parameters
2024-08-05 17:33:00 -05:00
johnb432
c31ef9e16b
Medical AI - Add command actions to heal injured units (#10164)
* Add AI command menu for healing

* Moved actions to separate function

* Minor cleanup
2024-08-05 02:39:35 -07:00
johnb432
cd678c5b90
Medical AI - Add tourniquet support (#10158)
Add tourniquet support for Medical AI
2024-08-05 02:39:01 -07:00
Grim
4226cd383e
Interact Menu - Add inheritance support to removeActionFromClass (#8396)
* Add inheritance & exclusion support

* Update documentation in wiki

* additional check for parent class in findIf

* forEach instead of count

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* condition for children of excluded classes

* touch everything but the params check

* apply configName in same line

* fix param data type for _excludedClasses

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update addons/interact_menu/functions/fnc_removeActionFromClass.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Fix & formatting

* Fix missing _x & headers, remove invalid classes

---------

Co-authored-by: Salluci <69561145+Salluci@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-08-05 02:38:46 -07:00
amsteadrayle
c491b78468
Recoil - Tweak launcher recoil to be more realistic (#9528)
* First pass at RPG recoil tweaks

* Crank up camera shake when using launcher

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-08-05 02:38:26 -07:00
johnb432
2db56cc4bb
Advanced Ballistics/Field Rations - Notify restart requirement (#10161)
Add notification for settings requiring restart
2024-08-03 10:16:46 +02:00
Will/KJW
90d855c2c5
Nightvision - Improve NVG Brightness adjustment limits (#10136)
* Update fnc_changeNVGBrightness.sqf

* Update XEH_postInit.sqf

* Update addons/nightvision/XEH_postInit.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update XEH_postInit.sqf

* Update fnc_changeNVGBrightness.sqf

* Update nightvision-framework.md

* load order independence

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-08-02 09:52:44 -03:00
johnb432
6a25e9365a
Safemode - Refactor (#10111)
* Refactor safemode

* Further improvements and fixes

* Update XEH_postInit.sqf

* Don't allow binoculars to be set to safe

* Add API for getting weapon safety status

* Update fnc_jamWeapon.sqf

* Added doc

* Update fnc_playChangeFiremodeSound.sqf

* Update addons/overheating/functions/fnc_jamWeapon.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update addons/weaponselect/functions/fnc_selectWeaponMode.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-08-02 13:59:18 +02:00
Enrico Machado
4e56d58210
Translations - Add and Improve Portuguese (#10155) 2024-07-30 20:45:31 -05:00
johnb432
98da279e8f
Medical AI - Give blood in Cardiac Arrest before doing CPR (#10154)
Give blood in CA if needed before doing CPR
2024-07-29 15:04:59 +02:00
PabstMirror
7e93715bcc
Medical - Gracefully handle bad configs in testHitpoints (#10156) 2024-07-29 15:04:36 +02:00
PabstMirror
a6ab050a07
Dogtags - Rename inventory items via CBA (#10130)
* Dogtags - Rename inventory items via CBA

* Update addons/dogtags/XEH_postInit.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-07-28 11:43:03 -05:00
johnb432
56eae4060c
CSW - Improve function headers & comments (#10149)
Code formatting changes from 9234
2024-07-27 19:42:31 +02:00
PabstMirror
e3d8f40538
Interaction - Show all possible modes for an attachment (#8154)
* Interaction - Show all possible modes for an attachement

* Move attach & detach actions under item action

* Remove switching from PIP to regular 2D

* Remove attachment name from attach/detach actions

* Fixed typo in variable name

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-07-27 19:37:33 +02:00
PabstMirror
aa6e5c30ec
Fire - Fix medical macros in compiled sqfc (#10147)
* Fire - Fix medical macros in compiled sqfc

* Update addons/fire/functions/fnc_burnSimulation.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-07-27 19:16:49 +02:00
johnb432
b7cd72e936
CSW - Fix belt linking (#10148)
* fix unloading to units with full inventory

* fix belt linking issues

* Enhance workaround

* Use unit instead if magSource is null

---------

Co-authored-by: Salluci <salluci.lovi@gmail.com>
2024-07-27 19:15:50 +02:00
PabstMirror
ba22c407e3
Common - Add ace_common_fnc_switchAttachmentMode (#10135)
* Common - Add `ace_common_fnc_switchAttachmentMode`

* Update addons/common/functions/fnc_switchAttachmentMode.sqf

* Update addons/common/functions/fnc_switchAttachmentMode.sqf

* playSound only for ACE_player

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-07-27 19:15:28 +02:00
johnb432
8eefffe811
Recoil - Code cleanup (#10150)
* Recoil code cleanup

* Store recoil values as numbers in config, only `compile` if needed

* Updated header

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-07-27 14:43:07 +02:00
johnb432
b85150e6eb
Explosives - Only add "detonate all" action for dead man switch when necessary (#10146)
Only add detonate all when necessary
2024-07-25 20:34:26 +02:00
johnb432
e99d6d9381
Medical AI - Make AI take tourniquets into account when medicing (#10142)
* Make AI take tourniquets into account when medicing

* Update fnc_healingLogic.sqf
2024-07-25 07:49:45 +02:00
johnb432
bfbaae65e1
Arsenal - Fix mission and campaign insignia (#10143) 2024-07-24 20:17:22 -03:00
johnb432
74de646a02
Medical AI - Fix splints not being applied in special circumstance & setting adding multiple EH (#10141)
Several medical AI fixes

- Not applying splints if too many medications were taken
- Potential nil for _target
- Setting could add multiple EH, require mission restart
2024-07-24 15:04:53 +02:00
johnb432
cb3c18c2fb
Medical AI - Header fixes (#10140)
Header fixes for medical AI
2024-07-23 15:28:40 +02:00
johnb432
43c1f97dfa
Laser - Remove unnecessary EGVAR (#10139)
Remove unnecessary EGVAR
2024-07-22 19:27:26 +02:00
johnb432
db339ab8e3
Cargo - Reenable UAV AI when on ground when paradropped (#10137)
Reenable UAV AI when on ground when paradropped
2024-07-22 19:15:43 +02:00
johnb432
b6e9cabc34
Cargo & Dragging - Disable UAV AI when being dragged, carried or cargo (#10100)
* Disable UAV AI when being dragged, carried or cargo

* Update addons/common/functions/fnc_disableAiUAV.sqf

* Improve dragging/carrying conditions, fixed duplicate JIP
2024-07-22 08:38:39 +02:00
PabstMirror
05c7f84b01
Medical Engine - Allow disabling seat locking on vehicle types (#10123) 2024-07-21 14:31:57 -05:00
johnb432
3f5a2ee64b
RHS Compats - Remove silent ace_hearing dependency from RHS compats (#10134)
Remove hearing silent hearing dependency from RHS compats
2024-07-20 21:19:18 +02:00
johnb432
f6c5425733
RHS Compats - Add common to loadorder (#10133)
Add common to RHS compat loadorder
2024-07-20 21:10:16 +02:00
johnb432
4cb358ebf2
Dogtags - Add missing private (#10132)
Update fnc_getDogtagItem.sqf
2024-07-20 10:26:01 +02:00
johnb432
a7ce63a536
Fire - Remove medical_engine dependency (#10122)
* Remove medical dependency from fire

* Update initSettings.inc.sqf
2024-07-20 08:37:04 +02:00
johnb432
5d133bd793
Dogtags - Code cleanup (#10097)
* Clean up dogtags

* Only allow taking of dogtags if unit has space

* Fixed upper case T

* Stop throwing error

* Reverted to case insensitive method of checking

* Remove unused files

* More cleanup & fixes

- Better check for taking dog tags until 2.18 comes
- Changed parent condition from `canTakeDogtag` to `canCheckDogtag`
- Register EH only where necessary

* Update CfgEventHandlers.hpp

* More header cleanup
2024-07-20 08:29:17 +02:00
johnb432
05ab1bbe99
Dragging - Fix dragging/carrying failing for items in ViV (#10128)
* Unload ViV before dragging/carrying

* Update addons/dragging/functions/fnc_carryObject.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Use lazy eval to check if item was unloaded

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-07-20 08:26:53 +02:00
johnb432
8ab36f64ff
Quickmount - Fix quickmount for vehicle interactions (#10126)
* Fix quickmount for vehicle interactions

* Update addons/quickmount/functions/fnc_getInNearest.sqf
2024-07-20 08:15:15 +02:00
johnb432
5cada7d397
General - Remove "SwitchWeapon" spam (#10113)
* Remove "switchWeapon" spam

* Update fnc_startDragLocal.sqf

* Don't add invalid fire modes

* Tweaks & fix
2024-07-20 08:13:42 +02:00
johnb432
68738316c2
Dragging - Remove weight calculation workaround (#10117)
* loadAbs has been fixed

* Update fnc_getWeight.sqf
2024-07-19 19:13:44 +02:00
johnb432
37d7c4c544
Interaction - Hide push interaction if target is in ViV cargo (#10127)
Hide push interaction for ViV cargo
2024-07-19 18:26:14 +02:00
OverlordZorn
2c3396a4e8
Documentation - Add ACE_suture entry to list of classnames (#10125)
Update class-names.md
2024-07-19 14:36:37 +02:00
Dart
8f84df77d0
Sitting - Add config overwrite for random animation pool (#10120)
* Add config property animation overwrite

* Update addons/sitting/functions/fnc_getRandomAnimation.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Fix header

* Update addons/sitting/functions/fnc_getRandomAnimation.sqf

* Update function call

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-07-18 16:53:34 -05:00
johnb432
f4272f0e36
Spectator - Remove spectator lights when exiting spectator (#10114)
Remove spectator lights when exiting spectator
2024-07-17 10:42:37 +02:00
Dart
66c31928ab
General - Fix case in event handler commands (#10121) 2024-07-17 01:12:01 -05:00
V1nsyara
ec5b84c278
Translation - Small update Russian (#10115)
* Translation - Update Russian for new features

* Up to date translate RU

* Small update medical treatment

* resolve problem

* i`m cry

i hate this conflict
2024-07-14 21:46:14 -05:00
Apricot
63d1ab82a7
Translations - Improve Japanese (#10112)
* Improve Japanese

* Tweaks

* bit tweak

* even more tweak

* Update stringtable.xml

* Update stringtable.xml
2024-07-13 19:22:06 -05:00
johnb432
f65138f65e
Casings - Fix settings (#10110) 2024-07-07 11:41:10 -03:00
johnb432
edc7e9af3e
Dogtags - Add context menu action to check dog tag (#10101)
* Broadcast dogtag info globally so that arsenal can use it

* Broadcast changes incrementally

* Add context menu option for dogtags
2024-07-04 00:39:08 -07:00
johnb432
3745305323
Dogtags - Fix arsenal not showing dogtag info in multiplayer (#10095)
* Broadcast dogtag info globally so that arsenal can use it

* Broadcast changes incrementally

* Update addons/dogtags/XEH_postInit.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update addons/dogtags/functions/fnc_getDogtagItem.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Add EH only on necessary machines

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-07-04 00:32:37 -07:00
johnb432
4d0641abb8
Dogtags - Improve displaying dogtags from bodies with no name (#10096)
Improve displaying dogtags from bodies with no name
2024-07-03 09:50:08 -07:00
johnb432
dae2c5b465
Common - Clean up ace_common_fnc_hasItem & ace_common_fnc_hasMagazine functions (#10108)
* Clean up hasItem & hasMagazine functions

* Replace EFUNC

* Update fnc_hasItem.sqf
2024-07-03 08:39:04 -07:00
johnb432
7b0e5b6416
Common - Fix ace_common_fnc_uniqueItems (#10107)
Fix `ace_common_fnc_uniqueItems`
2024-07-03 08:30:41 -07:00
johnb432
b714c8bce2
Nametags - Only display talking waves when unit is alive and conscious (#10106)
Only display waves when unit is alive and conscious
2024-07-03 02:02:43 -07:00
johnb432
ee0e947611
General - Use ace_common_fnc_isAwake where possible (#10098)
* Use `ace_common_fnc_isAwake` where possible

* Revert bad change
2024-07-02 12:38:14 -07:00
johnb432
516eb48c93
Dogtags - Stop throwing error when trying to take dog tags (#10103)
Stop throwing error
2024-07-02 11:16:28 -07:00
Psycool
45f9301019
Korean translation updated (#10104)
* KoreanTranslation

Someone has returned all the translations in Korean to English. there is no need to return them.

* koreantranslation

* Korean Typo Fix

* Korean Translation

* Update stringtable.xml

* Korean Translation Added

Added Korean translation related to Cargo Refuel

* Merge branch 'master' of https://github.com/Psycool3695/ACE3

* Korean translation Add/Updated

* Fixed wrong strings

* Korean translation improved

* Korean translation updated

* Korean translation updated

* Fix Merge

* Update stringtable.xml

* Update stringtable.xml

* Korean translation updated

* Korean translation minor fix

* Korean translation fixed

* Korean translation updated

* Update stringtable.xml

* Spacing fixed

* Korean translation updated

* Spacing fixed

* Korean translation updated

* Korean translation updated

* Korean translation updated

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-07-02 13:14:19 -05:00
Fabio Schick
aecafe673b
Aircraft - Drone "Follow Unit" Waypoint Action (#9889)
* Fix "Recharge" interaction showing on destroyed drone

* Add "Follow Unit" action

* Improve condition check

* UGV Following via PFH that updates WP Pos

* Use HOLD WP for all Follow Actions

Since FOLLOW WP would stop working on AI Soldiers after some time.

* Allow selecting a follow distance

* Follow Distance under separate interaction, just like Loiter Alt

Only visible when a HOLD waypoint is selected, which is pretty much always going to have been created by the "Follow" interaction.

* Localize "Follow" Interaction

* Show structuredText Hint when following/changing distance

* Variable for cursorTarget Reuse

* Better isKindOf condition use

* Make "Ship"-kind vehicles followable

* Clean up Comments and systemChat Debugs

* Comment explanation for custom PFH solution over vanilla "Follow"-WP

* Trim excess brackets from setWaypointPosition argument

Co-Authored-By: johnb432 <58661205+johnb432@users.noreply.github.com>

* Broader determination for UGV follow distances

Co-Authored-By: PabstMirror <pabstmirror@gmail.com>

* Prevent infinite PFH loop if follow target is deleted

Co-Authored-By: PabstMirror <pabstmirror@gmail.com>

* Delete Follow WP when PFH terminates

* The ternary rules

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Various requested changes

Co-Authored-By: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-07-02 02:16:48 -07:00
johnb432
ba47c12a97
Dogtags - Drop dogtag on ground if unit doesn't have inventory space (#10094)
* Drop dogtag on ground if unit doesn't have inventory space

* Only allow taking of dogtags if unit has space
2024-07-02 02:16:27 -07:00
johnb432
71afce53c1
Dogtags - Make "Dog Tag" consistent (#10099)
Make Dog Tag consistent
2024-07-01 09:56:00 -07:00
johnb432
cb40c8ec5d
Vehicle damage - Add missing documentation (#10093)
Update vehicledamage-framework.md
2024-06-28 10:43:13 -07:00
johnb432
a30afe69b7
Interaction - Disable magazine passing to dead and unconscious units (#10091)
* Disable magazine passing to dead units

* Disable for unconscious units as well
2024-06-28 05:41:04 -07:00
johnb432
bfa23f01db
Refuel - Remove unused variable (#10089)
Update XEH_postInit.sqf
2024-06-26 05:02:19 -07:00
Apricot
ad4af0d553
Translations - Improve Japanese (killtracker/overpressure) (#10088)
killtracker/overpressure
2024-06-25 21:43:24 -05:00
Fabio Schick
b013ab81d5
Translations - Italian and German (#10087)
* Grenades italian+german translation

* Fix english typo in MicroDAGR

* Medical Treatment italian+german translations

* Realisticnames italian+german translations

* Hitreactions italian+german translations

* Fix italian typo in 3 addons

* Cookoff italian+german translations

* Killtracker italian+german translations

* Zeus italian+german translations

* Overpressure italian+german translations

* Compat RF italian+german translations

* Realisticnames Fix italian+german oversight

* Compat WS italian+german translations

* Compat CUP-CSW italian translations

* Compat CUP-NVG italian translations

* Fixup overpressure
2024-06-24 16:44:41 -05:00
PabstMirror
5c8ea65f7c
Common - Update header for addPlayerEH (#10086) 2024-06-23 18:12:30 -05:00
Fabio Schick
bdb6c7c69c
Compat RHS/Hellfire - Use RHS models when loaded (#10076)
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-06-23 00:36:41 -03:00
PabstMirror
aed2222b81
Artillery Tables - Support for ammo that has native airFriction (#10059)
* Artillery Tables - Support for ammo that has native `airFriction`

* fix comment

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/artillerytables/functions/fnc_rangeTableOpen.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* replace if block with select const

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-06-22 22:34:34 -05:00
V1nsyara
05d6327e5e
Translation - Update Russian for small features (#10085)
* Translation - Update Russian for new features

* Up to date translate RU
2024-06-22 20:24:00 -05:00
Psycool
c9e82afff7
Korean translation updated (#10077)
* KoreanTranslation

Someone has returned all the translations in Korean to English. there is no need to return them.

* koreantranslation

* Korean Typo Fix

* Korean Translation

* Update stringtable.xml

* Korean Translation Added

Added Korean translation related to Cargo Refuel

* Merge branch 'master' of https://github.com/Psycool3695/ACE3

* Korean translation Add/Updated

* Fixed wrong strings

* Korean translation improved

* Korean translation updated

* Korean translation updated

* Fix Merge

* Update stringtable.xml

* Update stringtable.xml

* Korean translation updated

* Korean translation minor fix

* Korean translation fixed

* Korean translation updated

* Update stringtable.xml

* Spacing fixed

* Korean translation updated

* Spacing fixed

* Korean translation updated

* Korean translation updated

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-06-22 14:47:23 -05:00
johnb432
56016a4816
Vehicle Damage - Add turret tossing again (#9989)
Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
2024-06-22 15:08:43 -03:00
johnb432
f45dff8a09
Fire - Mini-Rewrite (#9757)
Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-06-22 15:07:36 -03:00
johnb432
f86e882b18
Advanced Fatigue - Various improvements (continuation of #5723) (#9714)
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: ulteq <ulteq@web.de>
Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
2024-06-22 14:53:08 -03:00
johnb432
cd66f495ad
CSW - Improve tripod and weapon disassembly (#9915)
* Add disassembly for tripods when players have occupied launcher slots

* Update fnc_assemble_canDeployWeapon.sqf

* Update fnc_assemble_canPickupWeapon.sqf

* Revert file renaming (see #9777)

* Correct headers

* Update fnc_canPickupTripod.sqf

* Fixed checks and eject dead bodies

* Invert checks
2024-06-22 19:39:36 +02:00
johnb432
1f5044aabd
CSW - Improved weapon attachments handling (#9904) 2024-06-22 14:03:32 -03:00
johnb432
18ea360b1e
Cargo - Add check for invoking ace_cargoAdded EH only if cargo was actually added (#10084)
Only invoke cargoAdded EH if cargo was actually added
2024-06-22 12:18:28 -03:00
johnb432
7ea2aab2c9
Common - Improve PBO checking (#9266)
* Update PBO checking

* Added kicking of clients without ACE loaded

* Update fnc_errorMessage.sqf

* Update fnc_checkVersionNumber.sqf

* More compatibility for #9568

* Cleanup

* Minor cleanup + added server source

* update outdated/not present error message

* check version number fixes

* Update fnc_errorMessage.sqf

* Changed error names

Server is always right, client has either older or newer versions, or missing or additional addons

* Improved ACE detection method

* Tweaks and fixes

* Try another approach

* Update events-framework.md

* Update XEH_postInit.sqf

* Update fnc_checkVersionNumber.sqf

* Removed check for non-ACE clients

* Update XEH_postInit.sqf

* Cleanup

* Remove rogue change

* Improved message display in systemChat

* Update fnc_checkPBOs.sqf

* Removed loop variable initialisers

* Fixed header

* Updated headers

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
2024-06-22 15:52:59 +02:00
Cyruz
db6c4a72a6
Cookoff - Fix incorrect parent class in cookoff sounds (#10083)
Fix incorrect parent

Co-authored-by: Cyruz143 <root.cyruz@gmail.com>
2024-06-21 12:06:44 -03:00
bluefield
1439680795
Overpressure - Separate backblast and overpressure range coefficient (#10070)
* feat: separate overpressure and backblast configurations

* documentation: remove undefined return

* typo: trace macro padding

* refactor: add range<number> return

* refactor: reuse return values for overpressure coef

* refactor: reuse return values for backblast coef

* whitespace

Co-authored-by: Drofseh <Drofseh@users.noreply.github.com>

* headers

Co-authored-by: Drofseh <Drofseh@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* feat: change backblast limit to 0

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* remove: deleted ACE_Settings.hpp

* fix: update postInit.sqf event handler to register new GVARs

* fix: remove `ACE_Settings.hpp`

* typo: add spacing

Co-authored-by: Drofseh <Drofseh@users.noreply.github.com>

* typo: fix spacing

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* feat: switch distanceCoef minimun value to 0

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* typo: update the slider checks with new minimuns

temporary solution until i figure out the EH

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* feat: new stringable elements

* Update stringtable.xml

* Added translations

* Switched order of settings to match age of settings

* setting require restart, split adding firedEH

* Added notifications about mission restart

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: Drofseh <Drofseh@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-06-20 22:30:33 +02:00
Kex
c4fb858c1d
Medical - Refactor target blood pressure (#10081)
Refactor target blood pressure
2024-06-20 13:19:14 -05:00
Apricot
5ea202ce25
Compat RF - Improve/Change RF Realistic Name (#10071)
* Update RF Realname Stringtables

Add HEMMT Fire Truck
Change Puma family naming and add missing variation

* typo fix

* Tab to space I hate this

* Update stringtable.xml

Import HEMTT Fire Truck localization from RF
Add "Container" to AMOS. cuz that is not just AMOS...

* Uppercase and add rifle the HERA H6

* add space start of comment

* Add "ASW" to Wildcat AH-11F

For distinction with WY-55(Vanilla Wildcat) and AH-11F (RF Wildcat)

* Remove "Rifle" from H6

Does it really need? Probably not.
2024-06-20 13:01:28 -05:00
Grim
c8be3a4e05
Docs - Clarifiy ! operator usage in Coding Guidelines (#10080)
coding guidelines brackets
2024-06-18 12:26:24 -03:00
Mike-MF
1c6c4d6bff
All - Fix parentheses around code (#10073)
* Fix Brackets around code

* Update fnc_handleFired.sqf

* Shouldn't have changed this one

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-06-18 14:08:03 +00:00
johnb432
8fc093de8f
Grenades - Code cleanup (#9979)
* Improved various aspects of grenades

* Update addons/grenades/functions/fnc_flashbangExplosionEH.sqf

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>

* Update addons/grenades/functions/fnc_incendiary.sqf

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>

* Update addons/grenades/functions/fnc_incendiary.sqf

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>

* Update fnc_flashbangExplosionEH.sqf

* More cleanup

* Update fnc_incendiary.sqf

* Update fnc_incendiary.sqf

* Update fnc_flashbangThrownFuze.sqf

* Update fnc_flashbangThrownFuze.sqf

* Update addons/grenades/functions/fnc_nextMode.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/grenades/functions/fnc_flashbangExplosionEH.sqf

* Update addons/grenades/functions/fnc_incendiary.sqf

* Removed fix that is included in another PR

* Update fnc_incendiary.sqf

* Messed up merge conflict resolution

---------

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-06-18 01:05:01 -07:00
Grim
95b7951919
General - Use variable for checking if medical is enabled (#10063) 2024-06-18 00:07:38 +00:00
johnb432
421071027e
Common - Add wheel hitpoint function (#10075)
* Add wheel hitpoint function

* Moved cache to missionNamespace
2024-06-17 10:31:35 -07:00
PabstMirror
c28a3d6cdf
Kill Tracker - Add setting to show kills from vehicle to crew (#10069)
* Kill Tracker - Add setting to show kills from vehicle to crew

* Update addons/killtracker/XEH_postInit.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-06-16 22:04:40 -05:00
johnb432
f3722bf5e8
Cookoff - Fix engine fire not starting (#10074)
Fix engine fire not starting
2024-06-15 20:59:01 -05:00
Mike-MF
2dc0cd4fc4
Documentation - Remove Hashes from Coding guidelines (#10072)
Remove Hashes from Coding guidelines
2024-06-14 16:21:53 -05:00
johnb432
7a6c837f1b
Headless - Add warning about duplicate loadout validation (#9878)
* Warn users about duplicate loadout validation

* Update XEH_postInit.sqf
2024-06-14 20:02:13 +02:00
johnb432
34362d48eb
Grenades - Fix incendiary grenades damaging invulnerable objects (#10068)
Disable damage from incendiaries when object is invulnerable
2024-06-13 09:49:31 -07:00
PabstMirror
d4d69b9141
Medical Engine - Fix death animation hash keys (#10067) 2024-06-13 14:11:21 +02:00
Mike-MF
690ee55369
Compat CUP Units - Goggles Compatibility (#10065) 2024-06-13 14:10:20 +02:00
PabstMirror
70b0a4c434
Medical - Cleanup refs to hdBracket (#10064) 2024-06-11 14:37:43 -03:00
Grim
59af3e1f6d
General - Change CBA Namespaces to HashMap (#8801)
* medical_treatment

* advanced_throwing

* common, csw

* Update fnc_replaceRegisteredItems.sqf

* Sanitised numerous components

* Update XEH_postInit.sqf

* Update XEH_postInit.sqf

* FUNC -> LINKFUNC

* Changed tagging hashmap

* Reverted some changes

* Reverted some changes

* Update XEH_clientInit.sqf

* Tweaks and fixes

* Fix number replacements

* Minor cleanup

* Update fnc_getMagazineName.sqf

* Update fnc_getMagazineName.sqf

* Minor improvement

* Made factions case-sensitive and added `toLowerANSI` to be safe

* Update fnc_getDetectedObject.sqf

* Update addons/common/functions/fnc_actionKeysNamesConverted.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Throw error if item doesn't exist

---------

Co-authored-by: Salluci <69561145+Salluci@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-06-11 12:34:32 -03:00
PabstMirror
898daff7f6
General - Cleanup event capitalization (#10062) 2024-06-11 08:00:50 -07:00
johnb432
9760095c42
Grenades - Fix how incendiary grenades do damage to vehicles (#9983)
* Allow incendiary grenades to damage multiple vehicles

Disable incendiaries damaging invulnerable vehicles

* Apply fire damage to vehicles even after grenade detonation

* Update fnc_damageEngineAndWheels.sqf

* Update fnc_incendiary.sqf

* Update fnc_damageEngineAndWheels.sqf

* british people don't exist

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-06-11 07:59:36 -07:00
Grim
2bd1f39de7
Medical - Add ace_medical_enabled variable for future-proofing API (#9996)
* add ace_medical_enabled setting

* Update addons/medical_engine/XEH_preInit.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-06-11 11:46:14 -03:00
Grim
a85074a797
Medical Engine - Remove ACE_HDBracket hitpoint (#9732)
* Medical Engine - Remove ACE_HDBracket hitpoint

* skip context 4

* move checks to vars

* skip uav/logic entities

* add check for arm/leg hitpoints

* Update addons/medical_engine/functions/fnc_handleDamage.sqf

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>

* don't skip context 2

* clearer custom hitpoint array name

* reenable compile cache

* remove debug mode

* lazy eval

* whitespace

* update comment

* Update fnc_handleDamage.sqf header

* Update addons/medical_engine/functions/fnc_handleDamage.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/medical_engine/XEH_postInit.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* update hitpoint test

* missing "

* Update addons/medical/dev/test_hitpointConfigs.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-06-11 11:11:28 -03:00
Apricot
c862c47617
Translations - Improve Japanese (Mortar and some) (#10061)
Tweaks
2024-06-10 21:29:28 -05:00
V1nsyara
41d6cae93b
Translation - Update Russian for new features (#10060) 2024-06-10 21:28:30 -05:00
Nilia119
d66c3904d0
Translation - Add Missing German (#9975)
* Added Missing German Translation

* Improved German Translation

* Update Medical_treatment

* Update Medical_treatment stringtable.xml

* Update addons/common/stringtable.xml

Co-authored-by: BaerMitUmlaut <BaerMitUmlaut@users.noreply.github.com>

* Update stringtable.xml

* Update stringtable.xml

* Update stringtable.xml

* Update stringtable.xml

* Update addons/arsenal/stringtable.xml

---------

Co-authored-by: BaerMitUmlaut <BaerMitUmlaut@users.noreply.github.com>
Co-authored-by: Mike-MF <TyroneMF@hotmail.com>
2024-06-09 18:21:36 -05:00
Apricot
46e840b5a2
Translations and Compat - Improve Japanese and CDLC WS/RF localization (#10058)
* Update Japanese

* rename smoke

* Leo2SG

* Rename FAL Para to FAL OSW Para

* Fix wood as woodland in japanese

* change camo to aaf camo in jp

* Rename RF R1 to equalize with WS R1

* Add dedicated name config VRCO-S

* Add stringtable for VRCO-S
2024-06-09 18:21:00 -05:00
PabstMirror
97bc371f5c
Common - Add addPlayerEH for adding EHs to ace_player (#10056)
* Common - Add `addPlayerEH` for adding EHs to ace_player

* Update fnc_addPlayerEH.sqf

* convert ui to use new func
2024-06-09 18:20:39 -05:00
PabstMirror
130348d3a5
Hit Reactions - Prevent AI's hitpart EH running on all clients (#10057)
also dynamically add ehs
2024-06-09 18:20:17 -05:00
Mike-MF
565d64d50e
Reaction Forces Compatibility (#10016)
* Reaction Forces Compatibility

* Fix Desert Eagle Name, add RAM 1500 variants

* Mortars, Drone and lower cased Ram because thats how baer likes it
2024-06-06 16:12:49 -05:00
Will/KJW
33dc7e3dbd
Hit Reactions - Add weapon dropping on arm hit (#9539)
* Create fnc_checkWeaponDrop.sqf

* Update fnc_checkWeaponDrop.sqf

* Create XEH_postInit.sqf

* Update XEH_postInit.sqf

* Update XEH_postInit.sqf

* Update fnc_checkWeaponDrop.sqf

* fix spelling issue

* Update initSettings.sqf

Add weaponDropEnabled setting

* Update stringtable.xml

* Update fnc_checkWeaponDrop.sqf

* Update initSettings.sqf

Forgot a bracket

* Add weapon drop chance setting

* Update XEH_postInit.sqf

* Update CfgEventHandlers.hpp

actually make it run postinit

* Update XEH_PREP.hpp

* Update stringtable.xml

* Update initSettings.sqf

No need, set chance to 0

* Update XEH_postInit.sqf

already comparing against chance, can just set to 0

* Update initSettings.sqf

* Update stringtable.xml

* Update XEH_postInit.sqf

* add arm hit chance

fix weapon thing too

* Update stringtable.xml

* Update addons/hitreactions/functions/fnc_checkWeaponDrop.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/hitreactions/functions/fnc_checkWeaponDrop.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* appearance stuff

* Update addons/hitreactions/initSettings.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/hitreactions/functions/fnc_checkWeaponDrop.sqf

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>

* kjw's poor arithmetic

* Update fnc_checkWeaponDrop.sqf

wrong check

* remove systemchat debug

whoops

* Update fnc_checkWeaponDrop.sqf

* Update XEH_postInit.sqf

* Update fnc_checkWeaponDrop.sqf

* Early exit, wait for clear

* Make default setting 0

* Update script_component.hpp

* Update XEH_postInit.sqf

* Update script_component.hpp

* Update XEH_postInit.sqf

* Update XEH_postInit.sqf

* Update addons/hitreactions/functions/fnc_checkWeaponDrop.sqf

* Update XEH_postInit.sqf

Unsure if exitWith in postInit is proper? Seems better than nesting all of that in another scope imo

* Update XEH_preInit.sqf

* Update fnc_checkWeaponDrop.sqf

* Update addons/hitreactions/XEH_preInit.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update hitreactions.md

* Update hitreactions.md

* Update addons/hitreactions/functions/fnc_checkWeaponDrop.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/hitreactions/functions/fnc_checkWeaponDrop.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/hitreactions/initSettings.sqf

* Update XEH_postInit.sqf

* Update addons/hitreactions/XEH_postInit.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/hitreactions/XEH_postInit.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/hitreactions/functions/fnc_checkWeaponDrop.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/hitreactions/functions/fnc_checkWeaponDrop.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update XEH_postInit.sqf

* Update XEH_postInit.sqf

* Update fnc_checkWeaponDrop.sqf

* Spacing fixes

* Update addons/hitreactions/XEH_postInit.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Take _hitEntity into account if exists

* Update fnc_checkWeaponDrop.sqf

_didHitGun will no longer ever be true

* Minor component cleanup

* Removed gun hits, added double hit detection

* Decouple AI and player probabilities

* Tweaks and fixes

* Update XEH_PREP.hpp

* Add missing param

* Fixed bugged state AI are in after using TakeWeapon

* Fixes and cleanup

* Made API clear, moved undroppable to config entry

* Update fnc_checkWeaponDrop.sqf

* Check for Zeus RC and avoid `setUnitLoadout`

* Expand `addWeapon`'s capabilities

* Cleaned up `addWeapon`

* Removed weapon replacement as it's apparently not necessary

* Defined undefined variable

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-06-06 04:49:15 -07:00
johnb432
c44a1e7ea7
Cookoff - Mini-Rewrite (#9758)
* Cook-off improvements

* More changes

* Update fnc_getVehicleAmmo.sqf

* Better engine fire placement

* Update fnc_detonateAmmunition.sqf

* Update XEH_postInit.sqf

* Update fnc_getVehicleAmmo.sqf

* Update events-framework.md

* Various improvements

* Separate effect handling

* Tweaks

* Update XEH_postInit.sqf

* Prevent double ammo detonation

* Fixed objects not being able to cook-off again

* Added incendiary rounds as source of box cookoff

* Converted enable setting to bool

* Fixed brackets

* Update fnc_cookOff.sqf

* Update CfgEden.hpp

* Removed GVAR(enable), added GVAR(enableFire) back

* Update initSettings.inc.sqf

* Update events-framework.md

* Update addons/cookoff/functions/fnc_cookOffEffect.sqf

* Restructured, redid API events

* Fix effect for JIP, minor optimisations

* Removed `cbaSettings_settingChanged`

* Renamed variables, tweaked string table entries

* Update fire damage #9991

* Capitalize comments again

* Fix cookoff for very short durations and fix effect removal being too quick
2024-06-05 12:36:39 -07:00
johnb432
73111fa0fd
Nametags - Add documentation (#10055)
Create nametags-framework.md
2024-06-05 08:51:14 -07:00
johnb432
738a32dba9
Gunbag - Optimise weapon taking/storing code (#10053)
Optimise gunbag code
2024-06-05 06:22:19 -07:00
johnb432
06f47e600d
Cookoff - Change cook-off fire damage (#9991)
Increase cookoff fire damage
2024-06-05 06:22:09 -07:00
johnb432
29728352e2
Rearm - Optimise getting magazine names (#10052)
* Optimise getting rearm magazine names

* Replace using regex and localize CSW entries

* Added comments about prefix
2024-06-04 23:32:41 -07:00
Mike-MF
7c689bdff7
Compat WS - Update realistic names (#10014)
* Compat WS - Update realistic names

* Fix duplicate class

* WS 1.1.3

* alter SLR para barrel length

* RPG-32
2024-06-03 05:52:59 -07:00
PabstMirror
fe9f59bed7
Refuel - Fix for SOG/SPE (#10049)
* Refuel - Fix SOG/SPE Compats

* fix export

* Added missing fuel sources, improved some existing hook positions

* Removed outdated todo

* Add default code if refuel isn't loaded

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-06-03 02:00:12 -07:00
johnb432
60eabda47e
Vehicle Damage - Add API to prevent AI from dismounting from immobile vehicles (#9990)
* Add API to prevent AI from dismounting from immobile vehicles

* Update vehicledamage-framework.md
2024-06-01 09:55:56 -07:00
johnb432
99bb6983bb
Common - Improve addWeapon (#10051)
Improve `addWeapon`
2024-06-01 09:52:18 -07:00
johnb432
1cca2db964
General - Cleaned up cbaSettings_settingChanged (#10050)
Adapted `cbaSettings_settingChanged`
2024-05-31 13:20:21 -07:00
johnb432
dc56cdbd8b
Vehicle Damage - Fix applying medical damage to non-local and invulnerable units (#9988)
* Make medical damage apply to non-local units

* Update addons/vehicle_damage/functions/fnc_medicalDamage.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update addons/vehicle_damage/functions/fnc_medicalDamage.sqf

* Update fnc_medicalDamage.sqf

* Specify reason for death

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-05-31 13:15:46 -07:00
johnb432
9f2ee9fb6f
Common - Add setDead API (#10045)
* Added `setDead` API

* Update XEH_PREP.hpp

* Update fnc_setDead.sqf

* Update addons/common/functions/fnc_disableUserInput.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update fnc_setDead.sqf

* Added warning for non-local units

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-05-31 13:07:50 -07:00
PabstMirror
5a1e3bc585
Zeus - Add a translation (#10047) 2024-05-30 07:58:46 -05:00
PabstMirror
d30c01aee9
Hearing - prevent audio from stacking when tabbed out (#10048) 2024-05-30 01:34:19 -07:00
johnb432
98f4b51c52
Hearing - Fix deafness reducing when game is paused (#10039)
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-05-29 18:55:17 +00:00
Mike-MF
d9a2aa01a4
Realistic Names - Add missing classes (#10013)
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-05-29 15:51:18 -03:00
Fabio Schick
8c0d0944c6
Parachute - Make Jet Ejection Seats use Non-Steerable Parachutes (#9963) 2024-05-29 15:50:18 -03:00
johnb432
120589512e
Headless - Improve group transfer and add API (#9874) 2024-05-29 15:49:59 -03:00
mharis001
440b9d5721
Zeus - Add spectator module (#6202)
Co-authored-by: Ozan Eğitmen <ozan@egitmen.net>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-05-29 15:48:34 -03:00
johnb432
0034f4b9cc
Arsenal - Fix insignia not reapplying after switching vests & backpacks (#10046)
Fix insignia not reapplying
2024-05-29 11:40:41 -07:00
johnb432
e535988479
Hearing - Code cleanup (#10041)
* Hearing cleanup

* Update fnc_updateHearingProtection.sqf

* Fixes + tweaks

* Update initSettings.inc.sqf

* Update fnc_removeEarplugs.sqf
2024-05-29 10:01:39 -07:00
johnb432
be61424fed
Hearing - Fix volume being force updated when loadouts are set on AI (#10044)
* Update XEH_preInit.sqf

* Update XEH_preInit.sqf
2024-05-29 08:40:32 -07:00
johnb432
be9797d11d
Grenades - Add grenade rolling (#10005)
* Add grenade rolling

* Added some safeguards

* Use `setVectorDirAndUp` instead of rotation

* Don't allow players to roll grenades when in vehicles

* Grenades - Rolling only add PFEH when needed (#10015)

* Grenades - Rolling only add PFEH when needed

* Corrected minor typo, moved variable init in preInit, fixed bugs

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Don't switch modes if grenade can't be thrown

* Minor tweaks

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-05-27 02:19:52 -07:00
JonBons
be77ef233e
Cookoff - Delay full vehicle destruction (#9061)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-05-24 20:06:33 -03:00
johnb432
d7c1984a5a
Grenades - Fix not being able to switch throw modes in FFV (#10012) 2024-05-24 20:06:13 -03:00
johnb432
dc3753893f
Hearing - Improve and cleanup code (#9933)
Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-05-24 20:05:19 -03:00
PabstMirror
22c6621878
Refuel - Cleanup compats (#10011)
* Refuel - Cleanup compats

* add `XEH_INHERITED`
2024-05-24 17:59:59 -05:00
PabstMirror
05ebe1f48f
Medical Treatment - Allow diagnosing cardiac arrest with clear language (#9997) 2024-05-23 17:25:59 -05:00
johnb432
c634bbe1ab
CSW - Force QGVAR(handleExtraMagazinesType) to be respected (#9903)
Force QGVAR(handleExtraMagazinesType) to be respected
2024-05-23 21:56:28 +02:00
johnb432
c0d74ba703
Refuel - Fix fuel source disabling (#9995)
* Add enable setting

* Exclude man class init

* Fix multiplayer terrain pump fuel sync

* Add terrain pumps positions

* Add vanilla fuel cargo restoring before destroying

* Add Livonia positions by bux

* Fix terrain pumps destruction

* Improve settings init

* Fix double settings category

* Check enabled var in public functions

* Fix fnc_makeSource

* Handle recent CUP Terrains changes

* Update includes

* Fix issues introduced in #9133

* Change warning

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Optimisations and cleanup

- Use hashmaps wherever possible
- Reduced pump search radius by ~30%
- Sorted pumps alphabetically and sorted positions by "smallest" first, for consistency

* Add init debug trace

* compileScript in dev

* yoda conditions & DFUNC macro

* Wait until CBA settings are ready

* Update Chernarus 2020 and add more maps configs

* Remove vanilla fuel cargo restoring before destroying

* Update fnc_makeSource.sqf

---------

Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-05-23 21:56:08 +02:00
Dystopian
7c65f8503d
Refuel - Add enable setting (#7613)
* Add enable setting

* Exclude man class init

* Fix multiplayer terrain pump fuel sync

* Add terrain pumps positions

* Add vanilla fuel cargo restoring before destroying

* Add Livonia positions by bux

* Fix terrain pumps destruction

* Improve settings init

* Fix double settings category

* Check enabled var in public functions

* Fix fnc_makeSource

* Handle recent CUP Terrains changes

* Update includes

* Fix issues introduced in #9133

* Change warning

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Optimisations and cleanup

- Use hashmaps wherever possible
- Reduced pump search radius by ~30%
- Sorted pumps alphabetically and sorted positions by "smallest" first, for consistency

* Add init debug trace

* compileScript in dev

* yoda conditions & DFUNC macro

* Wait until CBA settings are ready

* Update Chernarus 2020 and add more maps configs

* Remove vanilla fuel cargo restoring before destroying

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-05-23 21:47:19 +02:00
PabstMirror
f97f11d224
AdvThrowing - Fix showing wind info when no grenades in inventory (#10008)
AdvThrowing - Fix showing wind info if no grenades in inventory
2024-05-22 21:19:40 -05:00
johnb432
67fe22a5a6
Grenades - Make flashbang detonation sound configurable via config (#9985)
* Added configurable flashbang detonation sound

Updated documentation by filling missing information in

* Update grenades-framework.md

* Update grenades-framework.md
2024-05-22 13:38:59 -07:00
johnb432
e1137ac903
Fire - Remove unused plant integration (#9993)
Removed unused plant integration in fire
2024-05-22 13:37:24 -07:00
johnb432
c03e08e51b
Grenades - Change damage from M14 incendiary grenade (#9992)
Doubled damage from M14 incendiary grenade
2024-05-22 13:08:09 -07:00
johnb432
052f1c95a3
Cargo - Add checks for adding cargo via config (#9999)
* Add checks for cargo via config

* Update fnc_initVehicle.sqf

* Use loaded number instead of intended number
2024-05-22 01:32:46 -05:00
johnb432
99d7e4d57b
Grenades - Add 3 more sounds to flashbang detonations (#9982)
* Add 3 more sounds to flashbang detonations

* Update addons/grenades/functions/fnc_flashbangThrownFuze.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-05-21 20:24:50 -05:00
PabstMirror
52762c1e62
Arsenal - Changes for CBA Disposable hashs (#9998)
* Arsenal - Changes for CBA Disposable hashs

* Update addons/arsenal/functions/fnc_onSelChangedRight.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/arsenal/functions/fnc_onSelChangedRight.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-05-21 20:23:46 -05:00
johnb432
4cf61a026b
Interact Menu - Use hashmaps for interactions (#9920)
* Use hashmaps for interactions

* Update addons/interact_menu/functions/fnc_splitPath.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Account for case sensitivity

* Update addons/interact_menu/functions/fnc_compileMenu.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-05-21 20:18:32 -05:00
johnb432
db2bf60c28
Cargo - Add documentation on adding cargo via config (#9994)
* Fix bag of holdings in cargo

* Update CfgVehicles.hpp

* Update CfgVehicles.hpp

* Revert space changes
2024-05-21 20:16:05 -05:00
PabstMirror
a31608073e
Maptools - Fix gps detection (#10007)
* Maptools - Fix gps detection

* Use `infoPanelComponents`

Co-Authored-By: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-05-21 18:25:59 -05:00
PabstMirror
b26d6543a6 Prepare 3.17.1 Build 86 2024-05-11 22:15:02 -05:00
PabstMirror
9efd60d798 Merge branch 'master' into release-3.17.1 2024-05-11 22:14:36 -05:00
Abogado
6972f02bc4
Translation - Add Missing Spanish (#10001)
Translation to Spanish

Translation to Spanish
2024-05-10 20:42:55 -05:00
johnb432
2a3ff8e185
Medical Treatment - Fix low SpO2 making units go into cardiac arrest again (#10003)
* Set SpO2 after successful CPR

* Update fnc_cprLocal.sqf

* Add API

* Update fnc_cprLocal.sqf
2024-05-10 20:39:41 -05:00
Fabio Schick
62353a9175
Translations - Updated Italian with recent additions (#10004)
* hearing italian translations

* common italian translations
2024-05-10 20:34:34 -05:00
PabstMirror
8e367ee80e Prepare 3.17.1 Build 85 2024-05-05 15:24:45 -05:00
PabstMirror
7b0c1c425d Merge branch 'master' into release-3.17.1 2024-05-05 15:23:29 -05:00
PabstMirror
9d168756df
CUP Compat - Fix NVG Black/Green translations (#9976)
* cup compat - fix nvg black/green

* Capitalize some colors
2024-04-30 00:55:59 -05:00
johnb432
4f1c2fa8d7
Common - Fix adding unusable throwables (#9980)
* Prevent adding unusable grenades

* Update fnc_addToInventory.sqf

* Update addons/common/functions/fnc_addToInventory.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update fnc_addToInventory.sqf

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-04-29 12:13:47 -05:00
johnb432
3987c62acc
Grenades - Add missing documentation on flares and incendiaries (#9984)
Update grenades-framework.md
2024-04-29 00:34:35 -07:00
johnb432
0f5b7c8762
Grenades - Fix unconscious AI being affected by flashbangs (#9978)
* Stop players being affected by AI flashbang code

* Stop affecting unconscious AI

* Update fnc_flashbangExplosionEH.sqf
2024-04-28 21:49:36 -05:00
johnb432
7c4f4cf8f8
Grenades - Fix flashbangs causing pain for invulnerable units (#9981)
Disable flashbang pain for invulnerable units
2024-04-28 09:07:15 -07:00
johnb432
6e32fc1144
Hearing - Add earplugs only if not present (#9987)
Only add earplugs if not present
2024-04-28 09:04:56 -07:00
johnb432
3b806295f7
Hearing - Use class EH instead of extended EH (#9986)
Use class EH instead of extended EH
2024-04-28 09:02:50 -07:00
johnb432
60b87f0b41
Medical - Add _createLitter to medical events (#9959)
Added `_createLitter` to medical events
2024-04-26 17:35:57 -05:00
PabstMirror
872d460e6d
Tools - Add missing includes for p3ds (#9974)
* Tools - Add missing includes for p3ds

* Cleanup vn?

* Update project.toml

* Update tools\.vscode
2024-04-26 17:35:30 -05:00
Apricot
b513a110f5
Translations - Improve Japanese localization (3.17.1) (#9977)
Tweaks
2024-04-26 17:34:11 -05:00
Dystopian
a12ad9ec59
Interact menu - Fix condition in consolidated menu (#9946)
Fix condition in consolidated menu
2024-04-25 00:23:10 -05:00
johnb432
1eca83db9f
Common - Fix animations not playing (#9973)
Update CfgMoves.hpp
2024-04-24 23:41:27 -05:00
jonpas
c17873dcad Prepare 3.17.1 Build 84 2024-04-24 02:29:25 +02:00
johnb432
9e6f624a68
Cargo - Fix undefined variable and config entries (#9965)
Cargo fixes
2024-04-23 14:07:16 -07:00
Hexo
a0e4f09555
Translations - French (Map tools) (#9953)
* Update translate Hearing french

* update map tools

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-04-22 17:15:05 -05:00
Crowdedlight
5a6d6a73df
Wiki - Fix search being broken by the attach-framework page (#9969) 2024-04-22 19:08:49 +02:00
OverlordZorn
97257ca77a
Documentation - minor fix (#9967)
a -> an
2024-04-21 07:15:07 -07:00
Dart
ac9ffb5276
Docs - Fix tables and inconsistencies (#9952)
Co-authored-by: LinkIsGrim <69561145+LinkIsGrim@users.noreply.github.com>
2024-04-19 20:53:33 +00:00
Tim Beswick
23842aab39
Medical - Fix script error when bandaging (#9956)
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-04-19 16:57:41 -03:00
johnb432
7480ae377d
Scopes - Stop changing CBA setting value directly (#9954)
Update XEH_postInit.sqf
2024-04-19 10:27:04 -07:00
johnb432
dda6b9d2dc
Medical Treatment - Enforce bandage effectiveness variable type (#9950)
Enforce bandage effectiveness variable type
2024-04-16 13:33:40 -07:00
Hexo
b637a0ea09
Update translate Hearing french (#9949)
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-04-13 15:09:48 -05:00
V1nsyara
32707dd860
Language Russian - Update translation (#9947)
Russian
2024-04-13 14:53:50 -05:00
PlayerBotPro
6165b46ab6
Medical Treatment - Fix Painkiller has no effect when Advanced Medication is off (#9942)
* fix: Painkiller has no effect when Advanced Medication is off

* Change PainKillers_PAIN_SUPPRESSION to uppercase

* Update addons/medical_treatment/functions/fnc_medicationLocal.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-04-11 12:58:50 -03:00
johnb432
bcf1133477
Scopes - Notify restart req. for enable & pressure settings (#9944)
* Moved keybinds, made settings require restart

* Move keybinds
2024-04-11 17:43:19 +02:00
OverlordZorn
2b5ea1628f
Weather - Winter Terrain Temperatures (#9943)
* a -> an

* Added last resort catch for winter maps to define suitable temps

* removed debug line

* purge 🧼

* added check for "snow" in raintexture

* cleaned up conditions

* Update arma-3-scheduler-and-our-practices.md

* isNull && {}

* Update fnc_getMapData.sqf

* Update fnc_getMapData.sqf

* Update fnc_getMapData.sqf

* changed order in condition checks and indentation

* not so lazy

* deep config lookup -> _cfg

* comment

* removed accidental empty line

* 🎢

* Update fnc_getMapData.sqf

* Revert "Update fnc_getMapData.sqf"

This reverts commit a57d114182ee094a873274dda8874f12780e4795.

* Update addons/weather/functions/fnc_getMapData.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/weather/functions/fnc_getMapData.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/weather/functions/fnc_getMapData.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* then -> exitWith

---------

Co-authored-by: Mr. Zorn <56258612+PulsarNeutronStar@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-04-10 08:26:30 -03:00
lambdatiger
3255dbef36
Compats - Add/Fix Adv, Vehicle Damage ERA and SLAT arrays (#9925)
* added missing hitpoints and new classes

* added CUP compats

* Fixed missing base class and missing comma
2024-04-10 08:25:46 -03:00
johnb432
5130a22008
Hearing - Add setting to add earplugs to all units (#9935)
Add option to add earplugs to all units
2024-04-10 08:23:50 -03:00
johnb432
095ce88279
Hearing - Notify restart req. for combat deafness setting (#9934) 2024-04-07 12:59:14 -03:00
Kex
0c529446ec
Fix bug template (#9936) 2024-04-07 12:57:14 -03:00
Grim
6a2f3a21f2
Medical - Fix broken AI ragdolls if AI unconsciousness is disabled (#9917)
Co-authored-by: jonpas <jonpas33@gmail.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-04-06 22:20:51 -03:00
BrettMayson
f3f7f2c492
Medical Status - API to modify getBloodLoss (#9926)
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-04-06 22:18:07 -03:00
PabstMirror
431c4d616e
Casing - Move model lookup to cartridge config (#9893)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-04-06 22:12:06 -03:00
PabstMirror
5ca3465b8a
Medical Treatment - Only create litter on empty container (#9924) 2024-04-06 22:11:51 -03:00
johnb432
f5e8e06c24
Interact Menu - Add nil handling for condition (#9922)
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-04-06 22:11:09 -03:00
johnb432
04ac1d8808
Arsenal - Fix #9916 (#9932) 2024-04-06 22:04:52 -03:00
johnb432
dce7da60c9
General - Change count to isEqualTo where appropriate (#9921)
count -> isEqualTo
2024-04-06 11:57:08 -07:00
johnb432
8f46ffd8d5
General - Change count to forEach where appropriate (#9890)
count -> forEach

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-04-04 08:15:26 -03:00
Fabio Schick
ccb3e65734
Map Tools - Show GPS on Map when equipped with UAV Terminal (#9885)
* Show Map GPS when equipped with UAV Terminal

* Update Maptools Documentation

* Reword documentation

* Reword docs, remove dash

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>

* Allow GPS when terminal slot is not empty

* Allow GPS on map when GPS sidepanel is available

* Reword docs

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Return statement - remove ; and add comment

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

---------

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-04-04 08:09:02 -03:00
Hexo
d312792631
Translation - French (#9919)
* Translate French

* Update stringtable.xml

Translate - FR

* Translate - French

* Translate - French - overheating

* Translate -French - compat_sog

* Update stringtable.xml

* Translate - French

* Fix - Translate French

Minor correction

* Update Translate French

* Update French

* Update - french

* Transalte French fieldmanual

* Translate French compat_cup_weapons_cws

* Update translate
2024-04-04 08:01:24 -03:00
johnb432
0d401b2664
Headless - Code optimisation (#9873)
* Headless optimisations

* Swapped blacklist for unitIsUAV check

* Moved UAV check

* Update addons/headless/functions/fnc_transferGroups.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/headless/functions/fnc_transferGroups.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update fnc_transferGroups.sqf

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-04-04 08:01:12 -03:00
Grim
e6cc5fca89
Arsenal - Handle arrays in loadout extended info (#9918) 2024-04-03 19:46:26 -03:00
johnb432
a72b3a43a5
Arsenal - Fix FUNC(baseAttachment) returning non-CBA item modes (#9916)
Update fnc_baseAttachment.sqf
2024-04-03 14:53:12 -07:00
Sotirios Pupakis
558849b91c
Interaction - Add door events (#9910)
Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
2024-04-03 17:47:51 -03:00
Hexo
020d21d562
Translate - French (#9908)
* Translate - French

* Translate - French - overheating

* Translate -French - compat_sog

* Update stringtable.xml

* Translate - French

* Fix - Translate French

Minor correction
2024-04-02 23:04:56 -05:00
BrettMayson
19e0064730
Medical - Fix typo caridac to cardiac (#9900) 2024-04-02 21:07:03 -03:00
johnb432
613fc36385
Common - Use existing weapon holders for FUNC(addToInventory) (#9895)
* Reuse existing weapon holders

* Update fnc_addToInventory.sqf

* Return correct weapon holder
2024-04-02 14:07:45 -07:00
johnb432
cc3fbc5f3f
Cargo - Fix undefined variable (#9909)
Update fnc_initVehicle.sqf
2024-04-02 13:46:14 -07:00
johnb432
0375d0dae6
CSW - Fix CUP CSW (#9907)
* Update CfgWeapons.hpp

* Update other CUP weapons

* Update addons/compat_cup_weapons/compat_cup_weapons_csw/CfgWeapons.hpp
2024-04-02 12:37:30 -07:00
johnb432
316bb355ad
CSW - Minor code cleanup (#9902)
CSW minor code cleanup
2024-04-02 08:22:45 -07:00
johnb432
a5a3fe4232
CSW - Deploy & pickup CSW parts only if they are not destroyed (#9905)
Deploy & pickup CSW parts only if they are not destroyed
2024-04-02 08:15:06 -07:00
johnb432
7171ca7947
CSW - Remove unused 3den attributes (#9898)
Remove unused 3den attributes
2024-04-02 06:27:10 -07:00
johnb432
35d40e614c
Yardage - Make macros uppercase (#9894)
* Renamed macros in yardage

* Update fnc_turnOn.sqf
2024-04-02 06:26:42 -07:00
PabstMirror
8805414669
Common - Cleanup strange texture (#9897) 2024-04-02 01:52:45 +02:00
jonpas
8165201565 Documentation - Fix news post link 2024-04-01 19:47:09 +02:00
jonpas
16411f0a5c Prepare 3.17.0 Build 83 2024-04-01 18:10:30 +02:00
jonpas
3a232bbfa8 Fix release build type 2024-04-01 18:10:30 +02:00
jonpas
ac09cea0d0 Prepare 3.17.0 Build 82 2024-04-01 15:49:54 +02:00
jonpas
64e16a2136 Merge branch 'acerep-12' into release-3.17 2024-04-01 15:49:35 +02:00
jonpas
c8eebf461b Merge branch 'master' into release-3.17 2024-04-01 15:48:07 +02:00
BaerMitUmlaut
7ddd62f4d3 Documentation - Fix typo (#9608) 2024-04-01 15:43:24 +02:00
PabstMirror
0c589c2346
Interaction - Check canInteractWith before taking dropped weapons (#9783)
* Interaction - Block interaction on carried ground weapon holders

* Don't check if cargo container is claimed
2024-04-01 09:11:14 -03:00
jonpas
d9f6beacc5 Prepare 3.17.0 Build 81 2024-04-01 13:34:39 +02:00
jonpas
dd256bfb18 Merge branch 'master' into release-3.17 2024-04-01 13:32:48 +02:00
PabstMirror
0365565efc
Yardage - Fix broken display in 2.16 (#9892) 2024-04-01 13:28:08 +02:00
Mike-MF
0d45a85db6
Casings - Add CUP Casings (#9888) 2024-04-01 13:27:15 +02:00
jonpas
6c52cfa95f Link to acemod.org 2024-04-01 04:31:13 +02:00
jonpas
193f52222b Remove docker compose version (deprecated) 2024-04-01 04:18:43 +02:00
jonpas
686498680f Fix 'Fork me on GitHub' ribbon 2024-04-01 03:50:47 +02:00
jonpas
134951f331 Update Anvil logo 2024-04-01 02:45:40 +02:00
jonpas
b919da797b Merge branch 'master' into release-3.17 2024-04-01 02:42:18 +02:00
jonpas
3ddf147238 effect -> affect 2024-03-31 00:42:06 +01:00
jonpas
cfbadca621 Add ACEREP 12 2024-03-31 00:16:56 +01:00
PabstMirror
9293623d9e
CUP Compats - Cleanup temp __has_include (#9832) 2024-03-30 20:33:28 +01:00
PabstMirror
a4dbff3ff8
Common - Add word weapon to sway setting (#9887)
* Common - Add word `weapon` to sway setting

* Update stringtable.xml
2024-03-28 17:12:27 -05:00
PabstMirror
9daf71edd0
Options Menu - Fix main-menu news setting not working (#9886) 2024-03-28 14:55:07 -05:00
Psycool
cbb160c1e0
Korean translation updated (#9883)
* KoreanTranslation

Someone has returned all the translations in Korean to English. there is no need to return them.

* koreantranslation

* Korean Typo Fix

* Korean Translation

* Update stringtable.xml

* Korean Translation Added

Added Korean translation related to Cargo Refuel

* Merge branch 'master' of https://github.com/Psycool3695/ACE3

* Korean translation Add/Updated

* Fixed wrong strings

* Korean translation improved

* Korean translation updated

* Korean translation updated

* Fix Merge

* Update stringtable.xml

* Update stringtable.xml

* Korean translation updated

* Korean translation minor fix

* Korean translation fixed

* Korean translation updated

* Update stringtable.xml

* Spacing fixed

* Korean translation updated

* Spacing fixed

* Korean translation updated

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-03-28 13:58:02 -05:00
johnb432
415d2f685c
General - Change FUNC to LINKFUNC where appropriate (#9882)
FUNC -> LINKFUNC
2024-03-28 13:57:23 -05:00
jonpas
2a52ad14c4
Improve GitHub labels and Release Drafter (#9884) 2024-03-28 18:29:08 +01:00
johnb432
48bdc6fbcd
Repair/UI - Minor code cleanup (#9879) 2024-03-28 14:11:26 +01:00
Mr. Zorn
46cc49dc1e
Documentation - Add info about Plotting Board (#9838)
* Update maptools.md

* Update maptools.md

* Update docs/wiki/feature/maptools.md

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-03-28 08:49:45 -03:00
johnb432
3bba9735c7
Mk6mortar - Remove return values from FUNC(handleFired) (#9880)
Update fnc_handleFired.sqf
2024-03-27 22:37:59 -05:00
johnb432
512ceaa1a1
Missile Guidance - Rename preInit and postInit files (#9881)
Renamed preInit and postInit files
2024-03-27 22:37:36 -05:00
jonpas
dc7d7b1429 Prepare 3.17.0 Build 80 2024-03-27 23:01:47 +01:00
Apricot
4952c09f41
Translations - Improve Japanese localization part 4 (sway factor) (#9877) 2024-03-26 19:58:19 +01:00
Fabio Schick
c88e1abd0e
Weather - More permissive wind info indicator + auto-enabling when throwing grenades (#9820)
* More permissive displaying of Wind Info

* Temporary Wind Info while throwing Grenades

* Add Temporary Wind Info Setting

* Safer reading of EGVAR from addon that may not be loaded

* Show Wind Info only in Static Vehicles

* Improve Exclusion Check

Co-Authored-By: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Improve Abort Checks on Keybind Statements

Co-Authored-By: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Raise eyePos when inside Static Weapon

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-03-26 09:59:48 -03:00
Mike-MF
cee187adac
General - Convert vehicle to objectParent (#9801)
Convert vehicle to objectParent
2024-03-26 09:54:06 -03:00
johnb432
a8ed533004
Dragging - Minor code cleanup (#9859)
* Dragging minor code cleanup

* Update fnc_startCarryPFH.sqf

* Revert UAV changes
2024-03-26 09:50:21 -03:00
ZluskeN
5ca81b7ef3
Interaction - Make magazine passing animation optional (#9875)
* Update fnc_passMagazine.sqf

* Update fnc_passMagazine.sqf

* Update fnc_passMagazine.sqf

* Update addons/interaction/functions/fnc_passMagazine.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-03-26 09:50:04 -03:00
Dart
31217ae5d0
Fortify - Add onDeployStop event for cancelling before confirming (#9854)
* onDeployStop event

* Updated wiki with new event

* Fixed params

* Revert "onDeployStop event"

This reverts commit c3dae82915f7d36754096feaf5ae2249688742e7.

* Uses deployCanceled

* Re-added fortify stop event

* Update fnc_deployObject.sqf

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-03-25 09:08:06 -07:00
johnb432
80417b114d
Advanced Fatigue - Move sway to common and add enable sway setting (#9872)
* Move sway from fatigue to common

* Added enable sway setting

* Update addons/common/stringtable.xml

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/common/stringtable.xml

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/common/stringtable.xml

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-03-24 14:28:14 -07:00
PabstMirror
86f1b6b142
AB/Scopes - Fix script errors on profiling branch (#9869)
* AB/Scopes - Fix script errors on profiling branch

* Update addons/scopes/functions/fnc_calculateZeroAngleCorrection.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-03-24 09:32:28 -07:00
johnb432
58f6430bb6
Arsenal - Revert unicode support for sorting (#9871)
Revert unicode sorting
2024-03-23 06:29:26 -07:00
Mike-MF
2456c445b2
Compat CUP Weapons - Fix Metis UBC (#9870) 2024-03-23 14:28:20 +01:00
PabstMirror
9a5cb8bd91
Maverick - Cleanup config (#9868) 2024-03-21 22:56:44 +01:00
BrettMayson
3c5b46c42d
Medical - Support Magazine Treatment Items (#9816)
* count treatment items

* getCountofItem

Co-Authored-By: Blue <itzblueman@gmail.com>

* getCountofItem fix

Co-Authored-By: Blue <itzblueman@gmail.com>

* convert painkillers to magazine

* use isclass

Co-Authored-By: johnb432 <58661205+johnb432@users.noreply.github.com>

* forget to change variable

* Update addons/medical_treatment/functions/fnc_hasItem.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* better magazine adjustment

* Update addons/common/functions/fnc_adjustMagazineAmmo.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/medical_treatment/functions/fnc_medication.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/medical_treatment/functions/fnc_treatmentFailure.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update docs/wiki/framework/arsenal-framework.md

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>

* Update addons/common/functions/fnc_adjustMagazineAmmo.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Header

* use switch statement in fnc_useItem

* Update addons/common/functions/fnc_adjustMagazineAmmo.sqf

* Update addons/common/functions/fnc_adjustMagazineAmmo.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* only check adding to mags that are not full

Co-Authored-By: LinkIsGrim <salluci.lovi@gmail.com>

* Update addons/common/functions/fnc_adjustMagazineAmmo.sqf

* Update fnc_getCountOfItem.sqf

* Optimisations & header fix

* Update addons/common/functions/fnc_adjustMagazineAmmo.sqf

* Fixed vehicle implementation

---------

Co-authored-by: Blue <itzblueman@gmail.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
2024-03-21 22:56:24 +01:00
johnb432
50978efa46
Hearing - Removed remoteExec & added microoptimisations (#9853)
* Removed remoteExec. added microoptimisations

* Update addons/hearing/XEH_preInit.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* move EH to after !hasInterface

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-03-21 20:26:46 +01:00
johnb432
b4eaa1e270
Advanced Fatigue - Disable sway when Advanced Fatigue is off (#9867)
Disabled sway when advanced fatigue is off
2024-03-21 20:24:49 +01:00
Dart
af3c95a5a6
Fire - Add ability to disable screams for individual units (#9863)
* Disable screams for individual units

* Update addons/fire/XEH_postInit.sqf

* Changed wording

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* isGlobal instead of true

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-03-21 20:20:23 +01:00
Cyruz
8c69bd25ea
Rearm - Show distance to target on actions (#9866)
* Show rearm distance in action

* Update addons/rearm/functions/fnc_addRearmActions.sqf

---------

Co-authored-by: Cyruz143 <root.cyruz@gmail.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-03-20 05:06:45 -07:00
johnb432
017d47f8c9
Fortify - Skip placement animation for no cost fortifications (#9861)
Skip placement animation for no cost fortifications
2024-03-19 08:57:09 +01:00
BrettMayson
c5b54c65a8
Medical Treatment - Fix bandage effectiveness (#9865)
* fix broken bandages

* update params
2024-03-19 08:56:05 +01:00
Apricot
e7827813ee
Translations - Improve Japanese localization 3 (#9864)
Japanese
2024-03-18 21:59:54 -05:00
johnb432
11844ef05e
Dragging - Fix dropping incorrect object when carrying fails (#9860)
Update fnc_startCarryPFH.sqf
2024-03-18 14:17:05 -03:00
johnb432
0856e58ae9
Dragging - Release ownership when target is too heavy to drag/carry (#9858)
Release ownership when target is too heavy to drag/carry
2024-03-18 14:16:34 -03:00
johnb432
3cafac2f67
Common - Fix players sliding when holstering weapons (#9846)
Update CfgMoves.hpp
2024-03-17 04:47:46 -07:00
Mike-MF
de106c3418
Grenades - Fix Flashbang in epilepsy mode (#9855)
Fix Flashbang in epilepsy mode
2024-03-17 04:47:24 -07:00
Mr. Zorn
a332ad7095
Repair - Wheel Patching - Tooltip rephrasing (#9851)
* Update stringtable.xml

* Add PL Translation

* added FR

* added japanese

---------

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>
2024-03-17 03:33:12 -07:00
prisonerMO
5e1771aecd
General - Don't add keybinds to headless client/dedicated server (#9842)
* Do not need to register keybinds on machines that don't have interfaces.

* add newline

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-03-12 14:33:08 -07:00
johnb432
0dabc678f6
Arsenal - Fix faces & voices for JIP (#9847)
Update fnc_onArsenalClose.sqf
2024-03-11 03:18:02 -07:00
PabstMirror
e5145ba4f7
Cup Weapon Compat - Fix NVG classnames (#9845) 2024-03-10 11:49:53 -03:00
Fabio Schick
dd32190dfa
Parachute - Add Seconds Indicator to Altimeter Watch (#9834) 2024-03-10 11:48:43 -03:00
Fabio Schick
d54ba4ddcf
Translations - Complete Italian (#9844)
* Arsenal Italian Translations

* Cargo Italian Translations

* Hearing Italian Translations

* Killtracker Italian Translations

* Map Tools Italian Translations

* Markers Italian Translations

* Medical GUI Italian Translations

* Medical Treatment Italian Translations

* Medical Vitals Italian Translations

* Overheating Italian Translations
2024-03-09 17:58:15 -06:00
PabstMirror
9bb9fae85c
Arsenal - Show load stat's actual value (#9833)
* Arsenal - Show load stat's actual value

* Update addons/arsenal/functions/fnc_statTextStatement_load.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-03-09 17:17:13 -06:00
V1nsyara
a3b9c53fd8
Translations - Russian - Fix (#9841)
Russian Translate - Fix
2024-03-09 16:56:33 -06:00
Grim
8e975a6b91
Medical Treatment - Add hook to modify bandaging treatment (#9814)
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-03-09 14:15:24 -03:00
johnb432
d7e5ea4898
Rearm - Fix actions not being added immeditately (#9843) 2024-03-09 14:11:27 -03:00
BaerMitUmlaut
f1488c9c88
Documentation - Update management team (#9837) 2024-03-07 22:30:26 +01:00
MiszczuZPolski
4694974054
Documentation - Add MiszczuZPolski to Team page (#9836) 2024-03-07 22:28:41 +01:00
Grim
e06c6f7835
General - Replace toLower with toLowerANSI where applicable (#9790)
* General - Replace toLower with toLowerANSI where applicable

* whoops

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update addons/repair/functions/fnc_setHitPointDamage.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/repair/dev/draw_showRepairInfo.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/tagging/XEH_preStart.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/vehicle_damage/functions/fnc_handleCookoff.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/tagging/XEH_preStart.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* comparment -> compartment

* Update fnc_showHud.sqf

* Update fnc_registerObjects.sqf

* Update addons/common/functions/fnc_cbaSettings_settingChanged.sqf

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-03-07 22:08:13 +01:00
Kex
aa3917c299
Documentation - Add Kex to maintainers (#9835) 2024-03-07 20:57:45 +01:00
Drofseh
6ea0312770
Overheating - Increase cooling for open bolt guns and spare barrels (#9827)
* open bolt and spare barrel cooling boost

* change magic number to macro
2024-03-06 09:45:41 -08:00
johnb432
78334e2be4
Refuel - Add ownership concept to nozzles & jerry cans (#9826)
Add ownership concept to nozzles & jerry cans
2024-03-05 11:55:59 -08:00
Apricot
61ca55f268
Translations - Improve Japanese localization 2 (#9829)
Update stringtable.xml
2024-03-05 12:42:38 -06:00
johnb432
86580f3d6f
Fortify - Fix invalid object filtering (#9825)
Actually filter object
2024-03-04 14:01:40 -08:00
BrettMayson
f76485ff3a
Common - Fix addToInventory for magazines (#9823)
fix addToInventory for magazines
2024-03-04 14:00:31 -08:00
PabstMirror
f63704911e
CUP Compats - Don't load if cup's compats present (temporary) (#9824)
* CUP Compats - Don't load if cup's compats present (temporary)

* cup veh and ter
2024-03-04 15:20:59 -06:00
BrettMayson
67fa53fd2c
General - Events for Mods (#9813)
* full heal local

* update body image

* log list

* better _enable in categories

* update injury list

* cardiac output internal variable

* typo

* remove duplicate event

* rename event

* add docs

* Update docs/wiki/framework/events-framework.md

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-03-04 15:08:12 -06:00
Kex
b1520a9aaf
Improve version badge (#9822)
Replace hard-coded version badge
2024-03-03 19:51:43 -06:00
BrettMayson
a85a65331f
Medical GUI - Show Bleeding Rate (#9815)
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-03-03 22:47:37 +00:00
BrettMayson
fd22ff04c5
Medical GUI - Display IV Type (#9817)
Co-authored-by: MisczczuZPolski <71414303+MiszczuZPolski@users.noreply.github.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-03-03 19:45:12 -03:00
Fabio Schick
22deb3af79
Artillery - Add Rangetable Keybind, Fix remembering last charge (#9818) 2024-03-03 19:43:31 -03:00
Grim
64538f2ad0
Arsenal - Native baseWeapon support for CBA items (#9799)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-03-02 14:29:20 -03:00
Mike-MF
2036c83dc8
CUP Weapons Compat - Add WP NVGs (#9810)
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-03-02 14:26:33 -03:00
Apricot
b828a14afa
Translations - Improve Japanese localization (#9812)
* update japanese

* update

* Update stringtable.xml

* dogtag wording to ID tag
2024-03-01 19:23:33 -06:00
jonpas
6de7d60636
CI - Use Node.js 20 actions (#9809) 2024-02-29 04:54:08 +01:00
prisonerMO
8a67744cd4
Hearing - Keybind for putting or taking out earplugs (#9804)
* Added keybind put or take out earplugs

* Update addons/hearing/XEH_postInit.sqf

Don't need to register keybinds on machines that don't have interfaces.

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/hearing/initKeybinds.inc.sqf

Removed default keybind, added new line at the end of the file and changed some code formatting, as well as some functions:

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/hearing/stringtable.xml

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-02-28 13:44:27 -06:00
kerckasha
bfbfc66d1c
SPE Compat - Fix flamethrower magazines not showing in arsenal / 50 Cal deafness (#9803)
* Fixed old invalid type on SPE flamethrower magazines

* Added ACE_caliber to SPE 50 cal ammo as it was causing extreme deafness

* Update addons/compat_spe/CfgAmmo/bullets.hpp

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Fixed duplicate base classes

* Update addons/compat_spe/CfgAmmo/bullets.hpp

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/compat_spe/CfgMagazines/flamethrower.hpp

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-02-28 17:09:02 +01:00
Drofseh
c4688f2ae5
Compat WS - Add barrel swap to WS machine guns (#9808)
Add barrel swap to WS machine guns
2024-02-28 17:05:11 +01:00
Mike-MF
5111062e6d
Add CUP Vehicles Compatibility (#9602)
Co-authored-by: jonpas <jonpas33@gmail.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-02-28 16:50:07 +01:00
Mike-MF
147f28d443
Add CUP Weapons Compatibility (#9599)
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-02-28 16:47:53 +01:00
V1nsyara
4d487dc33e
Translations - Russian (#9802)
Update Russian Translate
2024-02-20 19:22:38 -06:00
Sotirios Pupakis
fd7a5004f0
KillTracker - Add option to filter out AI unit kills (#9800)
* Add option to disable AI kills tracking in Kill Tracker

Add an option to disable tracking of kills of AI units when using ACE Kill Tracker. Configurable through Addon Settings

* Made setting global

* Requested changes

* Omitted optional default params

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>

* Added missing dot

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Added missing dot in Czech translation

* Update addons/killtracker/XEH_preInit.sqf

* Update addons/killtracker/XEH_preInit.sqf

---------

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-02-19 17:53:47 -06:00
johnb432
fd5e56ffbc
Arsenal - Improved sorting, insignia detection, identity info verification and minor cleanup (#9795)
* Changed sorting + minor cleanup

* Update addons/arsenal/functions/fnc_fillLeftPanel.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* check and log missing extended info

* fix extended loadout logging

* Made voice stuff config case

* use lowercase voice everywhere

* check loadout voice against configCase

* Update fnc_verifyLoadout.sqf

* Update addons/arsenal/functions/fnc_verifyLoadout.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/arsenal/functions/fnc_verifyLoadout.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/arsenal/functions/fnc_verifyLoadout.sqf

---------

Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-02-13 11:22:27 -08:00
BAXENdev
a0f3933bf0
Medical - Change max medication dosage behavior (#9746)
* Consistentency Update with Overdosing

* Added Description to Condition Cases

* Updated to CASE 2

Overdose behavior:
ODs on uses `_maxDose + {1 or 2 or 3}` from `_maxDose + {0 or 1 or 2}`

* Update fnc_onMedicationUsage.sqf

* Update fnc_onMedicationUsage.sqf

* Added riskDose range and updated medications

* maxDose -> maxSafeDose | riskDose -> chanceDoses

* Fixed maxDose reference in trace

* Added chanceDoses to trace

* Fixed use of TRACE macro

* Updated comments and variable maxSafeDose -> maxDose

* Updated comment and overdose formula

* chanceDoses -> maxDoseDeviation

* Update addons/medical_treatment/functions/fnc_onMedicationUsage.sqf

* Update addons/medical_treatment/functions/fnc_onMedicationUsage.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/medical_treatment/ACE_Medical_Treatment.hpp

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-02-13 02:45:04 -08:00
johnb432
05a5ccd140
Arsenal - Add mod icons to editor arsenal attribute (#9797) 2024-02-12 15:15:48 -03:00
BrettMayson
1002dfe31b
Grenades - Flashbang events (#9796) 2024-02-12 14:01:24 -03:00
Grim
d6eb6b981c
Common - Allow multiple events to clear a cached call (#9770) 2024-02-11 22:13:37 -03:00
Grim
1e1d1d63f2
Arsenal - Add ace_arsenal_loadoutVerified event (#9792)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-02-11 20:25:12 -03:00
Grim
b2849aaa29
Fix filling loadouts list during preInit (#9794) 2024-02-11 20:21:29 -03:00
Grim
f3f9d18f55
Arsenal - Fill loadouts list over multiple frames (#9789) 2024-02-11 19:35:42 -03:00
Grim
bb7b05fd0d
Arsenal - Left panel code improvements (#9787)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-02-11 19:34:24 -03:00
Grim
95ec6eb765
Arsenal - Cleanup action UI code (#9784)
* Arsenal - Cleanup action UI code

* derp
2024-02-11 19:23:44 -03:00
Grim
a47ae27080
Nightvision - Register effects during preInit (#9788) 2024-02-11 13:55:48 -03:00
johnb432
cdc51643bb
Inventory - Remove duplicate code (#9791)
Update XEH_preStart.sqf
2024-02-11 07:33:58 -08:00
PabstMirror
e75ef3de06
General - Cleanup remaining HEMTT warnings/suggestions (#9786)
* General - Cleanup remaining HEMTT warnings/suggestions

* Update addons/medical_engine/script_macros_medical.hpp
2024-02-10 16:58:14 +01:00
Grim
6928adfc72
Arsenal - Improve performance of loadout verification (#9316)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-02-10 12:58:02 -03:00
Laid3acK
41c7b12acb
Documentation - Fix Wiki AtragMx links (#9780) 2024-02-10 12:52:36 -03:00
Grim
ee79decb45
CSW - Code cleanup (#9777)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-02-07 20:36:13 -03:00
Grim
802560da8a
CSW - Delay init for CSW with simulation disabled (#9778)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-02-07 20:25:49 -03:00
BrettMayson
1649422cbd
Medical Vitals - Add SPO2 (#9360)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
2024-02-07 17:50:18 -03:00
Fabio Schick
2f9b7002c3
Explosives - Add Cellphone/Detonator Keybinds (#9687)
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-02-07 17:47:01 -03:00
johnb432
28e45c2979
Laser - Public getter and setter for laser codes (#9772)
* Getter and setter for laser codes

* Documentation

* Sanitising input
2024-02-07 08:49:36 -08:00
Grim
ae532c72f7
Medical - Prevent uncon AI from talking (#9776) 2024-02-07 12:56:24 -03:00
Smith
8731bcc8b5
Cargo - Add alternative unloading item from vehicle cargo (#8827)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-02-07 09:16:18 -03:00
Laid3acK
6637a15af9
Documentation - Update Wiki AtragMx (#9608)
Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
2024-02-07 07:30:50 -03:00
Grim
e69ffb6f21
Arsenal Actions - Add support for multiline text & updating on cargo event (#9771)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-02-06 20:34:52 -03:00
johnb432
8de0740e94
Reload - Add manual reload for vehicle weapons - continued (#9398)
* Add manual reload to turrets

* Added reload via reload keybind

* Update fnc_canSwapTurretMagazine.sqf

* Update fnc_canSwapTurretMagazine.sqf

* Update fnc_canSwapTurretMagazine.sqf

* Engine based reloading, added more checks

* Update addons/reload/functions/fnc_canSwapTurretMagazine.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

---------

Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-02-06 15:14:25 -08:00
Grim
244bee4a61
Medical Engine - Prevent uncon units from ragdolling on death (#9762) 2024-02-06 20:11:47 -03:00
Grim
77a49a081a
Small Arms - Fix magazineReloadTime for vehicle FN Minimi SPW (#9774) 2024-02-06 20:06:49 -03:00
johnb432
907758385c
Common - Cleanup define.hpp (#9773)
Update define.hpp
2024-02-06 09:29:24 -08:00
Mike-MF
5a3f3d3b82
Add CUP Terrains Compatibility (#9627)
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: jonpas <jonpas33@gmail.com>
2024-02-05 15:58:15 -03:00
Dystopian
b54992b8fc
Towing - Fix some issues (#9007)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
2024-02-05 15:54:51 -03:00
PabstMirror
a3aef6a066
General - Cleanup spaces in macros (#9769)
Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
2024-02-05 14:04:24 -03:00
Grim
6c60b67494
Arsenal - Exit refresh early if no display is found (#9754)
Co-authored-by: Mike-MF <TyroneMF@hotmail.com>
2024-02-05 10:57:22 -03:00
Grim
4bb9d6c42c
Medical - Add Painkillers (#9720)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-02-05 10:56:25 -03:00
johnb432
b440cf9cb2
Arsenal/RHS Compats - Removed bad illuminator stats for RHS attachments (#9766) 2024-02-04 16:24:14 -03:00
alexban011
f1e3753606
Common - Fix syntax error in fnc_disableUserInput.sqf (#9767)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-02-04 16:24:04 -03:00
Grim
5bd1fa7629
Common - Update header for FUNC(getWeight) (#9765) 2024-02-04 16:08:07 -03:00
Grim
ef9195f21a
Fix hellfire script error (#9764) 2024-02-04 15:12:13 -03:00
BrettMayson
1e404cf85b
General - SQF Improvements (#9698)
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-02-04 14:50:24 -03:00
johnb432
8d6555ad0f
Arsenal - Make face tab adhere to mod icon setting (#9763) 2024-02-04 14:45:23 -03:00
Joko
2a6fd19762
Cookoff - Improve ammo detonation sounds (#5327)
* initital commit

* use Define for SOS

* fix some issues that got introduced in 1.70

* Prepare config for sounds

* add New Sounds 

improve distanced volume values

* add LAxemann to Author

* add Object Pooling

improve Distances

* fix small mistake

* change pool clearing timing

* change pool wait time

* fix Cookoff sound cleanup

* change to Jonpas Method

change random Distance add

* improve sound Volume over Distance (asked by Bux)

improve mid sounds

* improve a calculation

* Use playSound3D locally

* Make sounds configurable by 3rd party mods

* Added comments, used macros

* Update CfgSounds.hpp

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-02-04 01:36:59 -08:00
Grim
7696d9aa2e
Cargo - Fix object lock when failling to load a carried object (#9759) 2024-02-04 06:09:15 -03:00
Apricot
a97a8dbb73
Translations - Improve/Add Japanese localization (#9760) 2024-02-04 05:57:39 -03:00
johnb432
6ba46ffa90
Map Tools - Code cleanup (#9750)
* Maptools cleanup

* Changed conditions to check

* Minor cleanup + fix
2024-02-03 10:48:21 -08:00
PabstMirror
c150d923f7
Map Tools - Fix tools showing after item is dropped out of inventory (#9749)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-01-22 19:44:57 -03:00
Grim
7bc3fab533
Medical - Fix getting no pulse on a dead patient receiving CPR (#9756)
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-01-22 19:44:42 -03:00
Grim
4470b1f341
Cargo - Show item and vehicle in progress bar text (#9747)
* improve cargo progress bar text

* spanish

---------

Co-authored-by: BrettMayson <brett@mayson.io>
2024-01-22 16:41:46 -06:00
PabstMirror
7e255bf05b
Tools - Fix header arg types (#9752)
Fix header arg types
2024-01-22 16:33:30 -06:00
Mike-MF
d8961c68d6
Add CUP Units Compatibility (#9649) 2024-01-20 22:29:40 +01:00
PabstMirror
4756bb6f8c Prepare 3.16.3 Build 79 2024-01-17 09:27:10 -06:00
johnb432
824679e40a
Common - Fixed status effects (#9741) 2024-01-16 16:20:40 -03:00
PabstMirror
8a2196417f Prepare 3.16.2 Build 78 2024-01-16 09:38:54 -06:00
PabstMirror
f2984b6fdb Merge branch 'master' into release-3.16.2 2024-01-16 09:38:25 -06:00
Grim
42e2e08c2b
Common - Add JIP support to status effects (#9740)
* add JIP support to status effects

* fix TRACE

* typo
2024-01-16 09:37:57 -06:00
johnb432
b02d95cb91
Arsenal - Fixed stats & actions appearing when they shouldn't be (#9737) 2024-01-16 12:30:27 -03:00
PabstMirror
ddc80dfaff Prepare 3.16.2 Build 77 2024-01-16 09:18:20 -06:00
PabstMirror
ef24ca8b99 Merge branch 'master' into release-3.16.2 2024-01-16 09:17:59 -06:00
PabstMirror
edf627ce51
Dragging - Add logging for claimSafe failure (#9739) 2024-01-16 09:16:51 -06:00
Grim
9eb7e83e59
Medical Engine - Don't skip hdbracket ever (#9738) 2024-01-15 23:41:26 -03:00
johnb432
5903e561a9
Arsenal - Add thermal vision support to scopes vision mode stat (#9736) 2024-01-15 19:40:36 -03:00
Grim
cb08a7c172
General - Change UAV unit config lookups to unitIsUAV (#9735)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-01-15 18:39:28 -03:00
Grim
03c7c4e97f
Cookoff - Minor improvement to Fire integration (#8751)
Co-authored-by: Salluci <69561145+Salluci@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-01-14 20:53:33 +00:00
BrettMayson
686c252beb
View Restriction - Handle thirdPersonView difficulty setting correctly (#9734) 2024-01-14 17:49:06 -03:00
Grim
a684e874fb
Medical Engine - Exit early if incoming damage is 0 (#9733) 2024-01-14 15:16:55 -03:00
BrettMayson
caa4018623
Marker Flags - Reduce mass (#9731) 2024-01-13 22:26:43 -03:00
Grim
8bc5f513b4
Dragging - Prevent multiple units carrying the same object (#9730)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-01-13 13:39:39 -03:00
Grim
676a4b97a6
Add documentation for Medical Vehicles & Facilities (#9724)
* add doc on medical facilities and vehicles

* fix typo

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update docs/wiki/framework/medical-treatment-framework.md

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-01-13 11:44:21 -03:00
Apricot
a5da6cc83d
Translations - Fix Japanese NVG localization just one typo. (#9727)
nvg 4th typo 3rd hotfix

4th gen nvg shows 3rd gen nvg at japanese
2024-01-09 15:16:36 -06:00
Psycool
1243f87718
Korean translation updated (#9726)
* KoreanTranslation

Someone has returned all the translations in Korean to English. there is no need to return them.

* koreantranslation

* Korean Typo Fix

* Korean Translation

* Update stringtable.xml

* Korean Translation Added

Added Korean translation related to Cargo Refuel

* Merge branch 'master' of https://github.com/Psycool3695/ACE3

* Korean translation Add/Updated

* Fixed wrong strings

* Korean translation improved

* Korean translation updated

* Korean translation updated

* Fix Merge

* Update stringtable.xml

* Update stringtable.xml

* Korean translation updated

* Korean translation minor fix

* Korean translation fixed

* Korean translation updated

* Update stringtable.xml

* Spacing fixed

* Korean translation updated

* Spacing fixed

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-01-09 01:15:11 -06:00
Apricot
c296f1c074
Translations - Improve/Add Japanese localization. (#9721)
* maptools, markers, overheating

change/add strings to maptools for plotting board.
change/add strings to markers for milliseconds
add strings to overheating for stat bolt type and barrel type description

* Plotting Board "to" wording

* Polylines to line (More natural expressions in Japanese)

* Edit map and marker words

fix some wrong description

* zeus mine

* marker flag

* fcs ajust wording

* paint spray to spray paint

* Weapon display name improves

change "hex" katakana to kanji ヘックス>六角形 vanilla used kanji
Add camo to camo names using what camo (camo > ldf camo)
Nightforce NXS and M200 now using same name for jungle/tropic camo description.

* NVG Wrong GEN and missing WP

* Match NVG name to Arma3 default
2024-01-09 01:03:23 -06:00
Apricot
6018444439
Map Tools - Fix wrong Plotting Board strings targets (#9723)
* Change wrong CSTRING target

descriptionShort = CSTRING(Description);
to
descriptionShort = CSTRING(PlottingBoard_Description);

* change action name to "ToMapToolLabel"

displayName = CSTRING(Name);
to
displayName = CSTRING(ToMapToolLabel);
2024-01-08 19:53:25 -06:00
PabstMirror
7d8e34a536 Prepare 3.16.2 Build 76 2024-01-08 01:02:42 -06:00
PabstMirror
4924ea64aa Merge branch 'master' into release-3.16.2 2024-01-08 01:01:46 -06:00
Grim
e9cb2740e8
Ballistics - Respect Advanced Ballistics settings for displaying muzzle velocities (#9682)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-01-07 20:13:46 -03:00
Drofseh
b58807088a
Overheating - Add stats to arsenal (#9719)
* Overheating - Add Bolt Type stat to arsenal

* Add stat for barrel swapping

* Update addons/overheating/ACE_Arsenal_Stats.hpp

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update addons/overheating/functions/fnc_statTextStatement_allowSwapBarrel.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-01-07 17:04:10 -06:00
johnb432
474ecdd93b
Markers - Add true milliseconds as a timestamp option (#9690)
* Added real milliseconds to marker timestamp options

* Fixed tabs

* portuguese translation

* Update fnc_onButtonClickConfirm.sqf

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-01-07 10:26:10 -08:00
Daniël
1563eb9336
Markers - Add the option for UTC/System time timestamps (#9121)
* Markers - Add setting for system timestamps

* Moved time zone to different setting
Added UTC Time zone
Added UTC time offset slider
Added translation in stringtable

* Update fnc_onButtonClickConfirm.sqf

Fixed mistake that added offset twice

* - Removed tabs
- Fixed calculating error

* - Fixed tab problem

Was a bit enthusiastic with removing tabs. This should to the trick.

* - Changed tabs to spaces (Finaly)
- Checked SQF with sqf_validator.py
- Fixed decimal error by CBA menu

* Delete build/_deps directory

- This does not belong here

* Update fnc_onButtonClickConfirm.sqf

Added empty line back

* Update addons/markers/functions/fnc_onButtonClickConfirm.sqf

Formatting update

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/markers/functions/fnc_onButtonClickConfirm.sqf

Formatting update

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update initSettings.sqf

Added newline at end of file

* Update fnc_onButtonClickConfirm.sqf

Fixed fnc header formatting

* Update addons/markers/functions/fnc_onButtonClickConfirm.sqf

Formatting

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update fnc_onButtonClickConfirm.sqf

Updated formatting

* Implemented review changes

* Review suggestion

* Bugfix return absolute positive number with modulo

* Updated script to allow offset to exeed midnight in the past

* Updated script to allow offset to exeed midnight in the past

* Updated script to allow offset to exeed midnight in the past

* Updated hour offset calculation

* Add support for UTC+13 and +14 timezone

* Add minutes UTC offset to timestamp

* Add UTC minutes offset setting

* Add translation for UTC minute offset setting

* Prevent timestamp going over 24 after adding minutes offset

* Modify english description for offset settings

* Update addons/markers/initSettings.sqf

* Properly handle minute offset with negative timezone

* Implemented better solution to handle negative timestamp seconds offset

* reverted 'Implemented better solution to handle negative timestamp seconds offset'

* Revert "Implemented better solution to handle negative timestamp seconds offset"

This reverts commit d2599bd9aa6d954552bc01ca05a17901dfa1df06.

* Update timestamp calculation comments

* Update timestamp calculation comments

* Update documentation in UTC timestamp calculation

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-01-07 10:06:35 -08:00
johnb432
79c43179ea
Map Tools - Add Plotting Board (#9653)
* Initial Commit to unfuck whatever I fucked in Git.

* Update initSettings.sqf and stringtable.xml

* Implements stringtable.xml suggestion

* Fixes for plotting board

* Update addons/maptools/functions/fnc_handleMouseButton.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/maptools/CfgWeapons.hpp

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/maptools/XEH_postInitClient.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/maptools/XEH_postInitClient.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Cleanup

* Redid calculations

* Updated docs

* More updated docs

* Update maptools.md

* Fix error and warning

---------

Co-authored-by: LorenLuke <LukeLLL@aol.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-01-07 10:02:05 -08:00
johnb432
2a2efbb73a
Common - Add keycombo support for FUNC(disableUserInput) (#9659)
* Add keycombo support for disableUserInput

* Update addons/common/functions/fnc_disableUserInput.sqf

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>

---------

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
2024-01-07 09:59:38 -08:00
Grim
bb28df0cbd
Arsenal - Add JIP support to Default Loadouts added mid-mission (#9715) 2024-01-06 18:27:04 -03:00
johnb432
7f998c3234
Inventory - Improve multiple aspects (#9706)
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-01-06 18:26:46 -03:00
Grim
bed8844b74
Field Manual - Fix Fortify Tool & Body Bag entries (#9712)
* fix fortify tool field manual entry

* fix body bag medical menu

* fix medical menu keybind in translations
2024-01-03 21:24:58 -03:00
johnb432
dababe84b9
Captives - Add listenable event handler for escorting (#9709)
Added escorting EH
2024-01-02 18:50:29 -03:00
johnb432
38684890eb
Medical - Disable AI twitching when unconscious (#9708)
Disable AI twitching when unconscious
2024-01-02 18:49:39 -03:00
Grim
b10c68405a
Arsenal - Fix wrong animation upon opening the arsenal in VR while empty-handed (#9707)
fix vr arsenal anim when empty-handed
2024-01-01 23:51:57 -03:00
johnb432
0f08ba2fdc
Arsenal - Fix animations not playing properly (#9705)
* Make arsenal animations play properly

* Update addons/arsenal/functions/fnc_showItem.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Moved to common

* Update CfgMoves.hpp

* move to function, add reload safeguard

* selectWeapon immediately

* open left panel on current weapon

* VR mission poses + fix removing vests

* cAsInG

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
2024-01-01 14:22:53 -08:00
Grim
aedb5169d3
Inventory - Fix item lockup when dragging into same inventory (#9697)
* fix rope filtering

* loop

* var declaration begone

* count -> forEach

* LINKFUNC

* remove lbValue change

* handle other file extensions

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-01-01 13:36:45 -08:00
Grim
7054d4bb51
Inventory - Fix filtering for items without file extension in picture property (#9696)
* fix rope filtering

* loop

* var declaration begone

* count -> forEach

* Update XEH_preStart.sqf
2024-01-01 13:35:44 -08:00
johnb432
8ca5263f18
Common - Make FUNC(isModLoaded) case-insensitive (#9704)
* Update fnc_isModLoaded.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update fnc_isModLoaded.sqf

---------

Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-12-31 17:45:01 -08:00
johnb432
f063c4404a
Reload - Disable 'Check Ammo' self interaction when unarmed (#9703)
Update fnc_canCheckAmmoSelf.sqf
2023-12-31 17:00:22 -03:00
Kentaro Hayashida
1ed27288e8
Markers - Fix logic error when selecting channel (#9702)
* Fix logic error when selecting channel

* remove lookup

* Update fnc_onLBSelChangedChannel.sqf

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2023-12-31 10:27:43 -03:00
johnb432
cb554a3ea7
Arsenal - Fix unique item edge cases and prevent increasing quantity of cargo weapons (#9700)
* Unique weapons fix

* Update fnc_fillRightPanel.sqf

* Update fnc_updateUniqueItemsList.sqf

* Added unique facewear support
2023-12-31 05:14:17 -08:00
Grim
449265c830
Arsenal - Fix cargo backpacks not being shown in right panel (#9701)
* fix backpacks in right panel

* Update addons/arsenal/functions/fnc_fillRightPanel.sqf
2023-12-31 10:10:23 -03:00
Grim
106c09495f
Arsenal - Use canAdd to check if item can be added to container (#9699)
* switch to canAdd instead of mass check

* cache lookup begone

* mass begone

* compile cache

* remove itemInfo check
2023-12-31 09:01:04 -03:00
Kentaro Hayashida
c3f442ffa7
Markers - Use lbData for channel selection (#9693)
* Change channel based on lbData instead of index

* Add author
2023-12-30 23:17:22 -03:00
Grim
257ae757be
Arsenal - Allow increasing quantity of left panel items in cargo (#9694)
* Unique items fix

* attachment lookup

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>

* container item lookup

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>

* allow increasing quantity of misplaced virtual items

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
2023-12-30 22:03:35 -03:00
johnb432
92d199e6ab
Arsenal - Fix displaying virtual items & weapon attachments in cargo (#9692)
* Unique items fix

* attachment lookup

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>

* container item lookup

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
2023-12-30 21:30:52 -03:00
BrettMayson
86649edc1e
Tools - Remove unused property from .hemtt (#9691) 2023-12-30 14:35:25 +01:00
Grim
ceb651d91f
Fix release drafter sort direction (#9685)
Update release-drafter.yml
2023-12-21 13:14:44 -03:00
Grim
bc940bc21e
Release Drafter - Sort changelog by PR title (#9684)
* sort changelog alphabetically

* add release-drafter branch to workflow config

* Revert "add release-drafter branch to workflow config"

This reverts commit 32be877c6d8380cc03c6a5de9603e5ad765c1ad1.
2023-12-20 23:03:51 -03:00
Grim
274d853c43
Compat RHS - Fix USAF flashlights materializing PEQ-15s (#9683)
i wish this used CBA attachments...
2023-12-20 14:41:29 -03:00
johnb432
e8c10f905e
Dragging - Minor optimisation (#9679)
Minor optimisation for dragging
2023-12-18 14:02:45 -03:00
Grim
1b6b0aaf0b
Medical - Fix hanging when vehicle crew receive fatal damage (#9681)
* fix undefined var in trace

* fix high damage hang

* update comment

* Update fnc_woundsHandlerVehiclehit.sqf
2023-12-18 14:02:09 -03:00
Jaffa
5458fdfe83
Wiki - Fix spelling in vehicle lock framework wiki page (#9680) 2023-12-17 03:54:06 +01:00
Psycool
508693f152
Translations - Korean updated (#9678)
* KoreanTranslation

Someone has returned all the translations in Korean to English. there is no need to return them.

* koreantranslation

* Korean Typo Fix

* Korean Translation

* Update stringtable.xml

* Korean Translation Added

Added Korean translation related to Cargo Refuel

* Merge branch 'master' of https://github.com/Psycool3695/ACE3

* Korean translation Add/Updated

* Fixed wrong strings

* Korean translation improved

* Korean translation updated

* Korean translation updated

* Fix Merge

* Update stringtable.xml

* Update stringtable.xml

* Korean translation updated

* Korean translation minor fix

* Korean translation fixed

* Korean translation updated

* Update stringtable.xml

* Spacing fixed

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-12-12 09:44:51 -06:00
PabstMirror
effbaed669 Prepare 3.16.2 Build 75 2023-12-12 00:26:26 -06:00
Fabio Schick
d70fbd5765
Translations - Complete Italian + almost complete German translation (#9673)
* medical_gui italian translations

* csw italian translations

* interact_menu italian translations

* switchunits italian translations

* trenches italian translations

* parachute italian translations

* vehicles italian translations

* viewdistance italian translations

* common italian translations

* magazinerepack italian translations

* vehiclelock italian translations

* overpressure italian translations

* ui italian translations

* medical_treatment italian translations

* medical_treatment german translations

* nametags italian translations

* overheating italian translations

* viewrestriction italian translations

* grenades italian translations

* ai italian translations

* aircraft italian translations

* arsenal italian translations

* arsenal german translations

* hellfire italian translations

* reload italian translations

* nightvision italian translations

* medical_damage italian translations

* towing italian translations

* fortify italian translations

* finger italian translations

* dragging italian translations

* viewports italian translations

* explosives italian translations

* killtracker italian translations

* killtracker german correction

* gforces italian translations

* noradio italian translations

* reloadlaunchers italian translations

* cargo italian translations

* medical_engine italian translations

* field_rations italian translations

* maverick italian translations

* slideshow italian translations

* medical_ai italian translations

* advanced_fatigue italian translations

* marker_flags italian translations

* tagging italian translations

* fastroping italian translations

* markers italian translations

* medical_statemachine italian translations

* microdagr italian translations

* novehicleclanlogo italian translations

* realisticnames italian translations

* irlight italian translations

* laser italian translations

* ballistics italian translations

* interaction italian translations

* medical_status italian translations

* medical_feedback italian translations

* medical italian translations

* map_gestures italian translations

* casings italian translations

* logistics_rope italian translations

* repair italian translations

* fieldmanual italian translations

* refuel italian translations

* refuel german translations

* intelitems italian translations

* gunbag italian translations

* fire italian translations

* cookoff italian translations

* smallarms italian translations

* zeus italian translations

* zeus german translations

* vehicle_damage italian translations

* advanced_ballistics italian translations

* advanced_throwing italian translations

* artillerytables italian translations

* captives italian translations

* chemlights italian translations

* compat_sog italian translations

* compat_rhs_usf3 italian translations

* compat_ws italian translations

* compat_ws german translations

* concertina_wire italian translations

* dogtags italian translations

* dragon italian translations

* fcs italian translations

* flashlights italian translations

* flashsuppressors italian translations

* frag italian translations

* gestures italian translations

* hitreactions italian translations

* hot italian translations

* huntir italian translations

* kestrel4500 italian translations

* laserpointer italian translations

* logistics_uavbattery italian translations

* logistics_wirecutter italian translations

* main italian translations

* map italian translations

* maptools italian translations

* medical_blood italian translations

* missileguidance italian translations

* missionmodules italian translations

* mk6mortar italian translations

* nlaw italian translations

* optionsmenu italian translations

* pylons italian translations

* quickmount italian translations

* rearm italian translations

* respawn italian translations

* sandbag italian translations

* scopes italian translations

* spectator italian translations

* spectator german translations

* tripod italian translations

* volume italian translations

* weaponselect italian translations

* weather italian translations

* winddeflection italian translations

* dagr italian translations

* headless italian translations

* hearing italian translations

* towing italian translations

* yardage450 italian translations

* Grammar Suggestion

* Fix Error from merge conflict resolution
2023-12-11 19:31:02 -06:00
Grim
892671c770
Medical - Prevent running FUNC(deserializeState) in scheduled environment (#9662)
Run deserializeState in unscheduled
2023-12-11 14:03:36 -08:00
johnb432
1b86f909e8
General - Removed silent Options Menu dependencies (#9677)
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-12-11 18:05:22 +01:00
Apricot
fdc145d0e7
Translations - Hotfix Japanese localization. (#9671)
* Loading hotfix and Minor improves

What the poor work. sorry boys.

* revert nvg spacing

* repack magazines wording

* hotfix heartrate

* medical setting word update

* Update stringtable.xml

* tweak description short

* Update stringtable.xml

* sorting order name and factor name unified

* Problem with ammo display sticking out

* magazine repack fix again

* final version of magrepack

* arsenal wording

* heart rate text length

* BP forgot to change

* rewrite whole HR BP check text

* Normal wording revert

* Hearing and Zeus

* Fixed confusion between Factor and Coefficient

* Map tools
2023-12-09 21:18:24 -06:00
PabstMirror
11c1917e7b
Wiki - Update cargo-framework.md (#9672)
* Update cargo-framework.md

* Update cargo-framework.md
2023-12-09 11:52:07 -06:00
BrettMayson
464ab0cefb
Tools - Add HEMTT SQF support and fix commas are not semicolons (#9663)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: jonpas <jonpas33@gmail.com>
2023-12-07 03:20:47 +00:00
johnb432
acca95d204
Arsenal - Search fixes (#9668)
Arsenal search fixes
2023-12-02 19:48:35 -06:00
Apricot
aa48e87323
Translations - Improve and overhaul Japanese localization. (#9657)
* More Japanese

* bit tweak

* cargo missing

* little bit better wording

* update medicaly

* more medical

* Grenade Things and more

* common and csw

* minor tweaks

* even more tweaks

* I want this to be the final update

* overhaul not over yet

* Finaly finaly it's over. maybe.

* zeus med module update addition

* range things

* Update stringtable.xml

* Update stringtable.xml

* Update stringtable.xml

* progress bar

* revert and feedbackicon

feedback is still used??? i can't check that

* Captive fix and Specialist things

* Training level required

* time things

* Zeus_ModuleUnloadFromCargo

* error fix

* revert field manual cause conflict with portuguese

* reattempt field manual

* advanced wording

* magazine name and chemlight name

* space

* I forgot change that

* Jam and cookoff meaning

* space is important

* Pointing
2023-12-01 17:50:58 -06:00
Björn Dahlgren
56b0baf97c
ci: Update 7zip function to extract game data (#9666) 2023-12-01 15:28:58 +01:00
johnb432
f94197b1c3
Arsenal - Disable action buttons when hidden (#9664)
Update fnc_handleActions.sqf
2023-11-27 19:15:09 -06:00
Mr. Zorn
65be883eea
Weather - Add variable to temporarily pause wind simulation (#9057)
* added exit condition

This would enable mission maker to temporarily disable the execution of setWind every second.
Currently, a temporary pause isnt possible.

* Update weather-framework.md

* Apply suggestions from code review

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* actually disable wind simulation

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
2023-11-23 15:16:55 -03:00
Grim
3f61a41be3
Common/CSW - Use status effect for enableWeaponDisassembly (#9413)
* uuse weaponDisassemblyEnabled

* convert to status effect

* fix edge conditions

* Update addons/common/functions/fnc_claim.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update addons/common/XEH_postInit.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update addons/common/XEH_postInit.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update XEH_postInit.sqf

* Update addons/common/functions/fnc_claimSafeServer.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update fnc_claimSafeServer.sqf

* change status effect key

* status effect key

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2023-11-22 21:16:42 -03:00
Enrico Machado
3f6a93195a
Translations - Add & Improve Portuguese entries (#9609)
* Fixed Portuguese typos

* Partial Portuguese translation

* Partial Portuguese translation

* Update addons/ai/stringtable.xml

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/arsenal/stringtable.xml

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/arsenal/stringtable.xml

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/cargo/stringtable.xml

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/gunbag/stringtable.xml

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/medical_treatment/stringtable.xml

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/cargo/stringtable.xml

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/common/stringtable.xml

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Update addons/fieldmanual/stringtable.xml

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* Readded accidently removed entry

* Update stringtable.xml

* "and" -> "e"

* Update stringtable.xml

* Partial Portuguese translation

* Fixed corrupted merge

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: jonpas <jonpas33@gmail.com>
2023-11-22 20:33:30 -03:00
Grim
6741822480
Interaction - Allow unloading patients, bodies, and captives from inside vehicles (#9645)
* add unloading from inside vehicles

* Update addons/common/functions/fnc_findUnloadPosition.sqf

* Update fnc_findUnloadPosition.sqf
2023-11-22 19:38:52 -03:00
johnb432
bae63636b7
Zeus - Add Zeus modules for unloading cargo (#9661)
Added unload cargo zeus module

Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
2023-11-21 20:44:08 -03:00
johnb432
73807c261f
XM157 - Fix zeroing for secondary muzzles (#9652)
* Update fnc_keyPress.sqf

* Update fnc_keyPress.sqf

* Update addons/xm157/functions/fnc_keyPress.sqf

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>

* Update addons/xm157/functions/fnc_keyPress.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

---------

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-11-21 17:50:46 -03:00
Fabio Schick
852e08f8b5
Hunter Killer - Enable on Rooikat 120 and add italian translations (#9658)
* Enable HK on Tanks DLC Rooikat 120

* Italian Translations
2023-11-21 14:34:22 -06:00
johnb432
2e7f56ee39
Dragging - Fix captives (#9660)
Fixes and cleanup
2023-11-21 17:18:19 -03:00
Grim
3904240153
Cargo - Add item index and damage to cargo menu (#9655)
* add index and damage to cargo menu

* Update addons/cargo/functions/fnc_onMenuOpen.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* Update addons/cargo/functions/fnc_onMenuOpen.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2023-11-21 01:46:16 +00:00
Grim
99ccf31807
Repair - Use object with lowest damage for changing wheels/tracks (#9648)
sort claimObject by damage
2023-11-20 22:43:43 -03:00
johnb432
ac9044f2d6
Zeus - Add medical menu module (#9367)
* open medical menu from Zeus

* fix function header

* Zeus can use every action, add room for more buttons in medical menu

* Update addons/medical_treatment/functions/fnc_treatment.sqf

* Added zeus treatment time coeff

* Update addons/medical_gui/functions/fnc_canOpenMenu.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update fnc_canOpenMenu.sqf

* Update initSettings.sqf

* Update fnc_moduleMedicalMenu.sqf

* Added check + documentation

* Update fnc_canTreat.sqf

---------

Authored-by: Brett <brett@mayson.io>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-11-20 13:52:29 -08:00
Apricot
5d8978981a
Translations - Improve Japanese (#9654)
Update Japanese
2023-11-17 19:50:33 -06:00
Grim
286f64480c
General/Medical - Lower inventory size for misc items (#9642)
* weight

* Update CfgWeapons.hpp

* Update addons/medical_treatment/CfgWeapons.hpp

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2023-11-17 20:08:13 -03:00
Grim
5e792082ec
Interaction Menu - Show distance to target on vehicle actions (#9644)
* add distance to action

* sort by distance

* Revert "sort by distance"

This reverts commit 89834613ddfefe7a65ca64903247d6a71376013e.

* show distance for crewed vehicles

* Update fnc_createVehiclesActions.sqf
2023-11-17 20:07:58 -03:00
johnb432
d1f0dc5e83
Cargo - Improve various aspects (#9617)
* Update CfgVehicles.hpp

* Cargo cleanup

* Update menu.hpp

* Updated status effect key

* Update fnc_onMenuOpen.sqf

* Update fnc_onMenuOpen.sqf

* fix comment from merge

* nil interaction GVARs on menu close

* fix carry bug

* Fix floating objects in MP

* Updated ace_cargoAdded doc

* Fix progress bar prematurely stopping

* Finer cursor object selection

---------

Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
2023-11-17 20:07:28 -03:00
johnb432
8f3129a02e
Arsenal - Fix FUNC(removeVirtualItems) for JIP players (#9650)
* Fix removeItems for JIP

* Different approach

* Update fnc_addVirtualItems.sqf

* Refresh arsenal globally
2023-11-17 20:06:20 -03:00
johnb432
65c16b6a0a
Arsenal - Fix closing arsenal when ignoring content (#9651)
* Fix closing arsenal when ignoring content

* Update fnc_removeBox.sqf
2023-11-16 20:54:52 -03:00
Grim
141410bb47
Update release drafter for new labels (#9641)
Update release-drafter.yml
2023-11-12 11:47:17 -03:00
Grim
3fcef89c97
Common - Add support for non-blocking progress bar (#9493)
* add support for non-blocking-progressbar

* switch to cutRsc

* Remove fade in/out

* Update HintConfig.hpp

* Add param to and cleanup header

* Update addons/common/functions/fnc_progressBar.sqf

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

* remove key handler

---------

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2023-11-11 11:22:17 -03:00
Grim
b53d760f4a
Medical - Change default Fatal Injuries Source setting to Either (#9543)
change default fatal injuries setting
2023-11-11 11:21:00 -03:00
johnb432
cf8c847811
Interaction - Add crew status check for some vehicle interactions (#9637)
* Added check for crew status

If a one or more passenger in a vehicle are conscious, not captive and hostile to the interacting unit, the interactions (passenger, cargo) will not appear.

* Update fnc_canInteractWithVehicleCrew.sqf

* Update fnc_canInteractWithVehicleCrew.sqf
2023-11-11 09:03:32 -03:00
Dystopian
74be4f1503
Towing - Fix swimming issues (#9401)
* Fix swimming issues

* Fix fire with rope in hand
2023-11-10 21:16:11 -03:00
johnb432
4dd2568fe0
Cargo - Remove cargo objects from zeus editable objects (#9400)
Remove cargo from zeus editable objects
2023-11-10 21:13:53 -03:00
Crowdedlight
548ab810df
Attach - Add config property to set object orientation (#9623)
* added possibility to define orientation on attach items in config

* added documentation on attach framework

* whitespace

* changed to use roll and yaw parameters instead of vectordir for easier usage, and to support placement view with rolled objects. Changed vector calculations

* Update addons/attach/functions/fnc_attach.sqf

* Docs and comments

* fix derp

* Update docs/wiki/framework/attach-framework.md

* Update attach-framework.md

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2023-11-10 21:04:22 -03:00
johnb432
0330532cd2
Refuel - Add separate names for jerry can interactions (#9625)
Fix for #8115
2023-11-10 19:59:15 -03:00
johnb432
0ae00248c5
Medical Engine - Fix script error for 0 overall hitpoint armor (#9633)
* Update fnc_getHitpointArmor.sqf

* Update addons/medical_engine/functions/fnc_getHitpointArmor.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2023-11-10 19:49:09 -03:00
Filip Maciejewski
9f9507931f
Dragging - Fix being able to load cargo if the system is disabled (#9639) 2023-11-10 14:56:22 -05:00
johnb432
c850a6a25f
Interaction - Allow pulling bodies out of wrecks (#9618)
Allow pulling bodies out of wrecks
2023-11-10 14:55:40 -05:00
Mike-MF
23d7624016
Medical Treatment - Lower suture weight from 1 to 0.1 (#9635)
Lower suture weight
2023-11-10 14:55:25 -05:00
Filip Maciejewski
7df63ffe2e
Dragging - Fix being able to load people into vehicles from any distance (#9638) 2023-11-10 14:54:31 -05:00
PabstMirror
6bc5193a79
Tools - Check example funcs in document_functions.py (#9630) 2023-11-08 12:00:05 -06:00
BroBeans
4fb9da7b08
Laser - Revert default code to 1111 (#9588) 2023-11-06 20:16:03 +00:00
Grim
163d750a0d
Arsenal - Use forceUnicode for search functions (#9605)
* use forceUnicode

* Update fnc_attributeAddItems.sqf

* Update fnc_handleSearchbar.sqf
2023-11-05 15:16:44 -05:00
PabstMirror
6ce625a52f
Cleanup spaces in config macros (#9621)
* Cleanup spaces in config macros

* remove extra whitespace before call

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2023-11-05 12:36:00 -06:00
PabstMirror
2c5ef6a6ec
Refuel - Fix infinite recursion for getCapacity on a non-CfgVehicle (#9622)
* Refuel - Fix infinite recursion for `getCapacity` checking a non-CfgVehicle

Close #9620

* Update addons/refuel/functions/fnc_getCapacity.sqf
2023-11-04 16:58:17 -04:00
BaerMitUmlaut
30ec1eda16
Goggles - Draw under HUD (requires 2.16) (#9615)
Goggles - Draw under HUD
2023-11-04 16:57:38 -04:00
jonpas
c80edd6f8e
NightVision - Draw under HUD (requires 2.16) (#9614)
* NightVision - Draw under HUD
Fix #6819
Requires Arma 3 v2.16

* Remove unnecessary version check - cutRsc takes extra parameters fine
2023-11-04 16:57:25 -04:00
Psycool
015b7ab3c2
Translations - Korean fixed (#9624)
* KoreanTranslation

Someone has returned all the translations in Korean to English. there is no need to return them.

* koreantranslation

* Korean Typo Fix

* Korean Translation

* Update stringtable.xml

* Korean Translation Added

Added Korean translation related to Cargo Refuel

* Merge branch 'master' of https://github.com/Psycool3695/ACE3

* Korean translation Add/Updated

* Fixed wrong strings

* Korean translation improved

* Korean translation updated

* Korean translation updated

* Fix Merge

* Update stringtable.xml

* Update stringtable.xml

* Korean translation updated

* Korean translation minor fix

* Korean translation fixed

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-11-04 13:03:01 -05:00
BrettMayson
95e06254eb
Tools: HEMTT ignore has_include (#9613)
* Tools: HEMTT ignore has_include

* Fix make.py and sqfvmChecker.py for changes

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-11-03 12:30:20 -05:00
Apricot
20676a2f03
Translations - Improve Japanese Medical Localization (#9611) 2023-11-01 19:40:42 +01:00
BrettMayson
836be21f2d
Tools - HEMTT PW3 fixes (#9585)
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-11-01 02:29:59 +01:00
Björn Dahlgren
dc944b1879
CI - Run HEMTT on Windows for binarization (#9590) 2023-11-01 02:29:22 +01:00
jonpas
2dace6eb78
Medical Engine - Fix unconscious animations referencing invalid bones (#9610) 2023-11-01 02:28:17 +01:00
BrettMayson
e2154439a8
Medical Treatment - Add separate actions for colored body bags (#9598)
* medical treatment: separate actions for each bodybag

* remove extra icons
2023-10-30 16:54:29 -04:00
johnb432
5ae5e514b1
Documentation - Add johnb432 to maintainers (#9604) 2023-10-28 20:49:26 +00:00
PabstMirror
37c4420da5
Configs - Fix case (#9592) 2023-10-27 20:55:42 -04:00
Grim
cdf6889b7d
Medical GUI - Increase Medical Menu side panel height (#9484)
taller side panels

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-10-27 20:55:30 -04:00
PabstMirror
3c8cff75d8
Arsenal - Add option to show live search results (#9354)
* Arsenal - Add option to show live search results

* use onEditChanged

* Update fnc_onKeyDown.sqf

* Update fnc_onKeyDown.sqf

* update script_components

* skip animate on live search
2023-10-27 20:55:14 -04:00
BrettMayson
f452d6633e
Arsenal - don't lowercase displayName (#9597) 2023-10-27 19:32:28 -04:00
jonpas
6cf68e2c23
Documentation - Add Moderators to Team page (#9596)
Co-authored-by: Mike-MF <TyroneMF@hotmail.com>
Co-authored-by: Drofseh <Drofseh@users.noreply.github.com>
2023-10-27 16:54:44 +00:00
Nilia119
d53bc62e27
Translation - German Addition/Improvement (#9587)
* Added German Translation

* Update addons/medical_treatment/stringtable.xml

Co-authored-by: Jo David <github@jonathandavid.de>

* Update addons/medical_treatment/stringtable.xml

Co-authored-by: Jo David <github@jonathandavid.de>

* Update addons/medical_treatment/stringtable.xml

Co-authored-by: Jo David <github@jonathandavid.de>

* Update stringtable.xml

* Update stringtable.xml

* Update addons/medical_engine/stringtable.xml

Co-authored-by: Jo David <github@jonathandavid.de>

* Update stringtable.xml

* Update stringtable.xml

---------

Co-authored-by: Jo David <github@jonathandavid.de>
2023-10-26 15:33:41 -05:00
Mike-MF
c52c543f4b
Medical Treatment - Fix missing semicolon (#9591)
Fix missing semicolon
2023-10-26 20:04:58 +00:00
PabstMirror
eee86a4bac
CI - Update actions/checkout to v4 (#9589)
Tools - Update action/checkout to v4
2023-10-26 12:24:01 -05:00
Grim
bbcec5c468
Arsenal - Add param to skip refresh animation (#9546)
* add animate param

* add refresh param

* remove param from event

* add 3DEN handling, update docs

* derp

* fix doc numbering
2023-10-26 11:59:00 -05:00
Psycool
8d4eb18b80
Translation - Korean minor fix (#9584)
* KoreanTranslation

Someone has returned all the translations in Korean to English. there is no need to return them.

* koreantranslation

* Korean Typo Fix

* Korean Translation

* Update stringtable.xml

* Korean Translation Added

Added Korean translation related to Cargo Refuel

* Merge branch 'master' of https://github.com/Psycool3695/ACE3

* Korean translation Add/Updated

* Fixed wrong strings

* Korean translation improved

* Korean translation updated

* Korean translation updated

* Fix Merge

* Update stringtable.xml

* Update stringtable.xml

* Korean translation updated

* Korean translation minor fix

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-10-26 00:49:46 -05:00
PabstMirror
418777595d
Arsenal - Fix left searchbar updating (#9583) 2023-10-25 21:06:25 -04:00
BaerMitUmlaut
229443dc74
Assets - Add workshop logo for "No Realistic Names" (#9581)
Add workshop logo for "No Realistic Names"
2023-10-25 15:13:21 -05:00
2586 changed files with 47998 additions and 96244 deletions

View File

@ -11,5 +11,8 @@ trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false
[*.yml]
indent_size = 2
[Makefile]
indent_style = tab

View File

@ -23,14 +23,14 @@ All good? Then proceed and fill out the items below.
**Mods (complete and add to the following information):**
- **Arma 3:** `x.xx` [e.g. 1.00 stable, rc, dev]
- **CBA:** `3.x.x` [e.g. 3.0.0 stable, commit hash]
- **ACE3:** `3.x.x` [eg. 3.0.0 stable, commit hash]
- **ACE3:** `3.x.x` [e.g. 3.0.0 stable, commit hash]
<!-- Make sure to reproduce the issue with only CBA and ACE3 on a newly created mission! -->
**Description:**
A clear and concise description of what the bug is.
**Steps to reproduce:**
_Follow [https://ace3.acemod.org/img/wiki/user/issue_flowchart.webp](this flowchart)!_
_Follow [this flowchart](https://ace3.acemod.org/img/wiki/user/issue_flowchart.webp)!_
1. _Go to ..._
2. _Click ..._

View File

@ -5,14 +5,16 @@ branches:
name-template: 'Version $NEXT_PATCH_VERSION'
tag-template: 'v$NEXT_PATCH_VERSION'
sort-by: title # sort alphabetically
sort-direction: ascending
categories:
- title: '**ADDED:**'
labels:
- 'kind/feature request'
- 'kind/added feature'
- 'kind/feature'
- title: '**FIXED:**'
labels:
- 'kind/bug fix'
- 'kind/bug-fix'
- title: '**IMPROVED:**'
labels:
- 'kind/enhancement'
@ -20,13 +22,16 @@ categories:
- title: '**CHANGED:**'
labels:
- 'kind/cleanup'
- 'area/compatibility'
- 'kind/change'
- title: '**SETTINGS:**'
labels:
- 'kind/setting'
- title: '**TRANSLATIONS:**'
labels:
- 'area/translations'
- 'kind/translation'
exclude-labels:
- 'ignore changelog'
- 'ignore-changelog'
- 'dependencies'
change-template: '- $TITLE (#$NUMBER)'
@ -39,5 +44,5 @@ template: |
replacers:
# Category titles
- search: '/\#\# (\*\*(ADDED|FIXED|IMPROVED|CHANGED|TRANSLATIONS):\*\*)/g'
- search: '/\#\# (\*\*(ADDED|FIXED|IMPROVED|CHANGED|SETTINGS|TRANSLATIONS):\*\*)/g'
replace: '$1'

View File

@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Validate SQF
run: python3 tools/sqf_validator.py
- name: Validate Config
@ -27,20 +27,11 @@ jobs:
- name: Validate function headers
run: python3 docs/tools/document_functions.py --debug
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@v3
- name: Lint (sqflint)
uses: arma-actions/sqflint@master
continue-on-error: true # No failure due to many false-positives
build:
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup HEMTT
uses: arma-actions/hemtt@v1
- name: Run HEMTT build
@ -48,7 +39,7 @@ jobs:
- name: Rename build folder
run: mv .hemttout/build .hemttout/@ace
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ace3-${{ github.sha }}-nobin
path: .hemttout/@*

View File

@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Python packages
run: |
pip3 install wheel
@ -33,7 +33,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Extract Dependencies
run: python3 tools/extract_dependencies.py --markdown
@ -47,7 +47,7 @@ jobs:
destination: docs/_site/
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: jekyll-site
path: docs/_site/
@ -63,7 +63,7 @@ jobs:
steps:
- name: Download Artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: jekyll-site
path: _site/

View File

@ -1,29 +1,65 @@
name: Extensions
on:
pull_request:
push:
paths:
- 'extensions/**'
- 'extension/**'
- 'Cargo.toml'
- 'Cargo.lock'
- '.github/workflows/extensions.yml'
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest]
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@v3
- name: Build
shell: cmd
uses: actions/checkout@master
- name: Install dependencies
run: |
cd extensions
mkdir build
cd build
cmake .. && cmake --build .
- name: Upload Artifact
uses: actions/upload-artifact@v3
rustup toolchain update stable --no-self-update
rustup default stable
rustup component add clippy rustfmt
- name: Run rustfmt
run: cargo fmt -- --check
- name: Run clippy
run: cargo clippy --all -- -Dwarnings
test:
runs-on: ubuntu-latest
container:
image: xd009642/tarpaulin
options: --security-opt seccomp=unconfined
steps:
- name: Checkout the source code
uses: actions/checkout@master
- name: Test & Coverage
run: cargo tarpaulin --verbose --no-default-features --workspace --timeout 240
build:
strategy:
matrix:
arrays: [
os: { tag: "windows-latest", target: "i686-pc-windows-msvc" },
os: { tag: "windows-latest", target: "x86_64-pc-windows-msvc" },
]
runs-on: ${{ matrix.arrays.os.tag }}
steps:
- name: Checkout the source code
uses: actions/checkout@v4
- name: Install stable Rust
uses: actions-rs/toolchain@v1
with:
name: ace3_extensions-${{ matrix.os }}-debug
path: extensions/build
target: ${{ matrix.arrays.os.target }}
toolchain: stable
default: true
- name: Rust Cache
uses: Swatinem/rust-cache@v2
- name: Build
run: cargo build --verbose
- name: Upload
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.arrays.os.target }}
path: target/debug/ace.dll
if-no-files-found: error
retention-days: 30

46
.github/workflows/hemtt.yml vendored Normal file
View File

@ -0,0 +1,46 @@
name: HEMTT
on:
push:
branches:
- master
pull_request_target:
jobs:
windows:
runs-on: windows-latest
steps:
- name: Install Arma 3 Tools
uses: arma-actions/arma3-tools@master
with:
toolsUrl: ${{ secrets.ARMA3_TOOLS_URL }}
- name: Checkout the source code
uses: actions/checkout@v4
- name: Setup HEMTT
uses: arma-actions/hemtt@v1
- name: Checkout pull request
uses: actions/checkout@v4
if: ${{ github.event_name == 'pull_request_target' }}
with:
path: pullrequest
ref: 'refs/pull/${{ github.event.number }}/merge'
- name: Replace addons with pull request addons
if: ${{ github.event_name == 'pull_request_target' }}
run: |
rm -r addons\
rm -r optionals\
rm -r include\
xcopy /e /h /q pullrequest\addons addons\
xcopy /e /h /q pullrequest\optionals optionals\
xcopy /e /h /q pullrequest\include include\
xcopy /y /h /q pullrequest\ace.dll ace.dll
xcopy /y /h /q pullrequest\ace_x64.dll ace_x64.dll
- name: Run HEMTT build
run: hemtt build
- name: Rename build folder
run: mv .hemttout/build .hemttout/@ace
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: ace3-${{ github.sha }}
path: .hemttout/@*

View File

@ -25,7 +25,7 @@ jobs:
Invoke-WebRequest "$env:RHSUSF_URL" -OutFile rhsusf.zip
$files = @("arma3.zip", "rhsafrf.zip", "rhsgref.zip", "rhssaf.zip", "rhsusf.zip")
ForEach ($file in $files) {
Extract-7Zip -Path $file -DestinationPath .
Expand-7ZipArchive -Path $file -DestinationPath .
Remove-Item $file
}
env:
@ -35,18 +35,18 @@ jobs:
RHSSAF_URL: ${{ secrets.RHSSAF_URL }}
RHSUSF_URL: ${{ secrets.RHSUSF_URL }}
- name: Checkout CBA A3
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: x\cba
ref: master
repository: CBATeam/CBA_A3.git
- name: Checkout ACE3
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: z\ace
persist-credentials: false
- name: Checkout pull request
uses: actions/checkout@v3
uses: actions/checkout@v4
if: ${{ github.event_name == 'pull_request_target' }}
with:
path: pullrequest
@ -67,18 +67,19 @@ jobs:
xcopy /e /h /q z\ace\tools\pDummies\gm gm\
xcopy /e /h /q z\ace\tools\pDummies\vn vn\
xcopy /e /h /q z\ace\tools\pDummies\WW2 WW2\
xcopy /e /h /q z\ace\tools\pDummies\CUP CUP\
- name: Build
run: py P:\z\ace\tools\make.py ci
env:
PYTHONUNBUFFERED: 1
- name: Archive logs
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: logs
path: temp/*.log
- name: Archive @ace
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: '@ace3-${{ github.sha }}'
path: z\ace\release\@ace

View File

@ -11,6 +11,6 @@ jobs:
steps:
- name: Release Drafter
if: github.repository == 'acemod/ACE3'
uses: release-drafter/release-drafter@v5
uses: release-drafter/release-drafter@v6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

4
.gitignore vendored
View File

@ -2,8 +2,6 @@
*.zip
release/*
releases/*
extensions/vcproj32/*
extensions/vcproj64/*
.vscode/*
hemtt
hemtt.exe
@ -20,3 +18,5 @@ CHANGELOG.md
sqfvm.exe
ArmaScriptCompiler.exe
*.sqfc
target/
!extras/**/*.zip

View File

@ -18,53 +18,42 @@ include = [
[version]
git_hash = 0
# Unused in HEMTT v1.11 or higher, kept for backwards compatibility
[asc]
enabled = true
exclude = [
"/initsettings.sqf",
"/initkeybinds.sqf",
"/xeh_prep.sqf",
".inc.sqf",
"/dev/",
"medical_ai/statemachine.sqf",
"common/functions/fnc_dummy.sqf",
"zeus/functions/fnc_zeusAttributes.sqf",
]
[hemtt.config]
preset = "Hemtt"
[hemtt.launch]
[hemtt.launch.default]
workshop = [
"450814997", # CBA_A3
]
[hemtt.launch.spe]
workshop = [
"450814997", # CBA_A3
]
extends = "default"
dlc = [
"spe"
]
[hemtt.launch.vn]
workshop = [
"450814997", # CBA_A3's Workshop ID
]
extends = "default"
dlc = [
"S.O.G. Prairie Fire",
]
[hemtt.launch.ws]
workshop = [
"450814997", # CBA_A3's Workshop ID
]
extends = "default"
dlc = [
"Western Sahara",
]
[hemtt.launch.rhs]
extends = "default"
workshop = [
"450814997", # CBA_A3's Workshop ID
"843425103", # RHS AFRF Workshop ID
"843577117", # RHS USAF Workshop ID
"843593391", # RHS GREF Workshop ID

View File

@ -6,11 +6,12 @@
# request, preferably including an email address.
# CORE TEAM
BaerMitUmlaut
Brett Mayson
bux578 <github@jonathandavid.de>
commy2
Dahlgren
tcvm <baileydanyluk@gmail.com>
Drofseh <drofseh.arma@gmail.com>
esteldunedain <nicolas.d.badano@gmail.com>
Felix Wiegand <koffeinflummi@gmail.com>
Garth "L-H" de Wet <garthofhearts@gmail.com>
@ -18,14 +19,18 @@ Giallustio
Glowbal
Grim
Janus
johnb43
jokoho482 <jokoho482@gmail.com>
Jonpas <jonpas33@gmail.com>
Kieran
kymckay
mharis001 <mhariszakar@gmail.com>
MikeMF
MiszczuZPolski
NouberNou
PabstMirror <pabstmirror@gmail.com>
Ruthberg <ulteq@web.de>
tcvm <baileydanyluk@gmail.com>
tpM
veteran29
ViperMaul
@ -53,7 +58,6 @@ Arcanum417 <lubos.len@gmail.com>
Arkhir <wonsz666@gmail.com >
ARV187 aka Spark23
Asgar Serran <piechottaf@web.de>
BaerMitUmlaut
Bamse <bamsis@gmail.com>
Barman75
Bla1337
@ -79,7 +83,6 @@ diwako
dixon13 <dixonbegay@gmail.com>
Drift_91
Drill <drill87@gmail.com>
Drofseh <drofseh@gmail.com>
Dslyecxi <dslyecxi@gmail.com>
Dudakov aka [OMCB]Kaban <dudakov.s@gmail.com>
Eclipser <jms@modeemi.fi>
@ -124,6 +127,7 @@ Keithen <Keithen.Neu@gmail.com>
Kllrt <kllrtik@gmail.com>
KokaKolaA3
Krzyciu
LAxemann
legman <juicemelon@msn.com>
Legolasindar "Viper" <legolasindar@gmail.com>
licht-im-Norden87 <lichtimnorden87@gmail.com>
@ -135,7 +139,6 @@ MarcBook
meat <p.humberdroz@gmail.com>
Michail Nikolaev
MikeMatrix <m.braun92@gmail.com>
MikeMF
mjc4wilton <mjc4wilton@gmail.com>
Mysteryjuju
nic547 <nic547@outlook.com>
@ -189,3 +192,4 @@ YetheSamartaka
xrufix
Zakant <Zakant@gmx.de>
zGuba
Zman6258

1364
Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

11
Cargo.toml Normal file
View File

@ -0,0 +1,11 @@
[workspace]
resolver = "2"
members = [
"extension"
]
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
strip = true

View File

@ -5,7 +5,7 @@
<p align="center">
<a href="https://github.com/acemod/ACE3/releases/latest">
<img src="https://img.shields.io/badge/Version-3.16.1-blue.svg?style=flat-square" alt="ACE3 Version">
<img src="https://img.shields.io/github/release/acemod/ACE3.svg?style=flat-square&label=Version" alt="ACE3 Version">
</a>
<a href="https://github.com/acemod/ACE3/issues">
<img src="https://img.shields.io/github/issues-raw/acemod/ACE3.svg?style=flat-square&label=Issues" alt="ACE3 Issues">

BIN
ace.dll Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
ace_x64.dll Normal file

Binary file not shown.

View File

@ -1,16 +1,16 @@
#include "script_component.hpp"
#include "initKeybinds.sqf"
GVAR(currentbulletID) = -1;
#include "initKeybinds.inc.sqf"
GVAR(Protractor) = false;
GVAR(ProtractorStart) = CBA_missionTime;
GVAR(allBullets) = [];
GVAR(allBullets) = createHashMap;
GVAR(currentGrid) = 0;
if (!hasInterface) exitWith {};
#include "initKeybinds.inc.sqf"
["CBA_settingsInitialized", {
//If not enabled, dont't add PFEH
if (!GVAR(enabled)) exitWith {};
@ -19,27 +19,11 @@ if (!hasInterface) exitWith {};
[] call FUNC(initializeTerrainExtension);
// Register fire event handler
["ace_firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler;
["ace_firedPlayerNonLocal", DFUNC(handleFired)] call CBA_fnc_addEventHandler;
["ace_firedPlayer", LINKFUNC(handleFired)] call CBA_fnc_addEventHandler;
["ace_firedPlayerNonLocal", LINKFUNC(handleFired)] call CBA_fnc_addEventHandler;
// Register Perframe Handler
[FUNC(handleFirePFH), GVAR(simulationInterval)] call CBA_fnc_addPerFrameHandler;
//Add warnings for missing compat PBOs (only if AB is on)
{
_x params ["_modPBO", "_compatPBO"];
if ([_modPBO] call EFUNC(common,isModLoaded) && {!([_compatPBO] call EFUNC(common,isModLoaded))}) then {
WARNING_2("Weapon Mod [%1] missing ace compat pbo [%2] (from @ace\optionals)",_modPBO,_compatPBO);
};
} forEach [
["RH_acc","ace_compat_rh_acc"],
["RH_de_cfg","ace_compat_rh_de"],
["RH_m4_cfg","ace_compat_rh_m4"],
["RH_PDW","ace_compat_rh_pdw"],
["RKSL_PMII","ace_compat_rksl_pm_ii"],
["iansky_opt","ace_compat_sma3_iansky"],
["R3F_Armes","ace_compat_r3f"]
];
[LINKFUNC(handleFirePFH), GVAR(simulationInterval)] call CBA_fnc_addPerFrameHandler;
}] call CBA_fnc_addEventHandler;
#ifdef DEBUG_MODE_FULL

View File

@ -6,6 +6,6 @@ PREP_RECOMPILE_START;
#include "XEH_PREP.hpp"
PREP_RECOMPILE_END;
#include "initSettings.sqf"
#include "initSettings.inc.sqf"
ADDON = true;

View File

@ -18,10 +18,3 @@ class CfgPatches {
#include "CfgVehicles.hpp"
#include "RscTitles.hpp"
#include "ACE_Settings.hpp"
class ACE_Extensions {
class ace_advanced_ballistics {
windows = 1;
client = 1;
};
};

View File

@ -80,7 +80,7 @@ for "_i" from 0 to (count _cfgWeapons)-1 do {
diag_log text format ["AB_Diagnose_barrelTwist,%1,%2,%3,%4,%5",_weapon,_magazine,_ammo,_twistDirection,_barrelTwist];
};
if (_barrelLength == 0) then {
diag_log text format ["AB_Diagnose_barrelLength,%1,%2,%3,%4,%5",_weapon,_magazine,_ammo,_barrelLength];
diag_log text format ["AB_Diagnose_barrelLength,%1,%2,%3,%4",_weapon,_magazine,_ammo,_barrelLength];
};
};
} forEach _magazines;

View File

@ -1,6 +1,6 @@
#include "..\script_component.hpp"
/*
* Author: Glowbal, Ruthberg, joko // Jonas
* Author: Glowbal, Ruthberg, joko // Jonas, Brett Mayson
* Handle the PFH for Bullets
*
* Arguments:
@ -17,7 +17,7 @@
private _deleted = false;
{
_x params ["_bullet","_caliber","_bulletTraceVisible","_index"];
_y params ["_bullet","_caliber","_bulletTraceVisible"];
if (alive _bullet) then {
private _bulletVelocity = velocity _bullet;
@ -27,13 +27,21 @@ private _deleted = false;
drop ["\A3\data_f\ParticleEffects\Universal\Refract","","Billboard",1,0.1,getPos _bullet,[0,0,0],0,1.275,1,0,[0.02*_caliber,0.01*_caliber],[[0,0,0,0.65],[0,0,0,0.2]],[1,0],0,0,"","",""];
};
_bullet setVelocity (_bulletVelocity vectorAdd (parseSimpleArray ("ace_advanced_ballistics" callExtension format["simulate:%1:%2:%3:%4:%5:%6", _index, _bulletVelocity, _bulletPosition, wind, ASLToATL(_bulletPosition) select 2, CBA_missionTime toFixed 6])));
(
"ace" callExtension ["ballistics:bullet:simulate", [
_x,
_bulletVelocity,
_bulletPosition,
wind,
ASLToATL(_bulletPosition) select 2,
CBA_missionTime toFixed 6
]]
) params ["_data", "_code"];
if (_code == 0) then {
_bullet setVelocity (_bulletVelocity vectorAdd (parseSimpleArray (_data)));
};
} else {
GVAR(allBullets) set [_forEachIndex, objNull];
_deleted = true;
GVAR(allBullets) deleteAt _x;
"ace" callExtension ["ballistics:bullet:delete", [_x]];
};
} forEach GVAR(allBullets);
if (_deleted) then {
GVAR(allBullets) = GVAR(allBullets) - [objNull];
};
} forEach GVAR(allBullets)

View File

@ -1,6 +1,6 @@
#include "..\script_component.hpp"
/*
* Author: Glowbal, Ruthberg
* Author: Glowbal, Ruthberg, Brett Mayson
*
* Handles advanced ballistics for (BulletBase) projectiles. Called from the unified fired EH only for players.
*
@ -17,9 +17,9 @@
*/
//IGNORE_PRIVATE_WARNING ["_unit", "_weapon", "_muzzle", "_mode", "_ammo", "_magazine", "_projectile", "_vehicle", "_gunner", "_turret"];
TRACE_10("firedEH:",_unit, _weapon, _muzzle, _mode, _ammo, _magazine, _projectile, _vehicle, _gunner, _turret);
TRACE_10("firedEH:",_unit,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile,_vehicle,_gunner,_turret);
if (!(_ammo isKindOf "BulletBase")) exitWith {};
if !(_ammo isKindOf "BulletBase") exitWith {};
if (!alive _projectile) exitWith {};
if (underwater _unit) exitWith {};
@ -62,11 +62,11 @@ if (_abort) exitWith {};
// Get Weapon and Ammo Configurations
private _AmmoCacheEntry = uiNamespace getVariable format[QGVAR(%1), _ammo];
if (isNil "_AmmoCacheEntry") then {
_AmmoCacheEntry = _ammo call FUNC(readAmmoDataFromConfig);
_AmmoCacheEntry = _ammo call FUNC(readAmmoDataFromConfig);
};
private _WeaponCacheEntry = uiNamespace getVariable format[QGVAR(%1), _weapon];
if (isNil "_WeaponCacheEntry") then {
_WeaponCacheEntry = _weapon call FUNC(readWeaponDataFromConfig);
_WeaponCacheEntry = _weapon call FUNC(readWeaponDataFromConfig);
};
_AmmoCacheEntry params ["_airFriction", "_caliber", "_bulletLength", "_bulletMass", "_transonicStabilityCoef", "_dragModel", "_ballisticCoefficients", "_velocityBoundaries", "_atmosphereModel", "_ammoTempMuzzleVelocityShifts", "_muzzleVelocityTable", "_barrelLengthTable", "_muzzleVelocityVariationSD"];
@ -120,8 +120,26 @@ if (_caliber * _bulletLength * _bulletMass * _barrelTwist > 0) then {
_stabilityFactor = [_caliber, _bulletLength, _bulletMass, _barrelTwist, _muzzleVelocity, _temperature, _barometricPressure] call FUNC(calculateStabilityFactor);
};
GVAR(currentbulletID) = (GVAR(currentbulletID) + 1) % 10000;
"ace_advanced_ballistics" callExtension format["new:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:%17:%18", GVAR(currentbulletID), _ammoCount, _airFriction, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _dragModel, _stabilityFactor, _twistDirection, _transonicStabilityCoef, getPosASL _projectile, _bulletVelocity, EGVAR(common,mapLatitude), EGVAR(weather,currentTemperature), EGVAR(common,mapAltitude), EGVAR(weather,currentHumidity), EGVAR(weather,currentOvercast), CBA_missionTime toFixed 6];
GVAR(allBullets) pushBack [_projectile, _caliber, _bulletTraceVisible, GVAR(currentbulletID)];
("ace" callExtension [
"ballistics:bullet:new", [
_ammoCount,
_airFriction,
_ballisticCoefficients,
_velocityBoundaries,
_atmosphereModel,
_dragModel,
_stabilityFactor,
_twistDirection,
_transonicStabilityCoef,
_bulletVelocity,
EGVAR(common,mapLatitude),
EGVAR(weather,currentTemperature),
EGVAR(common,mapAltitude),
EGVAR(weather,currentHumidity),
EGVAR(weather,currentOvercast),
CBA_missionTime toFixed 6
]
]) params ["_id", "_code"];
if (_code == 0) then {
GVAR(allBullets) set [_id, [_projectile, _caliber, _bulletTraceVisible]];
};

View File

@ -21,8 +21,15 @@ if (!GVAR(enabled)) exitWith {};
private _initStartTime = diag_tickTime;
private _mapSize = worldSize;
if (("ace_advanced_ballistics" callExtension format["init:%1:%2", worldName, _mapSize]) == "Terrain already initialized") exitWith {
INFO_1("Terrain already initialized [world: %1]", worldName);
(
"ace" callExtension ["ballistics:map:init", [worldName, _mapSize]]
) params ["_data", "_code"];
if (_code != 0) exitWith {
ERROR("Error initializing map")
};
if (_data == "true") exitWith {
INFO_1("Terrain already initialized [world: %1]",worldName);
#ifdef DEBUG_MODE_FULL
systemChat "AdvancedBallistics: Terrain already initialized";
#endif
@ -33,14 +40,14 @@ private _gridCells = _mapGrids * _mapGrids;
GVAR(currentGrid) = 0;
INFO_2("Starting Terrain Extension [cells: %1] [world: %2]", _gridCells, worldName);
INFO_2("Starting Terrain Extension [cells: %1] [world: %2]",_gridCells,worldName);
[{
params ["_args","_idPFH"];
_args params ["_mapGrids", "_gridCells", "_initStartTime"];
if (GVAR(currentGrid) >= _gridCells) exitWith {
INFO_2("Finished terrain initialization in %1 seconds [world: %2]", (diag_tickTime - _initStartTime) toFixed 2, worldName);
INFO_2("Finished terrain initialization in %1 seconds [world: %2]",(diag_tickTime - _initStartTime) toFixed 2,worldName);
#ifdef DEBUG_MODE_FULL
systemChat format["AdvancedBallistics: Finished terrain initialization in %1 seconds", (diag_tickTime - _initStartTime) toFixed 2];
#endif
@ -53,8 +60,7 @@ INFO_2("Starting Terrain Extension [cells: %1] [world: %2]", _gridCells, worldNa
private _gridCenter = [_x + 25, _y + 25];
private _gridHeight = round(getTerrainHeightASL _gridCenter);
private _gridNumObjects = count (_gridCenter nearObjects ["Building", 50]);
private _gridSurfaceIsWater = if (surfaceIsWater _gridCenter) then {1} else {0};
"ace_advanced_ballistics" callExtension format["set:%1:%2:%3", _gridHeight, _gridNumObjects, _gridSurfaceIsWater];
"ace" callExtension ["ballistics:map:set", [GVAR(currentGrid), _gridHeight, _gridNumObjects, surfaceIsWater _gridCenter]];
GVAR(currentGrid) = GVAR(currentGrid) + 1;
if (GVAR(currentGrid) >= _gridCells) exitWith {};
};

View File

@ -40,10 +40,13 @@ if (_transonicStabilityCoef == 0) then {
_transonicStabilityCoef = 0.5;
};
private _dragModel = getNumber(_ammoConfig >> "ACE_dragModel");
if (!(_dragModel in [1, 2, 5, 6, 7, 8])) then {
if !(_dragModel in [1, 2, 5, 6, 7, 8]) then {
_dragModel = 1;
};
private _ballisticCoefficients = getArray(_ammoConfig >> "ACE_ballisticCoefficients");
if (_ballisticCoefficients isEqualTo []) then {
_ballisticCoefficients = [0.5];
};
private _velocityBoundaries = getArray(_ammoConfig >> "ACE_velocityBoundaries");
private _atmosphereModel = getText(_ammoConfig >> "ACE_standardAtmosphere");
if (_atmosphereModel isEqualTo "") then {
@ -66,7 +69,7 @@ if ((_typicalSpeed > 0) && {_typicalSpeed < 360}) then {
if (_inheritedBarrelConfig || _inheritedTempConfig) then {
private _parentConfig = inheritsFrom _ammoConfig;
private _parentSpeed = getNumber (_parentConfig >> "typicalSpeed");
WARNING_4("Subsonic Ammo %1 (%2 m/s) missing `ACE_muzzleVelocities` or `ACE_ammoTempMuzzleVelocityShifts` configs, attempting to use parent %3 (%4m/s)",_this,_typicalSpeed,configName _parentConfig, _parentSpeed);
WARNING_4("Subsonic Ammo %1 (%2 m/s) missing `ACE_muzzleVelocities` or `ACE_ammoTempMuzzleVelocityShifts` configs, attempting to use parent %3 (%4m/s)",_this,_typicalSpeed,configName _parentConfig,_parentSpeed);
if (_parentSpeed <= 0) exitWith {//Handle weird or null parent
_muzzleVelocityTable = [];
_ammoTempMuzzleVelocityShifts = [];

View File

@ -21,7 +21,7 @@
private _weaponConfig = (configFile >> "CfgWeapons" >> _this);
private _barrelTwist = 0 max getNumber(_weaponConfig >> "ACE_barrelTwist");
private _twistDirection = [0, 1] select (_barrelTwist != 0);
private _twistDirection = parseNumber (_barrelTwist != 0);
if (isNumber (_weaponConfig >> "ACE_twistDirection")) then {
_twistDirection = getNumber (_weaponConfig >> "ACE_twistDirection");
if !(_twistDirection in [-1, 0, 1]) then {

View File

@ -0,0 +1,53 @@
private _category = format ["ACE %1", localize LSTRING(DisplayName)];
[
QGVAR(enabled), "CHECKBOX",
[LSTRING(enabled_DisplayName), LSTRING(enabled_Description)],
_category,
false,
1,
{[QGVAR(enabled), _this] call EFUNC(common,cbaSettings_settingChanged)},
true // Needs mission restart
] call CBA_fnc_addSetting;
[
QGVAR(muzzleVelocityVariationEnabled), "CHECKBOX",
[LSTRING(muzzleVelocityVariationEnabled_DisplayName), LSTRING(muzzleVelocityVariationEnabled_Description)],
_category,
true,
1
] call CBA_fnc_addSetting;
[
QGVAR(ammoTemperatureEnabled), "CHECKBOX",
[LSTRING(ammoTemperatureEnabled_DisplayName), LSTRING(ammoTemperatureEnabled_Description)],
_category,
true,
1
] call CBA_fnc_addSetting;
[
QGVAR(barrelLengthInfluenceEnabled), "CHECKBOX",
[LSTRING(barrelLengthInfluenceEnabled_DisplayName), LSTRING(barrelLengthInfluenceEnabled_Description)],
_category,
true,
1
] call CBA_fnc_addSetting;
[
QGVAR(bulletTraceEnabled), "CHECKBOX",
[LSTRING(bulletTraceEnabled_DisplayName), LSTRING(bulletTraceEnabled_Description)],
_category,
true,
1
] call CBA_fnc_addSetting;
[
QGVAR(simulationInterval), "SLIDER",
[LSTRING(simulationInterval_DisplayName), LSTRING(simulationInterval_Description)],
_category,
[0, 0.2, 0.05, 2],
1,
{[QGVAR(simulationInterval), _this] call EFUNC(common,cbaSettings_settingChanged)},
true // Needs mission restart
] call CBA_fnc_addSetting;

View File

@ -1,49 +0,0 @@
private _category = format ["ACE %1", localize LSTRING(DisplayName)];
[
QGVAR(enabled), "CHECKBOX",
[LSTRING(enabled_DisplayName), LSTRING(enabled_Description)],
_category,
false,
1
] call CBA_fnc_addSetting;
[
QGVAR(muzzleVelocityVariationEnabled), "CHECKBOX",
[LSTRING(muzzleVelocityVariationEnabled_DisplayName), LSTRING(muzzleVelocityVariationEnabled_Description)],
_category,
true,
1
] call CBA_fnc_addSetting;
[
QGVAR(ammoTemperatureEnabled), "CHECKBOX",
[LSTRING(ammoTemperatureEnabled_DisplayName), LSTRING(ammoTemperatureEnabled_Description)],
_category,
true,
1
] call CBA_fnc_addSetting;
[
QGVAR(barrelLengthInfluenceEnabled), "CHECKBOX",
[LSTRING(barrelLengthInfluenceEnabled_DisplayName), LSTRING(barrelLengthInfluenceEnabled_Description)],
_category,
true,
1
] call CBA_fnc_addSetting;
[
QGVAR(bulletTraceEnabled), "CHECKBOX",
[LSTRING(bulletTraceEnabled_DisplayName), LSTRING(bulletTraceEnabled_Description)],
_category,
true,
1
] call CBA_fnc_addSetting;
[
QGVAR(simulationInterval), "SLIDER",
[LSTRING(simulationInterval_DisplayName), LSTRING(simulationInterval_Description)],
_category,
[0, 0.2, 0.05, 2],
1
] call CBA_fnc_addSetting;

View File

@ -4,7 +4,7 @@
<Key ID="STR_ACE_Advanced_Ballistics_WindInfoKey">
<English>Show Wind Info</English>
<Polish>Pokaż inf. o wietrze</Polish>
<Italian>Mostra indicazioni del vento</Italian>
<Italian>Mostra indicazioni vento</Italian>
<Russian>Показать информацию о ветре</Russian>
<French>Afficher les infos sur le vent</French>
<Spanish>Mostrar información del viento</Spanish>
@ -46,7 +46,7 @@
<Hungarian>Fejlett ballisztika</Hungarian>
<Russian>Продвинутая баллистика</Russian>
<Italian>Balistica Avanzata</Italian>
<Japanese>アドバンスド バリスティックス</Japanese>
<Japanese>高度な弾道計算</Japanese>
<Korean>고급 탄도학</Korean>
<Chinese>先進彈道系統</Chinese>
<Chinesesimp>进阶弹道系统</Chinesesimp>
@ -63,7 +63,7 @@
<Hungarian>Fejlett ballisztika</Hungarian>
<Russian>Продвинутая баллистика</Russian>
<Italian>Balistica Avanzata</Italian>
<Japanese>アドバンスド バリスティックスを有効化</Japanese>
<Japanese>高度な弾道計算を有効化</Japanese>
<Korean>고급 탄도학</Korean>
<Chinese>先進彈道系統</Chinese>
<Chinesesimp>进阶弹道系统</Chinesesimp>
@ -80,7 +80,7 @@
<Hungarian>Engedélyezi a fejlett ballisztikát</Hungarian>
<Russian>Включает продвинутую баллистику</Russian>
<Italian>Abilita Balistica Avanzata</Italian>
<Japanese>アドバンスド バリスティックスを有効化します。</Japanese>
<Japanese>高度な弾道計算を有効化します。</Japanese>
<Korean>고급 탄도학을 적용합니다</Korean>
<Chinese>啟用先進彈道系統</Chinese>
<Chinesesimp>启用进阶弹道系统</Chinesesimp>
@ -106,8 +106,8 @@
<English>Simulates slight variations in muzzle velocity between each shot</English>
<Spanish>Simula variaciones ligeras de velocidad entre cada disparo</Spanish>
<German>Simuliert leichte Variationen der Mündungsgeschwindigkeit zwischen jedem Schuss.</German>
<Japanese>発射毎の銃口初速の変動をシミュレートします。</Japanese>
<Italian>Simula lievi variazioni della velocità della volata tra un colpo e l'altro</Italian>
<Japanese>発射毎の銃口初速のわずかな変動をシミュレートします。</Japanese>
<Italian>Simula piccole variazioni della velocità alla volata tra ogni colpo.</Italian>
<Korean>각 사격 사이에 총구속도 변화를 시뮬레이션 합니다.</Korean>
<Chinese>模擬每發子彈的槍口初速都略有不同</Chinese>
<Chinesesimp>模拟每发子弹的枪口初速都略有不同</Chinesesimp>
@ -128,8 +128,8 @@
<French>Activer la simulation de la température</French>
<Hungarian>Lőszer-hő szimuláció engedélyezése</Hungarian>
<Russian>Симуляция температуры для боеприпасов</Russian>
<Italian>Abilita simulazione della temperatura delle munizioni</Italian>
<Japanese>弾薬温度シミュレーションを有効化</Japanese>
<Italian>Abilita simulazione temperatura munizioni</Italian>
<Japanese>弾薬温度シミュレーションを有効化</Japanese>
<Korean>탄약 온도 구현 적용</Korean>
<Chinese>啟用彈藥溫度模擬系統</Chinese>
<Chinesesimp>启用弹药温度模拟系统</Chinesesimp>
@ -145,7 +145,7 @@
<French>La vitesse initiale varie en fonction de la température des munitions.</French>
<Hungarian>A kezdősebesség a lőszer hőmérsékletétől függően változó</Hungarian>
<Russian>Начальная скорость пули зависит от температуры</Russian>
<Italian>La velocità dello sparo varia a seconda della temperatura delle munizioni</Italian>
<Italian>La velocità alla volata varia a seconda della temperatura delle munizioni.</Italian>
<Japanese>弾薬の温度により銃口初速を変動させます。</Japanese>
<Korean>탄약 온도에 비례해 총구 속도가 달라집니다</Korean>
<Chinese>子彈初速將隨彈藥溫度而有所變化</Chinese>
@ -162,8 +162,8 @@
<French>Activer la simulation de la longueur de canon</French>
<Hungarian>Csőhossz-szimuláció engedélyezése</Hungarian>
<Russian>Симуляция длины ствола</Russian>
<Italian>Abilita simulazione della lunghezza della canna</Italian>
<Japanese>銃身長シミュレーションを有効化</Japanese>
<Italian>Abilita simulazione lunghezza canna</Italian>
<Japanese>銃身長シミュレーションを有効化</Japanese>
<Korean>총열 길이 구현 적용</Korean>
<Chinese>啟用槍管長度模擬系統</Chinese>
<Chinesesimp>启用枪管长度模拟系统</Chinesesimp>
@ -179,7 +179,7 @@
<French>La vitesse initiale varie en fonction de la longueur du canon.</French>
<Hungarian>A kezdősebesség a cső hosszától függően változó</Hungarian>
<Russian>Начальная скорость пули зависит от длины ствола</Russian>
<Italian>La velocità di sparo varia a seconda della lunghezza della canna</Italian>
<Italian>La velocità alla volata varia a seconda della lunghezza della canna.</Italian>
<Japanese>銃身長により銃口初速を変動させます。</Japanese>
<Korean>총구 속도가 총열에 비례해 달라집니다</Korean>
<Chinese>子彈初速將隨槍管長度而有所變化</Chinese>
@ -196,7 +196,7 @@
<French>Activer l'effet de balle traçante</French>
<Hungarian>Nyomkövető-effekt engedélyezése</Hungarian>
<Russian>Следы пуль</Russian>
<Italian>Abilita effetto dei Proiettili Traccianti</Italian>
<Italian>Abilita effetto di traccia proiettile</Italian>
<Japanese>弾丸の軌跡エフェクトを有効化</Japanese>
<Korean>예광탄 효과 적용</Korean>
<Chinese>啟用曳光彈效果</Chinese>
@ -213,7 +213,7 @@
<French>Active un effet de balle traçante pour les munitions de gros calibre (seulement visible en utilisant une optique à fort grossissement).</French>
<Hungarian>Engedélyezi a nagy kaliberű lövedékek nyomának vizuális követését (csak nagy teljesítményű optikán keresztül látható)</Hungarian>
<Russian>Включает эффект следов пуль для больших калибров (видны только через мощную оптику)</Russian>
<Italian>Abilita effetto dei proiettili traccianti di alto calibro (visibile solo attraverso ottiche ad alto potenziale)</Italian>
<Italian>Abilita effetto di traccia lasciata da proiettili di alto calibro (visibile solo attraverso ottiche ad alto ingrandimento)</Italian>
<Japanese>大口径弾の軌跡エフェクトを有効化します。 (高性能光学機器を介してのみ見ることができます)</Japanese>
<Korean>대구경 탄환에 예광탄 효과를 적용합니다(오직 고성능 조준경 사용시에만 보입니다)</Korean>
<Chinese>啟用曳光彈效果給大口徑子彈 (只有透過高倍率光學瞄鏡才能看到)</Chinese>
@ -230,7 +230,7 @@
<French>Intervalle de simulation</French>
<Hungarian>Szimuláció intervalluma</Hungarian>
<Russian>Интервал симуляции</Russian>
<Italian>Intervallo Simulazione</Italian>
<Italian>Intervallo di Simulazione</Italian>
<Japanese>シミュレーション間隔</Japanese>
<Korean>구현 간격</Korean>
<Chinese>模擬間隔</Chinese>
@ -246,7 +246,7 @@
<French>Définit l'intervalle entre chacune des étapes de calcul.</French>
<Hungarian>Meghatározza a számítási lépések közötti időintervallumot</Hungarian>
<Russian>Определяет временной интервал между вычислениями</Russian>
<Italian>Definisce l'intervallo tra ogni step di calcolo</Italian>
<Italian>Definisce l'intervallo tra ogni passo del calcolo</Italian>
<Japanese>各シミュレーション毎の間隔を定義します。</Japanese>
<Korean>각 계산 단위의 간격을 정의합니다</Korean>
<Chinese>定義每個模擬計算之間的時間間隔</Chinese>
@ -263,7 +263,7 @@
<Hungarian>Szimuláció hatóköre</Hungarian>
<Russian>Радиус симуляции</Russian>
<Italian>Raggio Simulazione</Italian>
<Japanese>シミュレーションの範囲</Japanese>
<Japanese>シミュレーションの半径</Japanese>
<Korean>구현 범위</Korean>
<Chinese>模擬半徑</Chinese>
<Chinesesimp>模拟半径</Chinesesimp>
@ -279,8 +279,8 @@
<French>Définit le rayon autour du joueur (en mètres), dans lequel la balistique avancée est appliquée aux projectiles.</French>
<Hungarian>Meghatározza a játékos körüli hatókört (méterben), ahol a lövedékek fejlett ballisztikát használnak</Hungarian>
<Russian>Определяет радиус вокруг игрока (в метрах), в котором продвинутая баллистика применяется к снарядам</Russian>
<Italian>Definisce il raggio attorno al giocatore (in metri) per cui la Balistica Avanzata è applicata ai proiettili</Italian>
<Japanese>アドバンスド バリスティックスの適用半径範囲 (プレイヤー中心、メートル単位) を定義します。</Japanese>
<Italian>Definisce il raggio attorno al giocatore (in metri) entro il quale la Balistica Avanzata è applicata ai proiettili</Italian>
<Japanese>高度な弾道計算が飛翔体に適用される半径距離 (プレイヤー中心、メートル単位) を定義します。</Japanese>
<Korean>플레이어 주위의 발사체를 고급 탄도학으로 정의하는 범위를 정합니다(미터)</Korean>
<Chinese>以玩家的半徑距離(公尺)定義先進彈道系統啟用範圍</Chinese>
<Chinesesimp>定义玩家周围的半径(米),在这个半径内,进阶弹道系统会被启用</Chinesesimp>
@ -296,8 +296,8 @@
<Hungarian>Ez a modul engedélyezi a fejlett ballisztikai szimulációt - a lövedékek röppályáját befolyásolni fogja a levegő hőmérséklete, légnyomás, páratartalom, gravitáció, a lövedék fajtája, valamint a fegyver, amiből kilőtték a lövedéket.</Hungarian>
<Russian>Этот модуль включает симуляцию продвинутой баллистики - при этом на траекторию полета снаряда влияют различные параметры, такие как температура воздуха, атмосферное давление, влажность, гравитация, тип боеприпаса и оружия, из которого произвели выстрел.</Russian>
<Spanish>Este módulo permite la simulación balística avanzada - es decir, la trayectoria de los proyectiles está influenciada por variables como la temperatura del aire, la presión atmosférica, la humedad, la gravedad, el tipo de municiones y el arma desde el que fue disparada.</Spanish>
<Italian>Questo modulo abilita la simulazione della Balistica Avanzata - cioè la traiettoria dei proiettili è influenzata da variabili come la temperatura dell'aria, pressione atmosferica, umidità, gravità, il tipo di munizione e l'arma da cui è sparata</Italian>
<Japanese>アドバンスド バリスティックスのシミュレーションを有効化します。 弾道は気温・気圧・湿度・重力・弾薬の種類・発射する武器などの変化による影響を受けるようになります。</Japanese>
<Italian>Questo modulo abilita la simulazione della Balistica Avanzata - essa comporta che la traiettoria dei proiettili è influenzata da variabili come la temperatura dell'aria, pressione atmosferica, umidità, gravità, il tipo di munizione e l'arma da cui è sparata.</Italian>
<Japanese>高度な弾道計算のシミュレーションを有効化します。 弾道は気温・気圧・湿度・重力・弾薬の種類・発射する武器などの変化による影響を受けるようになります。</Japanese>
<Korean>이 모듈은 고급 탄도학을 적용시킵니다 - 이는 발사체의 궤적이 기온, 대기압, 습도, 중력, 탄환의 종류와 어느 무기에서 발사되는지에 따라 영향을 받습니다.</Korean>
<Chinese>該模塊實現先進的彈道仿真 - 這意味著子彈的軌跡是由空氣溫度、大氣壓力、濕度、重力、彈藥類型以及射擊的武器所影響</Chinese>
<Chinesesimp>该模块实现增强的弹道模拟—子弹的轨迹由空气温度、大气压力、湿度、重力、弹药类型和射击的武器等变量所影响</Chinesesimp>

View File

@ -9,3 +9,5 @@ PREP(handleStaminaBar);
PREP(mainLoop);
PREP(moduleSettings);
PREP(removeDutyFactor);
PREP(renderDebugLines);
PREP(updateStaminaBar);

View File

@ -2,34 +2,9 @@
if (!hasInterface) exitWith {};
["baseline", {
private _fatigue = ACE_player getVariable [QGVAR(aimFatigue), 0];
switch (stance ACE_player) do {
case ("CROUCH"): {
(1.0 + _fatigue ^ 2 * 0.1)
};
case ("PRONE"): {
(1.0 + _fatigue ^ 2 * 2.0)
};
default {
(1.5 + _fatigue ^ 2 * 3.0)
};
};
}, QUOTE(ADDON)] call EFUNC(common,addSwayFactor);
["multiplier", {
switch (true) do {
case (isWeaponRested ACE_player): {
GVAR(swayFactor) * GVAR(restedSwayFactor)
};
case (isWeaponDeployed ACE_player): {
GVAR(swayFactor) * GVAR(deployedSwayFactor)
};
default {
GVAR(swayFactor)
};
};
}, QUOTE(ADDON)] call EFUNC(common,addSwayFactor);
#ifdef DEBUG_MODE_FULL
call FUNC(renderDebugLines);
#endif
// recheck weapon inertia after weapon swap, change of attachments or switching unit
["weapon", {[ACE_player] call FUNC(getWeaponInertia)}, true] call CBA_fnc_addPlayerEventHandler;
@ -39,6 +14,23 @@ if (!hasInterface) exitWith {};
["CBA_settingsInitialized", {
if (!GVAR(enabled)) exitWith {};
[QEGVAR(ui,hideHud), LINKFUNC(updateStaminaBar)] call CBA_fnc_addEventHandler;
["baseline", {
private _fatigue = ACE_player getVariable [QGVAR(aimFatigue), 0];
switch (stance ACE_player) do {
case ("CROUCH"): {
(1.0 + _fatigue ^ 2 * 0.1)
};
case ("PRONE"): {
(1.0 + _fatigue ^ 2 * 2.0)
};
default {
(1.5 + _fatigue ^ 2 * 3.0)
};
};
}, QUOTE(ADDON)] call EFUNC(common,addSwayFactor);
// - Post process effect ------------------------------------------------------
GVAR(ppeBlackout) = ppEffectCreate ["ColorCorrections", 4220];
GVAR(ppeBlackout) ppEffectEnable true;
@ -47,28 +39,26 @@ if (!hasInterface) exitWith {};
GVAR(ppeBlackout) ppEffectCommit 0.4;
// - GVAR updating and initialization -----------------------------------------
["unit", LINKFUNC(handlePlayerChanged), true] call CBA_fnc_addPlayerEventHandler;
["unit", LINKFUNC(handlePlayerChanged)] call CBA_fnc_addPlayerEventHandler;
["visibleMap", {
params ["", "_visibleMap"]; // command visibleMap is updated one frame later
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
_staminaBarContainer ctrlShow ((!_visibleMap) && {(vehicle ACE_player) == ACE_player});
(uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull]) ctrlShow (!_visibleMap && isNull objectParent ACE_player);
}, true] call CBA_fnc_addPlayerEventHandler;
["vehicle", {
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
_staminaBarContainer ctrlShow ((!visibleMap) && {(vehicle ACE_player) == ACE_player});
(uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull]) ctrlShow (!visibleMap && isNull objectParent ACE_player);
}, true] call CBA_fnc_addPlayerEventHandler;
// - Duty factors -------------------------------------------------------------
if (["ACE_Medical"] call EFUNC(common,isModLoaded)) then {
if (GETEGVAR(medical,enabled,false)) then {
[QEGVAR(medical,pain), { // 0->1.0, 0.5->1.05, 1->1.1
linearConversion [0, 1, (_this getVariable [QEGVAR(medical,pain), 0]), 1, 1.1, true];
linearConversion [0, 1, _this getVariable [QEGVAR(medical,pain), 0], 1, 1.1, true];
}] call FUNC(addDutyFactor);
[QEGVAR(medical,bloodVolume), { // 6->1.0, 5->1.167, 4->1.33
linearConversion [6, 0, (_this getVariable [QEGVAR(medical,bloodVolume), 6]), 1, 2, true];
linearConversion [6, 0, _this getVariable [QEGVAR(medical,bloodVolume), 6], 1, 2, true];
}] call FUNC(addDutyFactor);
};
if (["ACE_Dragging"] call EFUNC(common,isModLoaded)) then {
if (["ace_dragging"] call EFUNC(common,isModLoaded)) then {
[QEGVAR(dragging,isCarrying), {
[1, 3] select (_this getVariable [QEGVAR(dragging,isCarrying), false]);
}] call FUNC(addDutyFactor);
@ -76,7 +66,7 @@ if (!hasInterface) exitWith {};
// Weather has an off switch, Dragging & Medical don't.
if (missionNamespace getVariable [QEGVAR(weather,enabled), false]) then {
[QEGVAR(weather,temperature), { // 35->1, 45->2
linearConversion [35, 45, (missionNamespace getVariable [QEGVAR(weather,currentTemperature), 25]), 1, 2, true];
linearConversion [35, 45, missionNamespace getVariable [QEGVAR(weather,currentTemperature), 25], 1, 2, true];
}] call FUNC(addDutyFactor);
};

View File

@ -6,7 +6,7 @@ PREP_RECOMPILE_START;
#include "XEH_PREP.hpp"
PREP_RECOMPILE_END;
#include "initSettings.sqf"
#include "initSettings.inc.sqf"
GVAR(staminaBarWidth) = 10 * (((safezoneW / safezoneH) min 1.2) / 40);
GVAR(dutyList) = createHashMap;

View File

@ -1,7 +1,7 @@
#include "..\script_component.hpp"
/*
* Author: BaerMitUmlaut
* Calculates the duty of the current animation.
* Calculates the duty ('postureWeight') of the current animation.
*
* Arguments:
* 0: Unit <OBJECT>

View File

@ -1,54 +1,74 @@
#include "..\script_component.hpp"
/*
* Author: BaerMitUmlaut
* Calculates the current metabolic costs for a unit.
* Author: BaerMitUmlaut, ulteq
* Calculates the current metabolic costs.
* Calculation is done according to the Pandolf/Wojtowicz formulas.
*
* Arguments:
* 0: Unit <OBJECT>
* 1: Speed <NUMBER>
* 0: Duty of animation
* 1: Mass of unit <NUMBER>
* 2: Terrain gradient <NUMBER>
* 3: Terrain factor <NUMBER>
* 4: Speed <NUMBER>
*
* Return Value:
* Metabolic cost <NUMBER>
*
* Example:
* [player, 3.3] call ace_advanced_fatigue_fnc_getMetabolicCosts
* [1, 840, 20, 1, 4] call ace_advanced_fatigue_fnc_getMetabolicCosts
*
* Public: No
*/
params ["_unit", "_velocity"];
private _gearMass = ((_unit getVariable [QEGVAR(movement,totalLoad), loadAbs _unit]) / 22.046) * GVAR(loadFactor);
private _terrainAngle = asin (1 - ((surfaceNormal getPosASL _unit) select 2));
private _terrainGradient = (_terrainAngle / 45 min 1) * 5 * GVAR(terrainGradientFactor);
private _duty = GVAR(animDuty);
{
if (_x isEqualType 0) then {
_duty = _duty * _x;
} else {
_duty = _duty * (_unit call _x);
};
} forEach (values GVAR(dutyList));
if (GVAR(isSwimming)) then {
_terrainGradient = 0;
};
params ["_duty", "_gearMass", "_terrainGradient", "_terrainFactor", "_speed"];
// Metabolic cost for walking and running is different
if (_velocity > 2) then {
if (_speed > 2) then {
// Running
#ifdef DEBUG_MODE_FULL
private _baseline = 2.1 * SIM_BODYMASS + 4 * (SIM_BODYMASS + _gearMass) * ((_gearMass / SIM_BODYMASS) ^ 2) + (SIM_BODYMASS + _gearMass) * 0.9 * (_speed ^ 2);
private _graded = 2.1 * SIM_BODYMASS + 4 * (SIM_BODYMASS + _gearMass) * ((_gearMass / SIM_BODYMASS) ^ 2) + _terrainFactor * (SIM_BODYMASS + _gearMass) * (0.9 * (_speed ^ 2) + 0.66 * _speed * _terrainGradient);
private _terrainImpact = abs ((_graded / _baseline) - 1);
hintSilent format ["FwdAngle: %1 | SideAngle: %2 \n TerrainFactor: %3 | TerrainGradient: %4 \n TerrainImpact: %5 \n Speed: %6 | CarriedLoad: %7 \n Duty: %8 | Work: %9",
_fwdAngle toFixed 1,
_sideAngle toFixed 1,
_terrainFactor toFixed 2,
_terrainGradient toFixed 1,
_terrainImpact toFixed 2,
_speed toFixed 2,
_gearMass toFixed 1,
_duty toFixed 2,
round (_graded * BIOMECH_EFFICIENCY * _duty)
];
#endif
(
2.10 * SIM_BODYMASS
2.1 * SIM_BODYMASS
+ 4 * (SIM_BODYMASS + _gearMass) * ((_gearMass / SIM_BODYMASS) ^ 2)
+ (SIM_BODYMASS + _gearMass) * (0.9 * (_velocity ^ 2) + 0.66 * _velocity * _terrainGradient)
) * 0.23 * _duty
+ _terrainFactor * (SIM_BODYMASS + _gearMass) * (0.9 * (_speed ^ 2) + 0.66 * _speed * _terrainGradient)
) * BIOMECH_EFFICIENCY * _duty
} else {
// Walking
#ifdef DEBUG_MODE_FULL
private _baseline = 1.05 * SIM_BODYMASS + 2 * (SIM_BODYMASS + _gearMass) * ((_gearMass / SIM_BODYMASS) ^ 2) + (SIM_BODYMASS + _gearMass) * 1.15 * (_speed ^ 2);
private _graded = 1.05 * SIM_BODYMASS + 2 * (SIM_BODYMASS + _gearMass) * ((_gearMass / SIM_BODYMASS) ^ 2) + _terrainFactor * (SIM_BODYMASS + _gearMass) * (1.15 * (_speed ^ 2) + 0.66 * _speed * _terrainGradient);
private _terrainImpact = abs ((_graded / _baseline) - 1);
hintSilent format ["FwdAngle: %1 | SideAngle: %2 \n TerrainFactor: %3 | TerrainGradient: %4 \n TerrainImpact: %5 \n Speed: %6 | CarriedLoad: %7 \n Duty: %8 | Work: %9",
_fwdAngle toFixed 1,
_sideAngle toFixed 1,
_terrainFactor toFixed 2,
_terrainGradient toFixed 1,
_terrainImpact toFixed 2,
_speed toFixed 2,
_gearMass toFixed 1,
_duty toFixed 2,
round (_graded * BIOMECH_EFFICIENCY * _duty)
];
#endif
(
1.05 * SIM_BODYMASS
+ 2 * (SIM_BODYMASS + _gearMass) * ((_gearMass / SIM_BODYMASS) ^ 2)
+ (SIM_BODYMASS + _gearMass) * (1.15 * (_velocity ^ 2) + 0.66 * _velocity * _terrainGradient)
) * 0.23 * _duty
+ _terrainFactor * (SIM_BODYMASS + _gearMass) * (1.15 * (_speed ^ 2) + 0.66 * _speed * _terrainGradient)
) * BIOMECH_EFFICIENCY * _duty
};

View File

@ -1,44 +1,44 @@
#include "..\script_component.hpp"
/*
* Author: BaerMitUmlaut
* Author: BaerMitUmlaut, ulteq
* Handles any audible, visual and physical effects of fatigue.
*
* Arguments:
* 0: Unit <OBJECT>
* 1: Fatigue <NUMBER>
* 2: Speed <NUMBER>
* 3: Overexhausted <BOOL>
* 2: Overexhausted <BOOL>
* 3: Forward Angle <NUMBER>
* 4: Side Angle <NUMBER>
*
* Return Value:
* None
*
* Example:
* [_player, 0.5, 3.3, true] call ace_advanced_fatigue_fnc_handleEffects
* [_player, 0.5, 3.3, true, 0, 0] call ace_advanced_fatigue_fnc_handleEffects
*
* Public: No
*/
params ["_unit", "_fatigue", "_speed", "_overexhausted"];
#ifdef DEBUG_MODE_FULL
systemChat str _fatigue;
systemChat str vectorMagnitude velocity _unit;
#endif
params ["_unit", "_fatigue", "_overexhausted", "_fwdAngle", "_sideAngle"];
// - Audible effects ----------------------------------------------------------
GVAR(lastBreath) = GVAR(lastBreath) + 1;
if (_fatigue > 0.4 && {GVAR(lastBreath) > (_fatigue * -10 + 9)} && {!underwater _unit}) then {
if (!isGameFocused) exitWith {};
switch (true) do {
case (_fatigue < 0.6): {
playSound (QGVAR(breathLow) + str(floor random 6));
playSound (QGVAR(breathLow) + str (floor random 6));
};
case (_fatigue < 0.85): {
playSound (QGVAR(breathMid) + str(floor random 6));
playSound (QGVAR(breathMid) + str (floor random 6));
};
default {
playSound (QGVAR(breathMax) + str(floor random 6));
playSound (QGVAR(breathMax) + str (floor random 6));
};
};
GVAR(lastBreath) = 0;
};
@ -62,31 +62,35 @@ if (GVAR(isSwimming)) exitWith {
if (GVAR(setAnimExclusions) isEqualTo []) then {
_unit setAnimSpeedCoef linearConversion [0.7, 0.9, _fatigue, 1, 0.5, true];
};
if ((isSprintAllowed _unit) && {_fatigue > 0.7}) then {
if (isSprintAllowed _unit && _fatigue > 0.7) then { // small checks like these are faster without lazy eval
[_unit, "blockSprint", QUOTE(ADDON), true] call EFUNC(common,statusEffect_set);
} else {
if ((!isSprintAllowed _unit) && {_fatigue < 0.7}) then {
if (!isSprintAllowed _unit && _fatigue < 0.7) then {
[_unit, "blockSprint", QUOTE(ADDON), false] call EFUNC(common,statusEffect_set);
};
};
};
if ((getAnimSpeedCoef _unit) != 1) then {
if (GVAR(setAnimExclusions) isEqualTo []) then {
TRACE_1("reset",getAnimSpeedCoef _unit);
_unit setAnimSpeedCoef 1;
};
// If other components are setting setAnimSpeedCoef, do not change animSpeedCoef
if (getAnimSpeedCoef _unit != 1 && {GVAR(setAnimExclusions) isEqualTo []}) then {
TRACE_1("reset",getAnimSpeedCoef _unit);
_unit setAnimSpeedCoef 1;
};
if (_overexhausted) then {
if (!isForcedWalk _unit && _fatigue >= 1) then { // small checks like these are faster without lazy eval
[_unit, "forceWalk", QUOTE(ADDON), true] call EFUNC(common,statusEffect_set);
[_unit, "blockSprint", QUOTE(ADDON), true] call EFUNC(common,statusEffect_set);
} else {
if (isForcedWalk _unit && {_fatigue < 0.7}) then {
if (isForcedWalk _unit && _fatigue < 0.7) then {
[_unit, "forceWalk", QUOTE(ADDON), false] call EFUNC(common,statusEffect_set);
[_unit, "blockSprint", QUOTE(ADDON), false] call EFUNC(common,statusEffect_set);
} else {
if ((isSprintAllowed _unit) && {_fatigue > 0.7}) then {
// Forward angle is the slope of the terrain, side angle simulates the unevenness/roughness of the terrain
if (isSprintAllowed _unit && {_fatigue > 0.7 || abs _fwdAngle > 20 || abs _sideAngle > 20}) then {
[_unit, "blockSprint", QUOTE(ADDON), true] call EFUNC(common,statusEffect_set);
} else {
if ((!isSprintAllowed _unit) && {_fatigue < 0.6}) then {
if (!isSprintAllowed _unit && _fatigue < 0.6 && abs _fwdAngle < 20 && abs _sideAngle < 20) then {
[_unit, "blockSprint", QUOTE(ADDON), false] call EFUNC(common,statusEffect_set);
};
};

View File

@ -1,7 +1,7 @@
#include "..\script_component.hpp"
/*
* Author: BaerMitUmlaut
* Handles switching units (once on init and afterwards via Zeus).
* Author: BaerMitUmlaut, ulteq
* Handles switching units (once on init and afterwards via Zeus). Also handles CBA setting change for performance factor.
*
* Arguments:
* 0: New Unit <OBJECT>
@ -15,20 +15,24 @@
*
* Public: No
*/
params ["_newUnit", "_oldUnit"];
TRACE_2("unit changed",_newUnit,_oldUnit);
if !(isNull _oldUnit) then {
if (!isNull _oldUnit) then {
TRACE_1("remove old",_oldUnit getVariable QGVAR(animHandler));
_oldUnit enableStamina true;
_oldUnit removeEventHandler ["AnimChanged", _oldUnit getVariable [QGVAR(animHandler), -1]];
_oldUnit setVariable [QGVAR(animHandler), nil];
TRACE_1("remove old",_oldUnit getVariable QGVAR(animHandler));
_oldUnit setVariable [QGVAR(ae1Reserve), GVAR(ae1Reserve)];
_oldUnit setVariable [QGVAR(ae2Reserve), GVAR(ae2Reserve)];
_oldUnit setVariable [QGVAR(anReserve), GVAR(anReserve)];
_oldUnit setVariable [QGVAR(anFatigue), GVAR(anFatigue)];
_oldUnit setVariable [QGVAR(muscleDamage), GVAR(muscleDamage)];
_oldUnit setVariable [QGVAR(respiratoryRate), GVAR(respiratoryRate)];
};
_newUnit enableStamina false;
@ -38,6 +42,7 @@ if (_newUnit getVariable [QGVAR(animHandler), -1] == -1) then {
private _animHandler = _newUnit addEventHandler ["AnimChanged", {
GVAR(animDuty) = _this call FUNC(getAnimDuty);
}];
TRACE_1("add new",_animHandler);
_newUnit setVariable [QGVAR(animHandler), _animHandler];
};
@ -47,18 +52,27 @@ GVAR(ae2Reserve) = _newUnit getVariable [QGVAR(ae2Reserve), AE2_MAXRESERVE]
GVAR(anReserve) = _newUnit getVariable [QGVAR(anReserve), AN_MAXRESERVE];
GVAR(anFatigue) = _newUnit getVariable [QGVAR(anFatigue), 0];
GVAR(muscleDamage) = _newUnit getVariable [QGVAR(muscleDamage), 0];
GVAR(respiratoryRate) = _newUnit getVariable [QGVAR(respiratoryRate), 0];
// Clean variables for respawning units
{
_newUnit setVariable [_x, nil];
} forEach [QGVAR(ae1Reserve), QGVAR(ae2Reserve), QGVAR(anReserve), QGVAR(anFatigue), QGVAR(muscleDamage)];
} forEach [QGVAR(ae1Reserve), QGVAR(ae2Reserve), QGVAR(anReserve), QGVAR(anFatigue), QGVAR(muscleDamage), QGVAR(respiratoryRate)];
GVAR(VO2Max) = 35 + 20 * (_newUnit getVariable [QGVAR(performanceFactor), GVAR(performanceFactor)]);
GVAR(VO2MaxPower) = GVAR(VO2Max) * SIM_BODYMASS * 0.23 * JOULES_PER_ML_O2 / 60;
GVAR(VO2MaxPower) = GVAR(VO2Max) * SIM_BODYMASS * BIOMECH_EFFICIENCY * JOULES_PER_ML_O2 / 60;
GVAR(peakPower) = VO2MAX_STRENGTH * GVAR(VO2MaxPower);
GVAR(ae1PathwayPower) = GVAR(peakPower) / (13.3 + 16.7 + 113.3) * 13.3 * ANTPERCENT ^ 1.28 * 1.362;
GVAR(ae2PathwayPower) = GVAR(peakPower) / (13.3 + 16.7 + 113.3) * 16.7 * ANTPERCENT ^ 1.28 * 1.362;
GVAR(ae1PathwayPower) = GVAR(peakPower) / (AE1_ATP_RELEASE_RATE + AE2_ATP_RELEASE_RATE + AN_ATP_RELEASE_RATE) * AE1_ATP_RELEASE_RATE * ANTPERCENT ^ 1.28 * 1.362;
GVAR(ae2PathwayPower) = GVAR(peakPower) / (AE1_ATP_RELEASE_RATE + AE2_ATP_RELEASE_RATE + AN_ATP_RELEASE_RATE) * AE2_ATP_RELEASE_RATE * ANTPERCENT ^ 1.28 * 1.362;
GVAR(aePathwayPower) = GVAR(ae1PathwayPower) + GVAR(ae2PathwayPower);
GVAR(anPathwayPower) = GVAR(peakPower) - GVAR(aePathwayPower);
GVAR(aeWattsPerATP) = GVAR(ae1PathwayPower) / AE1_ATP_RELEASE_RATE;
GVAR(anWattsPerATP) = GVAR(anPathwayPower) / AN_ATP_RELEASE_RATE;
GVAR(respiratoryBufferDivisor) = (RESPIRATORY_BUFFER - 1) / RESPIRATORY_BUFFER;
GVAR(maxPowerFatigueRatio) = 0.057 / GVAR(peakPower);
GVAR(ppeBlackoutLast) = 100;
GVAR(lastBreath) = 0;

View File

@ -1,6 +1,6 @@
#include "..\script_component.hpp"
/*
* Author: BaerMitUmlaut
* Author: BaerMitUmlaut, ulteq
* Main looping function that updates fatigue values.
*
* Arguments:
@ -17,67 +17,131 @@
// Dead people don't breathe, will also handle null (map intros)
if (!alive ACE_player) exitWith {
[FUNC(mainLoop), [], 1] call CBA_fnc_waitAndExecute;
[LINKFUNC(mainLoop), [], 1] call CBA_fnc_waitAndExecute;
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
_staminaBarContainer ctrlSetFade 1;
_staminaBarContainer ctrlCommit 1;
};
private _velocity = velocity ACE_player;
private _normal = surfaceNormal (getPosWorld ACE_player);
private _movementVector = vectorNormalized _velocity;
private _sideVector = vectorNormalized (_movementVector vectorCrossProduct _normal);
private _fwdAngle = asin (_movementVector select 2);
private _sideAngle = asin (_sideVector select 2);
private _currentWork = REE;
private _currentSpeed = (vectorMagnitude (velocity ACE_player)) min 6;
private _currentSpeed = (vectorMagnitude _velocity) min 6;
// fix #4481. Diving to the ground is recorded as PRONE stance with running speed velocity. Cap maximum speed to fix.
if (GVAR(isProne)) then {
_currentSpeed = _currentSpeed min 1.5;
};
if ((vehicle ACE_player == ACE_player) && {_currentSpeed > 0.1} && {isTouchingGround ACE_player || {underwater ACE_player}}) then {
_currentWork = [ACE_player, _currentSpeed] call FUNC(getMetabolicCosts);
// Get the current duty
private _duty = GVAR(animDuty);
{
if (_x isEqualType 0) then {
_duty = _duty * _x;
} else {
_duty = _duty * (ACE_player call _x);
};
} forEach (values GVAR(dutyList));
private _terrainGradient = abs _fwdAngle;
private _terrainFactor = 1;
private _gearMass = 0 max (((ACE_player getVariable [QEGVAR(movement,totalLoad), loadAbs ACE_player]) / 22.046 - UNDERWEAR_WEIGHT) * GVAR(loadFactor));
if (isNull objectParent ACE_player && {_currentSpeed > 0.1} && {isTouchingGround ACE_player || {underwater ACE_player}}) then {
if (!GVAR(isSwimming)) then {
// If the unit is going downhill, it's much less demanding
if (_fwdAngle < 0) then {
_terrainGradient = 0.15 * _terrainGradient;
};
// Used to simulate the unevenness/roughness of the terrain
if ((getPosATL ACE_player) select 2 < 0.01) then {
private _sideGradient = abs (_sideAngle / 45) min 1;
_terrainFactor = 1 + _sideGradient ^ 4;
};
};
_currentWork = [_duty, _gearMass, _terrainGradient * GVAR(terrainGradientFactor), _terrainFactor, _currentSpeed] call FUNC(getMetabolicCosts);
_currentWork = _currentWork max REE;
};
// Oxygen calculation
private _oxygen = if (GETEGVAR(medical,enabled,false) && {EGVAR(medical_vitals,simulateSpo2)}) then { // Defer to medical
(ACE_player getVariable [QEGVAR(medical,spo2), 97]) / 100
} else {
1 - 0.131 * GVAR(respiratoryRate) ^ 2 // Default AF oxygen saturation
};
// Calculate muscle damage increase
// Note: Muscle damage recovery is ignored as it takes multiple days
GVAR(muscleDamage) = (GVAR(muscleDamage) + (_currentWork / GVAR(peakPower)) ^ 3.2 * 0.00004) min 1;
private _muscleIntegritySqrt = sqrt (1 - GVAR(muscleDamage));
GVAR(muscleDamage) = GVAR(muscleDamage) + (_currentWork / GVAR(peakPower)) ^ 3.2 * MUSCLE_TEAR_RATE;
// Calculate muscle damage recovery
GVAR(muscleDamage) = 0 max (GVAR(muscleDamage) - MUSCLE_RECOVERY * GVAR(recoveryFactor)) min 1;
private _muscleIntegrity = 1 - GVAR(muscleDamage);
private _muscleFactor = sqrt _muscleIntegrity;
// Calculate available power
private _ae1PathwayPowerFatigued = GVAR(ae1PathwayPower) * sqrt (GVAR(ae1Reserve) / AE1_MAXRESERVE) * OXYGEN * _muscleIntegritySqrt;
private _ae2PathwayPowerFatigued = GVAR(ae2PathwayPower) * sqrt (GVAR(ae2Reserve) / AE2_MAXRESERVE) * OXYGEN * _muscleIntegritySqrt;
private _ae1PathwayPowerFatigued = GVAR(ae1PathwayPower) * sqrt (GVAR(ae1Reserve) / AE1_MAXRESERVE) * _oxygen * _muscleFactor;
private _ae2PathwayPowerFatigued = GVAR(ae2PathwayPower) * sqrt (GVAR(ae2Reserve) / AE2_MAXRESERVE) * _oxygen * _muscleFactor;
private _aePathwayPowerFatigued = _ae1PathwayPowerFatigued + _ae2PathwayPowerFatigued;
private _anPathwayPowerFatigued = GVAR(anPathwayPower) * sqrt (GVAR(anReserve) / AN_MAXRESERVE) * _oxygen * _muscleIntegrity;
// Calculate how much power is consumed from each reserve
private _ae1Power = _currentWork min _ae1PathwayPowerFatigued;
private _ae2Power = ((_currentWork - _ae1Power) max 0) min _ae2PathwayPowerFatigued;
private _anPower = (_currentWork - _ae1Power - _ae2Power) max 0;
private _ae2Power = (_currentWork - _ae1Power) min _ae2PathwayPowerFatigued;
private _anPower = 0 max (_currentWork - _ae1Power - _ae2Power);
// Remove ATP from reserves for current work
GVAR(ae1Reserve) = GVAR(ae1Reserve) - _ae1Power / WATTSPERATP;
GVAR(ae2Reserve) = GVAR(ae2Reserve) - _ae2Power / WATTSPERATP;
GVAR(anReserve) = GVAR(anReserve) - _anPower / WATTSPERATP;
// Increase anearobic fatigue
GVAR(anFatigue) = GVAR(anFatigue) + _anPower * (0.057 / GVAR(peakPower)) * 1.1;
GVAR(ae1Reserve) = 0 max (GVAR(ae1Reserve) - _ae1Power / GVAR(aeWattsPerATP));
GVAR(ae2Reserve) = 0 max (GVAR(ae2Reserve) - _ae2Power / GVAR(aeWattsPerATP));
GVAR(anReserve) = 0 max (GVAR(anReserve) - _anPower / GVAR(anWattsPerATP));
// Acidosis accumulation
GVAR(anFatigue) = GVAR(anFatigue) + _anPower * GVAR(maxPowerFatigueRatio) * 1.1;
// Aerobic ATP reserve recovery
GVAR(ae1Reserve) = ((GVAR(ae1Reserve) + OXYGEN * 6.60 * (GVAR(ae1PathwayPower) - _ae1Power) / GVAR(ae1PathwayPower) * GVAR(recoveryFactor)) min AE1_MAXRESERVE) max 0;
GVAR(ae2Reserve) = ((GVAR(ae2Reserve) + OXYGEN * 5.83 * (GVAR(ae2PathwayPower) - _ae2Power) / GVAR(ae2PathwayPower) * GVAR(recoveryFactor)) min AE2_MAXRESERVE) max 0;
GVAR(ae1Reserve) = (GVAR(ae1Reserve) + _oxygen * GVAR(recoveryFactor) * AE1_ATP_RECOVERY * (GVAR(ae1PathwayPower) - _ae1Power) / GVAR(ae1PathwayPower)) min AE1_MAXRESERVE;
GVAR(ae2Reserve) = (GVAR(ae2Reserve) + _oxygen * GVAR(recoveryFactor) * AE2_ATP_RECOVERY * (GVAR(ae2PathwayPower) - _ae2Power) / GVAR(ae2PathwayPower)) min AE2_MAXRESERVE;
// Anaerobic ATP reserver and fatigue recovery
GVAR(anReserve) = ((GVAR(anReserve)
+ (_ae1PathwayPowerFatigued + _ae2PathwayPowerFatigued - _ae1Power - _ae2Power) / GVAR(VO2MaxPower) * 56.7 * GVAR(anFatigue) ^ 2 * GVAR(recoveryFactor)
) min AN_MAXRESERVE) max 0;
private _aeSurplus = _ae1PathwayPowerFatigued + _ae2PathwayPowerFatigued - _ae1Power - _ae2Power;
GVAR(anFatigue) = ((GVAR(anFatigue)
- (_ae1PathwayPowerFatigued + _ae2PathwayPowerFatigued - _ae1Power - _ae2Power) * (0.057 / GVAR(peakPower)) * GVAR(anFatigue) ^ 2 * GVAR(recoveryFactor)
) min 1) max 0;
// Anaerobic ATP reserve recovery
GVAR(anReserve) = 0 max (GVAR(anReserve) + _aeSurplus / GVAR(VO2MaxPower) * AN_ATP_RECOVERY * GVAR(recoveryFactor) * (GVAR(anFatigue) max linearConversion [AN_MAXRESERVE, 0, GVAR(anReserve), 0, 0.75, true]) ^ 2) min AN_MAXRESERVE; // max linearConversion ensures that if GVAR(anFatigue) is very low, it will still regenerate reserves
// Acidosis recovery
GVAR(anFatigue) = 0 max (GVAR(anFatigue) - _aeSurplus * GVAR(maxPowerFatigueRatio) * GVAR(recoveryFactor) * GVAR(anFatigue) ^ 2) min 1;
private _aeReservePercentage = (GVAR(ae1Reserve) / AE1_MAXRESERVE + GVAR(ae2Reserve) / AE2_MAXRESERVE) / 2;
private _anReservePercentage = GVAR(anReserve) / AN_MAXRESERVE;
private _perceivedFatigue = 1 - (_anReservePercentage min _aeReservePercentage);
// Respiratory rate decrease
GVAR(respiratoryRate) = GVAR(respiratoryRate) * GVAR(respiratoryBufferDivisor);
[ACE_player, _perceivedFatigue, _currentSpeed, GVAR(anReserve) == 0] call FUNC(handleEffects);
// Respiratory rate increase
private _aePowerRatio = (GVAR(aePathwayPower) / _aePathwayPowerFatigued) min 2;
private _respiratorySampleDivisor = 1 / (RESPIRATORY_BUFFER * 4.72 * GVAR(VO2Max));
GVAR(respiratoryRate) = (GVAR(respiratoryRate) + _currentWork * _respiratorySampleDivisor * _aePowerRatio) min 1;
if (GVAR(enableStaminaBar)) then {
// Calculate a pseudo-perceived fatigue, which is used for effects
GVAR(aeReservePercentage) = (GVAR(ae1Reserve) / AE1_MAXRESERVE + GVAR(ae2Reserve) / AE2_MAXRESERVE) / 2;
GVAR(anReservePercentage) = GVAR(anReserve) / AN_MAXRESERVE;
private _perceivedFatigue = 1 - (GVAR(anReservePercentage) min GVAR(aeReservePercentage));
#ifdef DEBUG_MODE_FULL
systemChat format ["---- muscleDamage: %1 ----", GVAR(muscleDamage) toFixed 8];
systemChat format ["---- ae2: %1 - an: %2 ----", (GVAR(ae2Reserve) / AE2_MAXRESERVE) toFixed 2, (GVAR(anReserve) / AN_MAXRESERVE) toFixed 2];
systemChat format ["---- anFatigue: %1 - perceivedFatigue: %2 ----", GVAR(anFatigue) toFixed 2, _perceivedFatigue toFixed 2];
systemChat format ["---- velocity %1 - respiratoryRate: %2 ----", (vectorMagnitude _velocity) toFixed 2, GVAR(respiratoryRate) toFixed 2];
// systemChat format ["---- aePower: %1 ----", _aePathwayPowerFatigued toFixed 1];
#endif
[ACE_player, _perceivedFatigue, GVAR(anReserve) == 0, _fwdAngle, _sideAngle] call FUNC(handleEffects);
if (GVAR(enableStaminaBarRealized)) then {
[GVAR(anReserve) / AN_MAXRESERVE] call FUNC(handleStaminaBar);
};
[FUNC(mainLoop), [], 1] call CBA_fnc_waitAndExecute;
[LINKFUNC(mainLoop), [], 1] call CBA_fnc_waitAndExecute;

View File

@ -0,0 +1,40 @@
#include "..\script_component.hpp"
/*
* Author: ulteq
* Draw lines for debugging.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* call ace_advanced_fatigue_fnc_renderDebugLines
*
* Public: No
*/
addMissionEventHandler ["Draw3D", {
private _normal = surfaceNormal (getPosWorld ACE_player);
private _beg = (getPosWorld ACE_player) vectorAdd (_normal vectorMultiply 0.5);
private _end = _beg vectorAdd (_normal vectorMultiply 2);
drawLine3D [ASLToATL _beg, ASLToATL _end, [0, 1, 0, 1]];
private _side = vectorNormalized (_normal vectorCrossProduct [0, 0, 1]);
private _end = _beg vectorAdd (_side vectorMultiply 2);
drawLine3D [ASLToATL _beg, ASLToATL _end, [0, 0, 1, 1]];
private _up = vectorNormalized (_normal vectorCrossProduct _side);
private _end = _beg vectorAdd (_up vectorMultiply 2);
drawLine3D [ASLToATL _beg, ASLToATL _end, [1, 0, 0, 1]];
private _movementVector = vectorNormalized (velocity ACE_player);
private _end = _beg vectorAdd (_movementVector vectorMultiply 2);
drawLine3D [ASLToATL _beg, ASLToATL _end, [1, 1, 0, 1]];
private _sideVector = vectorNormalized (_movementVector vectorCrossProduct _normal);
_sideVector set [2, 0];
private _end = _beg vectorAdd (_sideVector vectorMultiply 2);
drawLine3D [ASLToATL _beg, ASLToATL _end, [0, 1, 1, 1]];
}];

View File

@ -0,0 +1,25 @@
#include "..\script_component.hpp"
/*
* Author: PabstMirror
* Updates the stamina bar state
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ace_advanced_fatigue_fnc_updateStaminaBar
*
* Public: No
*/
GVAR(enableStaminaBarRealized) = GVAR(enabled) && GVAR(enableStaminaBar) && {!(missionNamespace getVariable [QEGVAR(ui,hideHud), false])};
TRACE_1("updateStaminaBar",GVAR(enableStaminaBarRealized));
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
if (isNull _staminaBarContainer) exitWith {};
_staminaBarContainer ctrlSetFade ([1, 0] select GVAR(enableStaminaBarRealized));
_staminaBarContainer ctrlCommit 0;

View File

@ -0,0 +1,81 @@
[
QGVAR(enabled),
"CHECKBOX",
[LSTRING(Enabled), LSTRING(Enabled_Description)],
LSTRING(DisplayName),
true,
1,
{
call FUNC(updateStaminaBar);
[QGVAR(enabled), _this] call EFUNC(common,cbaSettings_settingChanged)
},
true // Needs mission restart
] call CBA_fnc_addSetting;
[
QGVAR(enableStaminaBar),
"CHECKBOX",
[LSTRING(EnableStaminaBar), LSTRING(EnableStaminaBar_Description)],
LSTRING(DisplayName),
true,
1,
{call FUNC(updateStaminaBar)}
] call CBA_fnc_addSetting;
[
QGVAR(fadeStaminaBar),
"CHECKBOX",
[LSTRING(FadeStaminaBar), LSTRING(FadeStaminaBar_Description)],
LSTRING(DisplayName),
true,
0,
{
if (!_this && GVAR(enabled) && GVAR(enableStaminaBar)) then {
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
_staminaBarContainer ctrlSetFade 0;
_staminaBarContainer ctrlCommit 0;
};
}
] call CBA_fnc_addSetting;
[
QGVAR(performanceFactor),
"SLIDER",
[LSTRING(PerformanceFactor), LSTRING(PerformanceFactor_Description)],
LSTRING(DisplayName),
[0, 10, 1, 2],
1,
{
// Recalculate values if the setting is changed mid-mission
if (GVAR(enabled) && hasInterface && !isNull ACE_player) then {
[ACE_player, ACE_player] call FUNC(handlePlayerChanged);
};
}
] call CBA_fnc_addSetting;
[
QGVAR(recoveryFactor),
"SLIDER",
[LSTRING(RecoveryFactor), LSTRING(RecoveryFactor_Description)],
LSTRING(DisplayName),
[0, 10, 1, 2],
1
] call CBA_fnc_addSetting;
[
QGVAR(loadFactor),
"SLIDER",
[LSTRING(LoadFactor), LSTRING(LoadFactor_Description)],
LSTRING(DisplayName),
[0, 5, 1, 2],
1
] call CBA_fnc_addSetting;
[
QGVAR(terrainGradientFactor),
"SLIDER",
[LSTRING(TerrainGradientFactor), LSTRING(TerrainGradientFactor_Description)],
LSTRING(DisplayName),
[0, 5, 1, 2],
1
] call CBA_fnc_addSetting;

View File

@ -1,109 +0,0 @@
[
QGVAR(enabled),
"CHECKBOX",
[LSTRING(Enabled), LSTRING(Enabled_Description)],
LSTRING(DisplayName),
true,
true, {
if (!_this) then {
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
_staminaBarContainer ctrlSetFade 1;
_staminaBarContainer ctrlCommit 0;
};
[QGVAR(enabled), _this] call EFUNC(common,cbaSettings_settingChanged)
},
true // Needs mission restart
] call CBA_fnc_addSetting;
[
QGVAR(enableStaminaBar),
"CHECKBOX",
[LSTRING(EnableStaminaBar), LSTRING(EnableStaminaBar_Description)],
LSTRING(DisplayName),
true,
true, {
if (!_this) then {
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
_staminaBarContainer ctrlSetFade 1;
_staminaBarContainer ctrlCommit 0;
};
}
] call CBA_fnc_addSetting;
[
QGVAR(fadeStaminaBar),
"CHECKBOX",
[LSTRING(FadeStaminaBar), LSTRING(FadeStaminaBar_Description)],
LSTRING(DisplayName),
true,
false, {
if (!_this && GVAR(enabled) && GVAR(enableStaminaBar)) then {
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
_staminaBarContainer ctrlSetFade 0;
_staminaBarContainer ctrlCommit 0;
};
}
] call CBA_fnc_addSetting;
[
QGVAR(performanceFactor),
"SLIDER",
[LSTRING(PerformanceFactor), LSTRING(PerformanceFactor_Description)],
LSTRING(DisplayName),
[0, 5, 1, 1],
true
] call CBA_fnc_addSetting;
[
QGVAR(recoveryFactor),
"SLIDER",
[LSTRING(RecoveryFactor), LSTRING(RecoveryFactor_Description)],
LSTRING(DisplayName),
[0, 5, 1, 1],
true
] call CBA_fnc_addSetting;
[
QGVAR(loadFactor),
"SLIDER",
[LSTRING(LoadFactor), LSTRING(LoadFactor_Description)],
LSTRING(DisplayName),
[0, 5, 1, 1],
true
] call CBA_fnc_addSetting;
[
QGVAR(terrainGradientFactor),
"SLIDER",
[LSTRING(TerrainGradientFactor), LSTRING(TerrainGradientFactor_Description)],
LSTRING(DisplayName),
[0, 5, 1, 1],
true
] call CBA_fnc_addSetting;
[
QGVAR(swayFactor),
"SLIDER",
[LSTRING(SwayFactor), LSTRING(SwayFactor_Description)],
LSTRING(DisplayName),
[0, 5, 1, 1],
true
] call CBA_fnc_addSetting;
[
QGVAR(restedSwayFactor),
"SLIDER",
[LSTRING(RestedSwayFactor), LSTRING(RestedSwayFactor_Description)],
LSTRING(DisplayName),
[0, 5, 1, 2],
true
] call CBA_fnc_addSetting;
[
QGVAR(deployedSwayFactor),
"SLIDER",
[LSTRING(DeployedSwayFactor), LSTRING(DeployedSwayFactor_Description)],
LSTRING(DisplayName),
[0, 5, 1, 2],
true
] call CBA_fnc_addSetting;

View File

@ -16,14 +16,28 @@
#include "\z\ace\addons\main\script_macros.hpp"
#define UNDERWEAR_WEIGHT 3.5
#define ANTPERCENT 0.8
#define SIM_BODYMASS 70
#define JOULES_PER_ML_O2 20.9
#define VO2MAX_STRENGTH 4.1
#define REE 18.83 //((0.5617 * SIM_BODYMASS + 42.57) * 0.23)
#define OXYGEN 0.9
#define WATTSPERATP 7
#define BIOMECH_EFFICIENCY 0.23
#define REE 18.83 // ((0.5617 * SIM_BODYMASS + 42.57) * BIOMECH_EFFICIENCY)
#define AE1_MAXRESERVE 4000000
#define AE2_MAXRESERVE 84000
#define AN_MAXRESERVE 2300
#define RESPIRATORY_BUFFER 60
#define MUSCLE_TEAR_RATE 0.00004
#define MUSCLE_RECOVERY 0.00000386
#define AE1_ATP_RELEASE_RATE 13.3 // mmol
#define AE2_ATP_RELEASE_RATE 16.7 // mmol
#define AN_ATP_RELEASE_RATE 113.3 // mmol
#define AE1_ATP_RECOVERY 6.60 // mmol
#define AE2_ATP_RECOVERY 5.83 // mmol
#define AN_ATP_RECOVERY 56.70 // mmol
#define AE1_MAXRESERVE 4000000 // mmol
#define AE2_MAXRESERVE 84000 // mmol
#define AN_MAXRESERVE 2300 // mmol

View File

@ -7,7 +7,7 @@
<German>ACE Erweiterte Ausdauer</German>
<Chinese>ACE 進階疲勞</Chinese>
<Chinesesimp>ACE 进阶体力</Chinesesimp>
<Japanese>ACE アドバンスド ファティーグ</Japanese>
<Japanese>ACE 高度な疲労</Japanese>
<Italian>ACE Fatica Avanzata</Italian>
<Korean>ACE 고급 피로도</Korean>
<French>ACE Fatigue avancée</French>
@ -41,10 +41,10 @@
<Polish>Wpływa na ogólną wydolność organizmu u wszystkich graczy bez ustawionego niestandardowego współczynnika. Więcej znaczy lepiej.</Polish>
<Korean>모든 성능이 임의로 설정된 값 없이 영향받습니다. 값이 클수록 더 나은 성능을 발휘합니다</Korean>
<French>Impacte la performance globale de tous les joueurs n'ayant pas de facteur personnalisé.\nPlus la valeur est élevée, plus le joueur est performant.</French>
<Italian>Influenza qualsiasi prestazione di tutti i giocatori smuniti di un fattore personalizzato. Maggiore significa migliore.</Italian>
<Italian>Influenza la prestazione generale di tutti i giocatori smuniti di un fattore personalizzato. Maggiore significa migliore.</Italian>
<Chinese>影響所有玩家的體力表現,值越高代表體力越好</Chinese>
<Chinesesimp>影响所有玩家的体力表现,值越高代表体力越好</Chinesesimp>
<Russian>Влияет на общую производительность игроков, у которых не задано персональное значение.</Russian>
<Russian>Влияет на общую производительность игроков, у которых не задано персональное значение. Чем выше, тем лучше.</Russian>
<Portuguese>Influencia na performance geral de todos os jogadores sem nenhum fator personalizado. Quanto maior, melhor.</Portuguese>
<Czech>Ovlivňuje celkový výkon všech hráčů bez vlastního faktoru. Vyšší znamená lépe.</Czech>
</Key>
@ -56,10 +56,10 @@
<Polish>Wpływa na ogólną wydolność tej jednostki. Więcej znaczy lepiej.</Polish>
<Korean>모든 성능이 이 단위로 영향을 받습니다. 값이 클수록 더 나은 성능을 발휘합니다</Korean>
<French>Impacte la performance globale de cette unité.\nPlus la valeur est élevée, plus l'unité est performante.</French>
<Italian>Influenza qualsiasi prestazione di questa unità. Maggiore significa migliore.</Italian>
<Italian>Influenza la prestazione personalizzata di questa unità. Maggiore significa migliore.</Italian>
<Chinese>影響這個單位的體力表現,值越高代表體力越好</Chinese>
<Chinesesimp>影响这个单位的体力表现,值越高代表体力越好</Chinesesimp>
<Russian>Влияет на общую производительность юнита.</Russian>
<Russian>Влияет на общую производительность юнита.Чем выше, тем лучше.</Russian>
<Portuguese>Influencia na performance geral dessa unidade. Quanto maior, melhor.</Portuguese>
<Czech>Ovlivňuje celkový výkon této jednotky. Vyšší znamená lépe.</Czech>
</Key>
@ -87,7 +87,7 @@
<Polish>Wpływa na czas regeneracji podczas postoju. Więcej znaczy szybciej.</Polish>
<Korean>얼마나 빨리 회복하는지를 바꿉니다. 값이 클수록 더 나은 성능을 발휘합니다</Korean>
<French>Modifie la vitesse à laquelle le joueur récupère lorsqu'il se repose.\nPlus la valeur est élevée, plus la récupération est rapide.</French>
<Italian>Determina in quanto tempo il giocatore recupera quando rilassato. Maggiore significa migliore.</Italian>
<Italian>Determina quanto velocemente il giocatore recupera le energie quando si ferma. Maggiore significa migliore.</Italian>
<Chinese>決定玩家休息多久就能回復體力,值越高恢復越快</Chinese>
<Chinesesimp>决定玩家休息多久就能恢复体力,值越高恢复越快</Chinesesimp>
<Russian>Изменяет скорость восстановления игрока во время отдыха. Чем выше, тем быстрее.</Russian>
@ -102,7 +102,7 @@
<Polish>Współczynnik masy ekwipunku</Polish>
<Korean>부담 요인</Korean>
<French>Facteur de charge</French>
<Italian>Fattore Caricamento</Italian>
<Italian>Fattore Carico</Italian>
<Chinese>負重量</Chinese>
<Chinesesimp>重量系数</Chinesesimp>
<Russian>Фактор нагрузки</Russian>
@ -117,7 +117,7 @@
<Polish>Zmniejsza lub zwiększa wpływ ciężaru ekwipunku na wydolność gracza. Zero oznacza kompletny brak wpływu na wydolność.</Polish>
<Korean>플레이어가 무게에 따라 얼마나 영향받는지를 증가시키거나 감소시킵니다. 0의 경우 플레이어가 장비 무게에 영향받지 않습니다.</Korean>
<French>Augmente ou diminue l'influence du poids sur les performances du joueur.\nUne valeur nulle indique que le poids de l'équipement n'a aucun impact sur les performances.</French>
<Italian>Incrementa o decrementa quanto il peso influenza le prestazioni dei giocatori. Zero significa che il peso dell'equipaggiamento non ha alcuna influenza nelle prestazioni.</Italian>
<Italian>Determina quanto il peso trasportato influenza le prestazioni dei giocatori. Zero significa che il peso dell'equipaggiamento non influisce sulle prestazioni.</Italian>
<Chinese>增加或降低玩家所能承受的負重量. 如設定值為0, 代表裝備的重量將不會影響到玩家的體力表現</Chinese>
<Chinesesimp>增加或降低玩家所能承受的负重量。如设定值为0代表装备的重量将不会影响到玩家的体力表现</Chinesesimp>
<Russian>Увеличивает или уменьшает вес, влияющий на производительность игроков. Ноль означает, что вес снаряжения не влияет на производительность</Russian>
@ -147,72 +147,22 @@
<Polish>Wpływa na to w jakim stopniu stromy teren wpływa na utratę wytrzymałości. Więcej oznacza szybszą utratę wytrzymałości.</Polish>
<Korean>경사도에 따라 얼마나 피로해지는지를 정합니다. 값이 클수록 더 많은 피로를 유발합니다.</Korean>
<French>Définit à quel point un terrain escarpé réduit l'endurance du joueur.\nPlus la valeur est élevée, moins le joueur est endurant.</French>
<Italian>Stabilisce quanto la pendenza del terreno incrementa la perdita della stamina. Maggiore significa più stamina persa.</Italian>
<Italian>Determina quanto la pendenza del terreno incrementa la perdita della stamina. Maggiore significa più stamina persa.</Italian>
<Chinese>設定陡峭的地形將會影響多少體力的流失,值越高代表體力流失越快</Chinese>
<Chinesesimp>设定陡峭的地形将会影响多少体力的流失速度,值越高代表体力流失越快</Chinesesimp>
<Russian>Устанавливает, насколько крутая местность увеличивает потерю выносливости. Чем выше, тем быстрее теряется выносливость.</Russian>
<Portuguese>Define o quanto que um terreno íngrime aumenta na perda de estamina. Quanto maior, maior a perda de estamina.</Portuguese>
<Czech>Nastavuje, o kolik strmý terén zvyšuje ztrátu výdrže. Vyšší znamená vyšší ztrátu výdrže.</Czech>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_SwayFactor">
<English>Sway factor</English>
<Spanish>Factor de balanceo de mira</Spanish>
<German>Verwacklungsfaktor</German>
<Japanese>手ぶれ因数</Japanese>
<Chinesesimp>抖动系数</Chinesesimp>
<Chinese>抖動因素</Chinese>
<French>Facteur de tremblement</French>
<Italian>Fattore di oscillazione</Italian>
<Polish>Czynnik kołysania</Polish>
<Russian>Фактор колебания прицела</Russian>
<Portuguese>Fator de Balanço de Mira</Portuguese>
<Czech>Faktor kývání</Czech>
<Korean>손떨림 정도</Korean>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_SwayFactor_Description">
<English>Influences the amount of weapon sway. Higher means more sway.</English>
<Spanish>Afecta al la estabilidad de la mira. Más alto significa más balanceo</Spanish>
<German>Beeinflusst den Faktor, wie ruhig man eine Waffe halten kann. Ein höherer Wert bedeutet weniger Stabilisierung</German>
<Japanese>武器を持つ手のぶれ度合いを設定します。 値が高ければ高いほど、手ぶれが強くなります。</Japanese>
<Chinesesimp>影响手持武器的晃动程度,数值越高,抖动的越厉害。</Chinesesimp>
<Chinese>影響手持武器晃動程度,數值越高抖動越厲害</Chinese>
<French>Influe sur l'amplitude du tremblement de l'arme. Une valeur plus élevée signifie plus de tremblement.</French>
<Italian>Influenza l'ammontare di oscillazione dell'arma. Maggiore significa più oscillazione.</Italian>
<Polish>Wpływa na poziom kołysania broni. Większa ilość znaczy większe kołysanie.</Polish>
<Russian>Влияет на колебания прицела оружия. Чем выше - тем больше.</Russian>
<Portuguese>Influencia a quantidade de balanço da mira da arma. Quanto maior, mais balanço.</Portuguese>
<Czech>Ovlivňuje množství kývání zbraní. Vyšší znamená více kývání.</Czech>
<Korean>손떨림의 정도를 정합니다. 높을 수록 많이 휘적입니다.</Korean>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_RestedSwayFactor">
<English>Rested sway factor</English>
<French>Facteur de balancement au repos</French>
<Korean>휴식 시 손떨림 정도</Korean>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_RestedSwayFactor_Description">
<English>Influences the amount of weapon sway while weapon is rested.</English>
<French>Influence le degré de balancement de l'arme au repos.</French>
<Korean>무기가 아무런 행동도 하지 않는 동안 무기가 흔들리는 정도를 정합니다.</Korean>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_DeployedSwayFactor">
<English>Deployed sway factor</English>
<French>Facteur de balancement déployé</French>
<Korean>거치 시 손떨림 정도</Korean>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_DeployedSwayFactor_Description">
<English>Influences the amount of weapon sway while weapon is deployed.</English>
<French>Influence le degré de balancement de l'arme déployée.</French>
<Korean>무기를 거치하는 동안 무기를 흔드는 정도를 정합니다.</Korean>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_Enabled">
<English>Enabled</English>
<Spanish>Activada</Spanish>
<German>Aktiv</German>
<Japanese>アドバンスド ファティーグを有効化</Japanese>
<Japanese>有効化</Japanese>
<Polish>Włączone</Polish>
<Korean>활성화</Korean>
<French>Activé</French>
<Italian>Abilitato</Italian>
<Italian>Abilitata</Italian>
<Chinese>啟用</Chinese>
<Chinesesimp>启用</Chinesesimp>
<Russian>Включена</Russian>
@ -223,14 +173,14 @@
<English>Enables/disables Advanced Fatigue.</English>
<Spanish>Activa/desactiva la fatiga avanzada</Spanish>
<German>Aktiviert/deaktiviert Advanced Fatigue.</German>
<Japanese>アドバンスド ファティーグを有効化します。</Japanese>
<Japanese>高度な疲労を有効/無効化します。</Japanese>
<Polish>Włącza/wyłącza zaawansowaną wytrzymałość</Polish>
<Korean>고급 피로도 활성화/비활성화</Korean>
<French>Active/Désactive la fatigue avancée.</French>
<Italian>Abilita/disabilita la Fatica Avanzata.</Italian>
<Italian>Abilita/Disabilita la Fatica Avanzata.</Italian>
<Chinese>啟用/關閉進階體力.</Chinese>
<Chinesesimp>启用/关闭进阶体力。</Chinesesimp>
<Russian>Включает / Отключает Продвинутую усталость</Russian>
<Russian>Включает/отключает Продвинутую усталость</Russian>
<Portuguese>Ativa/Desativa Fadiga Avançada.</Portuguese>
<Czech>Aktivuje / deaktivuje Pokročilou únavu.</Czech>
</Key>
@ -271,7 +221,7 @@
<German>Blende Ausdauerleiste automatisch aus</German>
<Chinese>體力條自動淡去</Chinese>
<Chinesesimp>自动淡化体力条</Chinesesimp>
<Italian>Dissolvenza automatica della barra della stamina</Italian>
<Italian>Nascondi in automatico la barra della stamina</Italian>
<Czech>Automaticky schovat lištu výdrže</Czech>
<French>Fondu automatique de la barre d'endurance</French>
<Japanese>自動的にスタミナバーを非表示</Japanese>

View File

@ -2,26 +2,18 @@
// Fired XEH
GVAR(ammoEventHandlers) = createHashMap;
[QGVAR(throwFiredXEH), FUNC(throwFiredXEH)] call CBA_fnc_addEventHandler;
[QGVAR(throwFiredXEH), LINKFUNC(throwFiredXEH)] call CBA_fnc_addEventHandler;
// Exit on HC
if (!hasInterface) exitWith {};
// Ammo/Magazines look-up hash for correctness of initSpeed
GVAR(ammoMagLookup) = call CBA_fnc_createNamespace;
{
{
private _ammo = getText (configFile >> "CfgMagazines" >> _x >> "ammo");
if (_ammo != "") then { GVAR(ammoMagLookup) setVariable [_ammo, _x]; };
} count (getArray (configFile >> "CfgWeapons" >> "Throw" >> _x >> "magazines"));
nil
} count getArray (configFile >> "CfgWeapons" >> "Throw" >> "muzzles");
// Temporary Wind Info indication
GVAR(tempWindInfo) = false;
// Add keybinds
["ACE3 Weapons", QGVAR(prepare), localize LSTRING(Prepare), {
// Condition
if (!([ACE_player] call FUNC(canPrepare))) exitWith {false};
if !([ACE_player] call FUNC(canPrepare)) exitWith {false};
if (EGVAR(common,isReloading)) exitWith {true};
// Statement

View File

@ -6,6 +6,6 @@ PREP_RECOMPILE_START;
#include "XEH_PREP.hpp"
PREP_RECOMPILE_END;
#include "initSettings.sqf"
#include "initSettings.inc.sqf"
ADDON = true;

View File

@ -1,3 +1,21 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"
// Ammo/Magazines look-up hash for correctness of initSpeed
private _cfgMagazines = configFile >> "CfgMagazines";
private _cfgAmmo = configFile >> "CfgAmmo";
private _cfgThrow = configFile >> "CfgWeapons" >> "Throw";
private _ammoMagLookup = createHashMap;
{
{
private _ammo = getText (_cfgMagazines >> _x >> "ammo");
if (_ammo != "") then {
_ammoMagLookup set [configName (_cfgAmmo >> _ammo), _x];
};
} forEach (getArray (_cfgThrow >> _x >> "magazines"));
} forEach (getArray (_cfgThrow >> "muzzles"));
uiNamespace setVariable [QGVAR(ammoMagLookup), compileFinal _ammoMagLookup];

View File

@ -19,7 +19,7 @@ params ["_unit"];
if !(_unit getVariable [QGVAR(inHand), false]) exitWith {false};
if (vehicle _unit != _unit) exitWith {
if (!isNull objectParent _unit) exitWith {
private _startPos = eyePos _unit;
private _aimLinePos = AGLToASL (positionCameraToWorld [0, 0, 1]);
private _intersections = lineIntersectsSurfaces [_startPos, _aimLinePos, _unit, objNull, false];

View File

@ -43,13 +43,10 @@ if ((!_primed) && {!((_throwableMag in (uniformItems ACE_player)) || {_throwable
// Get correct throw power for primed grenade
if (_primed) then {
private _ammoType = typeOf _activeThrowable;
_throwableMag = GVAR(ammoMagLookup) getVariable _ammoType;
if (isNil "_throwableMag") then {
// What we're trying to throw must not be a normal throwable because it is not in our lookup hash (e.g. 40mm smoke)
// Just use HandGrenade as it has an average initSpeed value
_throwableMag = "HandGrenade";
};
// If ammo type is not found:
// What we're trying to throw must not be a normal throwable because it is not in our lookup hash (e.g. 40mm smoke)
// Just use HandGrenade as it has an average initSpeed value
_throwableMag = (uiNamespace getVariable QGVAR(ammoMagLookup)) getOrDefault [typeOf _activeThrowable, "HandGrenade"];
};
// Some throwables have different classname for magazine and ammo

View File

@ -53,6 +53,12 @@ _unit setVariable [QGVAR(dropDistance), DROP_DISTANCE_DEFAULT];
// Remove controls hint (check if ever enabled is inside the function)
call EFUNC(interaction,hideMouseHint);
// Hide wind info after throw, if it was temporarily enabled for the throw
if (GVAR(tempWindInfo)) then {
EGVAR(weather,WindInfo) = false;
GVAR(tempWindInfo) = false;
};
// Remove throw action
[_unit, "DefaultAction", _unit getVariable [QGVAR(throwAction), -1]] call EFUNC(common,removeActionEventHandler);

View File

@ -17,9 +17,9 @@
params ["_magazineClassname"];
_magazineClassname = toLower _magazineClassname;
_magazineClassname = toLowerANSI _magazineClassname;
private _throwMuzzles = getArray (configFile >> "CfgWeapons" >> "Throw" >> "muzzles");
_throwMuzzles = _throwMuzzles select {_magazineClassname in ((getArray (configFile >> "CfgWeapons" >> "Throw" >> _x >> "magazines")) apply {toLower _x})};
_throwMuzzles = _throwMuzzles select {_magazineClassname in ((getArray (configFile >> "CfgWeapons" >> "Throw" >> _x >> "magazines")) apply {toLowerANSI _x})};
[_throwMuzzles select 0, ""] select (_throwMuzzles isEqualTo [])

View File

@ -21,7 +21,7 @@ TRACE_1("params",_unit);
// Select next throwable if one already in hand
if (_unit getVariable [QGVAR(inHand), false]) exitWith {
TRACE_1("inHand",_unit);
if (!(_unit getVariable [QGVAR(primed), false])) then {
if !(_unit getVariable [QGVAR(primed), false]) then {
TRACE_1("not primed",_unit);
// Restore muzzle ammo (setAmmo 1 has no impact if no appliccable throwable in inventory)
// selectNextGrenade relies on muzzles array (setAmmo 0 removes the muzzle from the array and current can't be found, cycles between 0 and 1 muzzles)
@ -35,6 +35,11 @@ if (isNull (_unit getVariable [QGVAR(activeThrowable), objNull]) && {(currentThr
TRACE_1("no throwables",_unit);
};
// Temporarily enable wind info, to aid in throwing smoke grenades effectively
if (GVAR(enableTempWindInfo) && {!(missionNamespace getVariable [QEGVAR(weather,WindInfo), false])}) then {
[] call EFUNC(weather,displayWindInfo);
GVAR(tempWindInfo) = true;
};
_unit setVariable [QGVAR(inHand), true];

View File

@ -44,8 +44,7 @@
_addedPickUpHelpers pushBack _pickUpHelper;
_throwablesHelped pushBack _x;
};
nil
} count _nearThrowables;
} forEach _nearThrowables;
_args set [0, getPosASL ACE_player];
_args set [3, _nearThrowables];
@ -56,11 +55,10 @@
{
// Only handling with attachTo works nicely
_x attachTo [_x getVariable [QGVAR(throwable), objNull], [0, 0, 0]];
nil
} count _addedPickUpHelpers;
} forEach _addedPickUpHelpers;
} else {
TRACE_1("Cleaning Pick Up Helpers",count _addedPickUpHelpers);
{deleteVehicle _x} count _addedPickUpHelpers;
{deleteVehicle _x} forEach _addedPickUpHelpers;
[_idPFH] call CBA_fnc_removePerFrameHandler;
};
}, 0, [(getPosASL ACE_player) vectorAdd [-100, 0, 0], [], [], []]] call CBA_fnc_addPerFrameHandler;

View File

@ -20,7 +20,7 @@ TRACE_1("params",_unit);
// Prime the throwable if it hasn't been cooking already
// Next to proper simulation this also has to happen before delay for orientation of the throwable to be set
if (!(_unit getVariable [QGVAR(primed), false])) then {
if !(_unit getVariable [QGVAR(primed), false]) then {
[_unit] call FUNC(prime);
};
@ -45,7 +45,7 @@ if (!(_unit getVariable [QGVAR(primed), false])) then {
private _newVelocity = (_p1 vectorFromTo _p2) vectorMultiply _velocity;
// Adjust for throwing from inside vehicles, where we have a vehicle-based velocity that can't be compensated for by a human
if (vehicle _unit != _unit) then {
if (!isNull objectParent _unit) then {
_newVelocity = _newVelocity vectorAdd (velocity (vehicle _unit));
};

View File

@ -0,0 +1,50 @@
private _category = format ["ACE %1", localize LSTRING(Category)];
[
QGVAR(enabled),
"CHECKBOX",
[LSTRING(Enable_DisplayName), LSTRING(Enable_Description)],
_category,
true,
0
] call CBA_fnc_addSetting;
[
QGVAR(showThrowArc),
"CHECKBOX",
[LSTRING(ShowThrowArc_DisplayName), LSTRING(ShowThrowArc_Description)],
_category,
true,
0
] call CBA_fnc_addSetting;
[
QGVAR(showMouseControls), "CHECKBOX",
[LSTRING(ShowMouseControls_DisplayName), LSTRING(ShowMouseControls_Description)],
_category,
true,
0
] call CBA_fnc_addSetting;
[
QGVAR(enablePickUp), "CHECKBOX",
[LSTRING(EnablePickUp_DisplayName), LSTRING(EnablePickUp_Description)],
_category,
true,
1
] call CBA_fnc_addSetting;
[
QGVAR(enablePickUpAttached), "CHECKBOX",
[LSTRING(EnablePickUpAttached_DisplayName), LSTRING(EnablePickUpAttached_Description)],
_category,
true,
1
] call CBA_fnc_addSetting;
[
QGVAR(enableTempWindInfo), "CHECKBOX",
[LSTRING(EnableTempWindInfo_DisplayName), LSTRING(EnableTempWindInfo_Description)],
_category,
true,
0
] call CBA_fnc_addSetting;

View File

@ -1,42 +0,0 @@
private _category = format ["ACE %1", localize LSTRING(Category)];
[
QGVAR(enabled),
"CHECKBOX",
[LSTRING(Enable_DisplayName), LSTRING(Enable_Description)],
_category,
true,
0
] call CBA_fnc_addSetting;
[
QGVAR(showThrowArc),
"CHECKBOX",
[LSTRING(ShowThrowArc_DisplayName), LSTRING(ShowThrowArc_Description)],
_category,
true,
0
] call CBA_fnc_addSetting;
[
QGVAR(showMouseControls), "CHECKBOX",
[LSTRING(ShowMouseControls_DisplayName), LSTRING(ShowMouseControls_Description)],
_category,
true,
0
] call CBA_fnc_addSetting;
[
QGVAR(enablePickUp), "CHECKBOX",
[LSTRING(EnablePickUp_DisplayName), LSTRING(EnablePickUp_Description)],
_category,
true,
1
] call CBA_fnc_addSetting;
[
QGVAR(enablePickUpAttached), "CHECKBOX",
[LSTRING(EnablePickUpAttached_DisplayName), LSTRING(EnablePickUpAttached_Description)],
_category,
true,
1
] call CBA_fnc_addSetting;

View File

@ -5,7 +5,7 @@
<English>Advanced Throwing</English>
<Spanish>Lanzamiento Avanzado</Spanish>
<Russian>Улучшенный бросок гранат</Russian>
<Japanese>アドバンスド スローイング</Japanese>
<Japanese>高度な投擲</Japanese>
<Polish>Zaawansowane rzucanie</Polish>
<German>Erweitertes Wurfsystem</German>
<Korean>고급 투척</Korean>
@ -21,7 +21,7 @@
<English>Allows changing advanced throwing behaviour.</English>
<Spanish>Permite modificar el comportamiento del lanzamiento avanzado</Spanish>
<Russian>Позволяет настраивать поведение улучшенного броска гранат.</Russian>
<Japanese>アドバンスド スローイングの動作挙動を変更します。</Japanese>
<Japanese>高度な投擲挙動への変更を可能にします。</Japanese>
<Polish>Zezwala na zmianę zachowania zaawansowanego trybu rzucania.</Polish>
<German>Erlaubt es, das Verhalten des erweiterten Wurfsystems zu ändern.</German>
<Korean>고급 투척 행위를 허가합니다</Korean>
@ -36,7 +36,7 @@
<English>Enable Advanced Throwing</English>
<Spanish>Activar Lanzamiento Avanzado</Spanish>
<Russian>Вкл. улучшенный бросок</Russian>
<Japanese>アドバンスド スローイングを有効化</Japanese>
<Japanese>高度な投擲を有効化</Japanese>
<Polish>Aktywuj zaawansowane rzucanie</Polish>
<German>Aktiviere erweitertes Wurfsystem</German>
<Korean>고급 투척 활성화 </Korean>
@ -52,7 +52,7 @@
<English>Enables advanced throwing system.</English>
<Spanish>Activa el Lanzamiento Avanzado</Spanish>
<Russian>Включает систему улучшенного броска.</Russian>
<Japanese>アドバンスド スローイングを有効化します。</Japanese>
<Japanese>高度な投擲システムを有効化します。</Japanese>
<Polish>Aktywuje system zaawansowanego rzucania.</Polish>
<German>Aktiviert das erweiterte Wurfsystem.</German>
<Korean>고급 투척을 활성화 합니다</Korean>
@ -68,7 +68,7 @@
<English>Show Throw Arc</English>
<Spanish>Mostrar Arco de Lanzamiento</Spanish>
<Russian>Показать траекторию броска</Russian>
<Japanese>てき軌道を表示</Japanese>
<Japanese>軌道を表示</Japanese>
<Polish>Pokaż trasę lotu</Polish>
<German>Zeige Wurfbogen</German>
<Korean>투척 궤적 표시</Korean>
@ -84,7 +84,7 @@
<English>Enables visualization of the throw arc (where throwable will fly).</English>
<Spanish>Activa la visualización del arco de lanzamiento (donde irá el objeto lanzado)</Spanish>
<Russian>Включает визуализацию траектории броска (как полетит граната).</Russian>
<Japanese>てき軌道 (投てき物がどこに飛ぶか) の表示を有効化します。</Japanese>
<Japanese>擲軌道 (投擲物がどこに飛ぶか) の表示を有効化します。</Japanese>
<Polish>Wyświetla wizualizację trasy przelotu granatu.</Polish>
<German>Aktiviert die Visualisierung des Wurfbogens (wohin das Objekt geworfen werden wird).</German>
<Korean>투척 궤도를 시각화 합니다(투척물이 어디로 갈지)</Korean>
@ -99,12 +99,12 @@
<English>Show Throwing Mouse Controls</English>
<Spanish>Mostrar controles de ratón de lanzamiento</Spanish>
<Russian>Показывать управление мышью</Russian>
<Japanese>てきのマウス操作を表示</Japanese>
<Japanese>のマウス操作を表示</Japanese>
<Polish>Pokaż podpowiedzi sterowania myszą</Polish>
<German>Zeige Maussteuerung beim Werfen</German>
<Korean>마우스 조작 표시</Korean>
<French>Afficher les contrôles à la souris du lancé</French>
<Italian>Mostra Comandi Mouse Lancio</Italian>
<Italian>Mostra Comandi Mouse di Lancio</Italian>
<Chinese>顯示滑鼠投擲控制提示</Chinese>
<Chinesesimp>显示鼠标投掷控制提示</Chinesesimp>
<Portuguese>Mostrar os controles de mouse para Arremesso</Portuguese>
@ -114,7 +114,7 @@
<English>Enables visual cues for mouse controls when throwable is prepared.</English>
<Spanish>Activa muestras visuales para los controles del ratón cuando el objeto lanzable está preparado</Spanish>
<Russian>Включает отображение подсказок по управлению мышью, когда граната подготовлена.</Russian>
<Japanese>てき物を構える時、マウス操作の説明表示を有効化します。</Japanese>
<Japanese>物を構える時、マウス操作の説明表示を有効化します。</Japanese>
<Polish>Wyświetla podpowiedzi sterowania myszą kiedy obiekt miotany jest w ręku.</Polish>
<German>Aktiviert visuelle Hinweise zur Maussteuerung, wenn ein Objekt zum Werfen vorbereitet wird.</German>
<Korean>투척물을 준비시 마우스 조작을 시각화해서 보여줍니다</Korean>
@ -129,12 +129,12 @@
<English>Enable Throwables Pick Up</English>
<Spanish>Habilitar recoger objetos lanzados</Spanish>
<Russian>Вкл. подбор гранат</Russian>
<Japanese>てき物の拾い上げを有効化</Japanese>
<Japanese>物の拾い上げを有効化</Japanese>
<Polish>Zezwól na podnoszenie obiektów miotanych</Polish>
<German>Aktiviere Aufheben von Wurfobjekten</German>
<Korean>투척물 줍기 활성화</Korean>
<French>Permettre le ramassage d'objets lançables</French>
<Italian>Abilita Raccogli Oggetti</Italian>
<Italian>Abilita Raccolta Lanciabili</Italian>
<Chinese>啟用可撿取地面投擲物</Chinese>
<Chinesesimp>启用捡取地面投掷物</Chinesesimp>
<Portuguese>Permitir pegar arremessáveis</Portuguese>
@ -144,12 +144,12 @@
<English>Enables ability to pick up throwables from the ground.</English>
<Spanish>Activa la habilidad de coger objetos lanzados del suelo</Spanish>
<Russian>Включает возможность подбирать гранаты с земли.</Russian>
<Japanese>地面に落ちている投てき物を拾い上げる機能を有効化します。</Japanese>
<Japanese>地面に落ちている投擲物を拾う機能を有効化します。</Japanese>
<Polish>Umożliwia podnoszenie obiektów miotanych z ziemi.</Polish>
<German>Aktiviert die Möglichkeit, geworfene Objekte wieder vom Boden aufzuheben.</German>
<Korean>땅에 떨어진 투척물을 주울 수 있게 해줍니다.</Korean>
<French>Active la possibilité de ramasser des objets lançables du sol.</French>
<Italian>Abilita la possibilità di raccogliere un oggetto lanciabile da terra.</Italian>
<Italian>Permette ai giocatori di raccogliere un oggetto lanciabile da terra.</Italian>
<Chinese>啟用後, 可撿取地面上的投擲物</Chinese>
<Chinesesimp>启用后,可捡取地面上的投掷物</Chinesesimp>
<Portuguese>Permite que objetos arremessados sejam pegos do chão. (ACE Menu de Interação)</Portuguese>
@ -159,12 +159,12 @@
<English>Enable Attached Throwables Pick Up</English>
<Spanish>Activar coger objetos lanzables que se enganchan</Spanish>
<Russian>Вкл. подбор прикрепленных гранат</Russian>
<Japanese>取り付けられた投てき物の拾い上げを有効化</Japanese>
<Japanese>装着済の投擲物の拾い上げを有効化</Japanese>
<Polish>Zezwól na podnoszenie przyczepionych obiektów miotanych</Polish>
<German>Aktiviere erneute Aufnahme befestigter Wurfobjekte</German>
<Korean>부착 투척물 줍기 활성화</Korean>
<French>Activer le ramassage d'objets lançables attachés</French>
<Italian>Abilita Raccogli Oggetti Lanciabili da altri Oggetti</Italian>
<Italian>Abilita Raccolta Lanciabili Attaccati</Italian>
<Chinese>啟用可撿取附著投擲物</Chinese>
<Chinesesimp>启用捡取附着投掷物</Chinesesimp>
<Portuguese>Permitir pegar arremessáveis fixados</Portuguese>
@ -174,27 +174,47 @@
<English>Enables ability to pick up throwables from attached objects.</English>
<Spanish>Activa la habilidad de lanzar objetos enganchados</Spanish>
<Russian>Включает возможность подбирать гранаты, прикрепленные к объектам.</Russian>
<Japanese>取り付けられた投てき物を拾い上げる機能を有効化します。</Japanese>
<Japanese>オブジェクトに装着された投擲物を拾う機能を有効化します。</Japanese>
<Polish>Umożliwia podnoszenie obiektów miotanych przyczepionych do innych obiektów.</Polish>
<German>Aktiviert die Möglichkeit, befestigte Wurfobjekte erneut aufzunehmen.</German>
<Korean>부착된 투척물을 주울 수 있게 해줍니다.</Korean>
<French>Active la possibilité de ramasser des objets lançables attachés à d'autres objets.</French>
<Italian>Abilita la possibilità di raccogliere gli oggetti lanciabili dagli altri oggetti. </Italian>
<Italian>Permette ai giocatori di raccogliere gli oggetti lanciabili da altri oggetti attaccati.</Italian>
<Chinese>啟用後, 可撿取附著在物件上的投擲物</Chinese>
<Chinesesimp>启用后,可捡取附着在物体上的投掷物</Chinesesimp>
<Portuguese>Permite que arremessáveis fixados em objetos sejam pegos.</Portuguese>
<Czech>Zapíná schopnost zvednutí předmětů z objektů ke kterým jsou připnuté.</Czech>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_EnableTempWindInfo_DisplayName">
<English>Show Temporary Wind Info</English>
<German>Zeige temporäre Windinformationen</German>
<Italian>Mostra informazioni sul vento temporaneamente</Italian>
<Japanese>一時的に風の情報を表示</Japanese>
<Korean>바람 정보 임시로 표시</Korean>
<French>Afficher temporairement les informations sur le vent</French>
<Russian>Временно показать информацию о ветре</Russian>
<Spanish>Mostrar información del viento temporalmente</Spanish>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_EnableTempWindInfo_Description">
<English>Temporarily display Wind Info while throwing, to aid in placing smoke grenades effectively.</English>
<German>Zeige während des werfens Windinformationen an, um Rauchgranaten effektiver zu platzieren.</German>
<Italian>Mostra le informazioni sul vento durante il lancio di granate, facilitando il piazzamento ottimale di fumogeni.</Italian>
<Japanese>投擲行動中に風向きの情報を一時的に表示し、発煙手榴弾の煙幕を効果的に展開しやすくします。</Japanese>
<Korean>연막탄을 효과적으로 배치하는 데 도움이 되도록 투척하는 동안 일시적으로 바람 정보를 표시합니다.</Korean>
<French>Affiche les informations sur le vent pendant le lancement pour placer les grenades fumigènes plus efficacement.</French>
<Russian>Временно отображайте информацию о ветре во время броска, чтобы помочь эффективно разместить дымовые шашки.</Russian>
<Spanish>Mostrar información del viento temporalmente mientras se lanza, para ayudar a lanzar las granadas de humo de forma efectiva.</Spanish>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_Prepare">
<English>Prepare/Change Throwable</English>
<Spanish>Preparar/Cambiar objetos lanzables</Spanish>
<Russian>Подготовить/заменить гранату</Russian>
<Japanese>投てき物の準備/変更</Japanese>
<Japanese>物の準備/変更</Japanese>
<Polish>Przygotuj/zmień ob. miotany</Polish>
<German>Wurfobjekt vorbereiten/wechseln</German>
<Korean>투척물 준비/변경</Korean>
<French>Préparer/Changer d'objet lançable</French>
<Italian>Prepara/Cambia Oggetto lanciabile</Italian>
<Italian>Prepara/Cambia Oggetto Lanciabile</Italian>
<Chinese>準備/變更投擲物</Chinese>
<Chinesesimp>准备/变更投掷物</Chinesesimp>
<Portuguese>Preparar/Mudar Arremessável</Portuguese>
@ -204,12 +224,12 @@
<English>Throwable Drop Mode (Hold)</English>
<Spanish>Modo soltar objeto lanzable (Mantener pulsado)</Spanish>
<Russian>Режим броска гранаты (удерживать)</Russian>
<Japanese>てきモード (押している間)</Japanese>
<Japanese>モード (押している間)</Japanese>
<Polish>Tryb upuszczania ob. miotanego (przytrzymaj)</Polish>
<German>Wurfobjekt Fallmodus (halten)</German>
<Korean>투척물 떨어뜨리기 모드(꾹눌러서)</Korean>
<French>Mode de lancé de l'objet (Tenir)</French>
<Italian>Modalità Oggetto Gettabile (Mantenere)</Italian>
<Italian>Modalità Gettare (Tieni premuto)</Italian>
<Chinese>投擲模式 (按住)</Chinese>
<Chinesesimp>投掷模式(按住)</Chinesesimp>
<Portuguese>Modo de Arremesso (Segurar)</Portuguese>
@ -219,12 +239,12 @@
<English>Throwable Drop Mode (Toggle)</English>
<Spanish>Modo soltar objeto lanzable (interruptor)</Spanish>
<Russian>Режим броска гранаты (переключить)</Russian>
<Japanese>てきモード (切り替え)</Japanese>
<Japanese>モード (切り替え)</Japanese>
<Polish>Tryb upuszczania ob. miotanego (przełącz)</Polish>
<German>Wurfobjekt Fallmodus (umschalten)</German>
<Korean>투척물 떨어뜨리기 모드(토글)</Korean>
<French>Mode de lancé de l'objet (Basculer)</French>
<Italian>Modalità Oggetto lanciabile Gettabile (Interruttore)</Italian>
<Italian>Modalità Getta Oggetto (Cambia)</Italian>
<Chinese>投擲模式 (切換)</Chinese>
<Chinesesimp>投掷模式(切换)</Chinesesimp>
<Portuguese>Modo de Arremesso (Alternar)</Portuguese>
@ -234,12 +254,12 @@
<English>Primed</English>
<Spanish>Preparado</Spanish>
<Russian>Подготовлена</Russian>
<Japanese>点火</Japanese>
<Japanese>点火した</Japanese>
<Polish>Odbezpieczony</Polish>
<German>Scharf gemacht</German>
<Korean>뇌관 작동</Korean>
<French>amorcée</French>
<Italian>Armato</Italian>
<Italian>Innescato</Italian>
<Chinese>引信開始燃燒</Chinese>
<Chinesesimp>已开引信</Chinesesimp>
<Portuguese>Preparado</Portuguese>
@ -254,7 +274,7 @@
<German>Werfen</German>
<Korean>던지기</Korean>
<French>Lancer</French>
<Italian>Lanciare</Italian>
<Italian>Lancia</Italian>
<Chinese>投擲</Chinese>
<Chinesesimp>投掷</Chinesesimp>
<Portuguese>Arremessar</Portuguese>
@ -270,7 +290,7 @@
<German>(Scrollen) Modus wechseln</German>
<Korean>(마우스 휠) 모드 변경</Korean>
<French>(Défilement) Changer de mode</French>
<Italian>(Scorrere) Cambio Modalità</Italian>
<Italian>(Scorri) Cambia Modalità</Italian>
<Chinese>(滾輪) 變更模式</Chinese>
<Chinesesimp>(滚轮)变更模式</Chinesesimp>
<Portuguese>(Roda do Mouse) Alternar modo</Portuguese>
@ -286,7 +306,7 @@
<German>(Scrollen) Erweitern</German>
<Korean>(마우스 휠) 연장</Korean>
<French>(Défilement) Étendre</French>
<Italian>(Scorrere) Estendere</Italian>
<Italian>(Scorri) Estendi</Italian>
<Chinese>(滾輪) 延長</Chinese>
<Chinesesimp>(滚轮)延长</Chinesesimp>
<Portuguese>(Roda do Mouse) Estender</Portuguese>
@ -302,7 +322,7 @@
<German>(Klicken) Abkochen</German>
<Korean>(클릭) 예열</Korean>
<French>(Clique) Dégoupiller</French>
<Italian>(Click) Arma</Italian>
<Italian>(Click) Innesca</Italian>
<Chinese>(點擊) 提早拉開引信</Chinese>
<Chinesesimp>(点击)提早拉开引信</Chinesesimp>
<Portuguese>(Clique) Cozinhar</Portuguese>
@ -313,7 +333,7 @@
<English>Pick Up</English>
<Spanish>Coger</Spanish>
<Russian>Подобрать</Russian>
<Japanese>い上げる</Japanese>
<Japanese></Japanese>
<Polish>Podnieś</Polish>
<German>Aufheben</German>
<Korean>줍기</Korean>

View File

@ -16,7 +16,7 @@
} forEach _sections;
}] call CBA_fnc_addEventHandler;
[QGVAR(unGarrison), FUNC(unGarrison)] call CBA_fnc_addEventHandler;
[QGVAR(unGarrison), LINKFUNC(unGarrison)] call CBA_fnc_addEventHandler;
[QGVAR(doMove), {
params ["_unitsArray"];
@ -73,6 +73,6 @@
if (isServer) then {
["CAManBase", "init", {
// wait for HMD to be assigned so `hmd _unit` works
[FUNC(assignNVG), _this, 1] call CBA_fnc_waitAndExecute;
[LINKFUNC(assignNVG), _this, 1] call CBA_fnc_waitAndExecute;
}] call CBA_fnc_addClassEventHandler;
};

View File

@ -11,6 +11,6 @@ if (isServer) then {
GVAR(assignNVGstate) = false;
};
#include "initSettings.sqf"
#include "initSettings.inc.sqf"
ADDON = true;

View File

@ -7,8 +7,8 @@
* 0: The building(s) nearest this position are used <POSITION>
* 1: Limit the building search to those type of building <ARRAY>
* 2: Units that will be garrisoned <ARRAY>
* 3: Radius to fill building(s) <SCALAR> (default: 50)
* 4: 0: even filling, 1: building by building, 2: random filling <SCALAR> (default: 0)
* 3: Radius to fill building(s) <NUMBER> (default: 50)
* 4: 0: even filling, 1: building by building, 2: random filling <NUMBER> (default: 0)
* 5: True to fill building(s) from top to bottom <BOOL> (default: false) (note: only works with filling mode 0 and 1)
* 6: Teleport units <BOOL> (default: false)
@ -33,7 +33,7 @@ if (_startingPos isEqualTo [0,0,0]) exitWith {
[LSTRING(GarrisonInvalidPosition)] call EFUNC(common,displayTextStructured);
};
if (count _unitsArray == 0 || {isNull (_unitsArray select 0)}) exitWith {
if (_unitsArray isEqualTo [] || {isNull (_unitsArray select 0)}) exitWith {
TRACE_1("fnc_garrison: Units error",_unitsArray);
[LSTRING(GarrisonNoUnits)] call EFUNC(common,displayTextStructured);
};
@ -43,7 +43,7 @@ if (_fillingRadius >= 50) then {
_buildings = [_buildings] call CBA_fnc_shuffle;
};
if (count _buildings == 0) exitWith {
if (_buildings isEqualTo []) exitWith {
TRACE_1("fnc_garrison: Building error",_buildings);
[LSTRING(GarrisonNoBuilding)] call EFUNC(common,displayTextStructured);
};
@ -128,7 +128,7 @@ switch (_fillingType) do {
} else {
private _pos = _building select 0;
private _nearestUnits = (_pos nearEntities ["CAManBase", 2]);
LOG(format [ARR_3("fnc_garrison: Unit detection | %1 units nearby | %2 units within height",count _nearestUnits, {floor ((getPos _x) select 2) == floor (_pos select 2)} count _nearestUnits)]);
LOG(format [ARR_3("fnc_garrison: Unit detection | %1 units nearby | %2 units within height",count _nearestUnits,{floor ((getPos _x) select 2) == floor (_pos select 2)} count _nearestUnits)]);
if (count _nearestUnits > 0 && {[_nearestUnits, _pos] call _fnc_comparePos}) then {
LOG(format [ARR_2("fnc_garrison: Unit present | removing position | %1 positions remaining for this building",count (_buildingsIndex select (_buildingsIndex find _building)) - 1)]);
@ -177,7 +177,7 @@ switch (_fillingType) do {
} else {
private _pos = _building select 0;
private _nearestUnits = (_pos nearEntities ["CAManBase", 2]);
LOG(format [ARR_3("fnc_garrison: Unit detection | %1 units nearby | %2 units within height",count _nearestUnits, {floor ((getPos _x) select 2) == floor (_pos select 2)} count _nearestUnits)]);
LOG(format [ARR_3("fnc_garrison: Unit detection | %1 units nearby | %2 units within height",count _nearestUnits,{floor ((getPos _x) select 2) == floor (_pos select 2)} count _nearestUnits)]);
if (count _nearestUnits > 0 && {[_nearestUnits, _pos] call _fnc_comparePos}) then {
LOG(format [ARR_2("fnc_garrison: Unit present | removing position | %1 positions remaining for this building",count (_buildingsIndex select (_buildingsIndex find _building)) - 1)]);
@ -224,7 +224,7 @@ switch (_fillingType) do {
} else {
private _pos = selectRandom _building;
private _nearestUnits = (_pos nearEntities ["CAManBase", 2]);
LOG(format [ARR_3("fnc_garrison: Unit detection | %1 units nearby | %2 units within height",count _nearestUnits, {floor ((getPos _x) select 2) == floor (_pos select 2)} count _nearestUnits)]);
LOG(format [ARR_3("fnc_garrison: Unit detection | %1 units nearby | %2 units within height",count _nearestUnits,{floor ((getPos _x) select 2) == floor (_pos select 2)} count _nearestUnits)]);
if (count _nearestUnits > 0 && {[_nearestUnits, _pos] call _fnc_comparePos}) then {
LOG(format [ARR_2("fnc_garrison: Unit present | removing position | %1 positions remaining for this building",count (_buildingsIndex select (_buildingsIndex find _building)) - 1)]);
@ -258,7 +258,7 @@ switch (_fillingType) do {
};
};
TRACE_1(format [ARR_2("fnc_garrison: while loop ended | %1 units ready to be treated by PFH",count _unitMoveList)], _teleport);
TRACE_1(format [ARR_2("fnc_garrison: while loop ended | %1 units ready to be treated by PFH",count _unitMoveList)],_teleport);
// Update the unit list and remove duplicate positions and units
private _garrison_unitMoveList = missionNameSpace getVariable [QGVAR(garrison_unitMoveList), []];
@ -279,5 +279,5 @@ if (_teleport) then {
[_unitMoveList] call FUNC(garrisonMove);
};
TRACE_1(format [ARR_3("fnc_garrison: End | %1 units left | %2 buildings left", count _unitsArray, count _buildingsIndex)], _unitsArray);
TRACE_1(format [ARR_3("fnc_garrison: End | %1 units left | %2 buildings left",count _unitsArray,count _buildingsIndex)],_unitsArray);
_unitsArray

View File

@ -81,13 +81,13 @@ if (isNil QGVAR(garrison_moveUnitPFH)) then {
[QGVAR(enableAttack), [[_unit], true], _unit] call CBA_fnc_targetEvent;
};
LOG(format [ARR_2("garrisonMove PFH: unit in position | %1 units left", count _unitMoveList)]);
LOG(format [ARR_2("garrisonMove PFH: unit in position | %1 units left",count _unitMoveList)]);
};
// Check if unit is alive or even existing
if (!alive _unit || {_unit getVariable [QGVAR(garrisoned), false]}) then {
_unitMoveList deleteAt (_unitMoveList find _x);
LOG(format [ARR_2("garrisonMove PFH: unit dead, deleted or garrisoned via TP | %1 units left", count _unitMoveList)]);
LOG(format [ARR_2("garrisonMove PFH: unit dead, deleted or garrisoned via TP | %1 units left",count _unitMoveList)]);
} else {
private _unitPos = getPos _unit;

View File

@ -28,7 +28,7 @@ _units = _units select {local _x};
private _leader = leader _unit;
TRACE_3("fnc_ungarrison: unit and leader",_unit , _leader, (_leader == _unit));
TRACE_3("fnc_ungarrison: unit and leader",_unit,_leader,(_leader == _unit));
_unit setVariable [QGVAR(garrisonned), false, true];

View File

@ -6,7 +6,7 @@
<Chinese>AI</Chinese>
<French>IA</French>
<Spanish>IA</Spanish>
<Italian>AI</Italian>
<Italian>IA</Italian>
<Polish>SI</Polish>
<Russian>ИИ</Russian>
<German>KI</German>
@ -85,15 +85,25 @@
<English>Auto-Equip NVGs</English>
<Polish>Automatyczne zakładanie NVG</Polish>
<German>Automatisch NVGs ausrüsten</German>
<Italian>Equipaggia NVG in automatico</Italian>
<Korean>야투경 자동 창착</Korean>
<French>Equipement JVN automatique</French>
<Portuguese>Equipar NVGs automaticamente</Portuguese>
<Japanese>暗視装置の自動装備</Japanese>
<Russian>Автоматическое оснащение ПНВ</Russian>
<Spanish>Auto equipar gafas de visión nocturna</Spanish>
</Key>
<Key ID="STR_ACE_AI_AssignNVG_Description">
<English>Equips NVG in inventory during night time and unequips it during day time.\nDoes not add NVGs to inventory!</English>
<Polish>Zakłada NVG w nocy i zdejmuje je w ciągu dnia.\nNie dodaje NVG do ekwipunku!</Polish>
<German>Rüstet NVG nachts aus dem Inventar aus und entfernt es tagsüber.\nFügt keine NVGs zum Inventar hinzu!</German>
<Italian>Equipaggia NVG dall'inventario durante la notte, e li mette nell'inventario durante il giorno.\nNon aggiunge NVG all'inventario se non sono presenti.</Italian>
<Korean>야간에는 야투경을 소지품에 장착하고 주간에는 장착을 해제합니다.\n주의! 소지품에 야투경을 추가하는 것이 아닙니다!</Korean>
<French>Equipe des JVN pendant la nuit et les déséquipe le jour.\nN'ajoute pas les JVN dans l'intenvaire !</French>
<Portuguese>Equipa o NVG do inventário durante a noite e desequipa durante o dia.\nNão adiciona NVGs ao inventário!</Portuguese>
<Japanese>インベントリ内の暗視装置を夜間に装備し、日中は解除し収納します。\nこれはNVGをインベントリに追加しません。</Japanese>
<Russian>Экипирует ПНВ в ночное время и отключает его в дневное время.\nНе добавляет ПНВ в инвентарь!</Russian>
<Spanish>Equipa las gafas de visión nocturna en el inventario cuando es de noche, y las desequipa cuando es de día.\nNo añade las gafas al inventario!</Spanish>
</Key>
</Package>
</Project>

View File

@ -30,6 +30,6 @@ _vehicle == vehicle _unit
if (_unit == _x select FULLCREW_UNIT) exitWith {
_ejectVarName = format [QGVAR(ejectAction_%1_%2), _x select FULLCREW_ROLE, _x select FULLCREW_TURRETPATH];
};
} count fullCrew _vehicle;
} forEach fullCrew _vehicle;
_vehicle getVariable [_ejectVarName, false]
}

View File

@ -22,7 +22,7 @@ if (!alive _vehicle) exitWith {};
if (_vehicle getVariable [QGVAR(droneActionsAdded), false]) exitWith {};
_vehicle setVariable [QGVAR(droneActionsAdded), true];
// move to location
// Move to location
private _condition = {
params ["_vehicle"];
(missionNamespace getVariable [QGVAR(droneWaypoints), true]) && {waypointsEnabledUAV _vehicle} && {(ACE_controlledUAV select 2) isEqualTo [0]}
@ -37,14 +37,63 @@ private _action = [QGVAR(droneSetWaypointMove), localize "$STR_AC_MOVE",
"\a3\3DEN\Data\CfgWaypoints\Move_ca.paa", _statement, _condition] call EFUNC(interact_menu,createAction);
[_vehicle, 1, ["ACE_SelfActions"], _action] call EFUNC(interact_menu,addActionToObject);
// Follow unit/vehicle at turret location
_condition = {
params ["_vehicle"];
private _target = cursorTarget;
(missionNamespace getVariable [QGVAR(droneWaypoints), true]) && {waypointsEnabledUAV _vehicle} && {(ACE_controlledUAV select 2) isEqualTo [0]} && {!isNull _target} && {["CAManBase", "LandVehicle", "Ship"] findIf {_target isKindOf _x} != -1}
};
_statement = {
params ["_vehicle"];
private _group = group driver _vehicle;
private _pos = ([_vehicle, [0]] call FUNC(droneGetTurretTargetPos)) select 0;
[QGVAR(droneSetWaypoint), [_vehicle, _group, _pos, "FOLLOW", cursorTarget], _group] call CBA_fnc_targetEvent;
private _followDistance = _vehicle getVariable [QGVAR(wpFollowDistance), 0];
[[LLSTRING(DroneFollowHint), _followDistance], 3] call EFUNC(common,displayTextStructured);
};
_action = [QGVAR(droneSetWaypointFollow), localize "$STR_AC_FOLLOW", "\a3\3DEN\Data\CfgWaypoints\Follow_ca.paa", _statement, _condition] call EFUNC(interact_menu,createAction);
[_vehicle, 1, ["ACE_SelfActions"], _action] call EFUNC(interact_menu,addActionToObject);
// Set drone follow distance
_condition = {
params ["_vehicle"];
private _group = group driver _vehicle;
private _index = (currentWaypoint _group) min count waypoints _group;
private _waypoint = [_group, _index];
(missionNamespace getVariable [QGVAR(droneWaypoints), true]) && {waypointsEnabledUAV _vehicle} && {(ACE_controlledUAV select 2) isEqualTo [0]} && {(waypointType _waypoint) == "HOLD"}
};
_statement = {
params ["_vehicle", "", "_value"];
_vehicle setVariable [QGVAR(wpFollowDistance), _value];
[[LLSTRING(DroneFollowHint), _value], 3] call EFUNC(common,displayTextStructured);
};
_action = [QGVAR(droneSetFollowDistance), LLSTRING(DroneFollowDistance), "", {}, _condition] call EFUNC(interact_menu,createAction);
private _base = [_vehicle, 1, ["ACE_SelfActions"], _action] call EFUNC(interact_menu,addActionToObject);
private _followDistances = if (_vehicle isKindOf "Car_F") then {
[0, 25, 50, 100, 200]
} else {
[0, 100, 200, 300, 400, 500]
};
{
_action = [
QGVAR(droneSetFollowDistance_) + str _x,
str _x,
"",
_statement,
{true},
{},
_x
] call EFUNC(interact_menu,createAction);
[_vehicle, 1, _base, _action] call EFUNC(interact_menu,addActionToObject);
} forEach _followDistances;
if (_vehicle isKindOf "Air") then {
// loiter at location
// Loiter at location
_condition = {
params ["_vehicle"];
(missionNamespace getVariable [QGVAR(droneWaypoints), true]) && {waypointsEnabledUAV _vehicle} && {(ACE_controlledUAV select 2) isEqualTo [0]}
};
_statement = {
_statement = {
params ["_vehicle"];
private _group = group driver _vehicle;
private _pos = ([_vehicle, [0]] call FUNC(droneGetTurretTargetPos)) select 0;
@ -55,7 +104,7 @@ if (_vehicle isKindOf "Air") then {
[_vehicle, 1, ["ACE_SelfActions"], _action] call EFUNC(interact_menu,addActionToObject);
// set height
// Set height
_condition = {
params ["_vehicle"];
(missionNamespace getVariable [QGVAR(droneWaypoints), true]) && {waypointsEnabledUAV _vehicle} && {(ACE_controlledUAV select 2) isEqualTo [0]}
@ -74,7 +123,7 @@ if (_vehicle isKindOf "Air") then {
} forEach [20, 50, 200, 500, 2000];
// set loiter radius
// Set loiter radius
_condition = {
params ["_vehicle"];
private _group = group driver _vehicle;
@ -97,7 +146,7 @@ if (_vehicle isKindOf "Air") then {
} forEach [500, 750, 1000, 1250, 1500];
// set loiter direction
// Set loiter direction
_condition = {
params ["_vehicle", "", "_args"];
private _group = group driver _vehicle;

View File

@ -17,13 +17,13 @@
*
* Public: No
*/
params ["_vehicle", "_group", "_type", "_value"];
TRACE_4("droneModifyWaypoint",_vehicle,_group,_type,_value);
private _index = (currentWaypoint _group) min count waypoints _group;
private _waypoint = [_group, _index];
switch (toLower _type) do {
switch (toLowerANSI _type) do {
case ("height"): {
private _pos = waypointPosition _waypoint;
_pos set [2, _value];

View File

@ -8,6 +8,7 @@
* 1: Group <GROUP>
* 2: Pos 2D <ARRAY>
* 3: Type <STRING>
* 4: Target to follow <OBJECT> (default: objNull)
*
* Return Value:
* None
@ -18,7 +19,7 @@
* Public: No
*/
params ["_vehicle", "_group", "_pos", "_type"];
params ["_vehicle", "_group", "_pos", "_type", ["_target", objNull]];
TRACE_4("droneSetWaypoint",_vehicle,_group,_pos,_type);
private _index = (currentWaypoint _group) min count waypoints _group;
@ -29,11 +30,39 @@ private _currentLoiterRadius = waypointLoiterRadius _waypoint;
private _currentLoiterType = waypointLoiterType _waypoint;
// Set pos to ATL
_pos set [2, if (_currentHeight >= 50) then { _currentHeight } else { 0 }];
_pos set [
2,
[0, _currentHeight] select (_currentHeight >= 50)
];
// [_group] call CBA_fnc_clearWaypoints;
_waypoint = _group addWaypoint [_pos, 0];
_waypoint setWaypointType _type;
// The Vanilla "FOLLOW"-type waypoint is not used directly, due to 2 main issues (as of v2.16):
// - It does not work at all for UGVs, which is a known issue https://feedback.bistudio.com/T126283;
// - No clear scripting way was found to mimic the UAV Terminal's "Follow Distance" functionality;
// Instead, the solution for both UAV and UGV following consists of a CBA PFH that moves a "HOLD"-type Waypoint every 3 seconds.
// Either on the target itself, or on the Drone's current position if the target is within the desired follow distance.
if (_type == "FOLLOW" && {["CAManBase", "LandVehicle", "Ship"] findIf {_target isKindOf _x} != -1}) then {
_waypoint setWaypointType "HOLD";
[{
params ["_args", "_handle"];
_args params ["_vehicle", "_group", "_waypoint", "_target"];
if ( // Abort PFH if a new waypoint is created via UAV Terminal or ACE Interaction
_waypoint select 1 != currentWaypoint _group ||
{!alive _vehicle} || {isNull _target}
) exitWith {
deleteWaypoint _waypoint;
[_handle] call CBA_fnc_removePerFrameHandler;
};
private _followDistance = _vehicle getVariable [QGVAR(wpFollowDistance), 0];
if ((_vehicle distance2D _target) < _followDistance) then {
_waypoint setWaypointPosition [getPosASL _vehicle, -1];
} else {
_waypoint setWaypointPosition [getPosASL _target, -1];
};
}, 3, [_vehicle, _group, _waypoint, _target]] call CBA_fnc_addPerFrameHandler;
};
TRACE_3("",_currentHeight,_currentLoiterRadius,_currentLoiterType);
if (_currentHeight > 1) then { _vehicle flyInHeight _currentHeight; };

View File

@ -29,7 +29,7 @@
<Russian>Открыть грузовой отсек</Russian>
<Italian>Apri la rampa di carico</Italian>
<Portuguese>Abrir porta de carga</Portuguese>
<Japanese>カーゴ ドアを開く</Japanese>
<Japanese>貨物室ドアを 開く</Japanese>
<Korean>화물칸 개방</Korean>
<Chinese>開啟貨艙門</Chinese>
<Chinesesimp>开启货舱门</Chinesesimp>
@ -46,7 +46,7 @@
<Russian>Закрыть грузовой отсек</Russian>
<Italian>Chiudi la rampa di carico</Italian>
<Portuguese>Fechar porta de carga</Portuguese>
<Japanese>カーゴ ドアを閉じる</Japanese>
<Japanese>貨物室ドアを 閉じる</Japanese>
<Korean>화물칸 폐쇄</Korean>
<Chinese>關閉貨艙門</Chinese>
<Chinesesimp>关闭货舱门</Chinesesimp>
@ -61,16 +61,19 @@
<Polish>30mm Odłamkowo-Burzące - Zapalające</Polish>
<Turkish>30mm Yüksek Patlayıcı </Turkish>
<German>30mm Hochexplosiv/Brandladung</German>
<Japanese>30mm 焼夷りゅう弾</Japanese>
<Italian>30mm Esplosivo/Incendiario</Italian>
<Japanese>30mm 焼夷榴弾</Japanese>
<Czech>30mm Tříštivo-trhavá zápalná střela</Czech>
<Russian>30мм Осколочно-Фугасный Зажигательный</Russian>
<Korean>30mm 고폭소이탄</Korean>
<Portuguese>30mm Alto-Explosivo Incendiária</Portuguese>
</Key>
<Key ID="STR_ACE_Aircraft_GatlingDescriptionShortHEI">
<English>30mm HEI</English>
<Spanish>30mm AEI</Spanish>
<Chinese>30毫米高爆燃燒</Chinese>
<Chinesesimp>30mm 高爆燃烧</Chinesesimp>
<Italian>30mm HEI</Italian>
<French>30 mm HEI</French>
<Polish>30mm OB-Z</Polish>
<Turkish>30mm HEI</Turkish>
@ -79,6 +82,7 @@
<Czech>30mm HEI</Czech>
<Russian>30мм ОФЗ</Russian>
<Korean>30mm HEI</Korean>
<Portuguese>30mm AEI</Portuguese>
</Key>
<Key ID="STR_ACE_Aircraft_GatlingDescriptionAP">
<English>30mm DU Armor Piercing</English>
@ -86,13 +90,15 @@
<Chinese>30毫米貧化鈾穿甲彈 </Chinese>
<Chinesesimp>30 mm 贫铀穿甲</Chinesesimp>
<French>30 mm UA Armor Piercing</French>
<Italian>30mm AP Uranio Impoverito</Italian>
<Polish>30mm Zubożony Uran - Przebijające</Polish>
<Turkish>30mm DU Zırh Delici</Turkish>
<German>30mm abgereichertes panzerbrechendes Uraniumgeschoss</German>
<Japanese>30mm DU 徹甲弾</Japanese>
<Japanese>30mm 劣化ウラン徹甲弾</Japanese>
<Czech>30mm Protipancéřová střela z ochuzeného Uranu</Czech>
<Russian>30мм ОУ Бронебойный Снаряд</Russian>
<Korean>30mm 열화우라늄 철갑탄</Korean>
<Portuguese>30mm DU Perfurante de Blindagem</Portuguese>
</Key>
<Key ID="STR_ACE_Aircraft_GatlingDescriptionShortAP">
<English>30mm DU AP</English>
@ -100,6 +106,7 @@
<Chinese>30毫米貧鈾穿甲</Chinese>
<Chinesesimp>30mm 贫铀穿甲</Chinesesimp>
<French>30 mm UA AP</French>
<Italian>30mm AP-UI</Italian>
<Polish>30mm ZU-P</Polish>
<Turkish>30mm DU AP</Turkish>
<German>30mm DU-PB</German>
@ -107,6 +114,7 @@
<Czech>30 mm DU AP</Czech>
<Russian>30мм ОУ БС</Russian>
<Korean>30mm DU AP</Korean>
<Portuguese>30mm DU AP</Portuguese>
</Key>
<Key ID="STR_ACE_Aircraft_GatlingDescriptionCM41">
<English>30mm Combat Mix 4:1 DU:HEI</English>
@ -114,13 +122,15 @@
<Chinese>30毫米戰鬥混合彈4:1 穿甲:高爆</Chinese>
<Chinesesimp>30mm 战斗混合 穿甲/高爆 4:1</Chinesesimp>
<French>30 mm Mix de Combat 4:1 UA:HEI</French>
<Italian>30mm Misto 4:1 UI:HEI</Italian>
<Polish>30mm Mieszanka bojowa 4:1 ZU:OB-Z</Polish>
<Turkish>30mm Combat Mix 4:1 DU:HEI</Turkish>
<German>30mm Kampfmischung 4:1 DU:HEB</German>
<Japanese>30mm コンバット ミックス 4:1 DU:HEI</Japanese>
<Japanese>30mm コンバット ミックス 4:1 劣化ウラン徹甲弾:焼夷榴弾</Japanese>
<Czech>30mm Bojový Mix 4:1 DU:HEI</Czech>
<Russian>30мм Смешанное боепитание 4:1 ОУ:ОФЗ</Russian>
<Korean>30mm 4:1 열화:고폭소이</Korean>
<Korean>30mm 열화우라늄:고폭소이 4:1 혼합</Korean>
<Portuguese>30mm Mix de Combate 4:1 DU:AEI</Portuguese>
</Key>
<Key ID="STR_ACE_Aircraft_GatlingDescriptionShortCM41">
<English>30mm CM 4:1</English>
@ -128,13 +138,14 @@
<Chinese>30毫米 穿高混合 4:1</Chinese>
<Chinesesimp>30mm 穿爆混合 4:1</Chinesesimp>
<French>30 mm MdC 4:1</French>
<Italian>30mm Misto 4:1</Italian>
<Polish>30mm MB 4:1</Polish>
<Turkish>30mm CM 4:1</Turkish>
<German>30mm KM 4:1</German>
<Japanese>30mm CM 4:1</Japanese>
<Czech>30mm BM 4:1</Czech>
<Russian>30мм СБ 4:1</Russian>
<Korean>30mm CM 4:1</Korean>
<Korean>30mm 4:1 혼합</Korean>
</Key>
<Key ID="STR_ACE_Aircraft_GatlingDescriptionCM51">
<English>30mm Combat Mix 5:1 DU:HEI</English>
@ -142,13 +153,14 @@
<Chinese>30毫米戰鬥混合彈5:1 穿甲:高爆</Chinese>
<Chinesesimp>30 mm 战斗混合 穿甲/高爆 5:1</Chinesesimp>
<French>30 mm Mix de Combat 5:1 UA:HEI</French>
<Italian>30mm Misto 5:1 UI:HEI</Italian>
<Polish>30mm Mieszanka bojowa 5:1 ZU:OB-Z</Polish>
<Turkish>30mm Combat Mix 5:1 DU:HEI</Turkish>
<German>30mm Kampfmischung 5:1 DU:HEB</German>
<Japanese>30mm コンバット ミックス 5:1 DU:HEI</Japanese>
<Japanese>30mm コンバット ミックス 5:1 劣化ウラン徹甲弾:焼夷榴弾</Japanese>
<Czech>30mm Bojový Mix 5:1 DU:HEI</Czech>
<Russian>30мм Смешанное боепитание 5:1 ОУ:ОФЗ</Russian>
<Korean>30mm 5:1 열화:고폭소이</Korean>
<Korean>30mm 열화우라늄:고폭소이 5:1 혼합</Korean>
</Key>
<Key ID="STR_ACE_Aircraft_GatlingDescriptionShortCM51">
<English>30mm CM 5:1</English>
@ -156,13 +168,30 @@
<Chinese>30毫米 穿高混合 5:1</Chinese>
<Chinesesimp>30mm 穿爆混合 5:1</Chinesesimp>
<French>30 mm MdC 5:1</French>
<Italian>30mm Misto 5:1</Italian>
<Polish>30mm MB 5:1</Polish>
<Turkish>30mm CM 5:1</Turkish>
<German>30mm KM 5:1</German>
<Japanese>30mm CM 5:1</Japanese>
<Czech>30mm BM 5:1</Czech>
<Russian>30мм СБ 5:1</Russian>
<Korean>30mm CM 5:1</Korean>
<Korean>30mm 5:1 혼합</Korean>
</Key>
<Key ID="STR_ACE_Aircraft_DroneFollowDistance">
<English>Follow Distance</English>
<Italian>Distanza di seguimento</Italian>
<German>Folge-Entfernung</German>
<Korean>따라가는 거리</Korean>
<French>Distance de suivi</French>
<Japanese>追跡距離</Japanese>
</Key>
<Key ID="STR_ACE_Aircraft_DroneFollowHint">
<English>Following unit within %1m</English>
<Italian>Seguendo unità entro %1m</Italian>
<German>Folgt Einheit bis zu %1m</German>
<Korean>%1m 이내로 유닛을 따라갑니다</Korean>
<French>Suivre l'unité jusqu'à %1m</French>
<Japanese>%1m 間隔で 目標を追跡します</Japanese>
</Key>
</Package>
</Project>

View File

@ -75,11 +75,11 @@ class GVAR(sorts) {
scope = 2;
displayName = CSTRING(sortByProtectionBallistic);
tabs[] = {{3,4,6}, {}};
statement = QUOTE([ARR_3(_this, 1000000, 1000)] call FUNC(sortStatement_protection));
statement = QUOTE([ARR_3(_this,1000000,1000)] call FUNC(sortStatement_protection));
};
class ACE_protectionExplosive: ACE_protectionBallistic {
displayName = CSTRING(sortByProtectionExplosive);
statement = QUOTE([ARR_3(_this, 1000, 1000000)] call FUNC(sortStatement_protection));
statement = QUOTE([ARR_3(_this,1000,1000000)] call FUNC(sortStatement_protection));
};
};

View File

@ -24,7 +24,7 @@ class GVAR(stats) {
priority = 1.5;
displayName = "$STR_a3_rscdisplayarsenal_stat_weight";
showText = 1;
textStatement = QUOTE([ARR_2(_this select 0, _this select 1)] call FUNC(statTextStatement_mass));
textStatement = QUOTE([ARR_2(_this select 0,_this select 1)] call FUNC(statTextStatement_mass));
tabs[] = {{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}, {0,1,2,3,4,5,6,7}};
};
class ACE_rateOfFire: statBase {
@ -34,8 +34,8 @@ class GVAR(stats) {
displayName = "$STR_a3_rscdisplayarsenal_stat_rof";
showBar = 1;
showText = 1;
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_2([ARR_2(-1.4, 0.31)], [ARR_2(1, 0.01)])])] call FUNC(statBarStatement_rateOfFIre));
textStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_2([ARR_2(-1.4, 0.31)], false)])] call FUNC(statTextStatement_rateOfFire));
barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_2([ARR_2(-1.4,0.31)],[ARR_2(1,0.01)])])] call FUNC(statBarStatement_rateOfFIre));
textStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_2([ARR_2(-1.4,0.31)],false)])] call FUNC(statTextStatement_rateOfFire));
tabs[] = {{0,1}, {}};
};
class ACE_accuracy: statBase {
@ -45,8 +45,8 @@ class GVAR(stats) {
displayName = "$STR_a3_rscdisplayarsenal_stat_dispersion";
showBar = 1;
showText = 1;
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(-4, -1.7)], [ARR_2(1, 0.01)], true)])] call FUNC(statBarStatement_accuracy));
textStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_2([ARR_2(-4, -1.7)], false)])] call FUNC(statTextStatement_accuracy));
barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(-4,-1.7)],[ARR_2(1,0.01)],true)])] call FUNC(statBarStatement_accuracy));
textStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_2([ARR_2(-4,-1.7)],false)])] call FUNC(statTextStatement_accuracy));
tabs[] = {{0,1}, {}};
};
class ACE_maxZeroing: statBase {
@ -55,7 +55,7 @@ class GVAR(stats) {
stats[] = {"maxZeroing"};
displayName = "$STR_a3_rscdisplayarsenal_stat_range";
showBar = 1;
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 2500)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default));
barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(0,2500)],[ARR_2(0.01,1)],false)])] call FUNC(statBarStatement_default));
tabs[] = {{0,1,2}, {}};
};
class ACE_impact: statBase {
@ -64,7 +64,7 @@ class GVAR(stats) {
stats[] = {"hit", "initSpeed"};
displayName = "$STR_a3_rscdisplayarsenal_stat_impact";
showBar = 1;
barStatement = QUOTE([ARR_3(_this select 0, _this select 1, [ARR_2([ARR_2(0, 3.2)], [ARR_2(-1, 1100)])])] call FUNC(statBarStatement_impact));
barStatement = QUOTE([ARR_3(_this select 0,_this select 1,[ARR_2([ARR_2(0,3.2)],[ARR_2(-1,1100)])])] call FUNC(statBarStatement_impact));
tabs[] = {{0,1,2}, {}};
};
class ACE_scopeMagnification: statBase {
@ -105,7 +105,7 @@ class GVAR(stats) {
stats[] = {"passthrough"};
displayName = "$STR_a3_rscdisplayarsenal_stat_passthrough";
showBar = 1;
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 0.63)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default));
barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(0,0.63)],[ARR_2(0.01,1)],false)])] call FUNC(statBarStatement_default));
tabs[] = {{3,4,6}, {}};
};
class ACE_explosiveResistance: statBase {
@ -114,7 +114,7 @@ class GVAR(stats) {
stats[] = {"armor"};
displayName = "$STR_a3_rscdisplayarsenal_stat_armor";
showBar = 1;
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 0.80)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default));
barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(0,0.80)],[ARR_2(0.01,1)],false)])] call FUNC(statBarStatement_default));
tabs[] = {{3,4,6}, {}};
};
class ACE_load: statBase {
@ -123,7 +123,9 @@ class GVAR(stats) {
stats[] = {"maximumLoad"};
displayName = "$STR_a3_rscdisplayarsenal_stat_load";
showBar = 1;
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 500)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default));
showText = 1;
barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(0,500)],[ARR_2(0.01,1)],false)])] call FUNC(statBarStatement_default));
textStatement = QUOTE(call FUNC(statTextStatement_load));
tabs[] = {{3,4,5}, {}};
};
class ACE_smokeChemTTL: statBase {
@ -133,7 +135,7 @@ class GVAR(stats) {
displayName = CSTRING(statTTL);
showText = 1;
textStatement = QUOTE(call FUNC(statTextStatement_smokeChemTTL));
condition = QUOTE((configName (_this select 1)) isKindOf [ARR_2('smokeShell', configFile >> 'CfgMagazines')]);
condition = QUOTE((configName (_this select 1)) isKindOf [ARR_2('smokeShell',configFile >> 'CfgMagazines')]);
tabs[] = {{}, {5}};
};
class ACE_explosionTime: statBase {

View File

@ -28,7 +28,7 @@ class Cfg3DEN {
w = QUOTE(130 * ATTRIBUTE_W);
h = QUOTE(106.83 * ATTRIBUTE_H);
attributeLoad = QUOTE([ARR_2(_this,+_value)] call FUNC(attributeLoad));
attributeSave = QUOTE(uiNamespace getVariable [ARR_2(QQGVAR(attributeValue),[ARR_2([], 0)])]);
attributeSave = QUOTE(uiNamespace getVariable [ARR_2(QQGVAR(attributeValue),[ARR_2([],0)])]);
class controls {
class ModeTitle: ctrlStatic {
idc = -1;
@ -40,7 +40,7 @@ class Cfg3DEN {
};
class Mode: ctrlToolbox {
idc = IDC_ATTRIBUTE_MODE;
onToolBoxSelChanged = QUOTE([ARR_2(ctrlParentControlsGroup (_this select 0), _this select 1)] call FUNC(attributeMode));
onToolBoxSelChanged = QUOTE([ARR_2(ctrlParentControlsGroup (_this select 0),_this select 1)] call FUNC(attributeMode));
x = QUOTE(5 * ATTRIBUTE_W);
y = QUOTE(5 * ATTRIBUTE_H);
w = QUOTE(125 * ATTRIBUTE_W);
@ -55,7 +55,7 @@ class Cfg3DEN {
};
class Category: ctrlToolboxPictureKeepAspect {
idc = IDC_ATTRIBUTE_CATEGORY;
onToolBoxSelChanged = QUOTE([ARR_2(ctrlParentControlsGroup (_this select 0), _this select 1)] call FUNC(attributeCategory));
onToolBoxSelChanged = QUOTE([ARR_2(ctrlParentControlsGroup (_this select 0),_this select 1)] call FUNC(attributeCategory));
x = QUOTE(5 * ATTRIBUTE_W);
y = QUOTE(15 * ATTRIBUTE_H);
w = QUOTE(125 * ATTRIBUTE_W);
@ -110,7 +110,7 @@ class Cfg3DEN {
h = QUOTE(65 * ATTRIBUTE_H);
drawSideArrows = 1;
disableOverflow = 1;
columns[] = {0.05, 0.15, 0.85};
columns[] = {0.05, 0.15, 0.83, 0.87};
};
class ArrowLeft: ctrlButton {
idc = IDC_ATTRIBUTE_LIST_LEFT;
@ -129,7 +129,8 @@ class Cfg3DEN {
};
class SearchButton: ctrlButtonPicture {
idc = IDC_ATTRIBUTE_SEARCH_BUTTON;
onButtonClick = QUOTE( \
#pragma hemtt suppress pw3_padded_arg
onButtonClick = QUOTE(\
params ['_searchButton']; \
private _controlsGroup = ctrlParentControlsGroup _searchButton; \
private _searchBar = _controlsGroup controlsGroupCtrl IDC_ATTRIBUTE_SEARCHBAR; \
@ -147,7 +148,8 @@ class Cfg3DEN {
class SearchBar: ctrlEdit {
idc = IDC_ATTRIBUTE_SEARCHBAR;
onKeyUp = QUOTE([ctrlParentControlsGroup (_this select 0)] call FUNC(attributeAddItems));
onMouseButtonClick = QUOTE( \
#pragma hemtt suppress pw3_padded_arg
onMouseButtonClick = QUOTE(\
params [ARR_2('_searchBar','_button')]; \
if (_button != 1) exitWith {}; \
_searchBar ctrlSetText ''; \

View File

@ -26,7 +26,7 @@ class Display3DEN {
class GVAR(portVALoadouts) {
text = CSTRING(portLoadoutsText);
picture = QPATHTOEF(common,data\logo_ace3_ca.paa);
action = QUOTE(call DFUNC(portVALoadouts););
action = QUOTE(call DFUNC(portVALoadouts));
};
};
};

View File

@ -16,6 +16,8 @@ PREP(attributeKeyDown);
PREP(attributeLoad);
PREP(attributeMode);
PREP(attributeSelect);
PREP(baseAttachment);
PREP(baseOptic);
PREP(baseWeapon);
PREP(buttonActionsPage);
PREP(buttonCargo);
@ -45,6 +47,8 @@ PREP(handleLoadoutsSearchbar);
PREP(handleMouse);
PREP(handleScrollWheel);
PREP(handleSearchbar);
PREP(handleSearchInputChanged);
PREP(handleSearchModeToggle);
PREP(handleStats);
PREP(initBox);
PREP(itemInfo);
@ -74,6 +78,7 @@ PREP(removeStat);
PREP(removeVirtualItems);
PREP(renameDefaultLoadout);
PREP(replaceUniqueItemsLoadout);
PREP(saveLoadout);
PREP(scanConfig);
PREP(showItem);
PREP(sortPanel);
@ -94,6 +99,7 @@ PREP(statBarStatement_rateOfFIre);
PREP(statTextStatement_accuracy);
PREP(statTextStatement_explosionTime);
PREP(statTextStatement_illuminators);
PREP(statTextStatement_load);
PREP(statTextStatement_magCount);
PREP(statTextStatement_mass);
PREP(statTextStatement_rateOfFire);

View File

@ -18,6 +18,16 @@ GVAR(lastSortDirectionRight) = DESCENDING;
[QGVAR(removeDefaultLoadout), LINKFUNC(removeDefaultLoadout)] call CBA_fnc_addEventHandler;
[QGVAR(renameDefaultLoadout), LINKFUNC(renameDefaultLoadout)] call CBA_fnc_addEventHandler;
[QGVAR(refresh), {
params ["_object"];
// If the arsenal is already open, refresh arsenal display
// Deliberate == check, fail on objNull
if (!isNil QGVAR(currentBox) && {GVAR(currentBox) == _object}) then {
[true, true] call FUNC(refresh);
};
}] call CBA_fnc_addEventHandler;
[QGVAR(broadcastFace), {
params ["_unit", "_face"];
_unit setFace _face;
@ -60,7 +70,7 @@ GVAR(lastSortDirectionRight) = DESCENDING;
if (!isNil QGVAR(currentLoadoutsTab) && {GVAR(currentLoadoutsTab) == IDC_buttonSharedLoadouts}) then {
private _curSelData = _contentPanelCtrl lnbData [lnbCurSelRow _contentPanelCtrl, 1];
([_loadoutData] call FUNC(verifyLoadout)) params ["_extendedLoadout", "_nullItemsAmount", "_unavailableItemsAmount"];
([_loadoutData] call FUNC(verifyLoadout)) params ["_extendedLoadout", "_nullItemsList", "_unavailableItemsList"];
_extendedLoadout params ["_loadout"];
private _newRow = _contentPanelCtrl lnbAddRow [_playerName, _loadoutName];
@ -71,10 +81,10 @@ GVAR(lastSortDirectionRight) = DESCENDING;
_contentPanelCtrl lnbSetData [[_newRow, 1], _playerName + _loadoutName];
// Set color of row, depending if items are unavailable/missing
if (_nullItemsAmount > 0) then {
if (_nullItemsList isNotEqualTo []) then {
_contentPanelCtrl lnbSetColor [[_newRow, 1], [1, 0, 0, 0.8]];
} else {
if (_unavailableItemsAmount > 0) then {
if (_unavailableItemsList isNotEqualTo []) then {
_contentPanelCtrl lnbSetColor [[_newRow, 1], [1, 1, 1, 0.25]];
};
};
@ -98,24 +108,16 @@ GVAR(lastSortDirectionRight) = DESCENDING;
private _face = _extendedInfo getOrDefault [QGVAR(face), ""];
if (_face != "") then {
if (isMultiplayer) then {
private _id = [QGVAR(broadcastFace), [_unit, _face], QGVAR(centerFace_) + netId _unit] call CBA_fnc_globalEventJIP;
[_id, _unit] call CBA_fnc_removeGlobalEventJIP;
} else {
_unit setFace _face;
};
private _id = [QGVAR(broadcastFace), [_unit, _face], QGVAR(centerFace_) + hashValue _unit] call CBA_fnc_globalEventJIP;
[_id, _unit] call CBA_fnc_removeGlobalEventJIP;
};
// Set voice
private _voice = _extendedInfo getOrDefault [QGVAR(voice), ""];
if (_voice != "") then {
if (isMultiplayer) then {
private _id = [QGVAR(broadcastVoice), [_unit, _voice], QGVAR(centerVoice_) + netId _unit] call CBA_fnc_globalEventJIP;
[_id, _unit] call CBA_fnc_removeGlobalEventJIP;
} else {
_unit setSpeaker _voice;
};
private _id = [QGVAR(broadcastVoice), [_unit, _voice], QGVAR(centerVoice_) + hashValue _unit] call CBA_fnc_globalEventJIP;
[_id, _unit] call CBA_fnc_removeGlobalEventJIP;
};
// Set insignia
@ -137,7 +139,7 @@ GVAR(lastSortDirectionRight) = DESCENDING;
// Set voice if enabled
if (GVAR(loadoutsSaveVoice)) then {
_extendedInfo set [QGVAR(voice), speaker _unit];
_extendedInfo set [QGVAR(voice), (speaker _unit) call EFUNC(common,getConfigName)];
};
// Set insignia if enabled

View File

@ -9,60 +9,13 @@ PREP_RECOMPILE_START;
#include "XEH_PREP.hpp"
PREP_RECOMPILE_END;
#include "initSettings.sqf"
#include "initSettings.inc.sqf"
// Arsenal events
[QGVAR(statsToggle), {
params ["_display", "_showStats"];
private _statsCtrlGroupCtrl = _display displayCtrl IDC_statsBox;
private _statsPreviousPageCtrl = _display displayCtrl IDC_statsPreviousPage;
private _statsNextPageCtrl = _display displayCtrl IDC_statsNextPage;
private _statsCurrentPageCtrl = _display displayCtrl IDC_statsCurrentPage;
{
_x ctrlShow (GVAR(showStats) && {_showStats});
} forEach [
_statsCtrlGroupCtrl,
_statsPreviousPageCtrl,
_statsNextPageCtrl,
_statsCurrentPageCtrl
];
}] call CBA_fnc_addEventHandler;
[QGVAR(statsChangePage), {
_this call FUNC(buttonStatsPage);
}] call CBA_fnc_addEventHandler;
[QGVAR(displayStats), {
_this call FUNC(handleStats);
}] call CBA_fnc_addEventHandler;
[QGVAR(actionsChangePage), {
_this call FUNC(buttonActionsPage);
}] call CBA_fnc_addEventHandler;
[QGVAR(displayActions), {
_this call FUNC(handleActions);
}] call CBA_fnc_addEventHandler;
[QGVAR(actionsToggle), {
params ["_display", "_showActions"];
private _actionsCtrlGroupCtrl = _display displayCtrl IDC_actionsBox;
private _actionsPreviousPageCtrl = _display displayCtrl IDC_actionsPreviousPage;
private _actionsNextPageCtrl = _display displayCtrl IDC_actionsNextPage;
private _actionsCurrentPageCtrl = _display displayCtrl IDC_actionsCurrentPage;
{
_x ctrlShow (GVAR(showActions) && {_showActions});
} forEach [
_actionsCtrlGroupCtrl,
_actionsPreviousPageCtrl,
_actionsNextPageCtrl,
_actionsCurrentPageCtrl
];
}] call CBA_fnc_addEventHandler;
[QGVAR(statsChangePage), LINKFUNC(buttonStatsPage)] call CBA_fnc_addEventHandler;
[QGVAR(displayStats), LINKFUNC(handleStats)] call CBA_fnc_addEventHandler;
[QGVAR(actionsChangePage), LINKFUNC(buttonActionsPage)] call CBA_fnc_addEventHandler;
[QGVAR(displayActions), LINKFUNC(handleActions)] call CBA_fnc_addEventHandler;
call FUNC(compileActions);
call FUNC(compileSorts);
@ -83,8 +36,59 @@ call FUNC(compileStats);
EGVAR(common,blockItemReplacement) = false;
}] call CBA_fnc_addEventHandler;
[QGVAR(cargoChanged), {
params ["_display"];
// Only update actions if necessary, this can get performance-intensive using the arrow keys
if (!GVAR(updateActionsOnCargoChange)) exitWith {};
private _actionInfo = [_display];
_actionInfo append GVAR(actionInfo);
[QGVAR(displayActions), _actionInfo] call CBA_fnc_localEvent;
}] call CBA_fnc_addEventHandler;
// Setup Tools tab
[keys (uiNamespace getVariable [QGVAR(configItemsTools), createHashMap]), LLSTRING(toolsTab), TOOLS_TAB_ICON, -1, true] call FUNC(addRightPanelButton);
// TODO: make IDCs able to match IDX with simple math?
GVAR(idxMap) = createHashMapFromArray [
[IDC_buttonPrimaryWeapon, IDX_VIRT_PRIMARY_WEAPONS],
[IDC_buttonHandgun, IDX_VIRT_HANDGUN_WEAPONS],
[IDC_buttonSecondaryWeapon, IDX_VIRT_SECONDARY_WEAPONS],
[IDC_buttonHeadgear, IDX_VIRT_HEADGEAR],
[IDC_buttonUniform, IDX_VIRT_UNIFORM],
[IDC_buttonVest, IDX_VIRT_VEST],
[IDC_buttonBackpack, IDX_VIRT_BACKPACK],
[IDC_buttonGoggles, IDX_VIRT_GOGGLES],
[IDC_buttonNVG, IDX_VIRT_NVG],
[IDC_buttonBinoculars, IDX_VIRT_BINO],
[IDC_buttonMap, IDX_VIRT_MAP],
[IDC_buttonGPS, IDX_VIRT_COMMS],
[IDC_buttonRadio, IDX_VIRT_RADIO],
[IDC_buttonCompass, IDX_VIRT_COMPASS],
[IDC_buttonWatch, IDX_VIRT_WATCH]
];
// Make new hashmaps for face/voice/insignia so mission makers can disable them
// Copies of hashmaps aren't final
GVAR(faceCache) = +(uiNamespace getVariable QGVAR(faceCache));
GVAR(voiceCache) = +(uiNamespace getVariable QGVAR(voiceCache));
GVAR(insigniaCache) = +(uiNamespace getVariable QGVAR(insigniaCache));
// Get mission/campaign insignias
// BIS_fnc_setUnitInsignia will look in mission config, then campaign, then global config last, so overwrite accordingly
private _insigniaCondition = toString {
if (isNumber (_x >> "scope")) then {
getNumber (_x >> "scope") == 2
} else {
true
};
};
// Ref fnc_addListBoxItem, 0/nil = configFile, 1 = campaignConfigFile, 2 = missionConfigFile
{
GVAR(insigniaCache) set [configName _x, 1];
} forEach (_insigniaCondition configClasses (campaignConfigFile >> "CfgUnitInsignia"));
{
GVAR(insigniaCache) set [configName _x, 2];
} forEach (_insigniaCondition configClasses (missionConfigFile >> "CfgUnitInsignia"));
ADDON = true;

View File

@ -155,6 +155,8 @@
#define IDC_statsNextPage 53
#define IDC_statsCurrentPage 54
#define IDC_actionsBox 90
#define IDC_actionsBackground1 90010
#define IDC_actionsBackground2 90011
#define IDC_actionsText1 9001
#define IDC_actionsButton1 9002
#define IDC_actionsText2 9003
@ -268,6 +270,7 @@
#define IDX_VIRT_UNIQUE_UNKNOWN_ITEMS 25
// Indexes of current items array
// Should match IDX_VIRT_X macros for any left panel tabs
#define IDX_CURR_PRIMARY_WEAPON 0
#define IDX_CURR_SECONDARY_WEAPON 1
#define IDX_CURR_HANDGUN_WEAPON 2
@ -487,3 +490,6 @@ if (!isNil QGVAR(customRightPanelButtons)) then {\
_contentPanelCtrl lnbSetPicture [[_newRow, 7], getText (configFile >> "CfgVehicles" >> (_loadout select IDX_LOADOUT_BACKPACK) select 0 >> "picture")];\
_contentPanelCtrl lnbSetPicture [[_newRow, 8], getText (_cfgWeapons >> _loadout select IDX_LOADOUT_HEADGEAR >> "picture")];\
_contentPanelCtrl lnbSetPicture [[_newRow, 9], getText (configFile >> "CfgGlasses" >> _loadout select IDX_LOADOUT_GOGGLES >> "picture")];
#define ACTION_TYPE_TEXT 0
#define ACTION_TYPE_BUTTON 1

View File

@ -1,4 +1,5 @@
#include "..\script_component.hpp"
#include "..\defines.hpp"
/*
* Author: johnb43
* Adds custom action buttons.
@ -10,6 +11,7 @@
* 3: Actions <ARRAY of ARRAYS>
* 4: Condition <CODE> (default: {true})
* 5: Scope editor <NUMBER> (default: 2)
* 6: Update when cargo content changes <BOOL> (default: false)
*
* Return Value:
* 0: Array of IDs <ARRAY of STRINGS>
@ -30,7 +32,8 @@ params [
["_title", "", [""]],
["_actions", [], [[]]],
["_rootCondition", {true}, [{}]],
["_scopeEditor", 2, [0]]
["_scopeEditor", 2, [0]],
["_updateOnCargoChange", false, [false]]
];
// Compile actions from config (in case this is called before preInit)
@ -38,13 +41,13 @@ call FUNC(compileActions);
// Skip if not allowed in editor and in editor
if (is3DEN && {_scopeEditor != 2}) exitWith {
TRACE_1("Skipping action because in editor", _rootClass);
TRACE_1("Skipping action because in editor",_rootClass);
[]
};
// Class can't contain ~, because it's used for formatting result
if ("~" in _rootClass) exitWith {
TRACE_1("Classname can't contain '~'", _rootClass);
TRACE_1("Classname can't contain '~'",_rootClass);
[]
};
@ -65,7 +68,7 @@ private _fnc_addToGroup = {
// Don't allow two of the same class
if (_group findIf {(_x select 0) == _class} != -1) then {
TRACE_1("An action with this ID already exists", _class);
TRACE_1("An action with this ID already exists",_class);
continue;
};
@ -119,4 +122,8 @@ private _group = [];
};
} forEach _tabs;
if (_updateOnCargoChange) then {
GVAR(updateActionsOnCargoChange) = true;
};
_return

View File

@ -20,8 +20,9 @@
params [["_name", "", [""]], ["_loadout", [], [[]]], ["_global", false, [false]]];
if (_global) then {
[QGVAR(addDefaultLoadout), [_name, _loadout]] call CBA_fnc_remoteEvent;
if (_global) exitWith {
private _eventID = format [QGVAR(loadouts_%1), _name];
[QGVAR(addDefaultLoadout), [_name, _loadout], _eventID] call CBA_fnc_globalEventJIP;
};
private _extendedInfo = createHashMap;

View File

@ -6,9 +6,10 @@
*
* Arguments:
* 0: Config category, must be "CfgWeapons", "CfgVehicles", "CfgMagazines", "CfgVoice" or "CfgUnitInsignia" <STRING>
* 1: Classname <STRING>
* 1: Classname (must be in config case) <STRING>
* 2: Panel control <CONTROL>
* 3: Name of the picture entry in that Cfg class <STRING> (default: "picture")
* 4: Config root <NUMBER> (default: 0 -> configFile)
*
* Return Value:
* None
@ -19,9 +20,9 @@
* Public: Yes
*/
params ["_configCategory", "_className", "_ctrlPanel", ["_pictureEntryName", "picture", [""]]];
params ["_configCategory", "_className", "_ctrlPanel", ["_pictureEntryName", "picture", [""]], ["_configRoot", 0, [0]]];
private _skip = GVAR(favoritesOnly) && {!(_className in GVAR(currentItems))} && {!((toLower _className) in GVAR(favorites))};
private _skip = GVAR(favoritesOnly) && {!(_className in GVAR(currentItems))} && {!((toLowerANSI _className) in GVAR(favorites))};
if (_skip) then {
switch (GVAR(currentLeftPanel)) do {
case IDC_buttonPrimaryWeapon: {
@ -41,10 +42,10 @@ if (_skip) then {
if (_skip) exitWith {};
// Sanitise key, as it's public; If not in cache, find info and cache it for later use
((uiNamespace getVariable QGVAR(addListBoxItemCache)) getOrDefaultCall [_configCategory + _className, {
// If not in cache, find info and cache it for later use
((uiNamespace getVariable QGVAR(addListBoxItemCache)) getOrDefaultCall [_configCategory + _className + str _configRoot, {
// Get classname (config case), display name, picture and DLC
private _configPath = configFile >> _configCategory >> _className;
private _configPath = ([configFile, campaignConfigFile, missionConfigFile] select _configRoot) >> _configCategory >> _className;
private _dlcName = _configPath call EFUNC(common,getAddon);
// If _pictureEntryName is empty, then this item has no picture (e.g. faces)
@ -57,7 +58,7 @@ _ctrlPanel lbSetPicture [_lbAdd, _itemPicture];
_ctrlPanel lbSetPictureRight [_lbAdd, ["", _modPicture] select GVAR(enableModIcons)];
_ctrlPanel lbSetTooltip [_lbAdd, format ["%1\n%2", _displayName, _className]];
if ((toLower _className) in GVAR(favorites)) then {
if ((toLowerANSI _className) in GVAR(favorites)) then {
_ctrlPanel lbSetColor [_lbAdd, FAVORITES_COLOR];
_ctrlPanel lbSetSelectColor [_lbAdd, FAVORITES_COLOR];
};

View File

@ -66,7 +66,8 @@ _items = _items select {
_x isKindOf ["CBA_MiscItem", _cfgWeapons] && {getNumber (_configItemInfo >> "type") in [TYPE_MUZZLE, TYPE_OPTICS, TYPE_FLASHLIGHT, TYPE_BIPOD]} ||
{getNumber (_configItemInfo >> "type") in [TYPE_FIRST_AID_KIT, TYPE_MEDIKIT, TYPE_TOOLKIT]} ||
{getText (_cfgWeapons >> _x >> "simulation") == "ItemMineDetector"} ||
{getNumber (_cfgMagazines >> _x >> "ACE_isUnique") == 1}
{getNumber (_cfgMagazines >> _x >> "ACE_isUnique") == 1} ||
{getNumber (_cfgMagazines >> _x >> "ACE_asItem") == 1}
};
GVAR(customRightPanelButtons) set [_position, [_items apply {_x call EFUNC(common,getConfigName)}, _picture, _tooltip, _moveOnOverwrite]];

View File

@ -72,7 +72,7 @@ private _fnc_addToTabs = {
_currentTab pushBack _sort;
_return pushBack _sortName;
} else {
TRACE_1("A sort with this ID already exists", _sortName);
TRACE_1("A sort with this ID already exists",_sortName);
};
} forEach _tabsToAddTo;
};

View File

@ -77,7 +77,7 @@ private _fnc_addToTabs = {
// Find if there is an entry with same ID
if (_currentTab findIf {_x select 5 == _statName} != -1) then {
TRACE_1("A stat with this ID already exists", _statName);
TRACE_1("A stat with this ID already exists",_statName);
} else {
_stat = +_finalArray;
_stat set [5, _statName];
@ -109,11 +109,10 @@ private _tabToChange = [];
{
_x params ["_tab", "_tabSide"];
_tabToChange = if (_tabSide == "R") then {
_tabToChange = [
GVAR(statsListLeftPanel),
GVAR(statsListRightPanel)
} else {
GVAR(statsListLeftPanel)
};
] select (_tabSide == "R");
_stats = _tabToChange select _tab;

View File

@ -125,6 +125,8 @@ if (_items isEqualType true) then {
_object setVariable [QGVAR(virtualItems), _cargo, _global];
// If the arsenal is already open, refresh arsenal display
if (!isNil QGVAR(currentBox) && {GVAR(currentBox) isEqualTo _object}) then {
[true, true] call FUNC(refresh);
if (_global) then {
[QGVAR(refresh), _object] call CBA_fnc_globalEvent;
} else {
[QGVAR(refresh), _object] call CBA_fnc_localEvent;
};

View File

@ -18,9 +18,10 @@
params ["_controlsGroup"];
forceUnicode 0; // handle non-ANSI characters
private _category = lbCurSel (_controlsGroup controlsGroupCtrl IDC_ATTRIBUTE_CATEGORY);
// Have to use toLower here and displayName to handle non-ANSI characters
private _filter = toLower ctrlText (_controlsGroup controlsGroupCtrl IDC_ATTRIBUTE_SEARCHBAR);
private _filter = ctrlText (_controlsGroup controlsGroupCtrl IDC_ATTRIBUTE_SEARCHBAR);
private _configItems = uiNamespace getVariable QGVAR(configItems);
private _magazineMiscItems = uiNamespace getVariable QGVAR(magazineMiscItems);
private _attributeValue = uiNamespace getVariable [QGVAR(attributeValue), [[], 0]];
@ -45,6 +46,7 @@ private _cfgWeapons = configFile >> "CfgWeapons";
private _cfgMagazines = configFile >> "CfgMagazines";
private _cfgVehicles = configFile >> "CfgVehicles";
private _cfgGlasses = configFile >> "CfgGlasses";
private _dlcName = "";
// Exit with current items (no specific category)
if (_category == IDX_CAT_ALL) exitWith {
@ -64,7 +66,7 @@ if (_category == IDX_CAT_ALL) exitWith {
default {_cfgWeapons >> _x};
};
_displayName = toLower getText (_config >> "displayName");
_displayName = getText (_config >> "displayName");
// Add item if not filtered
if (_displayName regexMatch _filter || {_x regexMatch _filter}) then {
@ -72,6 +74,12 @@ if (_category == IDX_CAT_ALL) exitWith {
_listbox lnbSetData [[_index, 1], _x];
_listbox lnbSetPicture [[_index, 0], getText (_config >> "picture")];
_listbox lnbSetTooltip [[_index, 0], _x];
_dlcName = _config call EFUNC(common,getAddon);
if (_dlcName != "") then {
_listbox lnbSetPicture [[_index, 2], (modParams [_dlcName, ["logo"]]) param [0, ""]];
};
};
} forEach _attributeItems;
@ -116,7 +124,7 @@ private _config = _cfgClass;
_config = [_cfgClass, _cfgMagazines] select (_x in _magazineMiscItems);
};
_displayName = toLower getText (_config >> _x >> "displayName");
_displayName = getText (_config >> _x >> "displayName");
// Add item if not filtered
if (_displayName regexMatch _filter || {_x regexMatch _filter}) then {
@ -129,14 +137,25 @@ private _config = _cfgClass;
_alpha = 0.5;
};
_index = _listbox lnbAddRow ["", _displayName, _symbol];
_index = _listbox lnbAddRow ["", _displayName, "", _symbol];
_listbox lnbSetData [[_index, 1], _x];
_listbox lnbSetPicture [[_index, 0], getText (_config >> _x >> "picture")];
_listbox lnbSetTooltip [[_index, 0], _x];
_listbox lnbSetColor [[_index, 1], [1, 1, 1, _alpha]];
_listbox lnbSetColor [[_index, 2], [1, 1, 1, _alpha]];
_listbox lnbSetColor [[_index, 3], [1, 1, 1, _alpha]];
// Mod icon is in column 2
_dlcName = (_config >> _x) call EFUNC(common,getAddon);
if (_dlcName != "") then {
_listbox lnbSetPicture [[_index, 2], (modParams [_dlcName, ["logo"]]) param [0, ""]];
_listbox lnbSetPictureColor [[_index, 2], [1, 1, 1, _alpha]];
};
};
} forEach (keys _categoryItems);
// Sort alphabetically
_listbox lnbSort [1, false];
// Reset unicode flag
forceUnicode -1;

View File

@ -24,14 +24,12 @@ if (_mode > 0) then {
// Blacklist: add full arsenal and take items away
[_object, true, true] call FUNC(initBox);
// Need to delay removal by 2 frames
// Wait until all items have been added, so that the blacklisted items can be removed
[{
[{
params ["_object", "_items"];
[_object, _items, true] call FUNC(removeVirtualItems);
}, _this] call CBA_fnc_execNextFrame;
}, [_object, _items]] call CBA_fnc_execNextFrame;
!isNil {(_this select 0) getVariable QGVAR(virtualItems)}
}, {
[_this select 0, _this select 1, true] call FUNC(removeVirtualItems);
}, [_object, _items], 20] call CBA_fnc_waitUntilAndExecute; // 20s timeout in case of failure
} else {
// Exit on whitelist mode with no items
if (_items isEqualTo []) exitWith {};

View File

@ -35,9 +35,10 @@ if (_addItem && {_itemIndex == -1}) exitWith {
_attributeItems pushBack _itemClassname;
// Change symbol and increase alpha
_listbox lnbSetText [[_currentRow, 2], [SYMBOL_ITEM_VIRTUAL, SYMBOL_ITEM_REMOVE] select _attributeMode];
_listbox lnbSetText [[_currentRow, 3], [SYMBOL_ITEM_VIRTUAL, SYMBOL_ITEM_REMOVE] select _attributeMode];
_listbox lnbSetColor [[_currentRow, 1], [1, 1, 1, 1]];
_listbox lnbSetColor [[_currentRow, 2], [1, 1, 1, 1]];
_listbox lnbSetPictureColor [[_currentRow, 2], [1, 1, 1, 1]]; // mod icon is in column 2
_listbox lnbSetColor [[_currentRow, 3], [1, 1, 1, 1]];
};
// Remove item if in list
@ -45,7 +46,8 @@ if (!_addItem && {_itemIndex != -1}) exitWith {
_attributeItems deleteAt _itemIndex;
// Change symbol and reduce alpha
_listbox lnbSetText [[_currentRow, 2], SYMBOL_ITEM_NONE];
_listbox lnbSetText [[_currentRow, 3], SYMBOL_ITEM_NONE];
_listbox lnbSetColor [[_currentRow, 1], [1, 1, 1, 0.5]];
_listbox lnbSetColor [[_currentRow, 2], [1, 1, 1, 0.5]];
_listbox lnbSetPictureColor [[_currentRow, 2], [1, 1, 1, 0.5]]; // mod icon is in column 2
_listbox lnbSetColor [[_currentRow, 3], [1, 1, 1, 0.5]];
};

View File

@ -0,0 +1,59 @@
#include "..\script_component.hpp"
/*
* Author: Jonpas, LinkIsGrim
* Returns base attachment for CBA scripted attachment
* Adapted from CBA_fnc_switchableAttachments
*
* Arguments:
* 0: Attachment <STRING>
*
* Return Value:
* Base attachment <STRING>
*
* Example:
* "ACE_acc_pointer_green_IR" call ace_arsenal_fnc_baseAttachment
*
* Public: Yes
*/
params [["_item", "", [""]]];
TRACE_1("looking up base attachment",_item);
private _switchableClasses = [];
private _cfgWeapons = configfile >> "CfgWeapons";
private _config = _cfgWeapons >> _item;
_item = configName _config;
// If the switch config entries are inherited, ignore
if (
(inheritsFrom (_config >> "MRT_SwitchItemNextClass") isNotEqualTo _config) ||
{inheritsFrom (_config >> "MRT_SwitchItemPrevClass") isNotEqualTo _config}
) exitWith {
_item // return
};
while {
_config = _cfgWeapons >> getText (_config >> "MRT_SwitchItemNextClass");
isClass _config && {_switchableClasses pushBackUnique configName _config != -1}
} do {};
_config = _cfgWeapons >> _item;
private _backward = [];
while {
_config = _cfgWeapons >> getText (_config >> "MRT_SwitchItemPrevClass");
isClass _config && {_backward pushBackUnique configName _config != -1}
} do {};
_switchableClasses append _backward;
_switchableClasses = _switchableClasses arrayIntersect _switchableClasses;
{
if (getNumber (_cfgWeapons >> _x >> "scope") == 2) exitWith {
TRACE_2("found class",_item,_x);
_item = _x;
};
} forEach _switchableClasses;
_item

View File

@ -0,0 +1,32 @@
#include "..\script_component.hpp"
/*
* Author: Jonpas, LinkIsGrim
* Returns base optic for CBA scripted optics (PIP and 2D)
*
* Arguments:
* 0: Optic <STRING>
*
* Return Value:
* Base optic <STRING>
*
* Example:
* "CUP_optic_Elcan_SpecterDR_black_PIP" call ace_arsenal_fnc_baseOptic
*
* Public: Yes
*/
params [["_optic", "", [""]]];
// PIP
private _baseClasses = configProperties [configFile >> "CBA_PIPItems", "getText _x == _optic"];
// Carry Handle
{
_baseClasses append (configProperties [_x, "getText _x == _optic"]);
} forEach configProperties [configFile >> "CBA_CarryHandleTypes"];
if (_baseClasses isNotEqualTo []) then {
_optic = configName (_baseClasses select 0);
};
_optic

View File

@ -19,7 +19,7 @@
params [["_weapon", "", [""]]];
// Check if item is cached
(uiNamespace getVariable QGVAR(baseWeaponNameCache)) getOrDefaultCall [toLower _weapon, {
(uiNamespace getVariable QGVAR(baseWeaponNameCache)) getOrDefaultCall [toLowerANSI _weapon, {
private _cfgWeapons = configfile >> "CfgWeapons";
private _config = _cfgWeapons >> _weapon;

Some files were not shown because too many files have changed in this diff Show More