diff --git a/Resources/Locale/en-US/store/uplink-catalog.ftl b/Resources/Locale/en-US/store/uplink-catalog.ftl index ab35c59b91..01bc1195b2 100644 --- a/Resources/Locale/en-US/store/uplink-catalog.ftl +++ b/Resources/Locale/en-US/store/uplink-catalog.ftl @@ -84,6 +84,9 @@ uplink-agent-id-card-desc = A modified ID card that can copy accesses from other uplink-black-jetpack-name = Black Jetpack uplink-black-jetpack-desc = A black jetpack. It allows you to fly around in space. Additional fuel now included! +uplink-reinforcement-radio-monkey-name = Monkey Reinforcement Teleporter +uplink-reinforcement-radio-monkey-desc = Call in trained monkey to assist you. Comes with a single syndicate cigarette. + uplink-reinforcement-radio-name = Reinforcement Teleporter uplink-reinforcement-radio-desc = Radio in a reinforcement agent of extremely questionable quality. No off button, buy this if you're ready to party. They have a pistol with no reserve ammo, and a knife. That's it. diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index ef6e3c506f..df7b7c54e2 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -341,6 +341,17 @@ whitelist: tags: - NukeOpsUplink + +- type: listing + id: UplinkReinforcementRadioSyndicateMonkey + name: uplink-reinforcement-radio-monkey-name + description: uplink-reinforcement-radio-monkey-desc + productEntity: ReinforcementRadioSyndicateMonkey + icon: { sprite: Objects/Devices/communication.rsi, state: old-radio } + cost: + Telecrystal: 8 + categories: + - UplinkUtility - type: listing id: UplinkStealthBox @@ -350,7 +361,7 @@ cost: Telecrystal: 5 categories: - - UplinkUtility + - UplinkUtility #TODO: Remove this from the uplink - type: listing diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index aece1214ab..3e86569f64 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -1347,6 +1347,97 @@ damage: 50 behaviors: - !type:ExplodeBehavior + +- type: entity + name: monkey + id: MobMonkeySyndicateAgent + parent: SimpleMobBase # doesn't parent off monkeys to be able to not have the clumsy component + description: New church of neo-darwinists actually believe that EVERY animal evolved from a monkey. Tastes like pork, and killing them is both fun and relaxing. + suffix: syndicate + components: + - type: CombatMode + - type: NameIdentifier + group: Monkey + - type: SentienceTarget + flavorKind: station-event-random-sentience-flavor-primate + - type: Inventory + templateId: monkey + speciesId: monkey + - type: InventorySlots + - type: Cuffable + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 80 + mask: + - MobMask + layer: + - MobLayer + - type: Strippable + - type: UserInterface + interfaces: + - key: enum.StrippingUiKey.Key + type: StrippableBoundUserInterface + - type: Sprite + drawdepth: Mobs + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: monkey + sprite: Mobs/Animals/monkey.rsi + - map: [ "jumpsuit" ] + - map: [ "enum.HumanoidVisualLayers.Handcuffs" ] + color: "#ffffff" + sprite: Objects/Misc/handcuffs.rsi + state: body-overlay-2 + visible: false + - map: [ "id" ] + - map: [ "outerClothing" ] + - map: [ "mask" ] + - map: [ "head" ] + - map: [ "clownedon" ] + sprite: "Effects/creampie.rsi" + state: "creampie_human" + visible: false + - type: Hands + - type: GenericVisualizer + visuals: + enum.CreamPiedVisuals.Creamed: + clownedon: # Not 'creampied' bc I can already see Skyrat complaining about conflicts. + True: {visible: true} + False: {visible: false} + - type: Speech + speechSounds: Monkey + - type: Body + prototype: Primate + requiredLegs: 1 # TODO: More than 1 leg + - type: CreamPied + - type: FireVisuals + sprite: Mobs/Effects/onfire.rsi + normalState: Monkey_burning + - type: Butcherable + butcheringType: Spike + spawned: + - id: FoodMeat + amount: 3 + - type: MonkeyAccent + - type: Puller + - type: CanHostGuardian + - type: NpcFactionMember + factions: + - Syndicate + - type: GhostRole + prob: 0.05 + makeSentient: true + name: ghost-role-information-monkey-name + description: ghost-role-information-monkey-description + - type: GhostTakeoverAvailable + - type: IdExaminable + - type: Loadout + prototype: SyndicateOperativeGearMonkey + prototypes: [SyndicateOperativeGearMonkey] # I have included a snake_hiss.ogg sound file so if you want to use that be my guest - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Devices/Syndicate_Gadgets/reinforcement_teleporter.yml b/Resources/Prototypes/Entities/Objects/Devices/Syndicate_Gadgets/reinforcement_teleporter.yml index 9a7f067cfa..f4bc48a241 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Syndicate_Gadgets/reinforcement_teleporter.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Syndicate_Gadgets/reinforcement_teleporter.yml @@ -27,3 +27,16 @@ components: - type: GhostRoleMobSpawner prototype: MobHumanSyndicateAgentNukeops + +- type: entity + parent: ReinforcementRadioSyndicate + id: ReinforcementRadioSyndicateMonkey # Reinforcement radio exclusive to nukeops uplink + name: syndicate monkey reinforcement radio + description: Calls in a specially trained monkey to assist you. + components: + - type: GhostRole + name: Syndicate Monkey Agent + description: Someone needs reinforcements. You, a trained monkey, will help them. + rules: Normal syndicate antagonist rules apply. Work with whoever called you in, and don't harm them. + - type: GhostRoleMobSpawner + prototype: MobMonkeySyndicateAgent diff --git a/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml b/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml index a59a0ed766..f4005ea63a 100644 --- a/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml +++ b/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml @@ -53,6 +53,15 @@ innerclothingskirt: ClothingUniformJumpskirtColorBlack satchel: ClothingBackpackDuffelSyndicateAmmo duffelbag: ClothingBackpackDuffelSyndicateAmmo + +# Syndicate Operative Outfit - Monkey +- type: startingGear + id: SyndicateOperativeGearMonkey + equipment: + head: ClothingHeadHatOutlawHat + jumpsuit: ClothingUniformJumpsuitOperative + mask: CigaretteSyndicate + innerclothingskirt: ClothingUniformJumpsuitOperative # Syndicate Operative Outfit - Poverty - type: startingGear