├── .editorconfig
├── .gibot.yml
├── .gitattributes
├── .github
├── CONTRIBUTING.md
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── config.yml
│ ├── enhancement-request.md
│ └── feature_request.md
├── PULL_REQUEST_TEMPLATE.md
├── release-drafter.yml
├── stale.yml
└── workflows
│ ├── arma.yml
│ ├── documentation.yml
│ └── release-drafter.yml
├── .gitignore
├── AUTHORS.txt
├── Arma3_workshop_addon.jpg
├── LICENSE
├── README.md
├── addons
├── field_rations
│ ├── $PBOPREFIX$
│ ├── Cfg3DEN.hpp
│ ├── CfgEventHandlers.hpp
│ ├── CfgMoves.hpp
│ ├── CfgSounds.hpp
│ ├── CfgUIGrids.hpp
│ ├── CfgVehicles.hpp
│ ├── CfgWeapons.hpp
│ ├── README.md
│ ├── RscTitles.hpp
│ ├── XEH_PREP.hpp
│ ├── XEH_postInit.sqf
│ ├── XEH_preInit.sqf
│ ├── XEH_preStart.sqf
│ ├── anim
│ │ ├── drink_crouch.rtm
│ │ ├── drink_crouch_can.rtm
│ │ ├── drink_prone.rtm
│ │ ├── drink_prone_can.rtm
│ │ ├── drink_source.rtm
│ │ ├── drink_source_high.rtm
│ │ ├── drink_source_low.rtm
│ │ ├── drink_source_squat.rtm
│ │ ├── drink_source_squat_high.rtm
│ │ ├── drink_source_squat_low.rtm
│ │ ├── drink_stand.rtm
│ │ ├── drink_stand_can.rtm
│ │ └── model.cfg
│ ├── config.cpp
│ ├── data
│ │ ├── mre.rvmat
│ │ ├── mre_human.p3d
│ │ ├── mre_human_co.paa
│ │ ├── mre_nohq.paa
│ │ ├── mre_smdi.paa
│ │ ├── mre_type1.p3d
│ │ ├── mre_type1_co.paa
│ │ ├── mre_type2.p3d
│ │ ├── mre_type3.p3d
│ │ ├── mre_type3_co.paa
│ │ ├── mre_type4.p3d
│ │ ├── mre_type4_co.paa
│ │ ├── mre_type5.p3d
│ │ ├── mre_type6.p3d
│ │ └── mre_type6_co.paa
│ ├── functions
│ │ ├── fnc_addStatusModifier.sqf
│ │ ├── fnc_addWaterSourceInteractions.sqf
│ │ ├── fnc_canDrinkFromSource.sqf
│ │ ├── fnc_canRefillItem.sqf
│ │ ├── fnc_checkWater.sqf
│ │ ├── fnc_consumeItem.sqf
│ │ ├── fnc_drinkFromSource.sqf
│ │ ├── fnc_getActionOffset.sqf
│ │ ├── fnc_getConsumableChildren.sqf
│ │ ├── fnc_getDrinkAnimation.sqf
│ │ ├── fnc_getRefillChildren.sqf
│ │ ├── fnc_getRemainingWater.sqf
│ │ ├── fnc_handleEffects.sqf
│ │ ├── fnc_handleHUD.sqf
│ │ ├── fnc_handleRespawn.sqf
│ │ ├── fnc_refillItem.sqf
│ │ ├── fnc_setRemainingWater.sqf
│ │ ├── fnc_update.sqf
│ │ └── script_component.hpp
│ ├── initSettings.sqf
│ ├── script_component.hpp
│ ├── sounds
│ │ ├── drink1.ogg
│ │ ├── drink2.ogg
│ │ ├── drink_can1.ogg
│ │ └── drink_can2.ogg
│ ├── stringtable.xml
│ └── ui
│ │ ├── icon_can_franta_ca.paa
│ │ ├── icon_can_redgull_ca.paa
│ │ ├── icon_can_spirit_ca.paa
│ │ ├── icon_hud_hungerstatus.paa
│ │ ├── icon_hud_thirststatus.paa
│ │ ├── icon_survival.paa
│ │ ├── icon_water_tap.paa
│ │ ├── igui_preview.paa
│ │ ├── item_canteen_co.paa
│ │ ├── item_mre_human_co.paa
│ │ ├── item_mre_type1_co.paa
│ │ ├── item_mre_type2_co.paa
│ │ ├── item_mre_type3_co.paa
│ │ ├── item_mre_type4_co.paa
│ │ ├── item_mre_type5_co.paa
│ │ ├── item_mre_type6_co.paa
│ │ ├── item_waterbottle_empty_co.paa
│ │ └── item_waterbottle_full_co.paa
├── fortify
│ ├── $PBOPREFIX$
│ ├── ACEX_Fortify_Presets.hpp
│ ├── Cfg3DEN.hpp
│ ├── CfgEventHandlers.hpp
│ ├── CfgVehicles.hpp
│ ├── CfgWeapons.hpp
│ ├── README.md
│ ├── UI
│ │ └── hammer_ca.paa
│ ├── XEH_PREP.hpp
│ ├── XEH_missionDisplayLoad.sqf
│ ├── XEH_postInit.sqf
│ ├── XEH_preInit.sqf
│ ├── XEH_preStart.sqf
│ ├── config.cpp
│ ├── functions
│ │ ├── fnc_addActions.sqf
│ │ ├── fnc_addDeployHandler.sqf
│ │ ├── fnc_axisLengths.sqf
│ │ ├── fnc_buildLocationModule.sqf
│ │ ├── fnc_canFortify.sqf
│ │ ├── fnc_deployConfirm.sqf
│ │ ├── fnc_deployObject.sqf
│ │ ├── fnc_getBudget.sqf
│ │ ├── fnc_getCost.sqf
│ │ ├── fnc_getPlaceableSet.sqf
│ │ ├── fnc_handleChatCommand.sqf
│ │ ├── fnc_handleScrollWheel.sqf
│ │ ├── fnc_modifyAction.sqf
│ │ ├── fnc_parseSide.sqf
│ │ ├── fnc_registerObjects.sqf
│ │ ├── fnc_setupModule.sqf
│ │ ├── fnc_updateBudget.sqf
│ │ └── script_component.hpp
│ ├── initSettings.sqf
│ ├── script_component.hpp
│ └── stringtable.xml
├── headless
│ ├── $PBOPREFIX$
│ ├── ACE_Settings.hpp
│ ├── CfgEden.hpp
│ ├── CfgEventHandlers.hpp
│ ├── CfgVehicles.hpp
│ ├── README.md
│ ├── UI
│ │ └── Icon_Module_Headless_ca.paa
│ ├── XEH_PREP.hpp
│ ├── XEH_postInit.sqf
│ ├── XEH_preInit.sqf
│ ├── XEH_preStart.sqf
│ ├── config.cpp
│ ├── functions
│ │ ├── fnc_endMissionNoPlayers.sqf
│ │ ├── fnc_handleConnectHC.sqf
│ │ ├── fnc_handleDisconnect.sqf
│ │ ├── fnc_handleSpawn.sqf
│ │ ├── fnc_moduleInit.sqf
│ │ ├── fnc_rebalance.sqf
│ │ ├── fnc_transferGroups.sqf
│ │ └── script_component.hpp
│ ├── initSettings.sqf
│ ├── script_component.hpp
│ └── stringtable.xml
├── intelitems
│ ├── $PBOPREFIX$
│ ├── CfgEditorSubcategories.hpp
│ ├── CfgEventHandlers.hpp
│ ├── CfgMagazines.hpp
│ ├── CfgVehicles.hpp
│ ├── README.md
│ ├── XEH_PREP.hpp
│ ├── XEH_postInit.sqf
│ ├── XEH_preInit.sqf
│ ├── XEH_preStart.sqf
│ ├── config.cpp
│ ├── functions
│ │ ├── fnc_addActions.sqf
│ │ ├── fnc_addIntel.sqf
│ │ ├── fnc_attributeFocus.sqf
│ │ ├── fnc_canPickup.sqf
│ │ ├── fnc_createControl.sqf
│ │ ├── fnc_deleteControl.sqf
│ │ ├── fnc_handleLoadout.sqf
│ │ ├── fnc_handleMagIndex.sqf
│ │ ├── fnc_onMouseButtonDown.sqf
│ │ ├── fnc_onMouseButtonUp.sqf
│ │ ├── fnc_onMouseMoving.sqf
│ │ ├── fnc_pickup.sqf
│ │ ├── fnc_setObjectData.sqf
│ │ └── script_component.hpp
│ ├── gui.hpp
│ ├── script_component.hpp
│ ├── stringtable.xml
│ └── ui
│ │ ├── document_ca.paa
│ │ ├── notepad_ca.paa
│ │ └── photo_ca.paa
├── killtracker
│ ├── $PBOPREFIX$
│ ├── CfgEventHandlers.hpp
│ ├── README.md
│ ├── XEH_postInit.sqf
│ ├── config.cpp
│ ├── script_component.hpp
│ └── stringtable.xml
├── main
│ ├── $PBOPREFIX$
│ ├── CfgModuleCategories.hpp
│ ├── CfgSettings.hpp
│ ├── README.md
│ ├── config.cpp
│ ├── script_component.hpp
│ ├── script_macros.hpp
│ ├── script_mod.hpp
│ └── script_version.hpp
├── sitting
│ ├── $PBOPREFIX$
│ ├── ACE_Settings.hpp
│ ├── CfgEventHandlers.hpp
│ ├── CfgMoves.hpp
│ ├── CfgVehicles.hpp
│ ├── README.md
│ ├── UI
│ │ ├── Icon_Module_Sitting_ca.paa
│ │ ├── sit_ca.paa
│ │ └── stand_ca.paa
│ ├── XEH_PREP.hpp
│ ├── XEH_clientInit.sqf
│ ├── XEH_preInit.sqf
│ ├── XEH_preStart.sqf
│ ├── config.cpp
│ ├── functions
│ │ ├── fnc_addSitActions.sqf
│ │ ├── fnc_canSit.sqf
│ │ ├── fnc_canStand.sqf
│ │ ├── fnc_getRandomAnimation.sqf
│ │ ├── fnc_handleInterrupt.sqf
│ │ ├── fnc_moduleInit.sqf
│ │ ├── fnc_sit.sqf
│ │ ├── fnc_stand.sqf
│ │ └── script_component.hpp
│ ├── script_component.hpp
│ └── stringtable.xml
├── viewrestriction
│ ├── $PBOPREFIX$
│ ├── ACE_Settings.hpp
│ ├── CfgEventHandlers.hpp
│ ├── CfgVehicles.hpp
│ ├── README.md
│ ├── UI
│ │ └── Icon_Module_ViewRestriction_ca.paa
│ ├── XEH_PREP.hpp
│ ├── XEH_clientInit.sqf
│ ├── XEH_preInit.sqf
│ ├── XEH_preStart.sqf
│ ├── config.cpp
│ ├── functions
│ │ ├── fnc_canChangeCamera.sqf
│ │ ├── fnc_changeCamera.sqf
│ │ ├── fnc_moduleInit.sqf
│ │ ├── fnc_selectiveChangeCamera.sqf
│ │ ├── fnc_switchPreserveView.sqf
│ │ └── script_component.hpp
│ ├── initSettings.sqf
│ ├── script_component.hpp
│ └── stringtable.xml
└── volume
│ ├── $PBOPREFIX$
│ ├── ACE_Settings.hpp
│ ├── CfgEventHandlers.hpp
│ ├── XEH_PREP.hpp
│ ├── XEH_postInitClient.sqf
│ ├── XEH_preInit.sqf
│ ├── XEH_preStart.sqf
│ ├── config.cpp
│ ├── functions
│ ├── fnc_lowerVolume.sqf
│ ├── fnc_remind.sqf
│ ├── fnc_restoreVolume.sqf
│ └── script_component.hpp
│ ├── script_component.hpp
│ └── stringtable.xml
├── extras
├── assets
│ └── logo
│ │ ├── black
│ │ ├── ACEX-Logo.eps
│ │ ├── ACEX-Logo.jpg
│ │ └── ACEX-Logo.png
│ │ └── white
│ │ ├── ACEX-Logo.eps
│ │ ├── ACEX-Logo.jpg
│ │ └── ACEX-Logo.png
└── blank
│ ├── $PBOPREFIX$
│ ├── CfgEventHandlers.hpp
│ ├── XEH_PREP.hpp
│ ├── XEH_preInit.sqf
│ ├── XEH_preStart.sqf
│ ├── config.cpp
│ ├── functions
│ ├── fnc_empty.sqf
│ └── script_component.hpp
│ └── script_component.hpp
├── hemtt.toml
├── include
├── a3
│ └── ui_f
│ │ ├── $PBOPREFIX$
│ │ └── hpp
│ │ ├── defineCommonColors.inc
│ │ ├── defineCommonGrids.inc
│ │ ├── defineDIKCodes.inc
│ │ ├── defineResincl.inc
│ │ └── defineResinclDesign.inc
├── x
│ └── cba
│ │ └── addons
│ │ ├── main
│ │ ├── $PBOPREFIX$
│ │ └── script_macros_common.hpp
│ │ └── xeh
│ │ ├── $PBOPREFIX$
│ │ └── script_xeh.hpp
└── z
│ └── ace
│ └── addons
│ └── main
│ ├── $PBOPREFIX$
│ ├── script_debug.hpp
│ └── script_macros.hpp
├── logo_acex_ca.paa
├── meta.cpp
├── mod.cpp
└── tools
├── build.py
├── check_strings.py
├── config_style_checker.py
├── deploy.py
├── make.cfg
├── make.py
├── setup.py
├── sqf_validator.py
├── stringtable_validator.py
├── stringtablediag.py
└── stringtableduplicates.py
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 4
9 | trim_trailing_whitespace = true
10 |
11 | [*.md]
12 | trim_trailing_whitespace = false
13 |
--------------------------------------------------------------------------------
/.gibot.yml:
--------------------------------------------------------------------------------
1 | stages:
2 | mark_for_closing:
3 | days: 30
4 | labels:
5 | - need more info
6 | - invalid
7 | - can't reproduce
8 | - wontfix
9 | - information required
10 | exclude:
11 | - marked for cleanup
12 | comment:
13 | - 'Hello @{author}! There has been no activity on this ticket for over a period of {days} days. I am automatically replying to let you know we will close this ticket within 1 week due to inactivity and consider this resolved.'
14 | - 'If you believe this in error, please reply with the requested information.'
15 | - 'Thank you. :robot:'
16 | action:
17 | close: false
18 | comment: true
19 | assign_label:
20 | - marked for cleanup
21 | clean_up:
22 | days: 7
23 | labels:
24 | - marked for cleanup
25 | comment:
26 | - 'Hello @{author}! We have detected no activity for {days} days on this ticket. We therefore assume that the original reporter has lost interest or the issue has been resolved.'
27 | - 'Since we have marked this ticket for deletion, we will be closing it.'
28 | - 'If this has been closed in error, please create a comment below and we can reopen this issue. Note that you may need to provide additional information that was requested.'
29 | - 'Thank you. :robot:'
30 | action:
31 | close: true
32 | comment: true
33 | assign_label:
34 | - closed by bot
35 | remove_label:
36 | - marked for cleanup
37 | remind_about_old_ticket:
38 | days: 130
39 | labels:
40 | - bug
41 | - critical bug
42 | exclude:
43 | - need more info
44 | - invalid
45 | - can't reproduce
46 | - wontfix
47 | - information required
48 | - marked for cleanup
49 | - inactive
50 | comment:
51 | - 'Hello @acemod/maintainers. This ticket has been open for over {days} days without any activity.'
52 | action:
53 | comment: true
54 | assign_label:
55 | - inactive
56 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 | *.png binary
3 | *.jpg binary
4 | *.paa binary
5 |
--------------------------------------------------------------------------------
/.github/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Reporting an issue
2 |
3 | ## Before reporting
4 |
5 | If you have found an issue with ACEX please make sure that ACEX really is the cause of the problem. To do this try to reproduce the issue with using only `@CBA_A3`, `@ace` and `@acex` on a newly created mission.
6 |
7 | Indicate if the issue appears on stable or development version. In case it is the development version, please also include the commit SHA-1 hash.
8 |
9 | **Please note:**
10 | - It's not a valid to simply remove @acex from the mod list to confirm that ACEX is the culprit.
11 | - If the error happens when using a third-party mod contact the author of the appropriate mod and report the issue there.
12 |
13 | ## Reporting the issue
14 |
15 | Head over to the [ACEX GitHub issue tracker](https://github.com/acemod/ACEX/issues) and press the [New issue](https://github.com/acemod/ACEX/issues/new) button in the top right corner. Add a descriptive title and complete the issue template.
16 |
17 | A video of the issue might be helpful in resolving it faster.
18 |
19 | # Feature Requests
20 |
21 | ## Background
22 | ACE2, AGM and CSE had a lot of features implemented or planned. All of them are or have been evaluated for inclusion in ACE3 or ACEX itself, and we'd like to port the majority of them eventually. However, due to time constraints, we have managed to finish only a fraction of the job so far.
23 |
24 | Please refrain from making requests for any planned or existing features from either ACE2, AGM or CSE. Most of them are already being or have been considered for porting or a rewrite.
25 |
26 | ## Requesting a feature
27 | In order to avoid duplicates and keep the issue tracker organized, we have created a common issue for [ACE3 Feature requests](https://github.com/acemod/ACE3/issues/3594). Any and all relevant requests should be submitted there, where they will also get discussed and evaluated. Before adding a new one, make sure to check the previous entries from the thread and do a quick search for similar suggestions; please don't reiterate requests for features that had already been accepted for inclusion, or those which were disregarded earlier.
28 |
29 | Following their approval, feature requests may be moved by moderators to a separate issue for further discussion.
30 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: bug
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Mods (complete and add to the following information):**
11 | - **Arma 3:** `x.xx` [e.g. 1.00 stable, rc, dev]
12 | - **CBA:** `3.x.x` [e.g. 3.0.0 stable, commit hash]
13 | - **ACE3:** `3.x.x` [eg. 3.0.0 stable, commit hash]
14 | - **ACEX:** `3.x.x` [eg. 3.0.0 stable, commit hash]
15 | _Make sure to reproduce the issue with only CBA, ACE3 and ACEX on a newly created mission!_
16 |
17 | **Description:**
18 | A clear and concise description of what the bug is.
19 |
20 | **Steps to reproduce:**
21 | - Go to ...
22 | - Click ...
23 | - See ...
24 |
25 | **Expected behavior:**
26 | A clear and concise description of what you expected to happen.
27 |
28 | **Where did the issue occur?**
29 | - Dedicated / Self-Hosted Multiplayer / Singleplayer / Editor (Singleplayer) / Editor (Multiplayer) / Virtual Arsenal
30 |
31 | **Log Files:**
32 | - Link to ([gist](https://gist.github.com) or [pastebin](http://pastebin.com)) to the client and/or server RPT file. An instruction to find your RPT files can be found [here](https://community.bistudio.com/wiki/Crash_Files#Arma_3).
33 |
34 | **Additional context:**
35 | Add any other context about the problem here.
36 |
37 | **Screenshots:**
38 | If applicable, add screenshots to help explain your problem.
39 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/enhancement-request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Enhancement request
3 | about: Suggest an improvement for this project
4 | title: ''
5 | labels: enhancement
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your enhancement related to a problem?**
11 | A clear and concise description of what the enhancement entails. Ex. [...] would improve user experience.
12 |
13 | **Solution you'd like:**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Alternatives you've considered:**
17 | A clear and concise description of any alternative solutions or ideas you've considered.
18 |
19 | **Additional context:**
20 | Add any other context or screenshots about the enhancement here.
21 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: feature request, invalid
6 | assignees: ''
7 |
8 | ---
9 |
10 | ### Do not post feature requests here!
11 |
12 | Learn how to make a feature request [here](https://ace3mod.com/wiki/user/how-to-make-a-feature-request.html).
13 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | **When merged this pull request will:**
2 | - Describe what this pull request will do
3 | - Each change in a separate line
4 | - Respect the [Development Guidelines](http://ace3mod.com/wiki/development/)
5 |
--------------------------------------------------------------------------------
/.github/release-drafter.yml:
--------------------------------------------------------------------------------
1 | branches:
2 | - master
3 | - release-drafter # for testing edits to this configuration
4 |
5 | name-template: 'Version $NEXT_PATCH_VERSION'
6 | tag-template: 'v$NEXT_PATCH_VERSION'
7 |
8 | categories:
9 | - title: '**ADDED:**'
10 | labels:
11 | - 'feature request'
12 | - 'added feature'
13 | - title: '**FIXED:**'
14 | labels:
15 | - 'bug fix'
16 | - title: '**IMPROVED:**'
17 | labels:
18 | - 'enhancement'
19 | - 'optimization'
20 | - title: '**CHANGED:**'
21 | labels:
22 | - 'cleanup'
23 | - title: '**TRANSLATIONS:**'
24 | labels:
25 | - 'translation'
26 |
27 | exclude-labels:
28 | - 'ignore changelog'
29 |
30 | change-template: '- $TITLE (#$NUMBER)'
31 | template: |
32 | _Requires ACE3 version X.Y.Z or later._
33 |
34 | ## Change Log Summary
35 |
36 | $CHANGES
37 |
38 | replacers:
39 | # Category titles
40 | - search: '/\#\# (\*\*(ADDED|FIXED|IMPROVED|CHANGED|TRANSLATIONS):\*\*)/g'
41 | replace: '$1'
42 |
--------------------------------------------------------------------------------
/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # Number of days of inactivity before an issue becomes stale
2 | daysUntilStale: 180
3 |
4 | # Number of days of inactivity before a stale issue is closed
5 | daysUntilClose: 14
6 |
7 | # Issues with these labels will never be considered stale
8 | exemptLabels:
9 | - pinned
10 | - critical bug
11 | - bug
12 | - feature request
13 | - sticky
14 | - help wanted
15 |
16 | # Label to use when marking an issue as stale
17 | staleLabel: stale
18 |
19 | # Comment to post when marking an issue as stale. Set to `false` to disable
20 | markComment: >
21 | This issue has been automatically marked as stale because it has not had
22 | recent activity. It will be closed if no further activity occurs. Thank you
23 | for your contributions.
24 |
25 | # Comment to post when closing a stale issue. Set to `false` to disable
26 | closeComment: >
27 | This issue has been automatically closed due to inactivity.
28 |
29 | If this is still an issue, please feel free to re-open this. If necessary, provide any additional details to help us solve this issue.
30 |
31 | If you wish to assist us resolving this issue,
32 | please re-open or create a new issue stating you wish to help us out.
33 |
34 | Thank you for your contributions.
35 |
36 | # Limit the number of actions per hour, from 1-30. Default is 30
37 | limitPerRun: 30
38 |
39 | # Limit to only `issues` or `pulls`
40 | only: issues
41 |
42 | # Set to true to ignore issues in a project (defaults to false)
43 | exemptProjects: true
44 |
45 | # Set to true to ignore issues in a milestone (defaults to false)
46 | exemptMilestones: true
47 |
--------------------------------------------------------------------------------
/.github/workflows/arma.yml:
--------------------------------------------------------------------------------
1 | name: Arma
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 | pull_request:
8 |
9 | jobs:
10 | validate:
11 | runs-on: ubuntu-latest
12 | steps:
13 | - name: Checkout the source code
14 | uses: actions/checkout@master
15 | - name: Validate SQF
16 | run: python3 tools/sqf_validator.py
17 | - name: Validate Config
18 | run: python3 tools/config_style_checker.py
19 | - name: Validate Stringtables
20 | run: python3 tools/stringtable_validator.py
21 | - name: Check Strings
22 | run: python3 tools/check_strings.py
23 | - name: Check for BOM
24 | uses: arma-actions/bom-check@v1
25 |
26 | lint:
27 | runs-on: ubuntu-latest
28 | steps:
29 | - name: Checkout the source code
30 | uses: actions/checkout@master
31 | - name: Lint (sqflint)
32 | uses: arma-actions/sqflint@master
33 | continue-on-error: true # No failure due to many false-positives
34 |
35 | build:
36 | runs-on: ubuntu-latest
37 | steps:
38 | - name: Checkout the source code
39 | uses: actions/checkout@master
40 | - name: Build using HEMTT
41 | uses: arma-actions/hemtt@master
42 | with:
43 | command: build --release --ci
44 | # https://github.com/actions/upload-artifact/issues/3#issuecomment-524442814
45 | # - name: Upload Artifact
46 | # uses: actions/upload-artifact@master
47 | # with:
48 | # name: ace3-${{ github.sha }}-nobin
49 | # path: '@ace'
50 |
--------------------------------------------------------------------------------
/.github/workflows/documentation.yml:
--------------------------------------------------------------------------------
1 | name: Documentation
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 |
8 | jobs:
9 | update:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - name: Checkout the source code
13 | uses: actions/checkout@master
14 | - name: Install Python packages
15 | run: |
16 | pip3 install wheel
17 | pip3 install setuptools
18 | pip3 install pygithub
19 | pip3 install pygithub3
20 | - name: Deploy
21 | if: github.repository == 'acemod/ACEX' && ! contains(github.event.head_commit.message, '[ci skip]')
22 | env:
23 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
24 | run: python3 tools/deploy.py
25 |
--------------------------------------------------------------------------------
/.github/workflows/release-drafter.yml:
--------------------------------------------------------------------------------
1 | name: Release Drafter
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 |
8 | jobs:
9 | draft:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - name: Release Drafter
13 | if: github.repository == 'acemod/ACEX'
14 | uses: release-drafter/release-drafter@v5
15 | env:
16 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
17 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | release/*
2 | releases/*
3 | keys/*
4 | *.cache
5 | *.pbo
6 | texHeaders.bin
7 | *.swp
8 | *.swo
9 | *.biprivatekey
10 | Thumbs.db
11 | .hemtt/local
12 | hemtt.exe
13 |
--------------------------------------------------------------------------------
/Arma3_workshop_addon.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/Arma3_workshop_addon.jpg
--------------------------------------------------------------------------------
/addons/field_rations/$PBOPREFIX$:
--------------------------------------------------------------------------------
1 | z\acex\addons\field_rations
2 |
--------------------------------------------------------------------------------
/addons/field_rations/Cfg3DEN.hpp:
--------------------------------------------------------------------------------
1 | #define GET_NUMBER(config,default) (if (isNumber (config)) then {getNumber (config)} else {default})
2 | #define DEFAULT_WATER_SUPPLY GET_NUMBER(configFile >> 'CfgVehicles' >> typeOf _this >> QQGVAR(waterSupply),REFILL_WATER_DISABLED)
3 |
4 | class Cfg3DEN {
5 | class Object {
6 | class AttributeCategories {
7 | class ace_attributes {
8 | class Attributes {
9 | class GVAR(waterSupply) {
10 | displayName = CSTRING(WaterSupply_3DEN_DisplayName);
11 | tooltip = CSTRING(WaterSupply_3DEN_Description);
12 | property = QGVAR(waterSupply);
13 | control = "EditShort";
14 | expression = QUOTE(if (_value != DEFAULT_WATER_SUPPLY) then {_this setVariable [ARR_3(QQGVAR(currentWaterSupply),_value,true)]});
15 | defaultValue = QUOTE(DEFAULT_WATER_SUPPLY);
16 | validate = "NUMBER";
17 | condition = "(1 - objectBrain) * (1 - objectAgent)";
18 | typeName = "NUMBER";
19 | };
20 | };
21 | };
22 | };
23 | };
24 | };
25 |
--------------------------------------------------------------------------------
/addons/field_rations/CfgEventHandlers.hpp:
--------------------------------------------------------------------------------
1 | class Extended_PreStart_EventHandlers {
2 | class ADDON {
3 | init = QUOTE(call COMPILE_FILE(XEH_preStart));
4 | };
5 | };
6 |
7 | class Extended_PreInit_EventHandlers {
8 | class ADDON {
9 | init = QUOTE(call COMPILE_FILE(XEH_preInit));
10 | };
11 | };
12 |
13 | class Extended_PostInit_EventHandlers {
14 | class ADDON {
15 | init = QUOTE(call COMPILE_FILE(XEH_postInit));
16 | };
17 | };
18 |
--------------------------------------------------------------------------------
/addons/field_rations/CfgMoves.hpp:
--------------------------------------------------------------------------------
1 | class CfgMovesBasic;
2 | class CfgMovesMaleSdr: CfgMovesBasic {
3 | class States {
4 | class CutSceneAnimationBase;
5 | class GVAR(drinkStand): CutSceneAnimationBase {
6 | file = QPATHTOF(anim\drink_stand.rtm);
7 | actions = "CivilStandActions";
8 | speed = 0.1;
9 | disableWeapons = 1;
10 | disableWeaponsLong = 1;
11 | canReload = 0;
12 | canPullTrigger = 0;
13 | showWeaponAim = 0;
14 | looped = 0;
15 | head = "headNo";
16 | aiming = "aimingNo";
17 | legs = "legsNo";
18 | connectTo[] = {"AmovPercMstpSnonWnonDnon", 0.1};
19 | interpolateFrom[] = {"AmovPercMstpSnonWnonDnon", 0.1};
20 | interpolateTo[] = {"Unconscious", 0.1};
21 | };
22 | class GVAR(drinkCrouch): GVAR(drinkStand) {
23 | file = QPATHTOF(anim\drink_crouch.rtm);
24 | actions = "CivilKneelActions";
25 | connectTo[] = {"AmovPknlMstpSnonWnonDnon", 0.1};
26 | interpolateFrom[] = {"AmovPknlMstpSnonWnonDnon", 0.1};
27 | };
28 | class GVAR(drinkProne): GVAR(drinkStand) {
29 | file = QPATHTOF(anim\drink_prone.rtm);
30 | actions = "CivilProneActions";
31 | connectTo[] = {"AmovPpneMstpSnonWnonDnon", 0.1};
32 | interpolateFrom[] = {"AmovPpneMstpSnonWnonDnon", 0.1};
33 | };
34 | class GVAR(drinkStandCan): GVAR(drinkStand) {
35 | file = QPATHTOF(anim\drink_stand_can.rtm);
36 | speed = 1/9;
37 | };
38 | class GVAR(drinkCrouchCan): GVAR(drinkCrouch) {
39 | file = QPATHTOF(anim\drink_crouch_can.rtm);
40 | speed = 1/9;
41 | };
42 | class GVAR(drinkProneCan): GVAR(drinkProne) {
43 | file = QPATHTOF(anim\drink_prone_can.rtm);
44 | speed = 1/9;
45 | };
46 | class GVAR(drinkFromSource): GVAR(drinkStand) {
47 | file = QPATHTOF(anim\drink_source.rtm);
48 | speed = 1/8;
49 | };
50 | class GVAR(drinkFromSourceHigh): GVAR(drinkFromSource) {
51 | file = QPATHTOF(anim\drink_source_high.rtm);
52 | };
53 | class GVAR(drinkFromSourceLow): GVAR(drinkFromSource) {
54 | file = QPATHTOF(anim\drink_source_low.rtm);
55 | };
56 | class GVAR(drinkFromSourceSquat): GVAR(drinkFromSource) {
57 | file = QPATHTOF(anim\drink_source_squat.rtm);
58 | interpolateFrom[] = {"AmovPercMstpSnonWnonDnon", 0.1, "AmovPknlMstpSnonWnonDnon", 0.1};
59 | };
60 | class GVAR(drinkFromSourceSquatHigh): GVAR(drinkFromSourceSquat) {
61 | file = QPATHTOF(anim\drink_source_squat_high.rtm);
62 | };
63 | class GVAR(drinkFromSourceSquatLow): GVAR(drinkFromSourceSquat) {
64 | file = QPATHTOF(anim\drink_source_squat_low.rtm);
65 | };
66 | };
67 | };
68 |
--------------------------------------------------------------------------------
/addons/field_rations/CfgSounds.hpp:
--------------------------------------------------------------------------------
1 | class CfgSounds {
2 | class GVAR(drink1) {
3 | name = QGVAR(drink1);
4 | sound[] = {QPATHTOF(sounds\drink1.ogg), 1, 1};
5 | titles[] = {};
6 | };
7 | class GVAR(drink2) {
8 | name = QGVAR(drink2);
9 | sound[] = {QPATHTOF(sounds\drink2.ogg), 1, 1};
10 | titles[] = {};
11 | };
12 | class GVAR(drinkCan1) {
13 | name = QGVAR(drinkCan1);
14 | sound[] = {QPATHTOF(sounds\drink_can1.ogg), 1, 1};
15 | titles[] = {};
16 | };
17 | class GVAR(drinkCan2) {
18 | name = QGVAR(drinkCan2);
19 | sound[] = {QPATHTOF(sounds\drink_can2.ogg), 1, 1};
20 | titles[] = {};
21 | };
22 | };
23 |
--------------------------------------------------------------------------------
/addons/field_rations/CfgUIGrids.hpp:
--------------------------------------------------------------------------------
1 | class CfgUIGrids {
2 | class IGUI {
3 | class Presets {
4 | class Arma3 {
5 | class Variables {
6 | GVAR(grid)[] = {
7 | {
8 | safeZoneX + safeZoneW - 4.2 * GUI_GRID_W,
9 | safeZoneY + safeZoneH - 2.2 * GUI_GRID_H,
10 | 4 * GUI_GRID_W,
11 | 2 * GUI_GRID_H
12 | },
13 | GUI_GRID_W,
14 | GUI_GRID_H
15 | };
16 | };
17 | };
18 | };
19 | class Variables {
20 | class GVAR(grid) {
21 | displayName = CSTRING(IGUI_DisplayName);
22 | description = CSTRING(IGUI_Description);
23 | preview = QPATHTOF(ui\igui_preview.paa);
24 | saveToProfile[] = {0, 1};
25 | canResize = 0;
26 | };
27 | };
28 | };
29 | };
30 |
--------------------------------------------------------------------------------
/addons/field_rations/README.md:
--------------------------------------------------------------------------------
1 | acex_field_rations
2 | ==================
3 |
4 | Provides a survival style, hunger and thirst system.
5 | Adds consumable items such as MREs.
6 |
7 | ## Maintainers
8 |
9 | The people responsible for merging changes to this component or answering potential questions.
10 |
11 | - [mharis001](https://github.com/mharis001)
12 | - [PabstMirror](https://github.com/PabstMirror)
13 | - [Glowbal](https://github.com/Glowbal)
14 |
--------------------------------------------------------------------------------
/addons/field_rations/XEH_PREP.hpp:
--------------------------------------------------------------------------------
1 | PREP(addStatusModifier);
2 | PREP(addWaterSourceInteractions);
3 | PREP(canDrinkFromSource);
4 | PREP(canRefillItem);
5 | PREP(checkWater);
6 | PREP(consumeItem);
7 | PREP(drinkFromSource);
8 | PREP(getActionOffset);
9 | PREP(getConsumableChildren);
10 | PREP(getDrinkAnimation);
11 | PREP(getRefillChildren);
12 | PREP(getRemainingWater);
13 | PREP(handleEffects);
14 | PREP(handleHUD);
15 | PREP(handleRespawn);
16 | PREP(refillItem);
17 | PREP(setRemainingWater);
18 | PREP(update);
19 |
--------------------------------------------------------------------------------
/addons/field_rations/XEH_preInit.sqf:
--------------------------------------------------------------------------------
1 | #include "script_component.hpp"
2 |
3 | ADDON = false;
4 |
5 | PREP_RECOMPILE_START;
6 | #include "XEH_PREP.hpp"
7 | PREP_RECOMPILE_END;
8 |
9 | #include "initSettings.sqf"
10 |
11 | // Init arrays of status modifiers
12 | GVAR(thirstModifiers) = [];
13 | GVAR(hungerModifiers) = [];
14 |
15 | private _cache = call (uiNamespace getVariable [QGVAR(cacheP3Ds), {ERROR("no cache")}]); // cache built at preStart
16 | // List of p3d water sources (case sensitive) for objects that report `typeOf == ""`
17 | GVAR(waterSourceP3Ds) = _cache select 0;
18 | // List of refill action offsets corresponding to the p3ds in the array above
19 | GVAR(waterSourceOffsets) = _cache select 1;
20 |
21 | ADDON = true;
22 |
--------------------------------------------------------------------------------
/addons/field_rations/XEH_preStart.sqf:
--------------------------------------------------------------------------------
1 | #include "script_component.hpp"
2 |
3 | #include "XEH_PREP.hpp"
4 |
5 | // List of p3d water sources (case sensitive) for objects that report `typeOf == ""`
6 | private _waterSourceP3Ds = [
7 | "misc_wellpump.p3d" // [11899, 9150, 0] on chenarus
8 | ];
9 |
10 | // List of refill action offsets corresponding to the p3ds in the array above
11 | private _waterSourceOffsets = [
12 | [0, 0, 0]
13 | ];
14 |
15 | // Fill water source arrays from CfgVehicles
16 | {
17 | private _split = (getText (_x >> "model")) splitString "\";
18 | private _string = toLower (_split param [((count _split) - 1), ""]);
19 |
20 | // Append extension if necessary
21 | if ((_string select [count _string - 4]) != ".p3d") then {
22 | _string = _string + ".p3d"
23 | };
24 |
25 | private _index = _waterSourceP3Ds pushBackUnique _string;
26 | if (_index != -1) then {
27 | _waterSourceOffsets pushBack ([_x >> QGVAR(offset), "ARRAY", [0, 0, 0]] call CBA_fnc_getConfigEntry);
28 | };
29 | } forEach (QUOTE(isNumber (_x >> 'GVAR(waterSupply)') && {(getNumber (_x >> 'GVAR(waterSupply)')) != REFILL_WATER_DISABLED}) configClasses (configFile >> "CfgVehicles"));
30 |
31 | uiNamespace setVariable [QGVAR(cacheP3Ds), compileFinal str [_waterSourceP3Ds, _waterSourceOffsets]];
32 | TRACE_1("compiled",count _waterSourceP3Ds);
33 |
--------------------------------------------------------------------------------
/addons/field_rations/anim/drink_crouch.rtm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/anim/drink_crouch.rtm
--------------------------------------------------------------------------------
/addons/field_rations/anim/drink_crouch_can.rtm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/anim/drink_crouch_can.rtm
--------------------------------------------------------------------------------
/addons/field_rations/anim/drink_prone.rtm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/anim/drink_prone.rtm
--------------------------------------------------------------------------------
/addons/field_rations/anim/drink_prone_can.rtm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/anim/drink_prone_can.rtm
--------------------------------------------------------------------------------
/addons/field_rations/anim/drink_source.rtm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/anim/drink_source.rtm
--------------------------------------------------------------------------------
/addons/field_rations/anim/drink_source_high.rtm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/anim/drink_source_high.rtm
--------------------------------------------------------------------------------
/addons/field_rations/anim/drink_source_low.rtm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/anim/drink_source_low.rtm
--------------------------------------------------------------------------------
/addons/field_rations/anim/drink_source_squat.rtm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/anim/drink_source_squat.rtm
--------------------------------------------------------------------------------
/addons/field_rations/anim/drink_source_squat_high.rtm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/anim/drink_source_squat_high.rtm
--------------------------------------------------------------------------------
/addons/field_rations/anim/drink_source_squat_low.rtm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/anim/drink_source_squat_low.rtm
--------------------------------------------------------------------------------
/addons/field_rations/anim/drink_stand.rtm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/anim/drink_stand.rtm
--------------------------------------------------------------------------------
/addons/field_rations/anim/drink_stand_can.rtm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/anim/drink_stand_can.rtm
--------------------------------------------------------------------------------
/addons/field_rations/config.cpp:
--------------------------------------------------------------------------------
1 | #include "script_component.hpp"
2 |
3 | class CfgPatches {
4 | class ADDON {
5 | name = COMPONENT_NAME;
6 | units[] = {
7 | "ACE_WaterBottle_Item",
8 | "ACE_WaterBottle_Half_Item",
9 | "ACE_WaterBottle_Empty_Item",
10 | "ACE_Canteen_Item",
11 | "ACE_Canteen_Half_Item",
12 | "ACE_Canteen_Empty_Item",
13 | "ACE_Can_Spirit_Item",
14 | "ACE_Can_Franta_Item",
15 | "ACE_Can_RedGull_Item",
16 | "ACE_MRE_LambCurry_Item",
17 | "ACE_MRE_BeefStew_Item",
18 | "ACE_MRE_CreamTomatoSoup_Item",
19 | "ACE_MRE_CreamChickenSoup_Item",
20 | "ACE_MRE_ChickenTikkaMasala_Item",
21 | "ACE_MRE_SteakVegetables_Item",
22 | "ACE_MRE_MeatballsPasta_Item",
23 | "ACE_MRE_ChickenHerbDumplings_Item",
24 | "ACE_Humanitarian_Ration_Item"
25 | };
26 | weapons[] = {
27 | "ACE_WaterBottle",
28 | "ACE_WaterBottle_Half",
29 | "ACE_WaterBottle_Empty",
30 | "ACE_Canteen",
31 | "ACE_Canteen_Half",
32 | "ACE_Canteen_Empty",
33 | "ACE_Can_Spirit",
34 | "ACE_Can_Franta",
35 | "ACE_Can_RedGull",
36 | "ACE_MRE_LambCurry",
37 | "ACE_MRE_BeefStew",
38 | "ACE_MRE_CreamTomatoSoup",
39 | "ACE_MRE_CreamChickenSoup",
40 | "ACE_MRE_ChickenTikkaMasala",
41 | "ACE_MRE_SteakVegetables",
42 | "ACE_MRE_MeatballsPasta",
43 | "ACE_MRE_ChickenHerbDumplings",
44 | "ACE_Humanitarian_Ration"
45 | };
46 | requiredVersion = REQUIRED_VERSION;
47 | requiredAddons[] = {"acex_main", "ace_interact_menu"};
48 | author = ACECSTRING(common,ACETeam);
49 | authors[] = {"mharis001", "Glowbal", "PabstMirror"};
50 | url = ACECSTRING(main,URL);
51 | VERSION_CONFIG;
52 | };
53 | };
54 |
55 | #include "CfgEventHandlers.hpp"
56 | #include "CfgVehicles.hpp"
57 | #include "CfgWeapons.hpp"
58 | #include "CfgSounds.hpp"
59 | #include "CfgMoves.hpp"
60 | #include "Cfg3DEN.hpp"
61 | #include "RscTitles.hpp"
62 | #include "CfgUIGrids.hpp"
63 |
--------------------------------------------------------------------------------
/addons/field_rations/data/mre.rvmat:
--------------------------------------------------------------------------------
1 | ambient[] = {1,1,1,1};
2 | diffuse[] = {0.5,0.5,0.5,1};
3 | forcedDiffuse[] = {0.5,0.5,0.5,0};
4 | emmisive[] = {0,0,0,1};
5 | specular[] = {0.30000001,0.30000001,0.30000001,0};
6 | specularPower = 17;
7 | PixelShaderID = "NormalMapSpecularDIMap";
8 | VertexShaderID = "NormalMap";
9 | class Stage1 {
10 | texture = "z\acex\addons\field_rations\data\mre_nohq.paa";
11 | uvSource = "tex";
12 | class uvTransform {
13 | aside[] = {1,0,0};
14 | up[] = {0,1,0};
15 | dir[] = {0,0,1};
16 | pos[] = {0,0,0};
17 | };
18 | };
19 | class Stage2 {
20 | texture = "z\acex\addons\field_rations\data\mre_smdi.paa";
21 | uvSource = "tex";
22 | class uvTransform {
23 | aside[] = {1,0,0};
24 | up[] = {0,1,0};
25 | dir[] = {0,0,1};
26 | pos[] = {0,0,0};
27 | };
28 | };
29 |
--------------------------------------------------------------------------------
/addons/field_rations/data/mre_human.p3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/data/mre_human.p3d
--------------------------------------------------------------------------------
/addons/field_rations/data/mre_human_co.paa:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/data/mre_human_co.paa
--------------------------------------------------------------------------------
/addons/field_rations/data/mre_nohq.paa:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/data/mre_nohq.paa
--------------------------------------------------------------------------------
/addons/field_rations/data/mre_smdi.paa:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/data/mre_smdi.paa
--------------------------------------------------------------------------------
/addons/field_rations/data/mre_type1.p3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/data/mre_type1.p3d
--------------------------------------------------------------------------------
/addons/field_rations/data/mre_type1_co.paa:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/data/mre_type1_co.paa
--------------------------------------------------------------------------------
/addons/field_rations/data/mre_type2.p3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/data/mre_type2.p3d
--------------------------------------------------------------------------------
/addons/field_rations/data/mre_type3.p3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/data/mre_type3.p3d
--------------------------------------------------------------------------------
/addons/field_rations/data/mre_type3_co.paa:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/data/mre_type3_co.paa
--------------------------------------------------------------------------------
/addons/field_rations/data/mre_type4.p3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/data/mre_type4.p3d
--------------------------------------------------------------------------------
/addons/field_rations/data/mre_type4_co.paa:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/data/mre_type4_co.paa
--------------------------------------------------------------------------------
/addons/field_rations/data/mre_type5.p3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/data/mre_type5.p3d
--------------------------------------------------------------------------------
/addons/field_rations/data/mre_type6.p3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/data/mre_type6.p3d
--------------------------------------------------------------------------------
/addons/field_rations/data/mre_type6_co.paa:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/acemod/ACEX/d484800d687b9b85e762b959d4ce760e48afc6b4/addons/field_rations/data/mre_type6_co.paa
--------------------------------------------------------------------------------
/addons/field_rations/functions/fnc_addStatusModifier.sqf:
--------------------------------------------------------------------------------
1 | #include "script_component.hpp"
2 | /*
3 | * Author: mharis001
4 | * Adds a status modifier. Should be called on all machines.
5 | * Code must return a NUMBER which will be applied additively with other status changes.
6 | *
7 | * Arguments:
8 | * 0: Status to modify (0 - Thirst, 1 - Hunger, 2 - Both)
9 | * 1: Code (is passed the unit