From d4e3c531c38ea1e546615227d22ae464630d6fe3 Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:29:18 +0000 Subject: [PATCH] use old meteor entity (#1658) * add old meteor entity * spawn old meteor entity in rule --------- Co-authored-by: deltanedas <@deltanedas:kde.org> --- .../StationEvents/Events/MeteorSwarmRule.cs | 2 +- .../Weapons/Guns/Projectiles/meteors.yml | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml diff --git a/Content.Server/DeltaV/StationEvents/Events/MeteorSwarmRule.cs b/Content.Server/DeltaV/StationEvents/Events/MeteorSwarmRule.cs index b97cde86a0..da1575c7c0 100644 --- a/Content.Server/DeltaV/StationEvents/Events/MeteorSwarmRule.cs +++ b/Content.Server/DeltaV/StationEvents/Events/MeteorSwarmRule.cs @@ -67,7 +67,7 @@ namespace Content.Server.StationEvents.Events var angle = new Angle(RobustRandom.NextFloat() * MathF.Tau); var offset = angle.RotateVec(new Vector2((maximumDistance - minimumDistance) * RobustRandom.NextFloat() + minimumDistance, 0)); var spawnPosition = new MapCoordinates(center + offset, mapId); - var meteor = Spawn("MeteorLarge", spawnPosition); + var meteor = Spawn("MeteorLargeDeltaV", spawnPosition); var physics = EntityManager.GetComponent(meteor); _physics.SetBodyStatus(meteor, physics, BodyStatus.InAir); _physics.SetLinearDamping(meteor, physics, 0f); diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml new file mode 100644 index 0000000000..240de32b17 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml @@ -0,0 +1,40 @@ +- type: entity + id: MeteorLargeDeltaV + name: meteor + categories: [ HideSpawnMenu ] + components: + - type: Sprite + noRot: false + sprite: Objects/Weapons/Guns/Projectiles/meteor.rsi + scale: 4,4 + layers: + - state: large + shader: unshaded + - type: ExplodeOnTrigger + - type: DeleteOnTrigger + - type: TriggerOnCollide + fixtureID: projectile + - type: Projectile + damage: {} + deleteOnCollide: false + - type: Explosive + explosionType: Default + totalIntensity: 600.0 + intensitySlope: 30 + maxIntensity: 45 + - type: Physics + bodyType: Dynamic + - type: Fixtures + fixtures: + projectile: + shape: + !type:PhysShapeCircle + radius: 0.8 + density: 100 + hard: true + # Didn't use MapGridComponent for now as the bounds are stuffed. + layer: + - LargeMobLayer + mask: + - Impassable + - BulletImpassable