diff --git a/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag.yml b/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag.yml new file mode 100644 index 00000000000..c07576a562e --- /dev/null +++ b/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag.yml @@ -0,0 +1,739 @@ +- type: entity + parent: BaseMob + id: ADTDroneAntagBase + name: antag drone base + abstract: true + components: + - type: MindContainer + - type: InputMover + - type: MobMover + - type: Reactive + groups: + Acidic: [Touch] + - type: Input + context: "human" + - type: DamageOnHighSpeedImpact + damage: + types: + Blunt: 5 + soundHit: + collection: MetalThud + - type: Clickable + - type: Damageable + damageContainer: Silicon + - type: CombatMode + - type: MovementIgnoreGravity + - type: NoSlip + - type: StaticPrice + price: 700 + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 50 + mask: + - MobMask + layer: + - MobLayer + - type: MovementSpeedModifier + baseWalkSpeed : 4 + baseSprintSpeed : 3 + - type: Sprite + noRot: true + drawdepth: Mobs + - type: Physics + bodyType: KinematicController + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 125: Dead + stateAlertDict: + Alive: BorgHealth + Dead: BorgDead + showOverlays: false + allowRevives: true + - type: HealthExaminable + examinableTypes: + - Blunt + - Slash + - Piercing + - Heat + - Shock + locPrefix: silicon + - type: UserInterface + interfaces: + # - key: enum.SiliconLawsUiKey.Key + # type: SiliconLawBoundUserInterface + # - key: enum.BorgUiKey.Key + # type: BorgBoundUserInterface + # - key: enum.StrippingUiKey.Key + # type: StrippableBoundUserInterface + # - type: ActivatableUI + # key: enum.BorgUiKey.Key + # - type: SiliconLawBound + # - type: EmagSiliconLaw + # stunTime: 5 + # - type: SiliconLawProvider + # laws: Crewsimov + - type: InventorySlots + - type: Inventory + templateId: droneantaginventory + - type: Hands + showInHands: false + - type: IntrinsicRadioReceiver + - type: IntrinsicRadioTransmitter + channels: + - ADTDroneAntagChannel + - Common + - type: ActiveRadio + channels: + - ADTDroneAntagChannel + - Common + - type: ZombieImmune + - type: Repairable + fuelcost: 15 + doAfterDelay: 3 + allowSelfRepair: true + # - type: PowerCellSlot + # cellSlotId: cell_slot + # fitsInCharger: true + # - type: PowerCellDraw + # drawRate: 0.6 + # - type: ItemSlots + # slots: + # cell_slot: + # name: power-cell-slot-component-slot-name-default + - type: StatusEffects + allowed: + - Stun + - type: TypingIndicator + proto: robot + - type: Speech + speechVerb: Robotic + speechSounds: Pai + - type: UnblockableSpeech + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 75 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Machines/warning_buzzer.ogg + params: + volume: 5 + - trigger: + !type:DamageTrigger + damage: 300 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + # - !type:EmptyContainersBehaviour + # containers: + # - borg_brain + # - borg_module + # - cell_slot + # - !type:DoActsBehavior + # acts: [ "Destruction" ] + # - type: HandheldLight + # toggleOnInteract: false + # wattage: 0.2 + # blinkingBehaviourId: blinking + # radiatingBehaviourId: radiating + # - type: LightBehaviour + # behaviours: + # - !type:FadeBehaviour + # id: radiating + # maxDuration: 2.0 + # startValue: 3.0 + # endValue: 2.0 + # isLooped: true + # reverseWhenFinished: true + # - !type:PulseBehaviour + # id: blinking + # interpolate: Nearest + # maxDuration: 1.0 + # minValue: 0.1 + # maxValue: 2.0 + # isLooped: true + - type: ToggleableLightVisuals + - type: PointLight + enabled: false + color: "#d7f705" + radius: 7 + energy: 1,5 + mask: /Textures/Effects/LightMasks/cone.png + autoRot: true + - type: DoAfter + - type: Pullable + - type: Examiner + - type: Alerts + - type: Puller + needsHands: false + - type: StandingState + - type: Tag + tags: + - ShoesRequiredStepTriggerImmune + # - DoorBumpOpener + - CanPilot + - CannotSuicide + # - type: Emoting + # - type: GuideHelp + # guides: + # - Cyborgs + - type: LanguageSpeaker + speaks: + - BorgTalk + understands: + - GalacticCommon + - BorgTalk + - SolCommon + +- type: entity + id: ADTDroneAntagMiner + parent: ADTDroneAntagBase + name: drone miner + suffix: Miner + description: Вам, вероятно, не стоит стоять рядом с ним, чтобы проверить, включен ли он. + components: + - type: Body + prototype: ADTDroneAntagBodyMiner + - type: Hands + showInHands: false + - type: Loadout + prototypes: [ ADTAntagDroneGearMiner ] + - type: InventorySlots + - type: NameIdentifier + group: ADTDroneAntagMiner + - type: MovementSpeedModifier + baseWalkSpeed : 5 + baseSprintSpeed : 5 + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 125: Dead + - type: NoSlip + - type: StatusEffects + allowed: + - Stun + - type: EncryptionKeyHolder + keySlots: 5 + examineWhileLocked: false + keysExtractionMethod: Cutting + - type: ContainerFill + containers: + key_slots: + - ADTEncryptionKeyDroneAntag + - EncryptionKeyCommon + - type: IntrinsicRadioReceiver + - type: IntrinsicRadioTransmitter + channels: + - ADTDroneAntagChannel + - Common + - type: ActiveRadio + channels: + - ADTDroneAntagChannel + - Common + - type: Temperature + heatDamageThreshold: 5000 + currentTemperature: 310.15 + specificHeat: 42 + heatDamage: + types: + Heat : 1 #per second, scales with temperature & other constants + - type: Sprite + drawdepth: Mobs + layers: + - state: minedrone + sprite: ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi + map: ["base"] + - type: MovementIgnoreGravity + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 50 + mask: + - FlyingMobMask + layer: + - FlyingMobLayer + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 75 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Machines/warning_buzzer.ogg + params: + volume: 5 + - trigger: + !type:DamageTrigger + damage: 300 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:SpawnEntitiesBehavior + spawn: + ADTDroneAntagCoreBasic: + min: 1 + max: 1 + SheetSteel1: + min: 5 + max: 5 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Appearance + # - type: GenericVisualizer + # visuals: + # enum.DroneVisuals.Status: + # base: + # Off: { state: mineshell } + # On: { state: minedrone } + - type: Actions + - type: UnpoweredFlashlight + - type: PointLight + enabled: false + color: "#d7f705" + radius: 7 + energy: 1,5 + mask: /Textures/Effects/LightMasks/cone.png + autoRot: true + - type: Tag + tags: + - ShoesRequiredStepTriggerImmune + - CannotSuicide + - type: StaticPrice + price: 1275 + # Frontier - languages mechanic + - type: LanguageSpeaker + speaks: + - BorgTalk + understands: + - GalacticCommon + - BorgTalk + - SolCommon + - type: NpcFactionMember + factions: + - DroneAntag + - type: CombatMode + - type: MeleeWeapon + hidden: true + damage: + groups: + Brute: 5 + - type: EyeProtection + protectionTime: 12 + - type: TypingIndicator + proto: robot + - type: Speech + speechSounds: Pai + - type: ZombieImmune + - type: Repairable + fuelcost: 15 + doAfterDelay: 5 + - type: UserInterface + interfaces: + - key: enum.StrippingUiKey.Key + type: StrippableBoundUserInterface + - type: Inventory + templateId: droneantaginventory + +- type: entity + id: ADTDroneAntagEngineer + parent: ADTDroneAntagBase + name: drone soldier + description: Вам, вероятно, не стоит стоять рядом с ним, чтобы проверить, включен ли он. + suffix: Engineer + components: + - type: Body + prototype: ADTDroneAntagBodyEngineer + - type: Hands + showInHands: false + - type: Loadout + prototypes: [ ADTAntagDroneGearEngineer ] + - type: InventorySlots + - type: NameIdentifier + group: ADTDroneAntagSoldier + - type: MovementSpeedModifier + baseWalkSpeed : 5 + baseSprintSpeed : 5 + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 125: Dead + - type: NoSlip + - type: StatusEffects + allowed: + - Stun + - type: EncryptionKeyHolder + keySlots: 5 + examineWhileLocked: false + keysExtractionMethod: Cutting + - type: ContainerFill + containers: + key_slots: + - ADTEncryptionKeyDroneAntag + - EncryptionKeyCommon + - type: IntrinsicRadioReceiver + - type: IntrinsicRadioTransmitter + channels: + - ADTDroneAntagChannel + - Common + - type: ActiveRadio + channels: + - ADTDroneAntagChannel + - Common + - type: Temperature + heatDamageThreshold: 5000 + currentTemperature: 310.15 + specificHeat: 42 + heatDamage: + types: + Heat : 1 #per second, scales with temperature & other constants + - type: Sprite + drawdepth: Mobs + layers: + - state: engdrone + sprite: ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi + map: ["base"] + - type: MovementIgnoreGravity + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 50 + mask: + - FlyingMobMask + layer: + - FlyingMobLayer + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 75 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Machines/warning_buzzer.ogg + params: + volume: 5 + - trigger: + !type:DamageTrigger + damage: 300 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:SpawnEntitiesBehavior + spawn: + ADTDroneAntagCoreBasic: + min: 1 + max: 1 + SheetSteel1: + min: 5 + max: 5 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Appearance + # - type: GenericVisualizer + # visuals: + # enum.DroneVisuals.Status: + # base: + # Off: { state: mineshell } + # On: { state: minedrone } + - type: Actions + - type: UnpoweredFlashlight + - type: PointLight + enabled: false + color: "#d7f705" + radius: 7 + energy: 1,5 + mask: /Textures/Effects/LightMasks/cone.png + autoRot: true + - type: Tag + tags: + - ShoesRequiredStepTriggerImmune + - CannotSuicide + - type: StaticPrice + price: 1275 + # Frontier - languages mechanic + - type: LanguageSpeaker + speaks: + - BorgTalk + understands: + - GalacticCommon + - BorgTalk + - SolCommon + - type: NpcFactionMember + factions: + - DroneAntag + - type: CombatMode + - type: MeleeWeapon + hidden: true + damage: + groups: + Brute: 5 + - type: EyeProtection + protectionTime: 12 + - type: TypingIndicator + proto: robot + - type: Speech + speechSounds: Pai + - type: ZombieImmune + - type: Repairable + fuelcost: 15 + doAfterDelay: 5 + - type: UserInterface + interfaces: + - key: enum.StrippingUiKey.Key + type: StrippableBoundUserInterface + - type: Inventory + templateId: droneantaginventory + + +- type: entity + id: ADTDroneAntagCharger + parent: ADTDroneAntagBase + name: drone soldier + description: Вам, вероятно, не стоит стоять рядом с ним, чтобы проверить, включен ли он. + suffix: Charger + components: + - type: Body + prototype: ADTDroneAntagBodyCharger + - type: Hands + showInHands: false + - type: Loadout + prototypes: [ ADTAntagDroneGearCharger ] + - type: InventorySlots + - type: NameIdentifier + group: ADTDroneAntagSoldier + - type: MovementSpeedModifier + baseWalkSpeed : 5 + baseSprintSpeed : 5 + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 125: Dead + - type: NoSlip + - type: StatusEffects + allowed: + - Stun + - type: EncryptionKeyHolder + keySlots: 5 + examineWhileLocked: false + keysExtractionMethod: Cutting + - type: ContainerFill + containers: + key_slots: + - ADTEncryptionKeyDroneAntag + - EncryptionKeyCommon + - type: IntrinsicRadioReceiver + - type: IntrinsicRadioTransmitter + channels: + - ADTDroneAntagChannel + - Common + - type: ActiveRadio + channels: + - ADTDroneAntagChannel + - Common + - type: Temperature + heatDamageThreshold: 5000 + currentTemperature: 310.15 + specificHeat: 42 + heatDamage: + types: + Heat : 1 #per second, scales with temperature & other constants + - type: Sprite + drawdepth: Mobs + layers: + - state: chargedrone + sprite: ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi + map: ["base"] + - type: MovementIgnoreGravity + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 50 + mask: + - FlyingMobMask + layer: + - FlyingMobLayer + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 75 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Machines/warning_buzzer.ogg + params: + volume: 5 + - trigger: + !type:DamageTrigger + damage: 300 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:SpawnEntitiesBehavior + spawn: + ADTDroneAntagCoreBasic: + min: 1 + max: 1 + SheetSteel1: + min: 5 + max: 5 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Appearance + # - type: GenericVisualizer + # visuals: + # enum.DroneVisuals.Status: + # base: + # Off: { state: mineshell } + # On: { state: minedrone } + - type: Actions + - type: UnpoweredFlashlight + - type: PointLight + enabled: false + color: "#d7f705" + radius: 7 + energy: 1,5 + mask: /Textures/Effects/LightMasks/cone.png + autoRot: true + - type: Tag + tags: + - ShoesRequiredStepTriggerImmune + - CannotSuicide + - type: StaticPrice + price: 750 + # Frontier - languages mechanic + - type: LanguageSpeaker + speaks: + - BorgTalk + understands: + - GalacticCommon + - BorgTalk + - SolCommon + - type: NpcFactionMember + factions: + - DroneAntag + - type: CombatMode + - type: MeleeWeapon + hidden: true + damage: + groups: + Brute: 5 + - type: EyeProtection + protectionTime: 12 + - type: TypingIndicator + proto: robot + - type: Speech + speechSounds: Pai + - type: ZombieImmune + - type: Repairable + fuelcost: 15 + doAfterDelay: 5 + - type: UserInterface + interfaces: + - key: enum.StrippingUiKey.Key + type: StrippableBoundUserInterface + - type: Inventory + templateId: droneantaginventory + + + + + + + + +# DRONE NAME IDENTIFIER + + +# - type: nameIdentifierGroup +# id: ADTDroneAntagMiner +# prefix: drone miner SD +# fullName: true +# minValue: 100 +# maxValue: 999 + +# - type: nameIdentifierGroup +# id: ADTDroneAntagSoldier +# prefix: drone soldier SD +# fullName: true +# minValue: 100 +# maxValue: 999 + + +# IPC DRONE NAME IDENTIFIER + + +# - type: nameIdentifierGroup +# id: ADTIPCAntag +# prefix: BF +# fullName: true +# minValue: 10000 +# maxValue: 99999 + + +# DRONE RADIO CHANNEL + + +# - type: radioChannel +# id: ADTDroneAntagChannel +# name: Дроны +# keycode: 'й' +# frequency: 1301 +# color: "#690e0e" + + +# DRONE ENCRYPTION KEY + + +# - type: entity +# parent: EncryptionKey +# id: ADTEncryptionKeyDroneAntag +# name: Ключ к каналу дронов +# description: Ключ к доступу каналов дронов. +# components: +# - type: EncryptionKey +# channels: +# - ADTDroneAntag +# - Common +# defaultChannel: ADTDroneAntag +# - type: Sprite +# layers: +# - state: crypt_silver +# - state: rd_label diff --git a/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_Body.yml b/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_Body.yml new file mode 100644 index 00000000000..3c17609f494 --- /dev/null +++ b/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_Body.yml @@ -0,0 +1,86 @@ +- type: body + id: ADTDroneAntagBodyMiner + name: Antag Drone Body Miner + root: head + slots: + head: + part: LightHeadBorg + connections: + - hand 1 + - hand 2 + - hand 3 + - hand 4 + - hand 5 + # - hand 6 + hand 1: + part: LeftArmBorg + hand 2: + part: LeftArmBorg + hand 3: + part: LeftArmBorg + hand 4: + part: RightArmBorg + hand 5: + part: RightArmBorg + # hand 6: + # part: RightArmBorg + +- type: body + id: ADTDroneAntagBodyEngineer + name: Antag Drone Body Engineer + root: head + slots: + head: + part: LightHeadBorg + connections: + - hand 1 + - hand 2 + - hand 3 + - hand 4 + - hand 5 + - hand 6 + - hand 7 + - hand 8 + hand 1: + part: LeftArmBorg + hand 2: + part: LeftArmBorg + hand 3: + part: LeftArmBorg + hand 4: + part: RightArmBorg + hand 5: + part: RightArmBorg + hand 6: + part: RightArmBorg + hand 7: + part: RightArmBorg + hand 8: + part: RightArmBorg + +- type: body + id: ADTDroneAntagBodyCharger + name: Antag Drone Body Charger + root: head + slots: + head: + part: LightHeadBorg + connections: + - hand 1 + - hand 2 + - hand 3 + - hand 4 + # - hand 5 + # - hand 6 + hand 1: + part: LeftArmBorg + hand 2: + part: LeftArmBorg + hand 3: + part: LeftArmBorg + hand 4: + part: RightArmBorg + # hand 5: + # part: RightArmBorg + # hand 6: + # part: RightArmBorg diff --git a/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_Core.yml b/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_Core.yml new file mode 100644 index 00000000000..884d7ecfd7a --- /dev/null +++ b/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_Core.yml @@ -0,0 +1,74 @@ +# core basic + +- type: entity + id: ADTDroneAntagCoreBasic + parent: BaseItem + name: basic drone core + description: Это ядро продвинутого дрона. Лучше вернуть это Space SEC. + components: + - type: Sprite + sprite: ADT/Mobs/Silicon/AntagDrones/drone-core-basic.rsi + state: drone-core-basic + - type: StaticPrice + price: 1250 + - type: PointLight + radius: 1.5 + energy: 3 + color: "#cc5500" + +# core advanced + +- type: entity + id: ADTDroneAntagCoreAdvanced + parent: BaseItem + name: advanced drone core + description: Это ядро продвинутого дрона. Лучше вернуть это Space SEC. + components: + - type: Sprite + sprite: ADT/Mobs/Silicon/AntagDrones/drone-core-advanced.rsi + state: drone-core-advanced + - type: StaticPrice + price: 2500 + - type: PointLight + radius: 1.5 + energy: 3 + color: "#9ad67a" + +# core elite + +- type: entity + id: ADTDroneAntagCoreElite + parent: BaseItem + name: elite drone core + description: Это ядро продвинутого дрона. Лучше вернуть это Space SEC. + components: + - type: Sprite + sprite: ADT/Mobs/Silicon/AntagDrones/drone-core-elite.rsi + state: drone-core-elite + - type: StaticPrice + price: 5000 + - type: PointLight + radius: 1.5 + energy: 3 + color: "#b93fc4" +# ff517a + +# core command + +- type: entity + id: ADTDroneAntagCoreCommand + parent: BaseItem + name: command drone core + description: Это ядро продвинутого дрона. Лучше вернуть это Space SEC. + components: + - type: Sprite + sprite: ADT/Mobs/Silicon/AntagDrones/drone-core-command.rsi + state: drone-core-command + - type: StaticPrice + price: 7500 + - type: PointLight + radius: 1.5 + energy: 3 + color: "#2f8bd6" + +# c351ff diff --git a/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_IPC.yml b/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_IPC.yml new file mode 100644 index 00000000000..754aaf02c0a --- /dev/null +++ b/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_IPC.yml @@ -0,0 +1,653 @@ +- type: entity + save: false + abstract: true + id: ADTipcdronebase1 + components: + - type: Reactive + groups: + Acidic: [Touch] + - type: Input + context: "human" + - type: InputMover + - type: ZombieImmune + - type: MobMover + - type: DamageOnHighSpeedImpact + damage: + types: + Blunt: 5 + soundHit: + path: /Audio/Effects/hit_kick.ogg + - type: Clickable + - type: Damageable + damageContainer: Inorganic # Note that for dumb reasons, this essentially makes them a wall. + # - type: Bloodstream # This is left commented out because it's not necessary for a robot, but you may want it. + # bloodReagent: MotorOil + # bloodlossDamage: + # types: + # Bloodloss: + # 1 + # bloodlossHealDamage: + # types: + # Bloodloss: + # -0.25 + - type: InteractionOutline + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 185 ### влияет на шанс Disarm. было 50 + mask: + - MobMask + layer: + - MobLayer + - type: MovementSpeedModifier + baseWalkSpeed: 3 + baseSprintSpeed: 4 + - type: Sprite + sprite: ADT/Mobs/Silicon/AntagDrones/drone-ipc-soldier.rsi + state: ipc_full + noRot: true + drawdepth: Mobs + - type: Physics + bodyType: KinematicController + - type: Body + prototype: Drone + - type: DoAfter + - type: Examiner + # - type: Recyclable + # safe: false + - type: StandingState + - type: Alerts + # - type: EyeProtection # You'll want this if your robot can't wear glasses, like an IPC. + # protectionTime: 12 + # - type: Silicon + # entityType: enum.SiliconType.Player + # batteryPowered: false # Needs to also have a battery! + # chargeThresholdMid: 0.60 + # chargeThresholdLow: 0.30 + # chargeThresholdCritical: 0 + # speedModifierThresholds: + # 4: 1 + # 3: 1 + # 2: 0.80 + # 1: 0.45 + # 0: 0.00 + # - type: RadiationReceiver + # - type: AtmosExposed + # - type: Temperature + # heatDamageThreshold: 700 + # coldDamageThreshold: 0 + # currentTemperature: 400 + # specificHeat: 24 + # coldDamage: + # types: + # Cold: 0.1 # Per second, scales with temperature & other constants. + # heatDamage: + # types: + # Heat: 0.25 # Per second, scales with temperature & other constants. + # atmosTemperatureTransferEfficiency: 0.05 + # - type: ThermalRegulator + # metabolismHeat: 600 + # radiatedHeat: 350 + # implicitHeatRegulation: 350 + # sweatHeatRegulation: 0 # This might end up being a problem if they can't cool themselves down? + # shiveringHeatRegulation: 1200 + # normalBodyTemperature: 400 + # thermalRegulationTemperatureThreshold: 125 + +- type: entity + parent: ADTipcdronebase1 + id: ADTipcdronebase2 + abstract: true + components: + - type: StatusIcon + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 100: Critical + 200: Dead + - type: Damageable + damageContainer: ADTSiliconDamageContainer # Not a wall. + - type: Stamina + critThreshold: 300 + - type: Destructible + thresholds: + - trigger: !type:DamageTrigger + damage: 500 + behaviors: + - !type:GibBehavior {} + - type: Icon + sprite: ADT/Mobs/Silicon/AntagDrones/drone-ipc-soldier.rsi + state: ipc_full + - type: MindContainer + showExamineInfo: true + - type: Sprite + noRot: true + drawdepth: Mobs + layers: + - map: ["enum.HumanoidVisualLayers.Chest"] + - map: ["enum.HumanoidVisualLayers.Head"] + - map: ["enum.HumanoidVisualLayers.Snout"] + - map: ["enum.HumanoidVisualLayers.Eyes"] + - map: ["enum.HumanoidVisualLayers.RArm"] + - map: ["enum.HumanoidVisualLayers.LArm"] + - map: ["enum.HumanoidVisualLayers.RLeg"] + - map: ["enum.HumanoidVisualLayers.LLeg"] + - shader: StencilClear + sprite: Mobs/Species/Human/parts.rsi + state: l_leg + - shader: StencilMask + map: ["enum.HumanoidVisualLayers.StencilMask"] + sprite: Mobs/Customization/masking_helpers.rsi + state: unisex_full + visible: false + - map: ["enum.HumanoidVisualLayers.LFoot"] + - map: ["enum.HumanoidVisualLayers.RFoot"] + - map: ["socks"] + - map: ["underpants"] + - map: ["undershirt"] + - map: ["jumpsuit"] + - map: ["enum.HumanoidVisualLayers.LHand"] + - map: ["enum.HumanoidVisualLayers.RHand"] + - map: ["enum.HumanoidVisualLayers.Handcuffs"] + color: "#ffffff" + sprite: Objects/Misc/handcuffs.rsi + state: body-overlay-2 + visible: false + - map: ["id"] + - map: ["gloves"] + - map: ["shoes"] + - map: ["ears"] + - map: ["outerClothing"] + - map: ["eyes"] + - map: ["belt"] + - map: ["neck"] + - map: ["back"] + - map: ["enum.HumanoidVisualLayers.FacialHair"] + - map: ["enum.HumanoidVisualLayers.Hair"] + - map: ["enum.HumanoidVisualLayers.HeadSide"] + - map: ["enum.HumanoidVisualLayers.HeadTop"] + - map: ["mask"] + - map: ["head"] + - map: ["pocket1"] + - map: ["pocket2"] + - map: ["enum.HumanoidVisualLayers.Tail"] + #- map: ["enum.HumanoidVisualLayers.Wings"] + - map: ["clownedon"] # Dynamically generated + sprite: "Effects/creampie.rsi" + state: "creampie_human" + visible: false + - type: Repairable + doAfterDelay: 5 # was 18 + damage: + types: + Blunt: -20 + Slash: -20 + Piercing: -20 + #bloodlossModifier: -100 +# - type: Bloodstream ### я добавил компонент Bloodstream как заглушку. Он нужен, +# # чтобы хилиться с помощью CableStack. Дело в том, что HealingSystem использует проверку на наличие BloodstreamComponent. +# # В любом случае Bloodstream здесь является костылём, чтобы не лезть в код. В будущем можно зделать для IPC нормальную bloodstream систему. +# damageBleedModifiers: BloodlossIPC +# bloodReagent: Water +# bleedReductionAmount: 0 +# bloodMaxVolume: 0 +# chemicalMaxVolume: 0 +# bleedPuddleThreshold: 3 +# bleedRefreshAmount: 0 +# bloodLossThreshold: 0 +# maxBleedAmount: 0 +# bloodlossDamage: +# types: +# Burn: 1.5 +# bloodlossHealDamage: +# types: +# Burn: 0 + - type: Flammable + fireSpread: true + canResistFire: true + damage: + types: + Heat: 0.75 #per second, scales with number of fire 'stacks' + # - type: Barotrauma # Not particularly modifiable. In the future, some response to pressure changes would be nice. + # damage: + # types: + # Blunt: 0.28 #per second, scales with pressure and other constants. + - type: Polymorphable + - type: Identity + - type: MovedByPressure + - type: DamageOnHighSpeedImpact + damage: + types: + Blunt: 5 + soundHit: + path: /Audio/Effects/metal_break1.ogg + - type: LagCompensation + - type: RangedDamageSound + soundGroups: + Brute: + collection: MetalBulletImpact + soundTypes: + Heat: + collection: MetalLaserImpact + - type: Tag + tags: + - CanPilot + - FootstepSound + - DoorBumpOpener + - type: Hands + - type: Inventory + templateId: human + - type: InventorySlots + - type: Appearance + - type: GenericVisualizer + visuals: + enum.CreamPiedVisuals.Creamed: + clownedon: + True: { visible: true } + False: { visible: false } + - type: RotationVisuals + - type: FloatingVisuals + - type: FireVisuals + sprite: Mobs/Effects/onfire.rsi + normalState: Generic_mob_burning + alternateState: Standing + fireStackAlternateState: 3 + - type: CombatMode + canDisarm: true + - type: Climbing + - type: Cuffable + - type: AnimationPlayer + - type: Buckle + - type: CreamPied + - type: Stripping + - type: Strippable + - type: UserInterface + interfaces: + - key: enum.VoiceMaskUIKey.Key + type: VoiceMaskBoundUserInterface + - key: enum.HumanoidMarkingModifierKey.Key + type: HumanoidMarkingModifierBoundUserInterface + - key: enum.StrippingUiKey.Key + type: StrippableBoundUserInterface + - type: StandingState + - type: CanEscapeInventory + # - type: HumanoidAppearance + # species: IPC + - type: Body + prototype: IPC + requiredLegs: 2 + - type: Ensnareable + sprite: Objects/Misc/ensnare.rsi + - type: Speech + speechSounds: Pai + - type: MeleeWeapon + hidden: true + soundHit: + collection: Punch + angle: 30 + animation: WeaponArcFist + attackRate: 1 + damage: + types: + Blunt: 6 # It's tough. + - type: MobPrice + price: 1500 # Kidnapping a living person and selling them for cred is a good move. + deathPenalty: 0.01 # However they really ought to be living and intact, otherwise they're worth 100x less. + - type: Pullable + - type: Puller + - type: Reactive + groups: + Flammable: [Touch] + Extinguish: [Touch] + Acidic: [Touch, Ingestion] + reactions: + - reagents: [Water, SpaceCleaner] + methods: [Touch] + effects: + - !type:WashCreamPieReaction + - type: DamageVisuals + thresholds: [20, 40, 100] + targetLayers: + - "enum.HumanoidVisualLayers.Chest" + - "enum.HumanoidVisualLayers.Head" + - "enum.HumanoidVisualLayers.LArm" + - "enum.HumanoidVisualLayers.LLeg" + - "enum.HumanoidVisualLayers.RArm" + - "enum.HumanoidVisualLayers.RLeg" + damageOverlayGroups: + Brute: + sprite: Mobs/Effects/brute_damage.rsi + color: "#1a1a1a" + # Burn: + # sprite: Mobs/Effects/burn_damage.rsi + # Organs + - type: IdExaminable + - type: HealthExaminable + examinableTypes: + - Blunt + - Slash + - Piercing + - Heat + - Shock + - type: StatusEffects + allowed: + - Stun + - type: Blindable + +- type: entity + id: ADTDroneAntagIPC + parent: ADTipcdronebase2 + name: drone soldier + suffix: Antag Drone IPC + description: Вам, вероятно, не стоит стоять рядом с ним, чтобы проверить, включен ли он. + components: + - type: InteractionPopup + interactSuccessString: petting-success-ipc + #interactFailureString: petting-failure-cleanbot + interactSuccessSound: + path: /Audio/Ambience/Objects/periodic_beep.ogg + # - type: SiliconEmitSoundOnDrained + # sound: "/Audio/Weapons/Guns/EmptyAlarm/smg_empty_alarm.ogg" + # interval: 15 + # playChance: 1 + # popUp: silicon-power-low + - type: Icon + sprite: ADT/Mobs/Silicon/AntagDrones/drone-ipc-soldier.rsi + state: ipc_full + - type: Sprite + noRot: true + drawdepth: Mobs + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + sprite: ADT/Mobs/Silicon/AntagDrones/drone-ipc-soldier.rsi + state: ipc_full + - map: ["enum.HumanoidVisualLayers.Chest"] + - map: ["enum.HumanoidVisualLayers.Head"] + - map: ["enum.HumanoidVisualLayers.Snout"] + - map: ["enum.HumanoidVisualLayers.Eyes"] + - map: ["enum.HumanoidVisualLayers.RArm"] + - map: ["enum.HumanoidVisualLayers.LArm"] + - map: ["enum.HumanoidVisualLayers.RLeg"] + - map: ["enum.HumanoidVisualLayers.LLeg"] + - shader: StencilClear + sprite: Mobs/Species/Human/parts.rsi + state: l_leg + - shader: StencilMask + map: ["enum.HumanoidVisualLayers.StencilMask"] + sprite: Mobs/Customization/masking_helpers.rsi + state: unisex_full + visible: false + - map: ["enum.HumanoidVisualLayers.LFoot"] + - map: ["enum.HumanoidVisualLayers.RFoot"] + - map: ["socks"] + - map: ["underpants"] + - map: ["undershirt"] + - map: ["jumpsuit"] + - map: ["enum.HumanoidVisualLayers.LHand"] + - map: ["enum.HumanoidVisualLayers.RHand"] + - map: ["enum.HumanoidVisualLayers.Handcuffs"] + color: "#ffffff" + sprite: Objects/Misc/handcuffs.rsi + state: body-overlay-2 + visible: false + - map: ["id"] + - map: ["gloves"] + - map: ["shoes"] + - map: ["ears"] + - map: ["outerClothing"] + - map: ["eyes"] + - map: ["belt"] + - map: ["neck"] + - map: ["back"] + - map: ["enum.HumanoidVisualLayers.FacialHair"] + - map: ["enum.HumanoidVisualLayers.Hair"] + - map: ["enum.HumanoidVisualLayers.HeadSide"] + - map: ["enum.HumanoidVisualLayers.HeadTop"] + - map: ["mask"] + - map: ["head"] + - map: ["pocket1"] + - map: ["pocket2"] + - map: ["enum.HumanoidVisualLayers.Tail"] + #- map: ["enum.HumanoidVisualLayers.Wings"] + - map: ["clownedon"] # Dynamically generated + sprite: "Effects/creampie.rsi" + state: "creampie_human" + visible: false + - type: MobState + allowedStates: + - Alive + - Critical + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 100: Critical + 200: Dead + stateAlertDict: + Alive: BorgHealth + Critical: BorgCrit + Dead: BorgDead + + allowRevives: true # Для воскрешения достаточно починить урон. - ss220. + - type: NpcFactionMember + factions: + - DroneAntag + - type: NameIdentifier + group: ADTDroneAntagSoldier + - type: UnpoweredFlashlight + - type: PointLight + enabled: false + color: "#cc5500" + radius: 7 + energy: 1.7 + mask: /Textures/Effects/LightMasks/cone.png + autoRot: true + - type: TypingIndicator + proto: robot + - type: Prying + pryPowered: true + force: true + - type: AutoImplant + implants: + - SyndUniversalTranslatorImplanter + - type: Repairable + doAfterDelay: 5 + damage: + types: + Blunt: -20 + Slash: -20 + Piercing: -20 + - type: Damageable + damageModifierSet: ADTAntagDroneIPCDamageModSet + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 75 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Machines/warning_buzzer.ogg + params: + volume: 5 + - trigger: + !type:DamageTrigger + damage: 300 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:SpawnEntitiesBehavior + spawn: + ADTDroneAntagCoreAdvanced: + min: 1 + max: 1 + SheetSteel1: + min: 5 + max: 5 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: SiliconDownOnDead + - type: Inventory + templateId: ipc + - type: EyeProtection + protectionTime: 30 + # - type: Battery + # maxCharge: 75000 + # startingCharge: 75000 + # - type: Silicon + # entityType: enum.SiliconType.Player + # batteryPowered: true + # drainPerSecond: 30 + # chargeThresholdMid: 0.80 + # chargeThresholdLow: 0.35 + # chargeThresholdCritical: 0.10 + # speedModifierThresholds: + # 4: 1 + # 3: 1 + # 2: 0.80 + # 1: 0.45 + # 0: 0.00 + # - type: BatteryDrinker + # - type: Wires + # boardName: "ipc-board-name" + # layoutId: IPC + # - type: WiresPanel + - type: EncryptionKeyHolder + keySlots: 5 + examineWhileLocked: false + keysExtractionMethod: Cutting + - type: ContainerFill + containers: + key_slots: + - ADTEncryptionKeyDroneAntag + - EncryptionKeyCommon + - type: IntrinsicRadioReceiver + - type: IntrinsicRadioTransmitter + channels: + - ADTDroneAntagChannel + - Common + - type: ActiveRadio + channels: + - ADTDroneAntagChannel + - Common +# - type: UnblockableSpeech + - type: ContentEye + maxZoom: 1.0,1.0 + - type: LightningTarget + priority: 4 + lightningExplode: false + - type: TriggerOnMobstateChange + mobState: + - Dead + - type: EmitSoundOnTrigger + sound: + path: /Audio/ADT/IPC/borg_deathsound.ogg + - type: LanguageSpeaker + speaks: + - GalacticCommon + - BorgTalk + - RobotTalk + - SolCommon + understands: + - GalacticCommon + - BorgTalk + - RobotTalk + - SolCommon + - type: Tag + tags: + - ChangelingBlacklist + - ShoesRequiredStepTriggerImmune + - CanPilot + - FootstepSound + - DoorBumpOpener + - type: SizeAttributeWhitelist # Frontier + tall: true + tallscale: 1.1 + short: true + shortscale: 0.9 + - type: StaticPrice + price: 2525 + +# damage modifier set + +- type: damageModifierSet + id: ADTAntagDroneIPCDamageModSet + coefficients: + Blunt: 0.35 + Slash: 0.35 + Piercing: 0.45 + Heat: 0.20 + #Explosive: 0.25 + Structural: 0 + # zap + Shock: 0.5 + Cold: 0 + Caustic: 0.3 + + +# DRONE NAME IDENTIFIER + + +# - type: nameIdentifierGroup +# id: ADTDroneAntagMiner +# prefix: drone miner SD +# fullName: true +# minValue: 100 +# maxValue: 999 + +# - type: nameIdentifierGroup +# id: ADTDroneAntagSoldier +# prefix: drone soldier SD +# fullName: true +# minValue: 100 +# maxValue: 999 + + +# IPC DRONE NAME IDENTIFIER + + +# - type: nameIdentifierGroup +# id: ADTIPCAntag +# prefix: BF +# fullName: true +# minValue: 10000 +# maxValue: 99999 + + +# DRONE RADIO CHANNEL + + +# - type: radioChannel +# id: ADTDroneAntagChannel +# name: Дроны +# keycode: 'й' +# frequency: 1301 +# color: "#690e0e" + + +# DRONE ENCRYPTION KEY + + +# - type: entity +# parent: EncryptionKey +# id: ADTEncryptionKeyDroneAntag +# name: Ключ к каналу дронов +# description: Ключ к доступу каналов дронов. +# components: +# - type: EncryptionKey +# channels: +# - ADTDroneAntag +# - Common +# defaultChannel: ADTDroneAntag +# - type: Sprite +# layers: +# - state: crypt_silver +# - state: rd_label diff --git a/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_InventoryTemplate.yml b/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_InventoryTemplate.yml new file mode 100644 index 00000000000..abd7c296e71 --- /dev/null +++ b/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_InventoryTemplate.yml @@ -0,0 +1,19 @@ +- type: inventoryTemplate + id: droneantaginventory + slots: + - name: back + slotTexture: back + slotFlags: BACK + slotGroup: SecondHotbar + stripTime: 6 + uiWindowPos: 3,0 + strippingWindowPos: 0,6 + displayName: Back + - name: belt + slotTexture: belt + slotFlags: BELT + slotGroup: SecondHotbar + stripTime: 6 + uiWindowPos: 3,1 + strippingWindowPos: 1,6 + displayName: Belt diff --git a/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_Spawner.yml b/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_Spawner.yml new file mode 100644 index 00000000000..172b3c1368e --- /dev/null +++ b/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_Spawner.yml @@ -0,0 +1,60 @@ +- type: entity + name: drone miner spawner + id: ADTSpawnerDroneAntagMiner + parent: MarkerBase + components: + - type: Sprite + layers: + - sprite: ADT/Markers/job.rsi + state: green + - sprite: ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi + state: mineshell + - type: ConditionalSpawner + prototypes: + - ADTDroneAntagMiner + +- type: entity + name: drone engineer spawner + id: ADTSpawnerDroneAntagEngineer + parent: MarkerBase + components: + - type: Sprite + layers: + - sprite: ADT/Markers/job.rsi + state: green + - sprite: ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi + state: engshell + - type: ConditionalSpawner + prototypes: + - ADTDroneAntagMiner + +- type: entity + name: drone charger spawner + id: ADTSpawnerDroneAntagCharger + parent: MarkerBase + components: + - type: Sprite + layers: + - sprite: ADT/Markers/job.rsi + state: green + - sprite: ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi + state: chargeshell + - type: ConditionalSpawner + prototypes: + - ADTDroneAntagMiner + +- type: entity + name: drone soldier spawner + suffix: IPC + id: ADTSpawnerDroneAntagIPC + parent: MarkerBase + components: + - type: Sprite + layers: + - sprite: ADT/Markers/job.rsi + state: green + - sprite: ADT/Mobs/Silicon/AntagDrones/drone-ipc-soldier.rsi + state: ipc_icon + - type: ConditionalSpawner + prototypes: + - ADTDroneAntagIPC diff --git a/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_StartingGear.yml b/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_StartingGear.yml new file mode 100644 index 00000000000..140a929a8f5 --- /dev/null +++ b/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_StartingGear.yml @@ -0,0 +1,106 @@ +- type: entity + name: ore bag + id: OreBagAntagDrone + parent: BaseStorageItem + suffix: Antag Drone + components: + - type: MagnetPickup + - type: Sprite + sprite: Objects/Specific/Mining/ore_bag.rsi + state: icon + - type: Clothing + sprite: ADT/Clothing/Back/ertleader_cyb.rsi # invisible sprite + quickEquip: false + slots: + - belt + - type: Item + size: Ginormous + - type: Storage + maxItemSize: Normal + grid: + - 0,0,9,3 + quickInsert: true + areaInsert: true + whitelist: + tags: + - ArtifactFragment + - Ore + - type: Dumpable + +- type: entity + parent: ClothingBackpack + id: ClothingBackpackAntagDroneMiner + name: backpack antag drone miner + components: + - type: Sprite + sprite: ADT/Clothing/Back/ertleader_cyb.rsi # invisible sprite + - type: Unremoveable + - type: StorageFill + contents: + - id: MiningDrill + - id: WeaponProtoKineticAccelerator + - id: JawsOfLife + - id: PowerDrill + +- type: entity + parent: ClothingBackpack + id: ClothingBackpackAntagDroneEngineer + name: backpack antag drone engineer + components: + - type: Sprite + sprite: ADT/Clothing/Back/ertleader_cyb.rsi # invisible sprite + - type: Unremoveable + - type: StorageFill + contents: + - id: WelderIndustrial + - id: JawsOfLife + - id: PowerDrill + - id: Multitool + - id: trayScanner + +- type: entity + parent: ClothingBackpack + id: ClothingBackpackAntagDroneCharger + name: backpack antag drone charger + components: + - type: Sprite + sprite: ADT/Clothing/Back/ertleader_cyb.rsi # invisible sprite + - type: Unremoveable + - type: StorageFill + contents: + - id: JawsOfLife + - id: WeaponLaserGun + +- type: startingGear + id: ADTAntagDroneGearMiner + equipment: + back: ClothingBackpackAntagDroneMiner + belt: OreBagAntagDrone + # inhand: + # - MiningDrill + # - WeaponProtoKineticAccelerator + # - JawsOfLife + # - PowerDrill + # - OreBag + +- type: startingGear + id: ADTAntagDroneGearEngineer + equipment: + back: ClothingBackpackAntagDroneEngineer + belt: OreBagAntagDrone + # inhand: + # - WelderIndustrial + # - JawsOfLife + # - PowerDrill + # - Multitool + # - trayScanner + # - OreBag + +- type: startingGear + id: ADTAntagDroneGearCharger + equipment: + back: ClothingBackpackAntagDroneCharger + belt: OreBagAntagDrone + # inhand: + # - JawsOfLife + diff --git a/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_Turret.yml b/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_Turret.yml new file mode 100644 index 00000000000..efd7b8e4a0f --- /dev/null +++ b/Resources/Prototypes/ADT/Drones/Drone-Antags/DroneAntag_Turret.yml @@ -0,0 +1,21 @@ +- type: npcFaction + id: DroneAntag + hostile: + - SimpleHostile + - Syndicate + - Xeno + - Zombie + - Revolutionary + - NanoTrasen + - PetsNT + - Dragon + +- type: entity + parent: BaseWeaponTurret + id: ADTWeaponTurretDroneAntag + suffix: Drone Antag + components: + - type: NpcFactionMember + factions: + - DroneAntag + diff --git a/Resources/Prototypes/ADT/Drones/Drone-Antags/OLD_DroneAntag.yml b/Resources/Prototypes/ADT/Drones/Drone-Antags/OLD_DroneAntag.yml new file mode 100644 index 00000000000..97d05385cf6 --- /dev/null +++ b/Resources/Prototypes/ADT/Drones/Drone-Antags/OLD_DroneAntag.yml @@ -0,0 +1,761 @@ +# - type: entity +# save: false +# abstract: true +# id: ADTDroneAntagBaseOLD +# components: +# - type: MindContainer +# - type: InputMover +# - type: MobMover +# - type: Reactive +# groups: +# Acidic: [Touch] +# - type: Input +# context: "human" +# - type: DamageOnHighSpeedImpact +# damage: +# types: +# Blunt: 5 +# soundHit: +# collection: MetalThud +# - type: Clickable +# - type: Damageable +# damageContainer: Inorganic +# - type: Bloodstream +# bloodReagent: Oil +# bloodlossDamage: +# types: +# Bloodloss: +# 1 +# bloodlossHealDamage: +# types: +# Bloodloss: +# -1 +# - type: InteractionOutline +# - type: Fixtures +# fixtures: +# fix1: +# shape: +# # Circles, cuz rotation of rectangles looks very bad +# !type:PhysShapeCircle +# radius: 0.35 +# density: 50 +# mask: +# - MobMask +# layer: +# - MobLayer +# - type: MovementSpeedModifier +# baseWalkSpeed : 4 +# baseSprintSpeed : 3 +# - type: Sprite +# noRot: true +# drawdepth: Mobs +# - type: Physics +# bodyType: KinematicController +# - type: Hands +# showInHands: false +# - type: Body +# prototype: Drone +# - type: IntrinsicRadioReceiver +# - type: IntrinsicRadioTransmitter +# channels: +# - ADTDroneAntag +# - Common +# - type: ActiveRadio +# channels: +# - ADTDroneAntag +# - Common +# - type: DoAfter +# - type: Pullable +# - type: Examiner +# - type: Puller +# - type: StandingState +# - type: Alerts +# - type: Tag +# tags: +# - ShoesRequiredStepTriggerImmune +# # Frontier - languages mechanic +# - type: LanguageSpeaker +# speaks: +# - BorgTalk +# understands: +# - GalacticCommon +# - BorgTalk +# - SolCommon + +# - type: entity +# name: drone miner +# id: ADTDroneAntagMinerOLD +# parent: ADTDroneAntagBase +# components: +# - type: Drone +# - type: NameIdentifier +# group: ADTDroneAntag +# - type: Inventory +# templateId: drone +# - type: InventorySlots +# - type: Strippable +# - type: UserInterface +# interfaces: +# - key: enum.StrippingUiKey.Key +# type: StrippableBoundUserInterface +# # - key: enum.SiliconLawsUiKey.Key +# # type: SiliconLawBoundUserInterface +# # - type: SiliconLawBound +# # - type: SiliconLawProvider +# # laws: Drone +# - type: MovementSpeedModifier +# baseWalkSpeed : 5 +# baseSprintSpeed : 5 +# - type: MobState +# allowedStates: +# - Alive +# - Dead +# - type: MobThresholds +# thresholds: +# 0: Alive +# 125: Dead +# - type: NoSlip +# - type: StatusEffects +# allowed: +# - Stun +# - type: Temperature +# heatDamageThreshold: 5000 +# currentTemperature: 310.15 +# specificHeat: 42 +# heatDamage: +# types: +# Heat : 1 #per second, scales with temperature & other constants +# - type: Sprite +# drawdepth: Mobs +# layers: +# - state: mineshell +# sprite: ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi +# map: ["base"] +# - type: MovementIgnoreGravity +# - type: IntrinsicRadioTransmitter +# channels: +# - ADTDroneAntag +# - Common +# - type: ActiveRadio +# channels: +# - ADTDroneAntag +# - Common +# - type: Fixtures +# fixtures: +# fix1: +# shape: +# !type:PhysShapeCircle +# radius: 0.35 +# density: 50 +# mask: +# - FlyingMobMask +# layer: +# - FlyingMobLayer +# - type: Appearance +# - type: GenericVisualizer +# visuals: +# enum.DroneVisuals.Status: +# base: +# Off: { state: mineshell } +# On: { state: minedrone } +# # - type: ReplacementAccent +# # accent: silicon +# - type: Actions +# - type: UnpoweredFlashlight +# - type: PointLight +# enabled: false +# color: "#d7f705" +# radius: 7 +# energy: 1 +# mask: /Textures/Effects/LightMasks/cone.png +# autoRot: true +# - type: Tag +# tags: +# - ShoesRequiredStepTriggerImmune +# - CannotSuicide +# - type: StaticPrice +# price: 250 +# # Frontier - languages mechanic +# - type: LanguageSpeaker +# speaks: +# - BorgTalk +# understands: +# - GalacticCommon +# - BorgTalk +# - SolCommon +# - type: CombatMode +# - type: MeleeWeapon +# hidden: true +# damage: +# groups: +# Brute: 5 +# - type: EyeProtection +# protectionTime: 12 +# - type: TypingIndicator +# proto: robot +# - type: Speech +# speechSounds: Pai +# - type: ZombieImmune +# - type: Repairable +# fuelcost: 15 +# doAfterDelay: 5 +# - type: Hands +# showInHands: false +# - type: Body +# prototype: Human + + + +# - type: entity +# name: drone soldier +# id: ADTDroneAntagEngineerOLD +# parent: ADTDroneAntagBase +# components: +# - type: Drone +# - type: NameIdentifier +# group: ADTDroneAntag +# - type: Inventory +# templateId: drone +# - type: InventorySlots +# - type: Strippable +# - type: UserInterface +# interfaces: +# - key: enum.StrippingUiKey.Key +# type: StrippableBoundUserInterface +# # - key: enum.SiliconLawsUiKey.Key +# # type: SiliconLawBoundUserInterface +# # - type: SiliconLawBound +# # - type: SiliconLawProvider +# # laws: Drone +# - type: MovementSpeedModifier +# baseWalkSpeed : 5 +# baseSprintSpeed : 5 +# - type: MobState +# allowedStates: +# - Alive +# - Dead +# - type: MobThresholds +# thresholds: +# 0: Alive +# 125: Dead +# - type: NoSlip +# - type: StatusEffects +# allowed: +# - Stun +# - type: Temperature +# heatDamageThreshold: 5000 +# currentTemperature: 310.15 +# specificHeat: 42 +# heatDamage: +# types: +# Heat : 1 #per second, scales with temperature & other constants +# # - type: Sprite +# # drawdepth: Mobs +# # layers: +# # - state: engshell +# # sprite: ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi +# # map: ["base"] +# - type: Sprite +# drawdepth: Mobs +# layers: +# - state: engshell +# sprite: ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi +# map: ["base"] +# - type: MovementIgnoreGravity +# - type: IntrinsicRadioTransmitter +# channels: +# - ADTDroneAntag +# - Common +# - type: ActiveRadio +# channels: +# - ADTDroneAntag +# - Common +# - type: Fixtures +# fixtures: +# fix1: +# shape: +# !type:PhysShapeCircle +# radius: 0.35 +# density: 50 +# mask: +# - FlyingMobMask +# layer: +# - FlyingMobLayer +# - type: Appearance +# - type: GenericVisualizer +# visuals: +# enum.DroneVisuals.Status: +# base: +# Off: { state: engshell } +# On: { state: engdrone } +# # - type: ReplacementAccent +# # accent: silicon +# - type: Actions +# - type: UnpoweredFlashlight +# - type: PointLight +# enabled: false +# color: "#d7f705" +# radius: 7 +# energy: 1 +# mask: /Textures/Effects/LightMasks/cone.png +# autoRot: true +# - type: Tag +# tags: +# - ShoesRequiredStepTriggerImmune +# - CannotSuicide +# - type: StaticPrice +# price: 250 +# # Frontier - languages mechanic +# - type: LanguageSpeaker +# speaks: +# - BorgTalk +# understands: +# - GalacticCommon +# - BorgTalk +# - SolCommon +# - type: CombatMode +# - type: MeleeWeapon +# hidden: true +# damage: +# groups: +# Brute: 5 +# - type: EyeProtection +# protectionTime: 12 +# - type: TypingIndicator +# proto: robot +# - type: Speech +# speechSounds: Pai +# - type: ZombieImmune +# - type: Repairable +# fuelcost: 15 +# doAfterDelay: 5 +# - type: Hands +# showInHands: false +# - type: Body +# prototype: Human + + + +# - type: entity +# name: drone sodlier +# id: ADTDroneAntagChargerOLD +# parent: ADTDroneAntagBase +# components: +# - type: Drone +# - type: NameIdentifier +# group: ADTDroneAntag +# - type: Inventory +# templateId: drone +# - type: InventorySlots +# - type: Strippable +# - type: UserInterface +# interfaces: +# - key: enum.StrippingUiKey.Key +# type: StrippableBoundUserInterface +# # - key: enum.SiliconLawsUiKey.Key +# # type: SiliconLawBoundUserInterface +# # - type: SiliconLawBound +# # - type: SiliconLawProvider +# # laws: Drone +# - type: MovementSpeedModifier +# baseWalkSpeed : 5 +# baseSprintSpeed : 5 +# - type: MobState +# allowedStates: +# - Alive +# - Dead +# - type: MobThresholds +# thresholds: +# 0: Alive +# 125: Dead +# - type: NoSlip +# - type: StatusEffects +# allowed: +# - Stun +# - type: Temperature +# heatDamageThreshold: 5000 +# currentTemperature: 310.15 +# specificHeat: 42 +# heatDamage: +# types: +# Heat : 1 #per second, scales with temperature & other constants +# - type: Sprite +# drawdepth: Mobs +# layers: +# - state: chargeshell +# sprite: ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi +# map: ["base"] +# - type: MovementIgnoreGravity +# - type: IntrinsicRadioTransmitter +# channels: +# - ADTDroneAntag +# - Common +# - type: ActiveRadio +# channels: +# - ADTDroneAntag +# - Common +# - type: Fixtures +# fixtures: +# fix1: +# shape: +# !type:PhysShapeCircle +# radius: 0.35 +# density: 50 +# mask: +# - FlyingMobMask +# layer: +# - FlyingMobLayer +# - type: Appearance +# - type: GenericVisualizer +# visuals: +# enum.DroneVisuals.Status: +# base: +# Off: { state: chargeshell } +# On: { state: chargedrone } +# # - type: ReplacementAccent +# # accent: silicon +# - type: Actions +# - type: UnpoweredFlashlight +# - type: PointLight +# enabled: false +# color: "#d7f705" +# radius: 7 +# energy: 1 +# mask: /Textures/Effects/LightMasks/cone.png +# autoRot: true +# - type: Tag +# tags: +# - ShoesRequiredStepTriggerImmune +# - CannotSuicide +# - type: StaticPrice +# price: 250 +# # Frontier - languages mechanic +# - type: LanguageSpeaker +# speaks: +# - BorgTalk +# understands: +# - GalacticCommon +# - BorgTalk +# - SolCommon +# - type: CombatMode +# - type: MeleeWeapon +# hidden: true +# damage: +# groups: +# Brute: 5 +# - type: EyeProtection +# protectionTime: 12 +# - type: TypingIndicator +# proto: robot +# - type: Speech +# speechSounds: Pai +# - type: ZombieImmune +# - type: Repairable +# fuelcost: 15 +# doAfterDelay: 5 +# - type: Hands +# showInHands: false +# - type: Body +# prototype: Human + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# OLD DRONE BASE + + +# - type: entity +# abstract: true +# id: ADTDroneAntagBase +# components: +# - type: MindContainer +# - type: InputMover +# - type: MobMover +# - type: Clickable +# - type: CombatMode +# - type: InteractionOutline +# - type: DoAfter +# - type: Pullable +# - type: Examiner +# - type: Puller +# - type: StandingState +# - type: Alerts +# - type: Rotatable +# - type: RotationVisuals +# - type: FloatingVisuals +# - type: Reactive +# groups: +# Acidic: [Touch] +# - type: Input +# context: "human" +# - type: DamageOnHighSpeedImpact +# damage: +# types: +# Blunt: 5 +# soundHit: +# collection: MetalThud +# - type: Damageable +# damageContainer: Inorganic +# - type: Bloodstream +# bloodReagent: Oil +# bloodlossDamage: +# types: +# Bloodloss: +# 1 +# bloodlossHealDamage: +# types: +# Bloodloss: +# -1 +# - type: Fixtures +# fixtures: +# fix1: +# shape: +# # Circles, cuz rotation of rectangles looks very bad +# !type:PhysShapeCircle +# radius: 0.35 +# density: 50 +# mask: +# - MobMask +# layer: +# - MobLayer +# - type: MovementSpeedModifier +# baseWalkSpeed : 4 +# baseSprintSpeed : 3 +# - type: EyeProtection +# protectionTime: 12 +# - type: Sprite +# noRot: true +# drawdepth: Mobs +# - type: Physics +# bodyType: KinematicController +# - type: Hands +# showInHands: false +# - type: Body +# prototype: Drone +# - type: IntrinsicRadioReceiver +# - type: IntrinsicRadioTransmitter +# channels: +# - ADTDroneAntag +# - Common +# - type: ActiveRadio +# channels: +# - ADTDroneAntag +# - Common +# - type: Tag +# tags: +# - ShoesRequiredStepTriggerImmune +# - CannotSuicide +# - DoorBumpOpener +# - type: Access +# tags: +# - External +# - type: TypingIndicator +# proto: robot +# - type: Speech +# speechSounds: Pai +# # Frontier - languages mechanic +# - type: LanguageSpeaker +# speaks: +# - BorgTalk +# understands: +# - GalacticCommon +# - BorgTalk +# - SolCommon + + +# OLD FIRST DRONE + + +# - type: entity +# name: drone miner +# id: ADTDroneAntagMiner +# parent: ADTDroneAntagBase +# components: +# - type: NameIdentifier +# group: ADTDroneAntag +# - type: Inventory +# templateId: drone +# - type: InventorySlots +# - type: MovementSpeedModifier +# baseWalkSpeed : 5 +# baseSprintSpeed : 5 +# - type: MobState +# allowedStates: +# - Alive +# - Dead +# - type: ZombieImmune +# - type: MobThresholds +# thresholds: +# 0: Alive +# 125: Dead +# - type: NoSlip +# - type: StatusEffects +# allowed: +# - SlowedDown +# - type: SlowOnDamage +# speedModifierThresholds: +# 80: 0.5 +# - type: Temperature +# heatDamageThreshold: 5000 +# currentTemperature: 310.15 +# specificHeat: 42 +# heatDamage: +# types: +# Heat : 1 #per second, scales with temperature & other constants +# - type: Sprite +# drawdepth: Mobs +# netsync: true +# layers: +# - state: mineshell +# sprite: ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi +# map: ["base"] +# - type: MovementIgnoreGravity +# - type: IntrinsicRadioTransmitter +# channels: +# - ADTDroneAntag +# - Common +# - type: ActiveRadio +# channels: +# - ADTDroneAntag +# - Common +# - type: Fixtures +# fixtures: +# fix1: +# shape: +# !type:PhysShapeCircle +# radius: 0.35 +# density: 50 +# mask: +# - FlyingMobMask +# layer: +# - FlyingMobLayer +# - type: Appearance +# - type: GenericVisualizer +# visuals: +# enum.DroneVisuals.Status: +# base: +# Off: { state: mineshell } +# On: { state: minedrone } +# # - type: ReplacementAccent +# # accent: silicon +# - type: Repairable +# fuelcost: 15 +# doAfterDelay: 5 +# - type: Actions +# - type: UnpoweredFlashlight +# - type: PointLight +# enabled: false +# radius: 3.5 +# softness: 1 +# mask: /Textures/Effects/LightMasks/cone.png +# autoRot: true +# - type: StaticPrice +# price: 250 +# # Frontier - languages mechanic +# - type: LanguageSpeaker +# speaks: +# - BorgTalk +# understands: +# - GalacticCommon +# - BorgTalk +# - SolCommon + + +# IPC DRONE + + +# - type: entity +# name: drone soldier +# id: ADTDroneIPCAntag +# parent: ADTDroneAntagBase +# components: +# - type: MobThresholds +# thresholds: +# 0: Alive +# 100: Critical +# 200: Dead + + +# DRONE NAME IDENTIFIER + + +# - type: nameIdentifierGroup +# id: ADTDroneAntag +# prefix: SD +# fullName: true +# minValue: 10000 +# maxValue: 99999 + + +# IPC DRONE NAME IDENTIFIER + + +# - type: nameIdentifierGroup +# id: ADTIPCAntag +# prefix: BF +# fullName: true +# minValue: 10000 +# maxValue: 99999 + + +# DRONE RADIO CHANNEL + + +# - type: radioChannel +# id: ADTDroneAntagChannel +# name: Дроны +# keycode: 'й' +# frequency: 1301 +# color: "#690e0e" + + +# DRONE ENCRYPTION KEY + + +# - type: entity +# parent: EncryptionKey +# id: ADTEncryptionKeyDroneAntag +# name: Ключ к каналу дронов +# description: Ключ к доступу каналов дронов. +# components: +# - type: EncryptionKey +# channels: +# - ADTDroneAntag +# - Common +# defaultChannel: ADTDroneAntag +# - type: Sprite +# layers: +# - state: crypt_silver +# - state: rd_label + + + + diff --git a/Resources/Prototypes/ADT/KD/Channels/Channels/DroneAntagChannel.yml b/Resources/Prototypes/ADT/KD/Channels/Channels/DroneAntagChannel.yml new file mode 100644 index 00000000000..668f5f99f0c --- /dev/null +++ b/Resources/Prototypes/ADT/KD/Channels/Channels/DroneAntagChannel.yml @@ -0,0 +1,7 @@ +- type: radioChannel + id: ADTDroneAntagChannel + name: Дроны + keycode: 'й' + frequency: 1301 + color: "#690e0e" + longRange: true diff --git a/Resources/Prototypes/ADT/KD/Channels/keys/DroneAntagKey.yml b/Resources/Prototypes/ADT/KD/Channels/keys/DroneAntagKey.yml new file mode 100644 index 00000000000..0525f422152 --- /dev/null +++ b/Resources/Prototypes/ADT/KD/Channels/keys/DroneAntagKey.yml @@ -0,0 +1,15 @@ +- type: entity + parent: EncryptionKey + id: ADTEncryptionKeyDroneAntag + name: Ключ к каналу дронов + description: Ключ к доступу каналов дронов. + components: + - type: EncryptionKey + channels: + - ADTDroneAntagChannel + - Common + defaultChannel: ADTDroneAntagChannel + - type: Sprite + layers: + - state: crypt_silver + - state: rd_label diff --git a/Resources/Prototypes/name_identifier_groups.yml b/Resources/Prototypes/name_identifier_groups.yml index 7df370035e3..74376ac6524 100644 --- a/Resources/Prototypes/name_identifier_groups.yml +++ b/Resources/Prototypes/name_identifier_groups.yml @@ -18,6 +18,27 @@ minValue: 10000 maxValue: 99999 +- type: nameIdentifierGroup + id: ADTDroneAntagMiner + prefix: drone miner SD + fullName: true + minValue: 100 + maxValue: 999 + +- type: nameIdentifierGroup + id: ADTDroneAntagSoldier + prefix: drone soldier SD + fullName: true + minValue: 100 + maxValue: 999 + +- type: nameIdentifierGroup + id: ADTIPCAntag + prefix: BF + fullName: true + minValue: 100 + maxValue: 999 + - type: nameIdentifierGroup id: MMI prefix: MMI diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi/chargedrone.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi/chargedrone.png new file mode 100644 index 00000000000..17d6fd78bb5 Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi/chargedrone.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi/chargeshell.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi/chargeshell.png new file mode 100644 index 00000000000..ffc8ab782a8 Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi/chargeshell.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi/l_hand.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi/l_hand.png new file mode 100644 index 00000000000..272f4a06646 Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi/l_hand.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi/meta.json b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi/meta.json new file mode 100644 index 00000000000..86855294b1d --- /dev/null +++ b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi/meta.json @@ -0,0 +1,52 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "made by discord: mnogo_znal", + "states": [ + { + "name": "chargedrone", + "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 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "chargeshell" + }, + { + "name": "l_hand", + "directions": 4 + }, + { + "name": "r_hand", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi/r_hand.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi/r_hand.png new file mode 100644 index 00000000000..4a18493138c Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-charger.rsi/r_hand.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-advanced.rsi/drone-core-advanced.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-advanced.rsi/drone-core-advanced.png new file mode 100644 index 00000000000..0e492e395df Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-advanced.rsi/drone-core-advanced.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-advanced.rsi/meta.json b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-advanced.rsi/meta.json new file mode 100644 index 00000000000..501da3a2530 --- /dev/null +++ b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-advanced.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "done by discord: mnogo_znal", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "drone-core-advanced" + } + ] + } diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-basic.rsi/drone-core-basic.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-basic.rsi/drone-core-basic.png new file mode 100644 index 00000000000..9539935f2c4 Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-basic.rsi/drone-core-basic.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-basic.rsi/meta.json b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-basic.rsi/meta.json new file mode 100644 index 00000000000..765c511befe --- /dev/null +++ b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-basic.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "done by discord: mnogo_znal", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "drone-core-basic" + } + ] + } diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-command.rsi/drone-core-command.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-command.rsi/drone-core-command.png new file mode 100644 index 00000000000..4c85865f616 Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-command.rsi/drone-core-command.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-command.rsi/meta.json b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-command.rsi/meta.json new file mode 100644 index 00000000000..9517bd8af44 --- /dev/null +++ b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-command.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "done by discord: mnogo_znal", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "drone-core-command" + } + ] + } diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-elite.rsi/drone-core-elite.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-elite.rsi/drone-core-elite.png new file mode 100644 index 00000000000..e7cddbf67d4 Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-elite.rsi/drone-core-elite.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-elite.rsi/meta.json b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-elite.rsi/meta.json new file mode 100644 index 00000000000..9af8685210d --- /dev/null +++ b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-core-elite.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "done by discord: mnogo_znal", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "drone-core-elite" + } + ] + } diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi/engdrone.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi/engdrone.png new file mode 100644 index 00000000000..4ce023b4499 Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi/engdrone.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi/engshell.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi/engshell.png new file mode 100644 index 00000000000..bc183c26dc1 Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi/engshell.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi/l_hand.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi/l_hand.png new file mode 100644 index 00000000000..272f4a06646 Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi/l_hand.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi/meta.json b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi/meta.json new file mode 100644 index 00000000000..270a647d52a --- /dev/null +++ b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi/meta.json @@ -0,0 +1,52 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "made by discord: mnogo_znal", + "states": [ + { + "name": "engdrone", + "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 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "engshell" + }, + { + "name": "l_hand", + "directions": 4 + }, + { + "name": "r_hand", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi/r_hand.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi/r_hand.png new file mode 100644 index 00000000000..4a18493138c Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-engineer.rsi/r_hand.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-ipc-soldier.rsi/ipc_full.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-ipc-soldier.rsi/ipc_full.png new file mode 100644 index 00000000000..95ec2c4d7f8 Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-ipc-soldier.rsi/ipc_full.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-ipc-soldier.rsi/ipc_icon.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-ipc-soldier.rsi/ipc_icon.png new file mode 100644 index 00000000000..e2dc6b1445d Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-ipc-soldier.rsi/ipc_icon.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-ipc-soldier.rsi/meta.json b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-ipc-soldier.rsi/meta.json new file mode 100644 index 00000000000..e64b6feedfb --- /dev/null +++ b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-ipc-soldier.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "made by discord: mnogo_znal", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "ipc_full", + "directions": 4 + }, + { + "name": "ipc_icon" + } + ] + } diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi/l_hand.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi/l_hand.png new file mode 100644 index 00000000000..272f4a06646 Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi/l_hand.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi/meta.json b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi/meta.json new file mode 100644 index 00000000000..b2b97759322 --- /dev/null +++ b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi/meta.json @@ -0,0 +1,52 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "made by discord: mnogo_znal", + "states": [ + { + "name": "minedrone", + "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 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "mineshell" + }, + { + "name": "l_hand", + "directions": 4 + }, + { + "name": "r_hand", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi/minedrone.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi/minedrone.png new file mode 100644 index 00000000000..22e2cfbc8e5 Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi/minedrone.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi/mineshell.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi/mineshell.png new file mode 100644 index 00000000000..aff76bd6f4e Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi/mineshell.png differ diff --git a/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi/r_hand.png b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi/r_hand.png new file mode 100644 index 00000000000..4a18493138c Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Silicon/AntagDrones/drone-miner.rsi/r_hand.png differ