From: potato1234_x <79580518+potato1234x@users.noreply.github.com> Date: Tue, 31 Oct 2023 20:28:42 +0000 (+1000) Subject: Cockroach + Glockroach Admeme + Mothroach (#19752) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=1c604a41a54f286604fa48e1b14f66d3c2d975dd;p=space-station-14.git Cockroach + Glockroach Admeme + Mothroach (#19752) * cockroach * Update Resources/Textures/Mobs/Animals/cockroach.rsi/meta.json Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com> * parenting fixe * d * rsi fail * mothroach!!!! * cockroach vent event + critters in trashcart * linter * fix * commit --------- Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com> --- diff --git a/Resources/Locale/en-US/accent/accents.ftl b/Resources/Locale/en-US/accent/accents.ftl index a414294b2c..fd9b99a5ec 100644 --- a/Resources/Locale/en-US/accent/accents.ftl +++ b/Resources/Locale/en-US/accent/accents.ftl @@ -88,3 +88,6 @@ accent-words-slimes-2 = Blimpuf? accent-words-slimes-3 = Blump! accent-words-slimes-4 = Bluuump... accent-words-slimes-5 = Blabl blump! + +# Mothroach +accent-words-mothroach-1 = Chirp! diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl index 5685005891..2b0c0e2aed 100644 --- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl @@ -6,6 +6,9 @@ ghost-role-component-default-rules = You don't remember any of your previous lif ghost-role-information-mouse-name = Mouse ghost-role-information-mouse-description = A hungry and mischievous mouse. +ghost-role-information-mothroach-name = Mothroach +ghost-role-information-mothroach-description = A cute but mischievous mothroach. + ghost-role-information-giant-spider-name = Giant spider ghost-role-information-giant-spider-description = Wreak havoc on the station's inhabitants! diff --git a/Resources/Prototypes/Accents/full_replacements.yml b/Resources/Prototypes/Accents/full_replacements.yml index 5c5fc8bd09..d4efc806c2 100644 --- a/Resources/Prototypes/Accents/full_replacements.yml +++ b/Resources/Prototypes/Accents/full_replacements.yml @@ -31,6 +31,15 @@ - accent-words-mouse-6 - accent-words-mouse-7 +- type: accent + id: mothroach + fullReplacements: + - accent-words-mothroach-1 + - accent-words-mouse-1 + - accent-words-mouse-2 + - accent-words-mouse-3 + - accent-words-mouse-4 + - type: accent id: mumble fullReplacements: diff --git a/Resources/Prototypes/Catalog/Fills/Crates/service.yml b/Resources/Prototypes/Catalog/Fills/Crates/service.yml index 2b7c5db0f7..d9ff3ef3aa 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/service.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/service.yml @@ -174,6 +174,13 @@ components: - type: StorageFill contents: + # Creatures + - id: MobCockroach + prob: 0.05 + - id: MobMothroach + prob: 0.03 + - id: MobMouse + prob: 0.05 # Food Packaging - id: FoodPacketBoritosTrash prob: 0.1 @@ -228,14 +235,8 @@ prob: 0.15 - id: LightBulbBroken prob: 0.15 - - id: CableApcStack10 - prob: 0.15 - id: MobMouseDead prob: 0.1 - - id: RagItem - prob: 0.1 - - id: FoodKebabSkewer - prob: 0.1 - id: Syringe prob: 0.1 - id: ShardGlassPlasma diff --git a/Resources/Prototypes/Damage/modifier_sets.yml b/Resources/Prototypes/Damage/modifier_sets.yml index dcd152a051..d83379d2c1 100644 --- a/Resources/Prototypes/Damage/modifier_sets.yml +++ b/Resources/Prototypes/Damage/modifier_sets.yml @@ -198,3 +198,15 @@ Cellular: 0.0 Radiation: 0.2 Caustic: 0.0 + +- type: damageModifierSet + id: Cockroach + coefficients: + Blunt: 1.0 + Slash: 1.0 + Piercing: 1.0 + Cold: 1.0 + Poison: 1.0 + Cellular: 1.0 + Radiation: 0.0 # hehe funny cockroach immune to rads + Caustic: 1.0 diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Conditional/timed.yml b/Resources/Prototypes/Entities/Markers/Spawners/Conditional/timed.yml index fe5ee0544e..26d4e3f1d2 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Conditional/timed.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Conditional/timed.yml @@ -65,3 +65,17 @@ minimumEntitiesSpawned: 1 maximumEntitiesSpawned: 1 +- type: entity + name: Cockroach Timed Spawner + id: CockroachTimedSpawner + parent: MouseTimedSpawner + components: + - type: Sprite + layers: + - state: blue + - sprite: Mobs/Animals/cockroach.rsi + state: cockroach_icon + - state: timed + - type: TimedSpawner + prototypes: + - MobCockroach diff --git a/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml b/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml index 3bc1b637ff..70efaed901 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml @@ -17,6 +17,21 @@ - MobMouse1 - MobMouse2 +- type: entity + name: Cockroach Spawner + id: SpawnMobCockroach + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - sprite: Mobs/Animals/cockroach.rsi + state: cockroach_icon + - state: ai + - type: ConditionalSpawner + prototypes: + - MobCockroach + - type: entity name: HoP Corgi Spawner id: SpawnMobCorgi diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index 404fe768f7..262f63b1d6 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -236,6 +236,204 @@ - type: TimedDespawn #delete the egg after the chicken spawns lifetime: 21 +- type: entity # TODO: figure out how to make these guys gib when stepped on + name: cockroach + parent: SimpleMobBase + id: MobCockroach + description: This station is just crawling with bugs. + components: + - type: Sprite + drawdepth: SmallMobs + sprite: Mobs/Animals/cockroach.rsi + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: cockroach + - type: Item + size: 2 + - type: HTN + rootTask: + task: MouseCompound + - type: Physics + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.2 + density: 100 + mask: + - SmallMobMask + layer: + - SmallMobLayer + - type: MobState + - type: MobThresholds + thresholds: + 0: Alive + 1: Dead + - type: MovementSpeedModifier + baseWalkSpeed : 5 + baseSprintSpeed : 5 + - type: DamageStateVisuals + states: + Alive: + Base: cockroach + Dead: + Base: cockroach_dead + - type: Food + - type: Hunger + baseDecayRate: 0.25 + - type: Extractable + grindableSolutionName: food + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: Slime + Quantity: 5 + - type: Butcherable + spawned: + - id: FoodMeatSlime + - type: Damageable + damageContainer: Biological + damageModifierSet: Cockroach + - type: Bloodstream + bloodReagent: Slime + bloodMaxVolume: 20 + - type: Tag + tags: + - Trash + - VimPilot + - type: Destructible + thresholds: + - trigger: + !type:DamageTypeTrigger + damageType: Blunt + damage: 10 + behaviors: + - !type:GibBehavior { } + +- type: entity + name: glockroach + parent: MobCockroach + suffix: Admeme + id: MobGlockroach + description: This station is just crawling with bu- OH GOD THAT COCKROACH HAS A GUN!!! + components: + - type: Sprite + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: glockroach + - type: Gun + fireRate: 2 + useKey: false + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/pistol.ogg + - type: BallisticAmmoProvider + proto: CartridgeCaselessRifle + capacity: 500 + - type: CombatMode + - type: HTN + rootTask: + task: GlockroachCompound + - type: NpcFactionMember + factions: + - SimpleHostile + - type: Butcherable + spawned: + - id: FoodMeatSlime + +- type: entity + name: mothroach + parent: MobCockroach + id: MobMothroach + description: This is the adorable by-product of multiple attempts at genetically mixing mothpeople with cockroaches. + components: + - type: GhostRole + makeSentient: true + allowSpeech: true + allowMovement: true + whitelistRequired: false + name: ghost-role-information-mothroach-name + description: ghost-role-information-mothroach-description + - type: GhostTakeoverAvailable + - type: Speech + speechVerb: Moth + speechSounds: Squeak + - type: Sprite + sprite: Mobs/Animals/mothroach.rsi + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: mothroach + - type: Item + size: 15 + - type: Clothing + quickEquip: false + sprite: Mobs/Animals/mothroach.rsi + equippedPrefix: 0 + slots: + - HEAD + - type: Appearance + - type: DamageStateVisuals + states: + Alive: + Base: mothroach + Critical: + Base: mothroach_dead + Dead: + Base: mothroach_dead + - type: MobThresholds + thresholds: + 0: Alive + 25: Critical + 50: Dead + - type: MovementSpeedModifier + baseWalkSpeed : 2.5 + baseSprintSpeed : 4.5 + weightlessAcceleration: 1.5 + weightlessFriction: 1 + weightlessModifier: 1 + - type: Damageable + damageContainer: Biological + damageModifierSet: Moth + - type: Respirator + damage: + types: + Asphyxiation: 0.5 + damageRecovery: + types: + Asphyxiation: -0.5 + - type: CombatMode + - type: Butcherable + spawned: + - id: FoodMeatSlime + amount: 2 + - type: Extractable + grindableSolutionName: food + - type: ReplacementAccent + accent: mothroach + - type: Vocal + sounds: + Male: UnisexMoth + Female: UnisexMoth + Unsexed: UnisexMoth + wilhelmProbability: 0.001 + - type: MobPrice + price: 60 + - type: Tag + tags: + - Trash + - CannotSuicide + - type: CanEscapeInventory + - type: NpcFactionMember + factions: + - Mouse + - type: Body + prototype: Moth + - type: TypingIndicator + proto: moth + - type: entity name: mallard duck #Quack parent: SimpleMobBase diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index e51f9749fb..b19762de19 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -186,6 +186,21 @@ - id: SpawnPointGhostRatKing prob: 0.005 +- type: entity + id: CockroachMigration + parent: BaseGameRule + noSpawn: true + components: + - type: StationEvent + weight: 5 + duration: 50 + - type: VentCrittersRule + entries: + - id: MobCockroach + prob: 0.03 + - id: MobMothroach + prob: 0.008 + - type: entity id: PowerGridCheck parent: BaseGameRule diff --git a/Resources/Prototypes/NPCs/mob.yml b/Resources/Prototypes/NPCs/mob.yml index 5b25f85a79..740f7ca576 100644 --- a/Resources/Prototypes/NPCs/mob.yml +++ b/Resources/Prototypes/NPCs/mob.yml @@ -29,6 +29,19 @@ - !type:HTNCompoundTask task: IdleCompound +- type: htnCompound + id: GlockroachCompound + branches: + - tasks: + - !type:HTNCompoundTask + task: InnateRangedCombatCompound + - tasks: + - !type:HTNCompoundTask + task: FoodCompound + - tasks: + - !type:HTNCompoundTask + task: IdleCompound + - type: htnCompound id: RuminantCompound branches: diff --git a/Resources/Textures/Mobs/Animals/cockroach.rsi/cockroach_dead.png b/Resources/Textures/Mobs/Animals/cockroach.rsi/cockroach_dead.png new file mode 100644 index 0000000000..399811dcba Binary files /dev/null and b/Resources/Textures/Mobs/Animals/cockroach.rsi/cockroach_dead.png differ diff --git a/Resources/Textures/Mobs/Animals/cockroach.rsi/cockroach_icon.png b/Resources/Textures/Mobs/Animals/cockroach.rsi/cockroach_icon.png new file mode 100644 index 0000000000..a05f708d35 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/cockroach.rsi/cockroach_icon.png differ diff --git a/Resources/Textures/Mobs/Animals/cockroach.rsi/meta.json b/Resources/Textures/Mobs/Animals/cockroach.rsi/meta.json index 358ae88446..32c7e82510 100644 --- a/Resources/Textures/Mobs/Animals/cockroach.rsi/meta.json +++ b/Resources/Textures/Mobs/Animals/cockroach.rsi/meta.json @@ -28,6 +28,12 @@ 0.25 ] ] + }, + { + "name": "cockroach_dead" + }, + { + "name": "cockroach_icon" }, { "name": "glockroach", diff --git a/Resources/Textures/Mobs/Animals/mothroach.rsi/0-equipped-HELMET.png b/Resources/Textures/Mobs/Animals/mothroach.rsi/0-equipped-HELMET.png new file mode 100644 index 0000000000..abb43f8291 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/mothroach.rsi/0-equipped-HELMET.png differ diff --git a/Resources/Textures/Mobs/Animals/mothroach.rsi/icon.png b/Resources/Textures/Mobs/Animals/mothroach.rsi/icon.png new file mode 100644 index 0000000000..9113f1c171 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/mothroach.rsi/icon.png differ diff --git a/Resources/Textures/Mobs/Animals/mothroach.rsi/inhand-left.png b/Resources/Textures/Mobs/Animals/mothroach.rsi/inhand-left.png new file mode 100644 index 0000000000..671c450bb9 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/mothroach.rsi/inhand-left.png differ diff --git a/Resources/Textures/Mobs/Animals/mothroach.rsi/inhand-right.png b/Resources/Textures/Mobs/Animals/mothroach.rsi/inhand-right.png new file mode 100644 index 0000000000..cd3d1b0467 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/mothroach.rsi/inhand-right.png differ diff --git a/Resources/Textures/Mobs/Animals/mothroach.rsi/meta.json b/Resources/Textures/Mobs/Animals/mothroach.rsi/meta.json new file mode 100644 index 0000000000..e7b8658cd8 --- /dev/null +++ b/Resources/Textures/Mobs/Animals/mothroach.rsi/meta.json @@ -0,0 +1,42 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from fulpstation at https://github.com/fulpstation/fulpstation/commit/edb232b692ec9f356ec554ea1971da552b9bc447", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "mothroach", + "directions": 4 + }, + { + "name": "mothroach_lazy", + "directions": 4 + }, + { + "name": "mothroach_sleep", + "directions": 4 + }, + { + "name": "mothroach_dead", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "0-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Mobs/Animals/mothroach.rsi/mothroach.png b/Resources/Textures/Mobs/Animals/mothroach.rsi/mothroach.png new file mode 100644 index 0000000000..305f8fb89f Binary files /dev/null and b/Resources/Textures/Mobs/Animals/mothroach.rsi/mothroach.png differ diff --git a/Resources/Textures/Mobs/Animals/mothroach.rsi/mothroach_dead.png b/Resources/Textures/Mobs/Animals/mothroach.rsi/mothroach_dead.png new file mode 100644 index 0000000000..1637f99cb2 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/mothroach.rsi/mothroach_dead.png differ diff --git a/Resources/Textures/Mobs/Animals/mothroach.rsi/mothroach_lazy.png b/Resources/Textures/Mobs/Animals/mothroach.rsi/mothroach_lazy.png new file mode 100644 index 0000000000..c44dd1cc65 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/mothroach.rsi/mothroach_lazy.png differ diff --git a/Resources/Textures/Mobs/Animals/mothroach.rsi/mothroach_sleep.png b/Resources/Textures/Mobs/Animals/mothroach.rsi/mothroach_sleep.png new file mode 100644 index 0000000000..5e9179d728 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/mothroach.rsi/mothroach_sleep.png differ