License
Extraction Frontline Fallujah - content license and third-party notices
Version 0.39.0 - proposed terms for owner review, 28 October 2026
1. Scope and original Frontline material
Original Frontline material means content authored for Extraction Frontline that
is not covered by the third-party terms listed below. The rights holder permits
non-commercial end use of that material in Arma games, including downloading it
through the Arma Reforger Workshop, running it on a game client and hosting it on
a game server. No fee may be charged for the material itself. Other rights are
reserved; no separate permission to redistribute or adapt original Frontline
material is granted by this paragraph. Rights granted to Bohemia Interactive under
the applicable Workshop terms remain unaffected.
This paragraph does not restrict any rights granted by GPL, APL or another
applicable third-party license. If a third-party license applies to material or
requires permissions for a larger work, that license controls the affected
material to the extent of that requirement. This document does not assert that
combining or packaging the described components resolves every licensing issue.
2. ACE-derived portable-ladder adapter
Scripts/Game/EF_TacticalLadder.c follows parts of ACE_TacticalLadderEntity.c by
acemod, Copyright (C) 2024 acemod, under GNU GPL version 2 or any later version.
The adapter changes ladder placement and storage behavior for Frontline. The
existing attribution, full GPL2 text and the complete current preferred source
of the adapter are reproduced below. Any original-material restriction above
does not apply to GPL-covered material. There is no warranty to the extent
permitted by the GPL. The upstream reference identifies the original source;
the readable source below identifies the modified Frontline adapter.
3. DynamicLoot-derived container configuration
Prefabs/EF_AirdropCrate.et adapts the storage/action configuration from
DynamicLoot/Prefabs/Props/DynamicLoot/DL_LootContainer.et by wyqydsyq under the
Arma Public License (APL). Prefabs/EF_EventCrate.et derives from that Frontline
container. Authorship and modification details are included in the notices
below. These adaptations remain subject to APL; the complete APL text follows.
DynamicLoot itself remains a separate dependency and is not bundled here.
4. Unmodified dependencies
Fallujah, ACE, DynamicLoot and all other external Workshop dependencies retain
their original licenses. No redistribution permission for those packages is
granted here, and their third-party models, textures, sounds and full packages
are not included in Extraction Frontline. Resource identifiers and public API
references do not transfer ownership of the referenced material.
5. Source distribution and record
The pack contains the game's runnable data; its encrypted form is not claimed
to be readable preferred source. For the ACE-derived adapter, the complete
current source is included as plain text at the end of this document. This
document is an owner-review proposal until adopted for the actual publication.
It does not itself constitute publication or certify compliance of the complete
combined addon. The owner must review the terms and any GPL requirements for the
complete work before upload.
===== EXISTING THIRD-PARTY ATTRIBUTION RECORD =====
# Third-party dependency
DynamicLoot by wyqydsyq
https://github.com/wyqydsyq/DynamicLoot
https://reforger.armaplatform.com/workshop/66B2F0B008DC590F-DynamicLoot
Upstream commit: d76c415bff2b7afdc7071d6b5712b7dabbc9c4cb
License: Arma Public License (APL)
https://www.bohemia.net/community/licenses/arma-public-license
DynamicLoot is not bundled in the Frontline publication or source-review archive. It remains a separate official Workshop dependency. Version 1.0.10 is planned for the configured-server route; fresh-client download and runtime compatibility of that official version remain unverified. The local development copy matched upstream commit d76c415bff2b7afdc7071d6b5712b7dabbc9c4cb. Frontline integration is in Scripts/Game/EF_FurnitureLoot.c. No Fallujah assets are redistributed.
The storage/action configuration in ExtractionFrontline/Prefabs/EF_AirdropCrate.et is adapted from DynamicLoot/Prefabs/Props/DynamicLoot/DL_LootContainer.et by wyqydsyq, under APL. Frontline changes: plain container entity, wooden mesh, collision, visible inventory and Russian action labels; no DynamicLoot random-refill spawner.
EF_EventCrate.et derives from the existing EF_AirdropCrate.et container configuration (DynamicLoot by wyqydsyq, APL); changes: inventory manager and ground-event labels.
Tactical Flava - Clothes by KERNOV (contributors Gantelya, Drongo, pgshka), Workshop DEADC0DE00000004, installed version 1.6.1. External dependency only; APL-ND. Requires Tactical Flava - Core (DEADC0DE00000000). Frontline references original wearable prefabs from its own vanilla-derived character loadouts. No Tactical Flava assets or modified Tactical Flava files are included.
https://reforger.armaplatform.com/workshop/DEADC0DE00000004
Bacon Loadout Editor by bacon8008, Workshop 606B100247F5C709, installed version 1.7.3. Unchanged external dependency under its original custom license. No Bacon scripts, layouts, prefabs or assets are distributed in this archive. Frontline opens the original menu through its public API and supplies its own native arsenals and economy hooks.
https://reforger.armaplatform.com/workshop/606B100247F5C709
NV-System by Tonic (contributor McTiddies4Lunch3), Workshop 64722DADC53CB75E, installed version 1.0.35, Arma Public License (APL). Official external dependency, including its Attachment Framework dependencies. No NV-System scripts, assets or configurations are included in this archive.
https://reforger.armaplatform.com/workshop/64722DADC53CB75E
GRS - Modular Vests & Rigs by GRS Team (contributors Wrottz, Nemesis0998), Workshop 651834C8D77BF86B, installed version 1.0.45, GRS Mod License v1.0. Official external dependency with GRS Essentials, GRS Patches and GRS DevFramework. Frontline references original prefab resource identifiers through the official dependencies. No GRS files or assets are extracted, modified, repackaged or redistributed. Original license and non-commercial use conditions remain applicable; see the official Workshop description.
https://reforger.armaplatform.com/workshop/651834C8D77BF86B
## v0.31 selected external packages
The following packages remain unmodified external Workshop dependencies. Frontline supplies its own catalog, balance, economy and save integration by public resource identifiers and APIs. No models, textures, sounds, particles or source files from these packages are included in this archive. Their transitive dependencies remain separate as well.
- GRS PMC — GRS Team: https://reforger.armaplatform.com/workshop/6737675F7F2D6992
- GRS Modular Belts, Bags and Droplegs — GRS Team: https://reforger.armaplatform.com/workshop/65183608D6DA5728
- Benelli M4: https://reforger.armaplatform.com/workshop/5D915A9DC6EB0856
- Modular Glock 17: https://reforger.armaplatform.com/workshop/658B0E33E68A4234
- ACE Anvil Magazine Repack Dev — acemod: https://reforger.armaplatform.com/workshop/65AD7D4099944EBD
- ReFX Effects Enhancement: https://reforger.armaplatform.com/workshop/6172FBB03A3D6C10
EF_MagRepack.c is Frontline's adapter to the public ACE magazine repack method (ACE Anvil, GPL-2.0-or-later). It validates current player ownership, ammo compatibility and economy state, preserves native magazine entities, and conserves the donor remainder. The original ACE package and its inventory action remain separate dependencies. See its original package for source and license notices.
## v0.38 helicopter and expanded catalog
REAPER_AiHelicopters - WCS, Workshop 69A4D664A6284E06, installed version 1.0.8, remains an unchanged external dependency. Frontline selects its ordinary vanilla UH-1H controller, native pilot group and waypoint APIs through its own bounded patrol service. No REAPER source files, aircraft models, sounds, textures or configurations are repackaged. The package's original authorship and license remain applicable.
https://reforger.armaplatform.com/workshop/69A4D664A6284E06
The six additional weapons, three compatible ammunition references and twelve additional attachments come from the already active Tactical Flava - Weapons dependency, DEADC0DE00000001. Only original resource references are catalogued; no upstream weapon files or assets are modified or included. Food and construction aliases are Frontline configurations using base-game resources.
===== ACE ADAPTER ATTRIBUTION AND FULL GPL2 TEXT =====
ACE tactical ladder adapter attribution
EF_TacticalLadder.c follows parts of ACE_TacticalLadderEntity.c from ACE Anvil v1.5.0-dev36.
Original Copyright (C) 2024 acemod. GNU General Public License version 2 or later.
Source: https://github.com/acemod/ACE-Anvil/blob/v1.5.0-dev36/addons/tactical_ladder/scripts/Game/ACE_TacticalLadder/Entities/ACE_TacticalLadderEntity.c
Original modules remain Workshop dependencies; no upstream assets are repacked.
The full original license follows.
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty ****>, 1 April 1989
Ty ****, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
===== FULL ARMA PUBLIC LICENSE TEXT =====
By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Arma Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
Full version of licence
Section 1 - Definitions
Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
ArmaOnly means primarily intended for or directed towards the use in any of existing and future Arma games, including but not limited to Arma: Cold War Assault, Arma, Arma 2 and Arma 3 and its official sequels and expansion packs.
Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
Licensor means the individual(s) or entity(ies) granting rights under this Public License.
NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange.
Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
Section 2 – Scope
License grant
Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
reproduce and Share the Licensed Material, in whole or in part, for NonCommercial and ArmaOnly purposes only; and
produce, reproduce, and Share Adapted Material for NonCommercial and ArmaOnly purposes only.
Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
Term. The term of this Public License is specified in Section 6(a).
Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
Downstream recipients.
Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(a)(i).
Other rights
Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
Patent and trademark rights are not licensed under this Public License.
To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial and ArmaOnly purposes.
Section 3 – License Conditions
Your exercise of the Licensed Rights is expressly made subject to the following conditions.
Attribution
If You Share the Licensed Material (including in modified form), You must:
retain the following if it is supplied by the Licensor with the Licensed Material:
identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
a copyright notice;
a notice that refers to this Public License;
a notice that refers to the disclaimer of warranties;
a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(a) to the extent reasonably practicable.
If You Share Adapted Material You produce, the Adapter’s License You apply must not prevent recipients of the Adapted Material from complying with this Public License.
Section 4 – Sui Generis Database Rights
Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial and ArmaOnly purposes only;
if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
Section 5 – Disclaimer of Warranties and Limitation of Liability
Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
Section 6 – Term and Termination
This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
Section 7 – Other Terms and Conditions
The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
Section 8 – Interpretation
For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
Bohemia Interactive Notices
Bohemia Interactive a.s. is not a party to this License, and makes no warranty whatsoever in connection with the Licensed Material. Bohemia Interactive a.s. will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, Bohemia Interactive a.s. may elect to apply the Public License to material it publishes and in those instances it becomes the "Licensor".
Except for the limited purpose of indicating to the public that the Licensed Material is shared under this Public License, Bohemia Interactive a.s. does not authorize the use by either party of the trademarks "Arma", "Bohemia Interactive" or any related trademark or logo of Arma or Bohemia Interactive without the prior written consent of Bohemia Interactive a.s.
Official APL text source: https://portal.bohemia.net/community/licenses/arma-public-license
===== COMPLETE PREFERRED SOURCE: Scripts/Game/EF_TacticalLadder.c =====
// Frontline adapter for ACE Anvil's portable ladder. The placement override
// follows ACE_TacticalLadderEntity.c, Copyright (C) 2024 acemod, GPL-2.0-or-later:
// https://github.com/acemod/ACE-Anvil/blob/v1.5.0-dev36/addons/tactical_ladder/scripts/Game/ACE_TacticalLadder/Entities/ACE_TacticalLadderEntity.c
// Original Workshop files remain unchanged. Other scenarios keep ACE behavior.
class EF_TacticalLadder
{
static const ResourceName ITEM="{62F304402A707F68}Prefabs/Items/Equipment/TacticalLadder/ACE_TacticalLadder.et";
static bool Frontline()
{
if(!GetGame() || !GetGame().GetWorld()) {return false;}
return GetGame().GetWorld().FindEntityByName("EF_USEC_Trader")!=null && GetGame().GetWorld().FindEntityByName("EF_BEAR_Trader")!=null;
}
static bool IsItem(IEntity item) {return ACE_TacticalLadderEntity.Cast(item)!=null;}
static bool CanStore(IEntity item)
{
if(!IsItem(item)) {return true;}
SignalsManagerComponent signals=SignalsManagerComponent.Cast(item.FindComponent(SignalsManagerComponent));
if(!signals) {return false;}
int index=signals.FindSignal("extend");if(index<0) {return false;}
return signals.GetSignalValue(index)<=0.01;
}
static bool Loose(IEntity item)
{
if(!item || item.GetParent()) {return false;}
InventoryItemComponent inventory=InventoryItemComponent.Cast(item.FindComponent(InventoryItemComponent));
return inventory && !inventory.GetParentSlot();
}
static void TrackIfFound(IEntity item)
{
if(!Replication.IsServer() || !item || !Frontline() || !Loose(item)) {return;}
if(!EF_TradeService.Eligible.Contains(item)) {return;}
EF_LadderCleanup service=EF_LadderCleanup.Get();if(service) service.Track(item);
}
}
class EF_LadderEntry
{
IEntity Item;
float Since;
}
// Only loose found/paid ladders are tracked. Inventory, vehicle cargo and free
// GM placements have no expiry. There are no world queries or periodic spawns.
class EF_LadderCleanup
{
static const float KEEP_SECONDS=1200;
static const float PLAYER_RADIUS=120;
static const int MAX_TRACKED=256;
static const int CHECK_PER_PASS=4;
static ref EF_LadderCleanup Instance;
BaseWorld OwnerWorld;
float Clock,Poll;
int Cursor,Removed;
ref array<ref EF_LadderEntry> Entries={};
static EF_LadderCleanup Get()
{
if(!Replication.IsServer() || !EF_TacticalLadder.Frontline()) {return null;}
BaseWorld current=GetGame().GetWorld();
if(!Instance || Instance.OwnerWorld!=current) {Instance=new EF_LadderCleanup();Instance.OwnerWorld=current;}
return Instance;
}
void Track(IEntity item)
{
if(!item || !EF_TacticalLadder.Loose(item)) {return;}
for(int i=Entries.Count()-1;i>=0;i--)
{
if(Entries[i].Item==item) {return;}
if(!Entries[i].Item || !EF_TacticalLadder.Loose(Entries[i].Item)) {Entries.Remove(i);}
}
if(Entries.Count()>=MAX_TRACKED) {return;}
EF_LadderEntry entry=new EF_LadderEntry();entry.Item=item;entry.Since=Clock;Entries.Insert(entry);
}
bool NearPlayer(vector point)
{
array<int> players={};GetGame().GetPlayerManager().GetPlayers(players);
foreach(int id:players)
{
IEntity body=GetGame().GetPlayerManager().GetPlayerControlledEntity(id);if(!body) {continue;}
vector delta=body.GetOrigin()-point;delta[1]=0;
if(delta.LengthSq()<=PLAYER_RADIUS*PLAYER_RADIUS) {return true;}
}
return false;
}
void Sweep()
{
for(int step=0;step<CHECK_PER_PASS && !Entries.IsEmpty();step++)
{
if(Cursor>=Entries.Count()) Cursor=0;
EF_LadderEntry entry=Entries[Cursor];IEntity item=entry.Item;
if(!item || !EF_TacticalLadder.Loose(item) || !EF_TradeService.Eligible.Contains(item)) {Entries.Remove(Cursor);continue;}
ChimeraWorld world=ChimeraWorld.CastFrom(OwnerWorld);GarbageSystem garbage;if(world) garbage=world.GetGarbageSystem();
if(garbage && garbage.IsInserted(item)) garbage.Withdraw(item);
if(Clock-entry.Since>=KEEP_SECONDS && !NearPlayer(item.GetOrigin()))
{
Entries.Remove(Cursor);EF_TradeService.Eligible.RemoveItem(item);SCR_EntityHelper.DeleteEntityAndChildren(item);Removed++;
}
else Cursor++;
}
}
void Tick(float delta)
{
Clock+=delta;if(Entries.IsEmpty()) {return;}
Poll+=delta;if(Poll<5) {return;}Poll=0;Sweep();
}
}
modded class ACE_TacticalLadderEntity
{
override protected void EOnInit(IEntity owner)
{
super.EOnInit(owner);
if(Replication.IsServer()) GetGame().GetCallqueue().CallLater(EF_TacticalLadder.TrackIfFound,1000,false,this);
}
override protected void OnItemPlacedOnGroundDelayed()
{
if(!EF_TacticalLadder.Frontline() || !EF_TradeService.Eligible.Contains(this)) {super.OnItemPlacedOnGroundDelayed();return;}
// ACE replaces a placed ladder to repair its procedural animation. Move the
// existing loot provenance to that replacement rather than losing it.
EntitySpawnParams params=new EntitySpawnParams();params.TransformMode=ETransformMode.WORLD;GetWorldTransform(params.Transform);
Math3D.AnglesToMatrix(Vector(params.Transform[2].ToYaw(),0,0),params.Transform);
TraceParam trace=new TraceParam();trace.Exclude=this;trace.TargetLayers=EPhysicsLayerPresets.Building;
SCR_TerrainHelper.SnapToTerrain(params.Transform,GetWorld(),false,trace);
IEntity replacement=GetGame().SpawnEntityPrefab(Resource.Load(GetPrefabData().GetPrefabName()),GetWorld(),params);
if(!replacement) {Print("[EF LADDER] Replacement failed; original item retained");return;}
DamageManagerComponent before=DamageManagerComponent.Cast(FindComponent(DamageManagerComponent));
DamageManagerComponent after=DamageManagerComponent.Cast(replacement.FindComponent(DamageManagerComponent));
if(before && after) after.SetHealthScaled(before.GetHealthScaled());
EF_TradeService.RegisterLoot(replacement);EF_TacticalLadder.TrackIfFound(replacement);EF_TradeService.Eligible.RemoveItem(this);
SCR_EntityHelper.DeleteEntityAndChildren(this);
}
}
modded class EF_RaidDirector
{
override void EOnFrame(IEntity owner,float timeSlice)
{
super.EOnFrame(owner,timeSlice);
if(!Replication.IsServer()) {return;}
EF_LadderCleanup service=EF_LadderCleanup.Instance;
if(service && service.OwnerWorld==GetGame().GetWorld()) service.Tick(timeSlice);
}
}
===== END OF ADAPTER SOURCE =====