diff --git a/Content.Server/DeltaV/StationEvents/Events/MeteorSwarmRule.cs b/Content.Server/DeltaV/StationEvents/Events/MeteorSwarmRule.cs index da1575c7c09..52c4e0aade1 100644 --- a/Content.Server/DeltaV/StationEvents/Events/MeteorSwarmRule.cs +++ b/Content.Server/DeltaV/StationEvents/Events/MeteorSwarmRule.cs @@ -1,4 +1,5 @@ using System.Numerics; +using Content.Server.Atmos.Components; using Content.Server.GameTicking.Rules.Components; using Content.Server.StationEvents.Components; using Content.Shared.GameTicking.Components; @@ -12,6 +13,7 @@ namespace Content.Server.StationEvents.Events { public sealed class MeteorSwarmRule : StationEventSystem { + [Dependency] private readonly SharedMapSystem _map = default!; [Dependency] private readonly SharedPhysicsSystem _physics = default!; protected override void Started(EntityUid uid, MeteorSwarmRuleComponent component, GameRuleComponent gameRule, GameRuleStartedEvent args) @@ -40,6 +42,10 @@ protected override void ActiveTick(EntityUid uid, MeteorSwarmRuleComponent compo Box2? playableArea = null; var mapId = GameTicker.DefaultMap; + // use a dud meteor if there's an atmosphere to "simulate" burning up + var proto = "MeteorLargeDeltaV"; + if (_map.TryGetMap(mapId, out var mapUid) && TryComp(mapUid, out var atmos) && !atmos.Space) + proto = "MeteorGlacierDeltaV"; var query = AllEntityQuery(); while (query.MoveNext(out var gridId, out _, out var xform)) @@ -67,7 +73,7 @@ protected override void ActiveTick(EntityUid uid, MeteorSwarmRuleComponent compo 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("MeteorLargeDeltaV", spawnPosition); + var meteor = Spawn(proto, spawnPosition); var physics = EntityManager.GetComponent(meteor); _physics.SetBodyStatus(meteor, physics, BodyStatus.InAir); _physics.SetLinearDamping(meteor, physics, 0f); diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 3dd886a443a..477aee51193 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,18 +1,4 @@ Entries: -- author: Vordenburg - changes: - - message: Enhanced intrusion defenses have been deployed in electrical systems. - type: Add - id: 64 - time: '2023-10-15T14:07:21.0000000+00:00' -- author: leonardo-dabepis - changes: - - message: added mothamphetamine drink - type: Add - - message: changed "dulleavene" to "health violation" - type: Tweak - id: 65 - time: '2023-10-16T23:25:27.0000000+00:00' - author: DebugOk changes: - message: Moth coloration has been changed, existing characters might look slightly @@ -3606,3 +3592,18 @@ id: 563 time: '2024-09-20T03:38:10.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/1866 +- author: deltanedas + changes: + - message: Glacier's atmosphere now protects it from meteor storms. + type: Tweak + id: 564 + time: '2024-09-20T13:23:14.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/1872 +- author: Solaris7518 + changes: + - message: The corrupted corgi will no longer terrorize the crew the moment the + round starts. + type: Remove + id: 565 + time: '2024-09-20T14:02:21.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/1867 diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Pistols/pistols.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Pistols/pistols.yml index e9e26a3e329..0a3260d2829 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Pistols/pistols.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Pistols/pistols.yml @@ -133,6 +133,38 @@ - type: UseDelay delay: 0 #Straight up doesn't work for guns +- type: entity + name: SLP-67 "Volk" + parent: BaseWeaponPistol + id: WeaponPistolSLP67 + description: The SLP-67, featuring a fullsize polymer frame and extended slide, improves upon its predecessor in ergonomics, accuracy, and capacity. Uses .35 auto ammo. + components: + - type: Sprite + sprite: DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi + - type: Item + size: Normal + - type: Clothing + sprite: DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi + - type: ItemSlots + slots: + gun_magazine: + name: Magazine + startingItem: MagazinePistolHighCapacity + insertSound: /Audio/Weapons/Guns/MagIn/pistol_magin.ogg + ejectSound: /Audio/Weapons/Guns/MagOut/pistol_magout.ogg + priority: 2 + whitelist: + tags: + - MagazinePistolHighCapacity + whitelistFailPopup: gun-magazine-whitelist-fail + gun_chamber: + name: Chamber + startingItem: CartridgePistol + priority: 1 + whitelist: + tags: + - CartridgePistol + - type: entity name: SLP-57 parent: BaseWeaponPistol diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml index 240de32b178..5a95f1ed7d9 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml @@ -38,3 +38,56 @@ mask: - Impassable - BulletImpassable + +# this gets spawned by the meteor swarm rule if the target map has an atmosphere +# since meteors dont make much sense +- type: entity + categories: [ HideSpawnMenu ] + id: MeteorGlacierDeltaV + name: meteor + description: This meteor is burning up like a in the atmosphere, like a... meteor. + components: + - type: Sprite + noRot: false + sprite: Objects/Weapons/Guns/Projectiles/meteor.rsi + scale: 0.5,0.5 + layers: + - state: large + shader: unshaded + - type: PointLight + radius: 3 + energy: 5 + color: "#ff6622" + - type: AmbientSound + enabled: true + volume: 2 + range: 14 + sound: + path: /Audio/Items/Flare/flare_burn.ogg + params: + loop: true + - type: IgnitionSource + ignited: true + temperature: 500 + - type: DeleteOnTrigger + - type: TriggerOnCollide + fixtureID: projectile + - type: Projectile + damage: {} + deleteOnCollide: false + - 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 diff --git a/Resources/Prototypes/DeltaV/Roles/Jobs/Medical/medical_borg.yml b/Resources/Prototypes/DeltaV/Roles/Jobs/Medical/medical_borg.yml index e2047d3c200..6582de79d08 100644 --- a/Resources/Prototypes/DeltaV/Roles/Jobs/Medical/medical_borg.yml +++ b/Resources/Prototypes/DeltaV/Roles/Jobs/Medical/medical_borg.yml @@ -1,4 +1,3 @@ - - type: job id: MedicalBorg name: job-name-medical-borg diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Markers/Spawners/Random/animals.yml b/Resources/Prototypes/Nyanotrasen/Entities/Markers/Spawners/Random/animals.yml index 0a84109a98c..900285e1a0e 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Markers/Spawners/Random/animals.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Markers/Spawners/Random/animals.yml @@ -35,10 +35,10 @@ - MobBoxingKangaroo - MobGoose - MobSnake - - MobGiantSpider - - MobGiantSpiderAngry + # - MobGiantSpider # Delta-V Change + # - MobGiantSpiderAngry # Delta-V Change - MobCorgi - - MobCorgiNarsi + #- MobCorgiNarsi # Delta-V change, disables the "corrupted corgi" (literally just a hostile cerberus with no master) from spawning naturally - MobCorgiPuppy - MobCrab - MobCatSpace diff --git a/Resources/Prototypes/Roles/Jobs/departments.yml b/Resources/Prototypes/Roles/Jobs/departments.yml index c11c7e69a4f..64d811004c5 100644 --- a/Resources/Prototypes/Roles/Jobs/departments.yml +++ b/Resources/Prototypes/Roles/Jobs/departments.yml @@ -78,6 +78,7 @@ - ERTSecurity - ERTEngineer - DeathSquad + - StationAi # DeltaV - added for playtime trackers primary: false weight: 100 @@ -141,7 +142,9 @@ color: "#D381C9" roles: - Borg + - MedicalBorg # DeltaV - roundstart mediborg job - StationAi + primary: false # DeltaV - removed from primary dept - type: department id: Specific diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/base.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/base.png new file mode 100644 index 00000000000..9c93bb852eb Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/base.png differ diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/bolt-open.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/bolt-open.png new file mode 100644 index 00000000000..85ccb805e58 Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/bolt-open.png differ diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/equipped-BELT.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/equipped-BELT.png new file mode 100644 index 00000000000..bcb512f684b Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/equipped-BELT.png differ diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 00000000000..d3d2e5798bd Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/icon.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/icon.png new file mode 100644 index 00000000000..d849d2f65ea Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/icon.png differ diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/inhand-left.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/inhand-left.png new file mode 100644 index 00000000000..1072555df60 Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/inhand-left.png differ diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/inhand-right.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/inhand-right.png new file mode 100644 index 00000000000..0a182ae41ab Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/inhand-right.png differ diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/mag-0.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/mag-0.png new file mode 100644 index 00000000000..4fcdb884c71 Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/mag-0.png differ diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/meta.json b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/meta.json new file mode 100644 index 00000000000..40251545d35 --- /dev/null +++ b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Pistols/slp67.rsi/meta.json @@ -0,0 +1,39 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Original work by TJohnson.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "base" + }, + { + "name": "bolt-open" + }, + { + "name": "mag-0" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-BELT", + "directions": 4 + }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + } + ] +} diff --git a/RunBoth-Debug.bat b/RunBoth-Debug.bat new file mode 100644 index 00000000000..a63a8861acb --- /dev/null +++ b/RunBoth-Debug.bat @@ -0,0 +1,3 @@ +@echo off +start "DeltaVServer-Debug" cmd /k "runserver-Debug.bat" +start "DeltaVClient-Debug" cmd /k "runclient-Debug.bat" diff --git a/RunBoth-Tools.bat b/RunBoth-Tools.bat new file mode 100644 index 00000000000..8c78835a764 --- /dev/null +++ b/RunBoth-Tools.bat @@ -0,0 +1,3 @@ +@echo off +start "DeltaVServer-Tools" cmd /k "runserver-Tools.bat" +start "DeltaVClient-Tools" cmd /k "runclient-Tools.bat" diff --git a/RunBoth.bat b/RunBoth.bat new file mode 100644 index 00000000000..b7fc3547974 --- /dev/null +++ b/RunBoth.bat @@ -0,0 +1,3 @@ +@echo off +start "DeltaVServer" cmd /k "runserver.bat" +start "DeltaVClient" cmd /k "runclient.bat" diff --git a/runclient-Debug.bat b/runclient-Debug.bat new file mode 100644 index 00000000000..7c7e30a3f6d --- /dev/null +++ b/runclient-Debug.bat @@ -0,0 +1,2 @@ +@echo off +dotnet run --project Content.Client --configuration Debug diff --git a/runserver-Debug.bat b/runserver-Debug.bat new file mode 100644 index 00000000000..af6ab2ebd85 --- /dev/null +++ b/runserver-Debug.bat @@ -0,0 +1,3 @@ +@echo off +dotnet run --project Content.Server --configuration Debug +pause