Skip to content

Commit

Permalink
Added Mouse Ops
Browse files Browse the repository at this point in the history
Mouse Operator reinforcements are new little buddies to help out with Syndicate goals.
  • Loading branch information
ps3moira committed Nov 5, 2023
1 parent fbcbf53 commit dce3f3c
Show file tree
Hide file tree
Showing 14 changed files with 296 additions and 0 deletions.
4 changes: 4 additions & 0 deletions Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ deltav-ghost-role-information-salvageantag-rules = You are a salvage mob.
ghost-role-information-mouse-name = Mouse
ghost-role-information-mouse-description = A hungry and mischievous mouse.
# Delta V nukie mouse
ghost-role-information-nukie-mouse-name = Nuclear Operative Mouse
ghost-role-information-nukie-mouse-description = A Nuclear Operative reinforcement for the Syndicate.
ghost-role-information-giant-spider-name = Giant spider
ghost-role-information-giant-spider-description = Wreak havoc on the station's inhabitants!
Expand Down
3 changes: 3 additions & 0 deletions Resources/Locale/en-US/store/uplink-catalog.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -347,3 +347,6 @@ uplink-syndicate-pai-desc = A Syndicate variant of the pAI with access to the Sy
uplink-bribe-name = Lobbying Bundle
uplink-bribe-desc = A heartfelt gift that can help you sway someone's opinion. Real or counterfeit? Yes.
uplink-reinforcement-radio-nukie-mouse-name = Mouse-Op Reinforcement Teleporter
uplink-reinforcement-radio-nukie-mouse-desc = Calls in a specially trained mouse operator to assist you.
11 changes: 11 additions & 0 deletions Resources/Prototypes/DeltaV/Catalog/uplink_catalog.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
- type: listing
id: Mouse Op Reinforcement
name: uplink-reinforcement-radio-nukie-mouse-name
description: uplink-reinforcement-radio-nukie-mouse-desc
productEntity: ReinforcementRadioSyndicateNukieMouse
icon: { sprite: Objects/Devices/communication.rsi, state: old-radio }
cost:
Telecrystal: 3
categories:
- UplinkUtility

