Fire update (#602)

* fire spread fixes and optimization

* fix liquid drops nefty and suffix

* some sharedization

* melee fire extinguish

* clean up fireSpread system

* caution popup

* cuffable zombies

* fix zombie AI

* lighter

* torch integration attempt

* fix torch igniting

* yml tweaks

* bonus flammable damage
This commit is contained in:
Ed
2024-11-21 22:01:14 +03:00
committed by GitHub
parent 4fcfab972d
commit 96fc06a443
48 changed files with 554 additions and 100 deletions

View File

@@ -1,4 +1,3 @@
using Content.Server._CP14.Temperature;
using Content.Server.Administration.Logs;
using Content.Server.Atmos.Components;
using Content.Server.IgnitionSource;
@@ -6,6 +5,7 @@ using Content.Server.Stunnable;
using Content.Server.Temperature.Components;
using Content.Server.Temperature.Systems;
using Content.Server.Damage.Components;
using Content.Shared._CP14.Temperature;
using Content.Shared.ActionBlocker;
using Content.Shared.Alert;
using Content.Shared.Atmos;
@@ -144,15 +144,16 @@ namespace Content.Server.Atmos.EntitySystems
{
if (args.Handled)
return;
var isHotEvent = new IsHotEvent();
RaiseLocalEvent(args.Used, isHotEvent);
if (!isHotEvent.IsHot)
return;
/* //CP14 disabling igniting via direact interact. Only from DelayedIgnitionSource
Ignite(uid, args.Used, flammable, args.User);
args.Handled = true;
*/
}
private void OnExtinguishActivateInWorld(EntityUid uid, ExtinguishOnInteractComponent component, ActivateInWorldEvent args)
@@ -263,6 +264,13 @@ namespace Content.Server.Atmos.EntitySystems
public void UpdateAppearance(EntityUid uid, FlammableComponent? flammable = null, AppearanceComponent? appearance = null)
{
//CrystallEdge bonfire moment
if (!Resolve(uid, ref flammable))
return;
var ev = new OnFireChangedEvent(flammable.OnFire);
RaiseLocalEvent(uid, ref ev);
//CrystallEdge bonfire moment end
if (!Resolve(uid, ref flammable, ref appearance))
return;
@@ -316,12 +324,6 @@ namespace Content.Server.Atmos.EntitySystems
_ignitionSourceSystem.SetIgnited(uid, false);
//CrystallEdge bonfire moment
var ev = new OnFireChangedEvent(flammable.OnFire);
RaiseLocalEvent(uid, ref ev);
//CrystallEdge bonfire moment end
UpdateAppearance(uid, flammable);
}
@@ -343,11 +345,6 @@ namespace Content.Server.Atmos.EntitySystems
else
_adminLogger.Add(LogType.Flammable, $"{ToPrettyString(uid):target} set on fire by {ToPrettyString(ignitionSource):actor}");
flammable.OnFire = true;
//CrystallEdge fireplace moment
var ev = new OnFireChangedEvent(flammable.OnFire);
RaiseLocalEvent(uid, ref ev);
//CrystallEdge fireplace moment end
}
UpdateAppearance(uid, flammable);