[Antag] add space ninja as midround antag (#14069)
* start of space ninja midround antag * suit has powercell, can be upgraded only (not replaced with equal or worse battery) * add doorjacking to ninja gloves, power cell, doorjack objective (broken), tweaks * 💀 * add basic suit power display that uses stamina rsi * add draining apc/sub/smes - no wires yet * add research downloading * ninja starts implanted, move some stuff to yaml * add Automated field to OnUseTimerTrigger * implement spider charge and objective * fix client crash when taking suit off, some refactor * add survive condition and tweak locale * add comms console icon for objective * add calling in a threat - currently revenant and dragon * combine all glove abilities * locale * spark sounds when draining, refactoring * toggle is actually toggle now * prevent crash if disabling stealth with outline * add antag ctrl for ninja, hopefully show greentext * fix greentext and some other things * disabling gloves if taken off or suit taken off * basic energy katana, change ninja loadout * recallable katana, refactoring * start of dash - not done yet * katana dashing ability * merge upstream + compiling, make AutomatedTimer its own component * docs and stuff * partial refactor of glove abilities, still need to move handling * make dooremaggedevent by ref * move bunch of stuff to shared - broken * clean ninja antag verb * doc * mark rule config fields as required * fix client crash * wip systems refactor * big refactor of systems * fuck * make TryDoElectrocution callable from shared * finish refactoring? * no guns * start with internals on * clean up glove abilities, add range check * create soap, in place of ninja throwing stars * add emp suit ability * able to eat chefs stolen food in space * stuff, tell client when un/cloaked but there is bug with gloves * fix prediction breaking gloves on client * ninja soap despawns after a minute * ninja spawns outside the station now, with gps + station coords to navigate * add cooldown to stun ability * cant use glove abilities in combat mode * require empty hand to use glove abilities * use ghost role spawner * Update Content.Server/Ninja/Systems/NinjaSuitSystem.cs Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com> * some review changes * show powercell charge on examine * new is needed * address some reviews * ninja starts with jetpack, i hope * partial feedback * uhh * pro * remove pirate from threats list * use doafter refactor * pro i gave skeleton jetpack * some stuff * use auto gen state * mr handy * use EntityQueryEnumerator * cleanup * spider charge target anti-troll * mmmmmm --------- Co-authored-by: deltanedas <deltanedas@laptop> Co-authored-by: deltanedas <user@zenith> Co-authored-by: deltanedas <@deltanedas:kde.org> Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
This commit is contained in:
@@ -203,6 +203,17 @@
|
||||
- type: Thieving
|
||||
stripTimeReduction: 1
|
||||
stealthy: true
|
||||
- type: NinjaGloves
|
||||
- type: NinjaDoorjack
|
||||
- type: NinjaDrain
|
||||
- type: NinjaStun
|
||||
- type: NinjaDownload
|
||||
- type: NinjaTerror
|
||||
# not actually electrified, just used to make stun ability work
|
||||
- type: Electrified
|
||||
# delay for stunning to prevent instant stunlocking
|
||||
- type: UseDelay
|
||||
delay: 1
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
- HidesHair
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHeadBase
|
||||
parent: ClothingHeadEVAHelmetBase
|
||||
id: ClothingHeadHelmetSpaceNinja
|
||||
name: space ninja helmet
|
||||
description: What may appear to be a simple black garment is in fact a highly sophisticated nano-weave helmet. Standard issue ninja gear.
|
||||
@@ -146,7 +146,6 @@
|
||||
sprite: Clothing/Head/Helmets/spaceninja.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Head/Helmets/spaceninja.rsi
|
||||
- type: IngestionBlocker
|
||||
- type: Tag
|
||||
tags:
|
||||
- HidesHair
|
||||
|
||||
@@ -92,6 +92,13 @@
|
||||
sprite: Clothing/OuterClothing/Suits/spaceninja.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/OuterClothing/Suits/spaceninja.rsi
|
||||
- type: PressureProtection
|
||||
highPressureMultiplier: 0.6
|
||||
lowPressureMultiplier: 1000
|
||||
- type: DiseaseProtection
|
||||
protection: 0.05
|
||||
- type: TemperatureProtection
|
||||
coefficient: 0.01
|
||||
- type: Armor
|
||||
modifiers:
|
||||
coefficients:
|
||||
@@ -99,6 +106,22 @@
|
||||
Slash: 0.6
|
||||
Piercing: 0.6
|
||||
Heat: 0.6
|
||||
- type: NinjaSuit
|
||||
- type: PowerCellSlot
|
||||
cellSlotId: cell_slot
|
||||
# throwing in a recharger would bypass glove charging mechanic
|
||||
fitsInCharger: false
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
cell_slot: !type:ContainerSlot
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
cell_slot:
|
||||
name: power-cell-slot-component-slot-name-default
|
||||
startingItem: PowerCellSmall
|
||||
# delay for when attacked while cloaked
|
||||
- type: UseDelay
|
||||
delay: 5
|
||||
|
||||
- type: entity
|
||||
parent: ClothingOuterBase
|
||||
|
||||
@@ -77,6 +77,10 @@
|
||||
- type: Clothing
|
||||
sprite: Clothing/Shoes/Specific/spaceninja.rsi
|
||||
- type: NoSlip
|
||||
- type: ClothingSpeedModifier
|
||||
# ninja are masters of sneaking around relatively quickly, won't break cloak
|
||||
walkModifier: 1.1
|
||||
sprintModifier: 1.3
|
||||
|
||||
- type: entity
|
||||
parent: ClothingShoesBaseButcherable
|
||||
|
||||
@@ -93,3 +93,21 @@
|
||||
- state: green
|
||||
- sprite: Structures/Wallmounts/signs.rsi
|
||||
state: radiation
|
||||
|
||||
- type: entity
|
||||
id: SpawnPointGhostSpaceNinja
|
||||
name: ghost role spawn point
|
||||
suffix: space ninja
|
||||
parent: MarkerBase
|
||||
components:
|
||||
- type: GhostRoleMobSpawner
|
||||
prototype: MobHumanSpaceNinja
|
||||
name: Space Ninja
|
||||
description: Use stealth and deception to sabotage the station.
|
||||
rules: You are an elite mercenary of the Spider Clan. You aren't required to follow your objectives, yet your NINJA HONOR demands you try.
|
||||
- type: Sprite
|
||||
sprite: Markers/jobs.rsi
|
||||
layers:
|
||||
- state: green
|
||||
- sprite: Objects/Weapons/Melee/energykatana.rsi
|
||||
state: icon
|
||||
|
||||
@@ -77,3 +77,26 @@
|
||||
- type: Faction
|
||||
factions:
|
||||
- Syndicate
|
||||
|
||||
# Space Ninja
|
||||
- type: entity
|
||||
noSpawn: true
|
||||
name: Space Ninja
|
||||
parent: MobHuman
|
||||
id: MobHumanSpaceNinja
|
||||
components:
|
||||
- type: Loadout
|
||||
prototype: SpaceNinjaGear
|
||||
prototypes: [SpaceNinjaGear]
|
||||
- type: Faction
|
||||
factions:
|
||||
- Syndicate
|
||||
- type: Ninja
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- names_ninja_title
|
||||
- names_ninja
|
||||
- type: Tag
|
||||
tags:
|
||||
# fight with honor!
|
||||
- GunsDisabled
|
||||
|
||||
@@ -102,3 +102,18 @@
|
||||
- type: StepTrigger
|
||||
- type: Item
|
||||
heldPrefix: omega
|
||||
|
||||
- type: entity
|
||||
name: ninja soap
|
||||
id: SoapNinja
|
||||
parent: Soap
|
||||
description: The most important soap in the entire universe, as without it we would all cease to exist. Smells of honor.
|
||||
components:
|
||||
- type: Item
|
||||
heldPrefix: ninja
|
||||
# despawn to prevent ninja killing server
|
||||
- type: TimedDespawn
|
||||
lifetime: 60
|
||||
# no holding ninja hostage and forcing him to make infinite money for cargo
|
||||
- type: StaticPrice
|
||||
price: 0
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
- type: entity
|
||||
name: spider charge
|
||||
description: A modified C-4 charge supplied to you by the Spider Clan. Its explosive power has been juiced up, but only works in one specific area.
|
||||
# not actually modified C-4! oh the horror!
|
||||
parent: BaseItem
|
||||
id: SpiderCharge
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Bombs/spidercharge.rsi
|
||||
state: icon
|
||||
- type: Item
|
||||
sprite: Objects/Weapons/Bombs/spidercharge.rsi
|
||||
size: 10
|
||||
- type: SpiderCharge
|
||||
- type: OnUseTimerTrigger
|
||||
delay: 10
|
||||
delayOptions: [5, 10, 30, 60]
|
||||
initialBeepDelay: 0
|
||||
beepSound: /Audio/Machines/Nuke/general_beep.ogg
|
||||
startOnStick: true
|
||||
- type: AutomatedTimer
|
||||
- type: Sticky
|
||||
stickDelay: 5
|
||||
stickPopupStart: comp-sticky-start-stick-bomb
|
||||
stickPopupSuccess: comp-sticky-success-stick-bomb
|
||||
# can only stick it in target area, no reason to unstick
|
||||
canUnstick: false
|
||||
blacklist: # can't stick it to movable things, even if they are in the target area
|
||||
components:
|
||||
- Anchorable
|
||||
- Item
|
||||
- Body
|
||||
- type: Explosive # Powerful explosion in a medium radius. Will break underplating.
|
||||
explosionType: DemolitionCharge
|
||||
totalIntensity: 60
|
||||
intensitySlope: 10
|
||||
maxIntensity: 60
|
||||
canCreateVacuum: true
|
||||
- type: ExplodeOnTrigger
|
||||
- type: StickyVisualizer
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: GenericEnumVisualizer
|
||||
key: enum.Trigger.TriggerVisuals.VisualState
|
||||
states:
|
||||
enum.Trigger.TriggerVisualState.Primed: primed
|
||||
enum.Trigger.TriggerVisualState.Unprimed: complete
|
||||
@@ -43,6 +43,29 @@
|
||||
sprite: Objects/Weapons/Melee/katana.rsi
|
||||
- type: DisarmMalus
|
||||
|
||||
- type: entity
|
||||
name: energy katana
|
||||
parent: Katana
|
||||
id: EnergyKatana
|
||||
description: A katana infused with strong energy.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Melee/energykatana.rsi
|
||||
state: icon
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
types:
|
||||
Slash: 30
|
||||
- type: Item
|
||||
size: 15
|
||||
sprite: Objects/Weapons/Melee/energykatana.rsi
|
||||
- type: EnergyKatana
|
||||
- type: Clothing
|
||||
sprite: Objects/Weapons/Melee/energykatana.rsi
|
||||
slots:
|
||||
- Back
|
||||
- Belt
|
||||
|
||||
- type: entity
|
||||
name: machete
|
||||
parent: BaseItem
|
||||
|
||||
Reference in New Issue
Block a user