@@ -37,11 +37,6 @@ namespace Content.Client.Chemistry.Visualizers
|
|||||||
{
|
{
|
||||||
base.OnChangeData(component);
|
base.OnChangeData(component);
|
||||||
|
|
||||||
if (component.TryGetData<Angle>(VaporVisuals.Rotation, out var radians))
|
|
||||||
{
|
|
||||||
SetRotation(component, radians);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (component.TryGetData<Color>(VaporVisuals.Color, out var color))
|
if (component.TryGetData<Color>(VaporVisuals.Color, out var color))
|
||||||
{
|
{
|
||||||
SetColor(component, color);
|
SetColor(component, color);
|
||||||
@@ -63,13 +58,6 @@ namespace Content.Client.Chemistry.Visualizers
|
|||||||
animPlayer.Play(VaporFlick, AnimationKey);
|
animPlayer.Play(VaporFlick, AnimationKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetRotation(AppearanceComponent component, Angle rotation)
|
|
||||||
{
|
|
||||||
var sprite = component.Owner.GetComponent<ISpriteComponent>();
|
|
||||||
|
|
||||||
sprite.Rotation = rotation;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void SetColor(AppearanceComponent component, Color color)
|
private void SetColor(AppearanceComponent component, Color color)
|
||||||
{
|
{
|
||||||
var sprite = component.Owner.GetComponent<ISpriteComponent>();
|
var sprite = component.Owner.GetComponent<ISpriteComponent>();
|
||||||
|
|||||||
@@ -162,9 +162,8 @@ namespace Content.Server.Fluids.Components
|
|||||||
var vapor = entManager.SpawnEntity(_vaporPrototype, playerPos.Offset(distance < 1 ? quarter : threeQuarters));
|
var vapor = entManager.SpawnEntity(_vaporPrototype, playerPos.Offset(distance < 1 ? quarter : threeQuarters));
|
||||||
vapor.Transform.LocalRotation = rotation;
|
vapor.Transform.LocalRotation = rotation;
|
||||||
|
|
||||||
if (vapor.TryGetComponent(out AppearanceComponent? appearance)) // Vapor sprite should face down.
|
if (vapor.TryGetComponent(out AppearanceComponent? appearance))
|
||||||
{
|
{
|
||||||
appearance.SetData(VaporVisuals.Rotation, -Angle.Zero + rotation);
|
|
||||||
appearance.SetData(VaporVisuals.Color, contents.Color.WithAlpha(1f));
|
appearance.SetData(VaporVisuals.Color, contents.Color.WithAlpha(1f));
|
||||||
appearance.SetData(VaporVisuals.State, true);
|
appearance.SetData(VaporVisuals.State, true);
|
||||||
}
|
}
|
||||||
@@ -174,11 +173,13 @@ namespace Content.Server.Fluids.Components
|
|||||||
var vaporSystem = EntitySystem.Get<VaporSystem>();
|
var vaporSystem = EntitySystem.Get<VaporSystem>();
|
||||||
vaporSystem.TryAddSolution(vaporComponent, solution);
|
vaporSystem.TryAddSolution(vaporComponent, solution);
|
||||||
|
|
||||||
vaporSystem.Start(vaporComponent, rotation.ToVec(), _sprayVelocity, target, _sprayAliveTime);
|
// impulse direction is defined in world-coordinates, not local coordinates
|
||||||
|
var impulseDirection = vapor.Transform.WorldRotation.ToVec();
|
||||||
|
vaporSystem.Start(vaporComponent, impulseDirection, _sprayVelocity, target, _sprayAliveTime);
|
||||||
|
|
||||||
if (_impulse > 0f && eventArgs.User.TryGetComponent(out IPhysBody? body))
|
if (_impulse > 0f && eventArgs.User.TryGetComponent(out IPhysBody? body))
|
||||||
{
|
{
|
||||||
body.ApplyLinearImpulse(-direction * _impulse);
|
body.ApplyLinearImpulse(-impulseDirection * _impulse);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,8 +23,6 @@
|
|||||||
- type: DrainableSolution
|
- type: DrainableSolution
|
||||||
solution: spray
|
solution: spray
|
||||||
- type: SolutionTransfer
|
- type: SolutionTransfer
|
||||||
- type: Spillable
|
|
||||||
solution: spray
|
|
||||||
- type: ItemCooldown
|
- type: ItemCooldown
|
||||||
- type: Spray
|
- type: Spray
|
||||||
transferAmount: 10
|
transferAmount: 10
|
||||||
@@ -77,6 +75,7 @@
|
|||||||
- type: Sprite
|
- type: Sprite
|
||||||
netsync: false
|
netsync: false
|
||||||
sprite: Effects/chempuff.rsi
|
sprite: Effects/chempuff.rsi
|
||||||
|
rotation: 90
|
||||||
layers:
|
layers:
|
||||||
- state: chempuff
|
- state: chempuff
|
||||||
map: ["enum.VaporVisualLayers.Base"]
|
map: ["enum.VaporVisualLayers.Base"]
|
||||||
@@ -88,6 +87,7 @@
|
|||||||
bounds: "-0.25,-0.25,0.25,0.25"
|
bounds: "-0.25,-0.25,0.25,0.25"
|
||||||
hard: false
|
hard: false
|
||||||
mask:
|
mask:
|
||||||
|
- Opaque
|
||||||
- Impassable
|
- Impassable
|
||||||
- MobImpassable
|
- MobImpassable
|
||||||
- SmallImpassable
|
- SmallImpassable
|
||||||
|
|||||||
Reference in New Issue
Block a user