From: B_Kirill <153602297+B-Kirill@users.noreply.github.com> Date: Tue, 20 May 2025 13:04:27 +0000 (+1000) Subject: New fun meteors (#37327) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=f07b2aa6c3dbafc2c03c56b034c2efaa323ffd53;p=space-station-14.git 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 --- 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 0000000000..c2587fb8f3 Binary files /dev/null and b/Resources/Textures/Objects/Misc/meteor.rsi/clown_pixel.png differ diff --git a/Resources/Textures/Objects/Misc/meteor.rsi/cow_pixel.png b/Resources/Textures/Objects/Misc/meteor.rsi/cow_pixel.png new file mode 100644 index 0000000000..bce553bceb Binary files /dev/null and b/Resources/Textures/Objects/Misc/meteor.rsi/cow_pixel.png differ 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 0000000000..98c12aba02 Binary files /dev/null and b/Resources/Textures/Objects/Misc/meteor.rsi/potato.png differ