Fixed flare lightcomponent staying active after the flare burns out, OnActive statuseffects are applied to lightcomponents even if the item is inside an inventory/container (= flares won't stop burning if placed back to inventory)
This commit is contained in:
@@ -266,14 +266,15 @@
|
||||
<Throwable slots="Any,RightHand,LeftHand" holdpos="0,0" handle1="0,0" throwforce="4.0" aimpos="35,-10"/>
|
||||
|
||||
<LightComponent LightColor="1.0,0.0,0.0,1.0" Flicker="0.5" range="600" IsOn="false">
|
||||
<sprite texture="Content/Lights/light.png" sourcerect="33,0,31,39"/>
|
||||
|
||||
<StatusEffect type="OnUse" target="This" IsOn="true"/>
|
||||
|
||||
<StatusEffect type="OnActive" target="This" Condition="-0.5">
|
||||
<StatusEffect type="OnActive" target="This" Condition="-5.0">
|
||||
<ParticleEmitter particle="flare"/>
|
||||
<ParticleEmitter particle="bubbles"/>
|
||||
</StatusEffect>
|
||||
|
||||
<StatusEffect type="OnBroken" target="This" IsOn="false"/>
|
||||
|
||||
<sound file="flare.ogg" type="OnActive" range="800.0" loop="true"/>
|
||||
</LightComponent>
|
||||
</Item>
|
||||
|
||||
@@ -123,6 +123,8 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
light.Submarine = item.Submarine;
|
||||
|
||||
ApplyStatusEffects(ActionType.OnActive, deltaTime);
|
||||
|
||||
if (item.Container != null)
|
||||
{
|
||||
light.Color = Color.Transparent;
|
||||
@@ -158,8 +160,6 @@ namespace Barotrauma.Items.Components
|
||||
else
|
||||
{
|
||||
lightBrightness = MathHelper.Lerp(lightBrightness, Math.Min(voltage, 1.0f), 0.1f);
|
||||
|
||||
ApplyStatusEffects(ActionType.OnActive, deltaTime);
|
||||
}
|
||||
|
||||
light.Color = lightColor * lightBrightness * (1.0f-Rand.Range(0.0f,Flicker));
|
||||
@@ -167,7 +167,7 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
voltage = 0.0f;
|
||||
}
|
||||
|
||||
|
||||
public override bool Use(float deltaTime, Character character = null)
|
||||
{
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user