#- type: listing
# id: UplinkCyborgBeaconSyndicate
# name: uplink-borg-beacon-name
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
- type: dataset
id: names_mouse_death_commando
values:
- Operator Blue Cheese
- Operator AMERICAN CHEESE
- Operator Fromage
- Operator Asiago
- Operator Brie
- Operator Camembert
- Operator Cheddar
- Operator Cotija
- Operator Curd
- Operator Chevré
- Operator Halloumi
- Operator Cottage Cheese
- Operator Cream Cheese
- Operator Swiss Cheese
- Operator Wensleydale
- Operator Rocamadour
- Operator Feta
- Operator Mozzarella
- Operator Gorgonzola
- Operator Grilled Cheese
- Operator Gouda
- Operator Gruyere
- Operator Comté Cheese
- Operator Jarlsberg
- Operator Reblochon
- Operator Raclette
- Operator Tomme de Bruyère
- Operator Goat Cheese
- Operator Manchego
- Operator Ewenique
- Operator Monterey Jack
- Operator Muenster
- Operator Parmesan
- Operator Pepper Jack
- Operator Provolone
- Operator String Cheese
- Operator La Vache Qui Rit
- Operator Mascarpone
- Operator Ricotta
- Operator Vacherin
160 changes: 160 additions & 0 deletions Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/nukiemouse.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
- type: entity
name: nuclear operative mouse
parent: [ SimpleMobBase, MobCombat ]
id: MobNukieMouse
description: A nuclear operative...MOUSE?!
suffix: syndicate
components:
- type: GhostRole
makeSentient: true
allowSpeech: true
allowMovement: true
name: ghost-role-information-nukie-mouse-name
description: ghost-role-information-nukie-mouse-description
- type: GhostTakeoverAvailable
- type: RandomMetadata
nameSegments: [names_mouse_death_commando]
- type: NpcFactionMember
factions:
- Syndicate
- type: Speech
speechVerb: SmallMob
speechSounds: Squeak
- type: PointLight
radius: 1.5
energy: 2.3
offset: 0, -1
color: green
- type: Sprite
drawdepth: SmallMobs
sprite: DeltaV/Mobs/Animals/nukiemouse.rsi
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: mouse
- type: Physics
bodyType: KinematicController
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.2
density: 30 #Bulky by mouse standards...
mask:
- SmallMobMask
layer:
- SmallMobLayer
- type: MobState
- type: Deathgasp
- type: MobStateActions
actions:
Critical:
- ActionCritSuccumb
- ActionCritFakeDeath
- ActionCritLastWords
- type: MobThresholds
thresholds:
0: Alive
40: Critical
60: Dead
- type: MovementSpeedModifier
baseWalkSpeed : 3
baseSprintSpeed : 4.9
- type: Reactive
groups:
Flammable: [Touch]
Extinguish: [Touch]
- type: Inventory
speciesId: mouse
templateId: mouse
- type: InventorySlots
- type: UserInterface
interfaces:
- key: enum.StrippingUiKey.Key
type: StrippableBoundUserInterface
- type: DamageStateVisuals
states:
Alive:
Base: mouse
Critical:
Base: dead
Dead:
Base: splat
- type: Food
- type: Hunger
baseDecayRate: 0.1
- type: Extractable
grindableSolutionName: food
- type: SolutionContainerManager
solutions:
food:
reagents:
- ReagentId: Nutriment
Quantity: 10
- ReagentId: Blood
Quantity: 55
- ReagentId: Fat
Quantity: 5
- type: Butcherable
spawned:
- id: FoodMeat
amount: 1
- type: ReplacementAccent
accent: mouse
- type: Tag
tags:
- VimPilot
- Trash
- Mouse
- Meat
- FootstepSound
- Radio
- type: NoSlip
- type: Respirator #It just works?
minSaturation: 5.0
- type: Temperature
heatDamageThreshold: 423
coldDamageThreshold: 0
- type: PressureImmunity
- type: Insulated
- type: Barotrauma
damage:
types:
Blunt: 0.1
- type: Vocal
sounds:
Male: Mouse
Female: Mouse
Unsexed: Mouse
wilhelmProbability: 0.01
- type: CombatMode
- type: MeleeWeapon
soundHit:
path: /Audio/Effects/bite.ogg
angle: 0
animation: WeaponArcBite
damage:
types:
Slash: 5
Piercing: 3
Structural: 1.5
- type: Body
prototype: Rat
requiredLegs: 1 # TODO: More than 1 leg
- type: Bloodstream
bloodMaxVolume: 60
- type: CanEscapeInventory
BaseResistTime: 3
- type: MobPrice
price: 250 # Their suits, while tiny, go for quite a bit on the market
- type: IntrinsicRadioReceiver
- type: IntrinsicRadioTransmitter
channels:
- Syndicate
- type: ActiveRadio
channels:
- Syndicate
# make the player a traitor once its taken
- type: AutoTraitor
giveUplink: false
giveObjectives: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
- type: entity
parent: ReinforcementRadioSyndicate
id: ReinforcementRadioSyndicateNukieMouse
name: mouse operator reinforcement radio
description: Calls in a specially trained mouse operator to assist you.
components:
- type: GhostRole
name: Nuclear Mouse Operator Reinforcement
description: Someone needs reinforcements. You, a trained mouse, will help them.
rules: Normal syndicate antagonist rules apply. Work with whoever called you in, and don't harm them.
- type: GhostRoleMobSpawner
prototype: MobNukieMouse
- type: EmitSoundOnUse
sound: /Audio/Effects/Emotes/parp1.ogg
- type: ItemCooldown
- type: UseDelay
delay: 300
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
58 changes: 58 additions & 0 deletions Resources/Textures/DeltaV/Mobs/Animals/nukiemouse.rsi/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from /vg/station https://github.com/vgstation-coders/vgstation13/blob/Bleeding-Edge/icons/mob/animal.dmi Edited variations by @ps3moira",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "mouse",
"directions": 4,
"delays": [
[
0.2,
0.2,
0.2
],
[
0.2,
0.2,
0.2
],
[
0.2,
0.2,
0.2
],
[
0.2,
0.2,
0.2
]
]
},
{
"name": "dead"
},
{
"name": "splat"
},
{
"name": "equipped-HELMET",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit dce3f3c

Please sign in to comment.