13 return {EffectWidgetsTypes.MASK_OCCLUDER, EffectWidgetsTypes.MASK_BREATH};
23 GetInventory().CreateInInventory(
"GasMask_Filter");
28 return FindAttachmentBySlotName(
"GasMaskFilter");
35 if (filter && !filter.IsRuined() && filter.GetQuantity() > 0)
47 return filter.GetQuantityMax();
59 return filter.GetQuantity();
76 quantity = filter.GetQuantity();
90 return ItemBase.Cast(FindAttachmentBySlotName(
"GasMaskFilter")) != null;
110 itemToConsume =
this;
114 itemToConsume = filter;
118 itemToConsume.AddQuantity(-quantity);
130 float damage = quantity * filter.GetFilterDamageRatio();
131 filter.AddHealth(
"",
"", -damage);
136 super.InitGlobalExclusionValues();
138 AddSingleExclusionValueGlobal(EAttExclusions.EXCLUSION_MASK_2);
140 AddSingleExclusionValueGlobal(EAttExclusions.EXCLUSION_GLASSES_TIGHT_0);
141 AddSingleExclusionValueGlobal(EAttExclusions.EXCLUSION_HEADGEAR_HELMET_0);
override float GetQuantity()
override bool HasQuantity()
override int GetQuantityMax()
override void OnDebugSpawn()
bool ConsumeQuantity(float quantity, PlayerBase consumer_player)
float GetFilterQuantityMax()
override array< int > GetEffectWidgetTypes()
override bool AllowFoodConsumption()
bool HasIntegratedFilter()
float GetFilterQuantity()
float m_LowFilterEventTime
EntityAI GetExternalFilter()
float GetFilterQuantity01()
bool HasValidFilter()
has either external or integrated non-empty non-ruined filter ?
void OnQuantityConsumed(notnull ItemBase filter, PlayerBase consumer_player)
bool IsExternalFilterAttached()
void OnQuantityConsumed(notnull ItemBase filter, PlayerBase consumer_player, float quantity)
bool CanHaveExternalFilter()
override bool IsGasMask()
void InitGlobalExclusionValues()
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
static proto float InverseLerp(float a, float b, float value)
Calculates the linear value that produces the interpolant value within the range [a,...