Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
//------------------------------------------------------------------------------------------------
//! Apply settings to medical kit
modded class SCR_HealSupportStationComponent : SCR_BaseDamageHealSupportStationComponent
{
[RplProp(onRplName: "ACE_Medical_OnMedicalKitSettingsChanged")]
protected float m_fACE_Medical_MedicalKitMaxHealScaled = 1;

[RplProp(onRplName: "ACE_Medical_OnMedicalKitSettingsChanged")]
protected float m_fACE_Medical_HealingPerExecution = 10;

//------------------------------------------------------------------------------------------------
override protected void DelayedInit(IEntity owner)
{
super.DelayedInit(owner);

if (!Replication.IsServer() || !owner)
return;

ACE_Medical_Core_Settings settings = ACE_SettingsHelperT<ACE_Medical_Core_Settings>.GetModSettings();
if (!settings)
return;

// Set how much medical kits can heal
if (InventoryItemComponent.Cast(owner.FindComponent(InventoryItemComponent)))
{
m_fACE_Medical_MedicalKitMaxHealScaled = settings.m_fMedicalKitMaxHealScaled;
m_fACE_Medical_HealingPerExecution = settings.m_fMedicalKitHealingPerExecution;
ACE_Medical_OnMedicalKitSettingsChanged();
Replication.BumpMe();
}
}

//------------------------------------------------------------------------------------------------
protected void ACE_Medical_OnMedicalKitSettingsChanged()
{
m_fMaxHealScaled = m_fACE_Medical_MedicalKitMaxHealScaled;
m_iDamageHealedEachExecution = m_fACE_Medical_HealingPerExecution;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//------------------------------------------------------------------------------------------------
[BaseContainerProps()]
modded class ACE_Medical_Core_Settings : ACE_ModSettings
{
[Attribute(defvalue: "1", desc: "Maximum scaled health (from 0 to 1) that a medical kit can heal to outside of medical facilities.", uiwidget: UIWidgets.Slider, params: "0 1")]
float m_fMedicalKitMaxHealScaled;

[Attribute(defvalue: "10", desc: "Amount of health that is restored each execution of the medical kit outside of medical facilities.", uiwidget: UIWidgets.Slider, params: "0 inf")]
float m_fMedicalKitHealingPerExecution;
}
4 changes: 4 additions & 0 deletions docs/src/content/docs/components/medical.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@ Summary of settings that can be modified in the server config:
| `m_fBleedingRateScale` | Type: `float`**<br />Default: `1.0` | Character bleeding rate multiplier |
| `m_fMaxTotalBleedingRate` | Type: `float`**<br />Default: `-1.0` | Maximum possibe bleeding rate in ml/s (Negative value means unlimited) |
| `m_fBloodRegenScale` | Type: `float`**<br />Default: `1.0` | Character blood regeneration rate multiplier |
| `m_fMedicalKitMaxHealScaled` | Type: `float`**<br />Range: 0 to 1<br />Default: `1.0` | Maximum scaled health (from 0 to 1) that a medical kit can heal to outside of medical facilities. |
| `m_fMedicalKitHealingPerExecution` | Type: `float`**<br />Range: 0 to ∞<br />Default: `10.0` | Amount of health that is restored each execution of the medical kit outside of medical facilities. |
| `m_ePainScreenEffectType` | Type: `int`***<br />Default: `WHITE_FLASH`<br />Options:<br />`0` (`NONE`)<br />`1` (`WHITE_FLASH`)<br />`2` (`GREY_FLASH`)<br />`3` (`CHROMATIC_ABERRATION`)<br />`4` (`RADIAL_BLUR`) | What kind of pain screen effect is used |
| `m_fSecondChanceResilienceRegenScale` | Type: `float`**<br />Range: 0 to ∞<br />Default: `0.0` | Resilience regeneration scale when second chance was triggered. The default regeneration rate will be multiplied by this factor. |
| `m_fDefaultSecondChance` | Type: `float`**<br />Range: 0 to 1<br />Default: `1.0` | Default probability for second chance for killing blows |
Expand Down Expand Up @@ -101,6 +103,8 @@ Template for the `missionHeader` in a server config:
"m_fBleedingRateScale": 1.0,
"m_fMaxTotalBleedingRate": -1.0,
"m_fBloodRegenScale": 1.0,
"m_fMedicalKitMaxHealScaled": 1.0,
"m_fMedicalKitHealingPerExecution": 10.0,
"m_ePainScreenEffectType": 1,
"m_fSecondChanceResilienceRegenScale": 0.0,
"m_fDefaultSecondChance": 1.0,
Expand Down