Coder Social home page Coder Social logo

acemod / ace-anvil Goto Github PK

View Code? Open in Web Editor NEW
21.0 19.0 7.0 2.1 MB

Open-source realism mod for Arma Reforger

Home Page: https://anvil.acemod.org

License: GNU General Public License v2.0

C 91.70% PHP 2.12% Smalltalk 6.18%
arma-reforger ace arma mod realism

ace-anvil's Introduction

ACE Anvil ACE Anvil

ACE Anvil Version ACE Anvil Issues ACE Anvil License ACE Anvil Discord

ACE Anvil is an experimental realism mod for Arma Reforger, the first Arma game running on the Enfusion engine.

FAQ

Will ACE Anvil port everything from ACE3 to Arma Reforger?

This mostly depends on when Arma 4 will be released, when it will be in a playable state and how easy it will be to port things between Arma Reforger and Arma 4. Just like Bohemia Interactive, we want to treat Arma Reforger as a test platform for the Enfusion engine.

However, since ACE3 was initially released in 2015 and was based on even older projects, it is unlikely that ACE Anvil will reach feature parity before the team transitions to Arma 4.

Can I contribute?

Please do! We welcome any contribution that fits within ACE's scope. That means anything that is either a realism or just quality of life feature is much appreciated. Ideally, hop on our Discord and discuss what you want to do with the community first.

Since Arma Reforger is a test platform: Go wild. We're happy to add some features that might not be strictly within ACE's usual scope.

ace-anvil's People

Contributors

apollo-jk avatar baermitumlaut avatar bux avatar implicitdeny avatar johnb432 avatar jonpas avatar kexanone avatar veteran29 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ace-anvil's Issues

Medical - Known Bugs

Reforger DarkGru Servers
Medical System Specific

Bugs:
A. UPDATED**Carrying system specifically causes mass crashes, removed carrying but mass crashes are still consistent. Carrying prevents players from entering vehicles (victim and/or medic), may cause hurt player to be stuck in uncon position despite being conscious, and can create a visual glitch for other players where the victim is conscious and moving but the player model is still on the ground so they cannot be shot when behind cover.

B. Wounds are nearly impossible to find, or, bandage prompt fails to appear for console players at times, unsure which.

D. Unable to remove unconscious players from some vehicles. Seen in both vanilla and modded vehicles. A specific list will be added.

E. UPDATED**Hidden bleeds. More common if both legs are bleeding, but bandaging upper body will disable bandaging of 1 leg. (If one leg bleeds, after bandaging any upper body appendage leg bleed icon can disappear but bleed continues and cannot be bandaged. If two legs are bleeding, after bandaging any upper body appendage and 1 of 2 legs, bleed glitch reoccurs).

