diff --git a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl index a6eacf13c5d..24d20d3368e 100644 --- a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl +++ b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl @@ -50,6 +50,7 @@ petting-failure-sloth = You reach out to pet {THE($target)}, but {SUBJECT($targe petting-failure-holo = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} spikes almost impale your hand! petting-failure-dragon = You raise your hand, but as {THE($target)} roars, you decide you'd rather not be toasty carp food. petting-failure-hamster = You reach out to pet {THE($target)}, but {SUBJECT($target)} attempts to bite your finger and only your quick reflexes save you from an almost fatal injury. +petting-failure-pibble = You reach out to pet {THE($target)}, and {SUBJECT($target)} lunges at you! petting-failure-bear = You reach out to pet {THE($target)}, but {SUBJECT($target)} growls, making you think twice. petting-failure-monkey = You reach out to pet {THE($target)}, but {SUBJECT($target)} almost bites your fingers! petting-failure-nymph = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} moves their branches away. diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml b/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml index f44cb61f737..55e256c7bbe 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml @@ -58,6 +58,16 @@ category: cargoproduct-category-name-livestock group: market +- type: cargoProduct + id: LivestockPibble + icon: + sprite: Mobs/Pets/pitbull.rsi + state: pibble + product: CrateNPCPibble + cost: 700 + category: Livestock + group: market + - type: cargoProduct id: LivestockCorgi icon: diff --git a/Resources/Prototypes/Catalog/Fills/Crates/npc.yml b/Resources/Prototypes/Catalog/Fills/Crates/npc.yml index 10c715bb99e..b2dc4b223bb 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/npc.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/npc.yml @@ -81,6 +81,17 @@ - id: MobDuckWhite amount: 2 +- type: entity + id: CrateNPCPibble + parent: CrateLivestock + name: pitbull crate + description: "Note from the shelter: Lab mix. Looking for a home without cats, birds, or children. Anxious when pet." + components: + - type: StorageFill + contents: + - id: MobPibble + amount: 1 + - type: entity id: CrateNPCCorgi parent: CrateLivestock diff --git a/Resources/Prototypes/Datasets/Names/pitbull.yml b/Resources/Prototypes/Datasets/Names/pitbull.yml new file mode 100644 index 00000000000..adc4778d86c --- /dev/null +++ b/Resources/Prototypes/Datasets/Names/pitbull.yml @@ -0,0 +1,40 @@ +- type: dataset + id: names_pitbull + values: + - Amon + - Arioch + - Baby + - Blaze + - Blue + - Bubbles + - Buttercup + - Cuddles + - Cujo + - Daffodil + - Daisy + - Dante + - Demon + - Diesel + - Echo + - Face Eater + - Franny + - Hades + - Killer + - Lady + - Lucifer + - Luna + - Magnum + - Mammon + - Midas + - Paisley + - Peaches + - Petunia + - Princess + - Rainbow + - Reaper + - Satan + - Sweetie + - Trixie + - Trogdor + - Tutu + - Zeus \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/dogs.yml b/Resources/Prototypes/Entities/Mobs/NPCs/dogs.yml new file mode 100644 index 00000000000..22da7583723 --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/NPCs/dogs.yml @@ -0,0 +1,129 @@ +- type: entity + parent: SimpleMobBase + id: MobPibble + name: pitbull + description: Nanny dog. Or a lab mix depending on who is asking. + components: + - type: MeleeWeapon + hidden: true + soundHit: + path: /Audio/Effects/bite.ogg + angle: 0 + animation: WeaponArcBite + damage: + types: + Slash: 4 + Piercing: 8 + Blunt: 1 + Structural: 4 + - type: MobState + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Pets/pitbull.rsi + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: pibble + - type: Physics + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 135 #Bigger than Laika + mask: + - MobMask + layer: + - MobLayer + - type: Appearance + - type: Inventory + speciesId: dog + templateId: pet + - type: InventorySlots + - type: Strippable + - type: UserInterface + interfaces: + - key: enum.StrippingUiKey.Key + type: StrippableBoundUserInterface + - type: DamageStateVisuals + states: + Alive: + Base: pibble + Critical: + Base: pibble_dead + Dead: + Base: pibble_dead + - type: Butcherable + spawned: + - id: FoodMeat + amount: 3 + - type: ReplacementAccent + accent: dog + - type: InteractionPopup + successChance: 0.7 + interactSuccessString: petting-success-dog + interactFailureString: petting-failure-pibble + interactSuccessSound: + path: /Audio/Animals/small_dog_bark_happy.ogg + hostileOnFail: true + - type: DogVision + - type: NpcFactionMember + factions: + - Pibble + - type: HTN + rootTask: + task: SimpleHostileCompound + blackboard: + NavSmash: !type:Bool + true + - type: Grammar + attributes: + proper: true + - type: RandomMetadata + nameSegments: [names_pitbull] + - type: Speech + speechVerb: Canine + speechSounds: Vulpkanin + - type: LanguageKnowledge + speaks: + - Dog + understands: + - Dog + - GalacticCommon + +- type: entity + parent: MobPibble + id: MobPibbleVent + name: ventbull + description: Some kind of pitbull mix... or maybe the next stage in pibble evolution? + components: + - type: MeleeWeapon + hidden: true + soundHit: + path: /Audio/Effects/bite.ogg + angle: 0 + animation: WeaponArcBite + damage: + types: + Slash: 2 + Piercing: 5 + Blunt: 0.5 + Structural: 2 + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.28 + density: 135 + mask: + - SmallMobMask + layer: + - SmallMobLayer + - type: Sprite + scale: 0.8, 0.6 + drawdepth: Mobs + sprite: Mobs/Pets/ventbull.rsi + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: pibble diff --git a/Resources/Prototypes/Entities/Mobs/Player/harpy.yml b/Resources/Prototypes/Entities/Mobs/Player/harpy.yml index 12df7ff1037..f4222301b50 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/harpy.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/harpy.yml @@ -21,3 +21,4 @@ - type: NpcFactionMember factions: - NanoTrasen + - Birb diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index ca885117449..300e7a7f3b9 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -243,6 +243,8 @@ prob: 0.02 - id: MobMouse2 prob: 0.02 + - id: MobPibbleVent + prob: 0.005 - type: entity id: PowerGridCheck diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Clothing/Uniforms/jumpsuits.yml b/Resources/Prototypes/Nyanotrasen/Entities/Clothing/Uniforms/jumpsuits.yml index b238ef7b063..55b85222486 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Clothing/Uniforms/jumpsuits.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Clothing/Uniforms/jumpsuits.yml @@ -8,8 +8,8 @@ sprite: Nyanotrasen/Clothing/Uniforms/Jumpsuit/mailman.rsi - type: Clothing sprite: Nyanotrasen/Clothing/Uniforms/Jumpsuit/mailman.rsi -# - type: ClothingAddFaction -# faction: Mailman + - type: ClothingAddFaction + faction: Mailman - type: entity parent: ClothingUniformSkirtBase @@ -21,8 +21,8 @@ sprite: Nyanotrasen/Clothing/Uniforms/Jumpskirt/mailman.rsi - type: Clothing sprite: Nyanotrasen/Clothing/Uniforms/Jumpskirt/mailman.rsi -# - type: ClothingAddFaction -# faction: Mailman + - type: ClothingAddFaction + faction: Mailman - type: entity parent: ClothingUniformJumpsuitResearchDirector diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Markers/Spawners/Random/animals.yml b/Resources/Prototypes/Nyanotrasen/Entities/Markers/Spawners/Random/animals.yml index 0a84109a98c..a632a0a22b0 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Markers/Spawners/Random/animals.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Markers/Spawners/Random/animals.yml @@ -51,4 +51,5 @@ - MobFrog - MobMothroach - MobArcticFox + - MobPibble rareChance: 0.15 diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Player/felinid.yml b/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Player/felinid.yml index 18047aa2e20..9a04a0458e0 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Player/felinid.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Player/felinid.yml @@ -44,4 +44,5 @@ - type: NpcFactionMember factions: - NanoTrasen + - Cat diff --git a/Resources/Prototypes/ai_factions.yml b/Resources/Prototypes/ai_factions.yml index 3dfb35c7a69..02a2ac168d3 100644 --- a/Resources/Prototypes/ai_factions.yml +++ b/Resources/Prototypes/ai_factions.yml @@ -83,3 +83,19 @@ - Zombie - SimpleHostile - Dragon + +- type: npcFaction + id: Pibble + hostile: + - Cat + - Birb + - Mailman + +- type: npcFaction + id: Mailman + +- type: npcFaction + id: Cat + +- type: npcFaction + id: Birb diff --git a/Resources/Textures/Mobs/Pets/pitbull.rsi/meta.json b/Resources/Textures/Mobs/Pets/pitbull.rsi/meta.json new file mode 100644 index 00000000000..86ff0bf07d7 --- /dev/null +++ b/Resources/Textures/Mobs/Pets/pitbull.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Hyenh#6078 (313846233099927552)", + "states": + [ + { + "name": "pibble", + "directions": 4 + }, + + { + "name": "pibble_dead", + "directions": 1 + } + ] +} diff --git a/Resources/Textures/Mobs/Pets/pitbull.rsi/pibble.png b/Resources/Textures/Mobs/Pets/pitbull.rsi/pibble.png new file mode 100644 index 00000000000..8644989d936 Binary files /dev/null and b/Resources/Textures/Mobs/Pets/pitbull.rsi/pibble.png differ diff --git a/Resources/Textures/Mobs/Pets/pitbull.rsi/pibble_dead.png b/Resources/Textures/Mobs/Pets/pitbull.rsi/pibble_dead.png new file mode 100644 index 00000000000..2054aea3e5d Binary files /dev/null and b/Resources/Textures/Mobs/Pets/pitbull.rsi/pibble_dead.png differ diff --git a/Resources/Textures/Mobs/Pets/ventbull.rsi/meta.json b/Resources/Textures/Mobs/Pets/ventbull.rsi/meta.json new file mode 100644 index 00000000000..86ff0bf07d7 --- /dev/null +++ b/Resources/Textures/Mobs/Pets/ventbull.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Hyenh#6078 (313846233099927552)", + "states": + [ + { + "name": "pibble", + "directions": 4 + }, + + { + "name": "pibble_dead", + "directions": 1 + } + ] +} diff --git a/Resources/Textures/Mobs/Pets/ventbull.rsi/pibble.png b/Resources/Textures/Mobs/Pets/ventbull.rsi/pibble.png new file mode 100644 index 00000000000..57b5a3d2b5e Binary files /dev/null and b/Resources/Textures/Mobs/Pets/ventbull.rsi/pibble.png differ diff --git a/Resources/Textures/Mobs/Pets/ventbull.rsi/pibble_dead.png b/Resources/Textures/Mobs/Pets/ventbull.rsi/pibble_dead.png new file mode 100644 index 00000000000..5482582a183 Binary files /dev/null and b/Resources/Textures/Mobs/Pets/ventbull.rsi/pibble_dead.png differ