From f07b2aa6c3dbafc2c03c56b034c2efaa323ffd53 Mon Sep 17 00:00:00 2001 From: B_Kirill <153602297+B-Kirill@users.noreply.github.com> Date: Tue, 20 May 2025 23:04:27 +1000 Subject: [PATCH] New fun meteors (#37327) * New fun meteors * Forgot about newline * Fix * Wow, a new test * Okay * Fix * Fix 2 * I hope this is correct enough * Attribution * Attribution 2 --- .../station-events/events/meteor-swarm.ftl | 4 + .../Weapons/Guns/Projectiles/meteors.yml | 127 ++++++++++++++++++ .../Prototypes/GameRules/meteorswarms.yml | 81 ++++++++++- .../Objects/Misc/meteor.rsi/clown_pixel.png | Bin 0 -> 3757 bytes .../Objects/Misc/meteor.rsi/cow_pixel.png | Bin 0 -> 3758 bytes .../Objects/Misc/meteor.rsi/meta.json | 41 +++++- .../Objects/Misc/meteor.rsi/potato.png | Bin 0 -> 3937 bytes 7 files changed, 250 insertions(+), 3 deletions(-) create mode 100644 Resources/Textures/Objects/Misc/meteor.rsi/clown_pixel.png create mode 100644 Resources/Textures/Objects/Misc/meteor.rsi/cow_pixel.png create mode 100644 Resources/Textures/Objects/Misc/meteor.rsi/potato.png diff --git a/Resources/Locale/en-US/station-events/events/meteor-swarm.ftl b/Resources/Locale/en-US/station-events/events/meteor-swarm.ftl index 0090c170ca..0b82c7fb95 100644 --- a/Resources/Locale/en-US/station-events/events/meteor-swarm.ftl +++ b/Resources/Locale/en-US/station-events/events/meteor-swarm.ftl @@ -3,3 +3,7 @@ station-event-meteor-swarm-end-announcement = The meteor swarm has passed. Pleas station-event-space-dust-start-announcement = The station is passing through a debris cloud, expect minor damage to external fittings and fixtures. station-event-meteor-urist-start-announcement = The station is colliding with an unidentified swarm of debris. Please stay calm and do not listen to them. +station-event-meteor-cow-start-announcement = The station is colliding with an unidentified swarm of debris. Warning: Do not feed them wheat. Moo-ve away from exterior sections. +station-event-meteor-clown-start-announcement = The station is colliding with an unidentified swarm of debris. HONK! Evacuate laughing gas storage immediately. +station-event-meteor-potato-start-announcement = The station is colliding with an unidentified swarm of debris. High starch content detected. +station-event-fun-swarm-start-announcement = The station is colliding with an unidentified swarm of debris. Please panic appropriately. diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml index 3895c79de7..ab78c00190 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml @@ -225,4 +225,131 @@ volume: 10 - !type:SpillBehavior solution: blood + - !type:SpawnEntitiesBehavior + spawn: + FoodMeatHuman: + min: 1 + max: 2 + - !type:ExplodeBehavior + +# Cow Meteor +- type: entity + parent: BaseMeteor + id: MeteorCow + name: Cosmic cow + description: Moo-ving at relativistic speeds! + suffix: Meteor + components: + - type: Sprite + state: cow_pixel + - type: Explosive + totalIntensity: 25 + - type: SolutionContainerManager + solutions: + milk: + maxVol: 500 + reagents: + - ReagentId: Milk + Quantity: 500 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 3000 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + path: /Audio/Animals/cow_moo.ogg + - !type:SpillBehavior + solution: milk + - !type:SpawnEntitiesBehavior + spawn: + FoodMeat: + min: 1 + max: 2 + FoodCheeseSlice: + min: 1 + max: 2 + - !type:ExplodeBehavior + +# Clown Meteor +- type: entity + parent: BaseMeteor + id: MeteorClown + name: Honksteroid + description: The final honkening! + suffix: Meteor + components: + - type: Sprite + state: clown_pixel + - type: Explosive + totalIntensity: 25 + - type: SolutionContainerManager + solutions: + laughter: + maxVol: 500 + reagents: + - ReagentId: Laughter + Quantity: 500 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 3000 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + path: /Audio/Items/bikehorn.ogg + - !type:SpillBehavior + solution: laughter + - !type:SpawnEntitiesBehavior + spawn: + FoodMeatClown: + min: 1 + max: 2 + TrashBananaPeel: + min: 1 + max: 4 + RubberChicken: + min: 0 + max: 1 + - !type:ExplodeBehavior + +# Potato Meteor +- type: entity + parent: BaseMeteor + id: MeteorPotato + name: Space potato + description: A starchy threat from the depths of the space. Contains 200% of your daily sodium intake! + components: + - type: Sprite + state: potato + - type: Explosive + totalIntensity: 25 + - type: SolutionContainerManager + solutions: + ketchup: + maxVol: 100 + reagents: + - ReagentId: Ketchup + Quantity: 100 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 3000 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpillBehavior + solution: ketchup + - !type:SpawnEntitiesBehavior + spawn: + FoodMealFries: + min: 1 + max: 5 - !type:ExplodeBehavior diff --git a/Resources/Prototypes/GameRules/meteorswarms.yml b/Resources/Prototypes/GameRules/meteorswarms.yml index 8edee88627..ed3a510d9a 100644 --- a/Resources/Prototypes/GameRules/meteorswarms.yml +++ b/Resources/Prototypes/GameRules/meteorswarms.yml @@ -33,6 +33,10 @@ - id: GameRuleMeteorSwarmMedium - id: GameRuleMeteorSwarmLarge - id: GameRuleUristSwarm + - id: GameRuleClownSwarm + - id: GameRuleCowSwarm + - id: GameRulePotatoSwarm + - id: GameRuleFunSwarm - id: ImmovableRodSpawn - type: weightedRandomEntity @@ -70,7 +74,7 @@ components: - type: GameRule - type: BasicStationEventScheduler - minimumTimeUntilFirstEvent: 600 # 10 min + minimumTimeUntilFirstEvent: 600 # 10 min minMaxEventTiming: min: 750 # 12.5 min max: 930 # 17.5 min @@ -237,3 +241,78 @@ - id: ImmovableRodWeh prob: 0.0075 orGroup: rodProto + +- type: entity + parent: GameRuleMeteorSwarm + id: GameRuleCowSwarm + components: + - type: StationEvent + weight: 0.05 + - type: MeteorSwarm + announcement: station-event-meteor-cow-start-announcement + announcementSound: /Audio/Announcements/attention.ogg + meteors: + MeteorCow: 1 + waves: + min: 3 + max: 3 + meteorsPerWave: + min: 10 + max: 10 + +- type: entity + parent: GameRuleMeteorSwarm + id: GameRuleClownSwarm + components: + - type: StationEvent + weight: 0.05 + - type: MeteorSwarm + announcement: station-event-meteor-clown-start-announcement + announcementSound: /Audio/Announcements/attention.ogg + meteors: + MeteorClown: 1 + waves: + min: 3 + max: 3 + meteorsPerWave: + min: 10 + max: 10 + +- type: entity + parent: GameRuleMeteorSwarm + id: GameRulePotatoSwarm + components: + - type: StationEvent + weight: 0.05 + - type: MeteorSwarm + announcement: station-event-meteor-potato-start-announcement + announcementSound: /Audio/Announcements/attention.ogg + meteors: + MeteorPotato: 1 + waves: + min: 3 + max: 3 + meteorsPerWave: + min: 10 + max: 10 + +- type: entity + parent: GameRuleMeteorSwarm + id: GameRuleFunSwarm + components: + - type: StationEvent + weight: 0.03 + - type: MeteorSwarm + announcement: station-event-fun-swarm-start-announcement + announcementSound: /Audio/Announcements/attention.ogg + meteors: + MeteorClown: 1 + MeteorCow: 1 + MeteorPotato: 1 + MeteorUrist: 1 + waves: + min: 3 + max: 3 + meteorsPerWave: + min: 8 + max: 12 diff --git a/Resources/Textures/Objects/Misc/meteor.rsi/clown_pixel.png b/Resources/Textures/Objects/Misc/meteor.rsi/clown_pixel.png new file mode 100644 index 0000000000000000000000000000000000000000..c2587fb8f39ba536359998c6f2d822350d726132 GIT binary patch literal 3757 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 E1IH%KuK)l5 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Misc/meteor.rsi/meta.json b/Resources/Textures/Objects/Misc/meteor.rsi/meta.json index 1e857be2cb..986fed4345 100644 --- a/Resources/Textures/Objects/Misc/meteor.rsi/meta.json +++ b/Resources/Textures/Objects/Misc/meteor.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from vgstation13 at https://github.com/vgstation-coders/vgstation13/blob/31dd6749bfe32810c46e7913efc99a187479cd51/icons/obj/meteor.dmi", + "copyright": "Taken from vgstation13 at https://github.com/vgstation-coders/vgstation13/blob/31dd6749bfe32810c46e7913efc99a187479cd51/icons/obj/meteor.dmi. cow_pixel - taken from https://github.com/tgstation/tgstation/commit/53d1f1477d22a11a99c6c6924977cd431075761b and modified by B_Kirill. potato by Chaoticaa (GitHub), modified by B_Kirill. clown_pixel - assembly of [Human sprite - taken from https://github.com/tgstation/tgstation/blob/8024397cc81c5f47f74cf4279e35728487d0a1a7/icons/mob/human_parts_greyscale.dmi and modified by DrSmugleaf ; Clown wig and mask - taken from https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e ; Clown suit - taken from https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039 ; Clown shoes - taken from https://github.com/tgstation/tgstation/commit/7e4e9d432d88981fb9bb463970c5b98ce85c0abe ; Giggles von honkerton - taken from https://github.com/tgstation/tgstation/commit/547852588166c8e091b441e4e67169e156bb09c1] by B_Kirill.", "size": { "x": 32, "y": 32 @@ -266,6 +266,43 @@ }, { "name": "firework" + }, + { + "name": "cow_pixel", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "clown_pixel", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "potato", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] } ] -} \ No newline at end of file +} diff --git a/Resources/Textures/Objects/Misc/meteor.rsi/potato.png b/Resources/Textures/Objects/Misc/meteor.rsi/potato.png new file mode 100644 index 0000000000000000000000000000000000000000..98c12aba02203fc4eab1a27f320c6d1f1babd14b GIT binary patch literal 3937 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 literal 0 HcmV?d00001 -- 2.51.2