H. NEW**Applying saline to an arm before a bandaging the bleed will prevent you from bandaging at all. (In the case that it's intentional to prevent bandaging an arm with a saline bag for realism, you still CANT bandage even after saline is gone.)

I. UPDATED**Applying morphine to an unconscious player seems to reset a condition pertaining to unconsciousness so that they remain unconscious for an additional 10 minutes from the time of application. Even after bandaging and saline. The result is an extended period of time before Epinephrine can be administered, which at times also means that they gain consciousness on their own before you have an opportunity to apply epinephrine. (Still testing)

AWESOME MOD SO FAR GUYS! KEEP IT UP!

Edit: Will add more as we bug hunt.
-Getting a copy of the bug log during mass crashes.
4/5/24
-F. Added.
-C. Replaced with G.
4/6/24
-G. Removed.
-A. and E. Updated. F. Removed.
4/7/24
-H. Added.
4/9/24
I. Added.
4/11/24
I. Updated.
ACE Mods removed from servers due to overwhelming bugs, log flooding, and resource issues. Testing halted for the time being.

User-facing settings framework

Something similar to cba_settings for A3, but more modern and readable (I've grown to hate that menu with lots of mods).

UI should include searching and conditional display of settings (i.e. don't show component settings if component's overall "enable" setting is false).

Framework should handle modifying values of settings that don't have their conditions met to default values/null/whatever's more appropriate.

Should also have hooks for third party. Are event handlers even applicable in this architecture, should every setting just be a moddable class, what do?

Known issues as of ACE Anvil 1.0.3

List of known bugs. Note that more leads in form of steps to reproduce it and log files would be appreciated for issues that require more data.

Backblast

  • Backblast doesn't inflict damage when players are too close to the source

Carrying

  • Sometimes it is not possible to release players; Release keybind doesn't work in these cases (more data required)
  • Released players can experience erratic ragdoll animations before entering back to unconscious animation (more data required)
  • #43

Chopping

Medical

  • #58
  • Medical kit sometimes doesn't heal (more data required)
  • Medical kit sometimes can't detect nearby supplies (more data required)
  • #39

Trenches

  • Dirt covers do not align properly to terrain when building process is completed

Carrying - Stuck in carrying when attempting to carry a ragdolling target

Carry action will fail if used on a casualty that was just removed from a vehicle or released from carrying. The casualty won't be picked up, but you will still be stuck in the carrying state preventing you from using the carry action and entering vehicles. Seems to happen if carry was initiated before the casualty enters back to the proper unconscious animation.

Medical - Pharmacokinetics and pharmacodynamics

Background

In the basic medical system, morphine and epinephrine just heal the pain respective resilience hit zones with a constant rate over a fixed time. During their effect duration, you cannot administer another dose.

Proposal

The idea is to make a new option to replace the behavior described above by a more realistic model, where the drug concentration and effect change over time. Moreover, drugs should no longer heal the hit zones. We introduce instead a drug-adjusted health getter that returns the sum of the hit zone's health and all drug effects. This will turn morphine into a pain suppressor and epinephrine into a resilience enhancer, rather than healer.

Pharmacokinetics

Proposed Model

Two consecutive first-order reactions:

$$\begin{flalign} &\ce{P ->[k_a] A ->[k_d] \otimes}& \end{flalign}$$

  • $\ce{P}$: Precursor state
  • $\ce{A}$: Active state
  • $k_a$: Activation rate constant
  • $k_d$: Deactivation rate constant (metabolism)

Corresponding Rate Law

$$\begin{flalign} & \begin{pmatrix}\frac{d\ce{[P]}}{dt} \\ \frac{d\ce{[A]}}{dt}\end{pmatrix} = \begin{pmatrix}-k_a & 0 \\ k_a & - k_d\end{pmatrix}\begin{pmatrix}\ce{[P]} \\ \ce{[A]}\end{pmatrix} & \end{flalign}$$

Solution

$$\begin{flalign} & \begin{pmatrix}\ce{[P]} \\ \ce{[A]}\end{pmatrix}(t) = \begin{pmatrix}e^{-k_a t} \\ \frac{k_a}{k_a-k_d}\Big(e^{-k_d t}-e^{-k_a t}\Big)\end{pmatrix}\ce{[P]}_0 & \end{flalign}$$

Pharmacodynamics

Hill equation:

$$\begin{flalign} & E(t) = \frac{E_{max}\cdot\ce{[A]}(t)}{\ce{[A]_{EC50}} + \ce{[A]}(t)} & \end{flalign}$$

  • $E$: Effect
  • $E_{max}$: Maximum effect
  • $\ce{[A]}_{EC50}$: Half-maximum effect concentration

Config Parameters

  • Administered substance concentration ($\ce{[P]}_0$)
  • Activation rate constant ($k_a$)
  • Deactivation rate constant ($k_d$)
  • Maximum effect ($E_{max}$)
  • Half-maximum effect concentration ($\ce{[A]_{EC50}}$)

Additional Notes

  • In principle the same model could be used with separate parameters for the Hill equation for simulating OD.
  • Guidelines for the medical system should contain recommended dosing intervals to keep a reasonable steady state.
  • Drug administration times will have to be logged to be able to dose them properly.

References

  1. Meibohm et al. Int. J. Impotence Res. 2007, 19, 253โ€“264.

No differentiation in trench disassambling time

Game Version: 1.1.0.42
ACE Core Version: 1.0.1
ACE Trenches Version: 1.0.0
No other Mods are loaded.
Expected behaviour: disassembling Time correlates with how much has already been build.
Observed behaviour: all building statuses have the exact same disassembling Time : one "tick"
How to reproduce: Go into GM with Mods loaded, build trenches in different states, disassemble trench

Chopping - Save files get spammed with 100s of duplicate deleted positions

Mods (complete and add to the following information):

  • Arma Reforger: 1.1.0.42 stable

  • ACE Core: 1.0.2

  • _Other ACE Backblast, Trenches, Finger & Chopping

  • Other mods loaded:
    "modId": "5E990AC4614243FF",
    "name": "CONFLICTPVEREMIXEDVANILLA",
    "version": ""

              "modId": "5DCD472E7B3FE6EB",
              "name": "MODERN RU",
              "version": ""
    
              "modId": "5B0D1E4380971EBD",
              "name": "COALITION Squad Interface",
              "version": ""
    
              "modId": "5CAB06A845A6DC18",
              "name": "Units Map Markers",
              "version": ""
    
              "modId": "5AAAC70D754245DD",
              "name": "Server Admin Tools",
              "version": ""
    
              "modId": "59651354B2904BA6",
              "name": "BETTERHITSEFFECTS",
              "version": ""
    
              "modId": "5C73156675E11A0F",
              "name": "GM PERSISTENT LOADOUTS",
              "version": ""
    
              "modId": "5AB890B71D748750",
              "name": "M4A1 BLOCK II AND URG-I",
              "version": ""
    
              "modId": "5CF0C3158AB2337E",
              "name": "TASK FORCE MATTOCK UNIFORMS",
              "version": ""
    
              "modId": "5B3ED33ADA805340",
              "name": "TASK FORCE MATTOCK WEAPONS",
              "version": ""
    
              "modId": "5964E0B3BB7410CE",
              "name": "GAME MASTER ENHANCED",
              "version": ""
    
              "modId": "60612C225328522E",
              "name": "NO WEAPON DROP UNCONSCIOUS",
              "version": ""
    
              "modId": "59673B6FBB95459F",
              "name": "BETTERTRACERS",
              "version": ""
    
              "modId": "60DF3A57CF0F3937",
              "name": "TPM Tactical Image",
              "version": ""
    
              "modId": "5EE135CE07217857",
              "name": "TALKING ON RADIO BEEPS",
              "version": ""
    
              "modId": "5D0551624969C92E",
              "name": "ZELIKS CHARACTER",
              "version": ""
    
              "modId": "595F2BF2F44836FB",
              "name": "RHS - STATUS QUO",
              "version": ""
    
              "modId": "5ED169F049FA72D0",
              "name": "104TH_GWB",
              "version": ""
    
              "modId": "5F2D346C916B6FCC",
              "name": "BLEEDING FROM WHERE DAMNIT",
              "version": ""
    
              "modId": "5CA125536EE7430A",
              "name": "M110 DMR",
              "version": ""
    
              "modId": "5CA6BA2F63DE1174",
              "name": "M17 PISTOL",
              "version": ""
    
              "modId": "606B100247F5C709",
              "name": "BACON LOADOUT EDITOR",
              "version": ""
    
              "modId": "5ED143120C5465BD",
              "name": "SESOF MAGREPACK",
              "version": ""
    
              "modId": "60E4207497401A8C",
              "name": "RHS VANILLA INVENTORY COMPAT",
              "version": ""
    
              "modId": "60531C2630F84FC3",
              "name": "COALITION JAMMING",
              "version": ""
    
              "modId": "608CF9E9CAC792B8",
              "name": "EOTECH VUDU",
              "version": ""
    
              "modId": "609418DCD487D71E",
              "name": "WEAPON UTILS",
              "version": ""
    
              "modId": "5ABD0CB57F7E9EB1",
              "name": "RIS LASER ATTACHMENTS",
              "version": ""
    
              "modId": "60DF519BEC7A5649",
              "name": "FORCE GARBAGE COLLECT",
              "version": ""
    
              "modId": "5AF6E0F075D79473",
              "name": "M249 SCOPE RAILS",
              "version": ""
    

Description:
When running ace backblast, trenches, finger & chopping on my Conflict PVE server, ace would spam my three save files (Conflict_Everon_US.1.auto.json, Conflict_Everon_US.2.auto.json, Conflict_Everon_US.3.auto.json) with thousands of m_aCAE_DeletedEntityPositions entries. This would then cause the save files to reach the max allowed size of 1024kb. The server would either crash or not allow players to join.

Steps to reproduce:
As above.
Conflict_Everon_US.3.auto (1).json

Expected behavior:
Spam save files with thousands of entries and max these files out to 1024kb

Which platform are you on?

  • PC

Where did the issue occur?

  • Dedicated

Log Files:
Uploaded save files.

Additional context:
N/A

Screenshots:
Uploaded screenshots.
Conflict_Everon_US.2.auto (1).json
Conflict_Everon_US.1.auto (1).json
Screenshot 2024-04-08 205428

Setting `m_bSecondChanceOnHeadEnabled` to `true` doesn't work.

It seems that the mission header parser cannot handle true and false. It will both parse to false. On the other hand, setting it to 1, does parse to true. As the parsing is likely done by the engine, we cannot fix this on our side, so we'll have to advocate using integers instead in the documentations.

Medical - Reorganize script folder structure by feature

Rather than having everything in script/Game/ACE_Medical, scripts should be reorganized by feature, e.g. script/Game/ACE_Medical_SecondChance and script/Game/ACE_Medical_Pain. Modded script files like SCR_CharacterDamageManagerComponent.c should be split by features as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.