Biomass (#10313)
* Material * good prototype * Fix material storage * You can insert biomass into the cloner * ok, basic biomass subtraction works * amogus * ok chance works * Alright, the biomass and genetic stuff works * feedback for cloning * more reclaimer polish * ship it * starting biomass + fix lathes * I changed my mind on rat mass and these guys are definitely getting ground up * Doafter * clean up, sync the two * fix naming, fix mass * technology + construction * additional logging, stop unanchoring when active * fix event / logs * dont gib dead salvage * auto eject * fix deconstruction behavior * make warning message better, temporarily disable cancer scanner * fix biomass stacks * add easy mode CVAR * stack cleanup, make biomass 2x as fast * bugfix * new sprite from hyenh * fix tests * hello? :smilethink: * :smilethink: * medical scanner gets antirotting * fix cloner and medical scanner Co-authored-by: Moony <moonheart08@users.noreply.github.com>
This commit is contained in:
@@ -116,13 +116,13 @@ public sealed class ClimbSystem : SharedClimbSystem
|
||||
if (TryBonk(component, user))
|
||||
return;
|
||||
|
||||
_doAfterSystem.DoAfter(new DoAfterEventArgs(entityToMove, component.ClimbDelay, default, climbable)
|
||||
_doAfterSystem.DoAfter(new DoAfterEventArgs(entityToMove, component.ClimbDelay, default, climbable, user)
|
||||
{
|
||||
BreakOnTargetMove = true,
|
||||
BreakOnUserMove = true,
|
||||
BreakOnDamage = true,
|
||||
BreakOnStun = true,
|
||||
UserFinishedEvent = new ClimbFinishedEvent(user, climbable)
|
||||
UserFinishedEvent = new ClimbFinishedEvent(user, climbable, entityToMove)
|
||||
});
|
||||
}
|
||||
|
||||
@@ -155,10 +155,10 @@ public sealed class ClimbSystem : SharedClimbSystem
|
||||
|
||||
private void OnClimbFinished(EntityUid uid, ClimbingComponent climbing, ClimbFinishedEvent args)
|
||||
{
|
||||
Climb(uid, args.User, args.Climbable, climbing: climbing);
|
||||
Climb(uid, args.User, args.Instigator, args.Climbable, climbing: climbing);
|
||||
}
|
||||
|
||||
private void Climb(EntityUid uid, EntityUid user, EntityUid climbable, bool silent = false, ClimbingComponent? climbing = null,
|
||||
private void Climb(EntityUid uid, EntityUid user, EntityUid instigator, EntityUid climbable, bool silent = false, ClimbingComponent? climbing = null,
|
||||
PhysicsComponent? physics = null, FixturesComponent? fixtures = null)
|
||||
{
|
||||
if (!Resolve(uid, ref climbing, ref physics, ref fixtures, false))
|
||||
@@ -174,7 +174,7 @@ public sealed class ClimbSystem : SharedClimbSystem
|
||||
// there's also the cases where the user might collide with the person they are forcing onto the climbable that i haven't accounted for
|
||||
|
||||
RaiseLocalEvent(uid, new StartClimbEvent(climbable), false);
|
||||
RaiseLocalEvent(climbable, new ClimbedOnEvent(uid), false);
|
||||
RaiseLocalEvent(climbable, new ClimbedOnEvent(uid, user), false);
|
||||
|
||||
if (silent)
|
||||
return;
|
||||
@@ -343,7 +343,7 @@ public sealed class ClimbSystem : SharedClimbSystem
|
||||
|
||||
public void ForciblySetClimbing(EntityUid uid, EntityUid climbable, ClimbingComponent? component = null)
|
||||
{
|
||||
Climb(uid, uid, climbable, true, component);
|
||||
Climb(uid, uid, uid, climbable, true, component);
|
||||
}
|
||||
|
||||
private void OnBuckleChange(EntityUid uid, ClimbingComponent component, BuckleChangeEvent args)
|
||||
@@ -436,14 +436,16 @@ public sealed class ClimbSystem : SharedClimbSystem
|
||||
|
||||
internal sealed class ClimbFinishedEvent : EntityEventArgs
|
||||
{
|
||||
public ClimbFinishedEvent(EntityUid user, EntityUid climbable)
|
||||
public ClimbFinishedEvent(EntityUid user, EntityUid climbable, EntityUid instigator)
|
||||
{
|
||||
User = user;
|
||||
Climbable = climbable;
|
||||
Instigator = instigator;
|
||||
}
|
||||
|
||||
public EntityUid User { get; }
|
||||
public EntityUid Climbable { get; }
|
||||
public EntityUid Instigator { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -452,10 +454,12 @@ internal sealed class ClimbFinishedEvent : EntityEventArgs
|
||||
public sealed class ClimbedOnEvent : EntityEventArgs
|
||||
{
|
||||
public EntityUid Climber;
|
||||
public EntityUid Instigator;
|
||||
|
||||
public ClimbedOnEvent(EntityUid climber)
|
||||
public ClimbedOnEvent(EntityUid climber, EntityUid instigator)
|
||||
{
|
||||
Climber = climber;
|
||||
Instigator = instigator;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user