Adds twenty-one new smites, moves the explosion smite to the verb category. (#8456)
* Adds seven new smites, moves the explosion smite to the verb category. * adds even more smites. * Even more smites, some messages for specific smites. * Adds even more smites. * Removes some junk, adds a smite that angers the pointing arrows. * get rid of dumb component. * Remove mistake from verb menu presentation. * How did that happen? * whoops * c * e * fuck * Loading... * removes the BoM go away * adds the funny kill sign. Fixes ghost smite. * Move systems around. * Adjust organ vomit. * Adds a smite that turns people into an instrument, and one that removes their gravity. * oops * typo Co-authored-by: Veritius <veritiusgaming@gmail.com>
This commit is contained in:
@@ -37,15 +37,17 @@ namespace Content.Server.Pointing.EntitySystems
|
||||
if (!Resolve(uid, ref component, ref transform))
|
||||
return null;
|
||||
|
||||
var players = Filter.Empty()
|
||||
.AddPlayersByPvs(transform.MapPosition)
|
||||
.RemoveWhereAttachedEntity(euid => !EntityManager.TryGetComponent(euid, out MobStateComponent? mobStateComponent) || mobStateComponent.IsDead())
|
||||
.Recipients
|
||||
.ToArray();
|
||||
var targets = EntityQuery<PointingArrowAngeringComponent>().ToList();
|
||||
|
||||
return players.Length != 0
|
||||
? _random.Pick(players).AttachedEntity
|
||||
: null;
|
||||
if (targets.Count == 0)
|
||||
return null;
|
||||
|
||||
var angering = _random.Pick(targets);
|
||||
angering.RemainingAnger -= 1;
|
||||
if (angering.RemainingAnger <= 0)
|
||||
RemComp<PointingArrowAngeringComponent>(uid);
|
||||
|
||||
return angering.Owner;
|
||||
}
|
||||
|
||||
private void UpdateAppearance(EntityUid uid, RoguePointingArrowComponent? component = null, TransformComponent? transform = null, AppearanceComponent? appearance = null)
|
||||
@@ -56,6 +58,14 @@ namespace Content.Server.Pointing.EntitySystems
|
||||
appearance.SetData(RoguePointingArrowVisuals.Rotation, transform.LocalRotation.Degrees);
|
||||
}
|
||||
|
||||
public void SetTarget(EntityUid arrow, EntityUid target, RoguePointingArrowComponent? component = null)
|
||||
{
|
||||
if (!Resolve(arrow, ref component))
|
||||
throw new ArgumentException("Input was not a rogue pointing arrow!", nameof(arrow));
|
||||
|
||||
component.Chasing = target;
|
||||
}
|
||||
|
||||
public override void Update(float frameTime)
|
||||
{
|
||||
foreach (var (component, transform) in EntityManager.EntityQuery<RoguePointingArrowComponent, TransformComponent>())
|
||||
@@ -63,7 +73,7 @@ namespace Content.Server.Pointing.EntitySystems
|
||||
var uid = component.Owner;
|
||||
component.Chasing ??= RandomNearbyPlayer(uid, component, transform);
|
||||
|
||||
if (component.Chasing is not {Valid: true} chasing)
|
||||
if (component.Chasing is not {Valid: true} chasing || Deleted(chasing))
|
||||
{
|
||||
EntityManager.QueueDeleteEntity(uid);
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user