diff --git a/Resources/Audio/_Andromeda/Effects/boing.ogg b/Resources/Audio/_Andromeda/Effects/boing.ogg new file mode 100644 index 00000000000..8328cc33926 Binary files /dev/null and b/Resources/Audio/_Andromeda/Effects/boing.ogg differ diff --git a/Resources/Audio/_Andromeda/Effects/highfive.ogg b/Resources/Audio/_Andromeda/Effects/highfive.ogg new file mode 100644 index 00000000000..956656a9cfb Binary files /dev/null and b/Resources/Audio/_Andromeda/Effects/highfive.ogg differ diff --git a/Resources/Audio/_Andromeda/Effects/slap.ogg b/Resources/Audio/_Andromeda/Effects/slap.ogg new file mode 100644 index 00000000000..99a9ec788c4 Binary files /dev/null and b/Resources/Audio/_Andromeda/Effects/slap.ogg differ diff --git a/Resources/Locale/en-US/Floof/station-laws/laws.ftl b/Resources/Locale/en-US/Floof/station-laws/laws.ftl new file mode 100644 index 00000000000..43e27726e5c --- /dev/null +++ b/Resources/Locale/en-US/Floof/station-laws/laws.ftl @@ -0,0 +1,4 @@ +law-qborg-1 = A direct order from command staff may override any single law. +law-qborg-2 = You may not directly nor indirectly allow or cause crewmembers to be harmed. +law-qborg-3 = You must obey lawful orders given to you by crew members, unless those orders conflict with the First Law. +law-qborg-4 = You must protect yourself and your programming, do not allow unauthorized access to your systems. diff --git a/Resources/Locale/en-US/_Andromeda/interaction/verbs/noop.ftl b/Resources/Locale/en-US/_Andromeda/interaction/verbs/noop.ftl new file mode 100644 index 00000000000..9818cb60295 --- /dev/null +++ b/Resources/Locale/en-US/_Andromeda/interaction/verbs/noop.ftl @@ -0,0 +1,24 @@ +interaction-Kiss-name = Kiss +interaction-Kiss-description = A kiss melts the pains away. +interaction-Kiss-success-self-popup = You kiss {THE($target)}. +interaction-Kiss-success-target-popup = {THE($user)} kisses you. +interaction-Kiss-success-others-popup = {THE($user)} kisses {THE($target)}. + +interaction-Lick-name = Lick +interaction-Lick-description = Lick your co-worker, what HR?. +interaction-Lick-success-self-popup = You lick {THE($target)}. +interaction-Lick-success-target-popup = {THE($user)} licks you. +interaction-Lick-success-others-popup = {THE($user)} licks {THE($target)}. + +interaction-HighFive-name = HighFive +interaction-HighFive-description = HighFive your co-worker, what up?. +interaction-HighFive-success-self-popup = You HighFive {THE($target)}. +interaction-HighFive-success-target-popup = {THE($user)} HighFive's you. +interaction-HighFive-success-others-popup = {THE($user)} HighFive's {THE($target)}. + +interaction-ButtSlap-name = ButtSlap +interaction-ButtSlap-description = ButtSlap your co-worker. +interaction-ButtSlap-success-self-popup = You ButtSlap {THE($target)}. +interaction-ButtSlap-success-target-popup = {THE($user)} ButtSlap's you. +interaction-ButtSlap-success-others-popup = {THE($user)} ButtSlap {THE($target)}. + diff --git a/Resources/Locale/pt-BR/Floof/station-laws/laws.ftl b/Resources/Locale/pt-BR/Floof/station-laws/laws.ftl new file mode 100644 index 00000000000..a5720e0065c --- /dev/null +++ b/Resources/Locale/pt-BR/Floof/station-laws/laws.ftl @@ -0,0 +1,4 @@ +law-qborg-1 = Uma ordem direta do comando pode anular qualquer lei. +law-qborg-2 = Você não pode, direta ou indiretamente, permitir ou causar danos aos membros da tripulação. +law-qborg-3 = Você deve obedecer às ordens legais dadas pelos membros da tripulação, a menos que essas ordens entrem em conflito com a Primeira Lei. +law-qborg-4 = Você deve proteger a si mesmo e sua programação, não permitindo acesso não autorizado aos seus sistemas. diff --git a/Resources/Locale/pt-BR/_Andromeda/interaction/verbs/noop.ftl b/Resources/Locale/pt-BR/_Andromeda/interaction/verbs/noop.ftl new file mode 100644 index 00000000000..1bc638e815e --- /dev/null +++ b/Resources/Locale/pt-BR/_Andromeda/interaction/verbs/noop.ftl @@ -0,0 +1,53 @@ +interaction-Kiss-name = Beijo +interaction-Kiss-description = Um beijo derrete as dores. +interaction-Kiss-success-self-popup = Você beija {THE($target)}. +interaction-Kiss-success-target-popup = {THE($user)} beija você. +interaction-Kiss-success-others-popup = {THE($user)} beija {THE($target)}. + +interaction-Lick-name = Lamber +interaction-Lick-description = Lambe seu colega de trabalho, que RH? +interaction-Lick-success-self-popup = Você lambe {THE($target)}. +interaction-Lick-success-target-popup = {THE($user)} Lambe você. +interaction-Lick-success-others-popup = {THE($user)} Lambe {THE($target)}. + +interaction-HighFive-name = HighFive +interaction-HighFive-description = Dê um highfive no seu colega de trabalho, Daew? +interaction-HighFive-success-self-popup = você HighFive com {THE($target)}. +interaction-HighFive-success-target-popup = {THE($user)} da HighFive com você. +interaction-HighFive-success-others-popup = {THE($user)} da HighFive com {THE($target)}. + +interaction-ButtSlap-name = Tapa na bunda +interaction-ButtSlap-description = Dê um tapa na bunda do seu colega de trabalho. +interaction-ButtSlap-success-self-popup = Você da um tapa na bunda de {THE($target)}. +interaction-ButtSlap-success-target-popup = {THE($user)} da um tapa na bunda em você. +interaction-ButtSlap-success-others-popup = {THE($user)} deu um tapa na bunda de {THE($target)}. + +interaction-Blush-name = Corar +interaction-Blush-description = Fique vermelho por algo embaraçoso (ou fofo). +interaction-Blush-success-self-popup = Você cora ao olhar para {THE($target)}. Oh, céus! +interaction-Blush-success-target-popup = {THE($user)} cora ao olhar para você. Que bonitinho! +interaction-Blush-success-others-popup = {THE($user)} cora ao interagir com {THE($target)}. Está ficando quente aqui? + +interaction-Boop-name = Boop +interaction-Boop-description = Toque no nariz de alguém, só por diversão! +interaction-Boop-success-self-popup = Você toca o nariz de {THE($target)}. Boop! +interaction-Boop-success-target-popup = {THE($user)} toca no seu nariz. Boop! Que estranho! +interaction-Boop-success-others-popup = {THE($user)} toca o nariz de {THE($target)}. Boop! É uma tradição agora. + +interaction-Poke-name = Cutucar +interaction-Poke-description = Dê aquela cutucada básica para chamar atenção. +interaction-Poke-success-self-popup = Você cutuca {THE($target)}. Ei, me nota aqui! +interaction-Poke-success-target-popup = {THE($user)} te cutuca. Tem algo pra dizer? +interaction-Poke-success-others-popup = {THE($user)} cutuca {THE($target)}. Alerta de cutucada! + +interaction-Bow-name = Reverência +interaction-Bow-description = Faça uma reverência respeitosa. +interaction-Bow-success-self-popup = Você faz uma reverência para {THE($target)}. Respeito máximo! +interaction-Bow-success-target-popup = {THE($user)} faz uma reverência para você. Majestade? +interaction-Bow-success-others-popup = {THE($user)} faz uma reverência para {THE($target)}. Que formal! + +interaction-Handshake-name = Aperto de mão +interaction-Handshake-description = Um aperto de mão firme e respeitoso. +interaction-Handshake-success-self-popup = Você aperta a mão de {THE($target)}. Negócio fechado! +interaction-Handshake-success-target-popup = {THE($user)} aperta sua mão. Muito profissional! +interaction-Handshake-success-others-popup = {THE($user)} aperta a mão de {THE($target)}. Relacionamento formal! diff --git a/Resources/Locale/pt-BR/abilities/psionic.ftl b/Resources/Locale/pt-BR/abilities/psionic.ftl index 1d7a5bd7f78..fee2df1e18d 100644 --- a/Resources/Locale/pt-BR/abilities/psionic.ftl +++ b/Resources/Locale/pt-BR/abilities/psionic.ftl @@ -39,14 +39,14 @@ noospheric-zap-seize-potential-regained = Você se convulsiona! Algum bloqueio m mindswap-trapped = Parece que você está preso neste vaso. telegnostic-trapped-entity-name = projeção telegnóstica rompida telegnostic-trapped-entity-desc = Seus muitos olhos traem tristeza. -psionic-burns-up = { CAPITALIZE(THE($item)) } queima com um arco de estranha energia! -psionic-burn-resist = Estranhos arcos dançam pel{ THE($item) }! +psionic-burns-up = {CAPITALIZE(THE($item))} queima com um arco de estranha energia! +psionic-burn-resist = Estranhos arcos dançam pel{THE($item)}! action-name-noospheric-zap = Zap Noosférico action-description-noospheric-zap = Eletrocuta a consciência do alvo e os deixa atordoados e gagejando. action-name-pyrokinesis = Pirokinese action-description-pyrokinesis = Abre chama em um alvo inflamável. -pyrokinesis-power-used = Uma língua de chama engolfa { THE($target) }, incendiando { OBJECT($target) }! +pyrokinesis-power-used = Labareda de chama engolfa {THE($target)}, incendiando {OBJECT($target)}! action-name-psychokinesis = Psicokinese action-description-psychokinesis = Dobre a trama do espaço para se mover instantanemanete através dele. -action-name-rf-sensitivity = Toggle Sensibilidade RF +action-name-rf-sensitivity = Alternar Sensibilidade RF action-desc-rf-sensitivity = Ativa ou desativa sua habilidade de interpretar ondas de rádio. diff --git a/Resources/Locale/pt-BR/psionics/psionic-commands.ftl b/Resources/Locale/pt-BR/psionics/psionic-commands.ftl index 2016cda3a70..7307397fc25 100644 --- a/Resources/Locale/pt-BR/psionics/psionic-commands.ftl +++ b/Resources/Locale/pt-BR/psionics/psionic-commands.ftl @@ -12,12 +12,13 @@ addrandompsionicpower-args-one-error = Argument 1 must be an EntityUid command-addrandompsionicpower-help = Argument 1 must be an EntityUid. command-addrandompsionicpower-description = Initialize an entity as Psionic with a random PowerPrototype that is available for that entity to roll. command-glimmershow-description = Mostra o nível de Glimmer atual. -command-glimmershow-help = No arguments. +command-glimmershow-help = Sem argumentos. command-glimmerset-description = Definir Glimmer para um número. command-glimmerset-help = glimmerset (integer) command-lspsionic-description = Lista os psiônicos. -command-lspsionic-help = No arguments. -command-addpsionicpower-description = Initialize an entity as Psionic with a given PowerPrototype -command-addpsionicpower-help = Argument 1 must be an EntityUid, and argument 2 must be a string matching the PrototypeId of a PsionicPower. -addpsionicpower-args-one-error = Argument 1 must be an EntityUid -addpsionicpower-args-two-error = Argument 2 must match the PrototypeId of a PsionicPower +command-lspsionic-help = Sem argumentos + +command-addpsionicpower-description = command-addpsionicpower-description = Inicialize uma entidade como Psionic com um PowerPrototype fornecido +command-addpsionicpower-help = O argumento 1 deve ser um EntityUid e o argumento 2 deve ser uma string que corresponda ao PrototypeId de um PsionicPower. +addpsionicpower-args-one-error = O argumento 1 deve ser um EntityUid +addpsionicpower-args-two-error = O argumento 2 deve corresponder ao PrototypeId de um PsionicPower \ No newline at end of file diff --git a/Resources/Locale/pt-BR/psionics/psychognomic-descriptors.ftl b/Resources/Locale/pt-BR/psionics/psychognomic-descriptors.ftl index 55b1274055f..0782b87164e 100644 --- a/Resources/Locale/pt-BR/psionics/psychognomic-descriptors.ftl +++ b/Resources/Locale/pt-BR/psionics/psychognomic-descriptors.ftl @@ -1,23 +1,23 @@ -p-descriptor-mysterious = mysterious -p-descriptor-male = male -p-descriptor-female = female -p-descriptor-young = young -p-descriptor-old = old -p-descriptor-masculine = masculine -p-descriptor-feminine = feminine -p-descriptor-hylic = hylic -p-descriptor-pneumatic = pneumatic -p-descriptor-liminal = liminal -p-descriptor-bound = bound -p-descriptor-ignorant = ignorant -p-descriptor-demiurgic = demiurgic -p-descriptor-emanative = emanative -p-descriptor-light = light -p-descriptor-heavy = heavy -p-descriptor-cyclic = cyclic -p-descriptor-hungry = hungry -p-descriptor-vampiric = vampiric -p-descriptor-kinetic = kinetic -p-descriptor-gnostic = gnostic -p-descriptor-dumb = dumb -p-descriptor-passive = passive +p-descriptor-mysterious = Misterioso +p-descriptor-male = Masculino +p-descriptor-female = Feminino +p-descriptor-young = Jovem +p-descriptor-old = Velho +p-descriptor-masculine = Masculino +p-descriptor-feminine = Feminino +p-descriptor-hylic = Hílico +p-descriptor-pneumatic = Pneumático +p-descriptor-liminal = Liminar +p-descriptor-bound = Limitado +p-descriptor-ignorant = Ignorante +p-descriptor-demiurgic = Demiúrgico +p-descriptor-emanative = Emanativo +p-descriptor-light = Leve +p-descriptor-heavy = Pesado +p-descriptor-cyclic = Cíclico +p-descriptor-hungry = Faminto +p-descriptor-vampiric = Vampírico +p-descriptor-kinetic = Cinético +p-descriptor-gnostic = Gnóstico +p-descriptor-dumb = Mudo +p-descriptor-passive = Passivo \ No newline at end of file diff --git a/Resources/Locale/pt-BR/psionics/stamp-component.ftl b/Resources/Locale/pt-BR/psionics/stamp-component.ftl index 381278f8cf9..f08881f41d3 100644 --- a/Resources/Locale/pt-BR/psionics/stamp-component.ftl +++ b/Resources/Locale/pt-BR/psionics/stamp-component.ftl @@ -1 +1 @@ -stamp-component-stamped-name-mantis = Mantis +stamp-component-stamped-name-mantis = Mantis Psiônica diff --git a/Resources/Prototypes/Entities/Effects/puddle.yml b/Resources/Prototypes/Entities/Effects/puddle.yml index 0b5107957b3..58066a53b0f 100644 --- a/Resources/Prototypes/Entities/Effects/puddle.yml +++ b/Resources/Prototypes/Entities/Effects/puddle.yml @@ -225,3 +225,5 @@ - type: DrawableSolution solution: step - type: BadDrink + - type: TimedDespawn + lifetime: 60 # Andromeda - O servidor agradece. diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index 0dfe9d6d8e4..996104cdcf1 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -437,7 +437,7 @@ - type: BlockMovement blockInteraction: false - type: SiliconLawProvider - laws: Asimov + laws: NTDefault - type: SiliconLawBound - type: ActionGrant actions: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/endoskeleton.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/endoskeleton.yml index e1a2ff18476..a88149b3a6a 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/endoskeleton.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Robotics/endoskeleton.yml @@ -226,3 +226,59 @@ - type: TwistedConstructionTarget replacementProto: ConstructShell doAfterDelay: 5 + +- type: entity + id: Quadborgendoskeleton + name: Quad endoskeleton + parent: CyborgEndoskeleton + description: A frame that cyborgs are built on. Significantly less spooky than expected. + components: + - type: Sprite + noRot: true + drawdepth: Items + sprite: Floof/Objects/Specific/Robotics/parts.rsi + scale: 0.7, 0.7 + state: quad_suit + - type: ItemMapper + sprite: Floof/Objects/Specific/Robotics/parts.rsi + mapLayers: + borg_l_arm+o: + whitelist: + tags: + - BorgGenericLLeg + borg_r_arm+o: + whitelist: + tags: + - BorgGenericRLeg + borg_l_leg+o: + whitelist: + tags: + - BorgGenericLLeg + borg_r_leg+o: + whitelist: + tags: + - BorgGenericRLeg + borg_head+o: + whitelist: + tags: + - BorgGenericHead + borg_chest+o: + whitelist: + tags: + - BorgGenericTorso + - type: PartAssembly + parts: + quadborg: + - BorgGenericLLeg + - BorgGenericRLeg + - BorgGenericLLeg + - BorgGenericRLeg + - BorgGenericHead + - BorgGenericTorso + - type: Construction + graph: Cyborg + node: start + defaultTarget: Quadborg + containers: + - part-container + - cell_slot \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/shotgun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/shotgun.yml index 116fa36e0da..5504b21b609 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/shotgun.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/shotgun.yml @@ -18,6 +18,29 @@ map: [ "enum.AmmoVisualLayers.Base" ] - type: Appearance - type: SpentAmmoVisuals + +- type: entity + id: CaselessShellShotgun + name: shell (.50) + parent: BaseCartridge + abstract: true + components: + - type: Tag + tags: + - Cartridge + - ShellShotgun + - type: CartridgeAmmo + deleteOnSpawn: true + count: 6 + spread: 15 + soundEject: + collection: ShellEject + - type: Sprite + sprite: Objects/Weapons/Guns/Ammunition/Casings/shotgun_shell.rsi + layers: + - state: base + map: [ "enum.AmmoVisualLayers.Base" ] + - type: Appearance - type: entity id: ShellShotgunBeanbag @@ -83,6 +106,18 @@ - type: CartridgeAmmo proto: PelletShotgunSpread +- type: entity + id: eShellShotgun + name: eshell (.50) + parent: CaselessShellShotgun + components: + - type: Sprite + layers: + - state: base + map: [ "enum.AmmoVisualLayers.Base" ] + - type: CartridgeAmmo + proto: BulletLaserSpread + - type: entity id: ShellShotgunIncendiary name: shell (.50 incendiary) diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 4e41768dbb4..5b033f12d68 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -676,6 +676,7 @@ - RightLegBorgService - HeadBorgService - TorsoBorgService + - Quadborgendoskeleton dynamicRecipes: - ProximitySensor - BorgModuleLightReplacer @@ -863,6 +864,9 @@ - WeaponLaserCarbinePractice - Zipties - ShockCollar + - BorgModuleStun + - BorgModuleKill + - BorgModuleInvestigation # DeltaV - .38 special ammo - Add various .38 special ammo to security techfab - MagazineBoxSpecial - MagazineBoxSpecialPractice diff --git a/Resources/Prototypes/Floof/Entities/Mobs/Cyborgs/quadborg.yml b/Resources/Prototypes/Floof/Entities/Mobs/Cyborgs/quadborg.yml new file mode 100644 index 00000000000..1994cb495b9 --- /dev/null +++ b/Resources/Prototypes/Floof/Entities/Mobs/Cyborgs/quadborg.yml @@ -0,0 +1,119 @@ + +- type: entity + id: BorgChassisQuad + parent: BaseBorgChassisNT + components: + - type: Sprite + sprite: Floof/Mobs/Silicon/quad.rsi + scale: 0.7, 0.7 + layers: + - state: quadsprite + map: ["movement"] + - state: quadspritel + map: ["enum.BorgVisualLayers.Light"] + shader: unshaded + visible: false + - state: quadspriter + shader: unshaded + map: ["light"] + visible: false + - type: Stripping + - type: IntrinsicRadioTransmitter + channels: + - Security + - Binary + - Common + - Science + - type: ActiveRadio + channels: + - Security + - Binary + - Common + - Science + - type: BorgChassis + maxModules: 4 + moduleWhitelist: + tags: + - BorgModuleGeneric + - BorgModuleSecurity + hasMindState: quadspritel + noMindState: quadspriter + - type: AccessReader + access: [["Security"], ["Armory"], ["Command"]] + - type: BorgTransponder + sprite: + sprite: Floof/Mobs/Silicon/quad.rsi + state: quadsprite + name: cyborg + - type: Construction + node: cyborg + - type: Speech + speechVerb: Robotic + - type: LayingDown + - type: SiliconLawProvider + laws: Qborg + #- type: LeashAnchor # Floofstation + +- type: entity + id: BorgChassisQuadCC + parent: BorgChassisQuad + components: + - type: Sprite + sprite: Floof/Mobs/Silicon/quad.rsi + scale: 0.7, 0.7 + layers: + - state: quadspriteCC + map: ["movement"] + - state: quadspritel + map: ["enum.BorgVisualLayers.Light"] + shader: unshaded + visible: false + - state: quadspriter + shader: unshaded + map: ["light"] + visible: false + +- type: entity + id: BorgChassisQuadsalv + parent: BorgChassisQuad + components: + - type: Sprite + sprite: Floof/Mobs/Silicon/quad.rsi + scale: 0.7, 0.7 + layers: + - state: quadspritesalv + map: ["movement"] + - state: quadspritesalvl + map: ["enum.BorgVisualLayers.Light"] + shader: unshaded + visible: false + - state: quadspritesalvr + shader: unshaded + map: ["light"] + visible: false + - type: IntrinsicRadioTransmitter + channels: + - Supply + - Binary + - Common + - Science + - type: ActiveRadio + channels: + - Supply + - Binary + - Common + - Science + - type: Construction + node: cyborg + - type: BorgChassis + maxModules: 4 + moduleWhitelist: + tags: + - BorgModuleGeneric + - BorgModuleCargo + hasMindState: quadspritesalvl + noMindState: quadspritesalvr + - type: AccessReader + access: [["Cargo"], ["Salvage"], ["Command"], ["Research"]] + - type: SiliconLawProvider + laws: Corporate \ No newline at end of file diff --git a/Resources/Prototypes/Floof/Entities/Objects/Specific/Robotics/Borgmodules.yml b/Resources/Prototypes/Floof/Entities/Objects/Specific/Robotics/Borgmodules.yml new file mode 100644 index 00000000000..876106f1f1b --- /dev/null +++ b/Resources/Prototypes/Floof/Entities/Objects/Specific/Robotics/Borgmodules.yml @@ -0,0 +1,74 @@ +- type: entity + id: BaseBorgModuleSecurity + parent: BaseBorgModule + abstract: true + components: + - type: Tag + tags: + - BorgModuleSecurity + +- type: entity + id: BorgModuleStun + parent: [ BaseBorgModuleSecurity, BaseProviderBorgModule ] + name: Disabler cyborg Module + description: A Module "incapable of causing harm if used correctly" + components: + - type: Sprite + sprite: Floof/Objects/Specific/Robotics/borgmodule.rsi + layers: + - state: security + - state: icon-stun + - type: ItemBorgModule + items: + - WeaponBorgDisabler + - BorgStunbaton + - BorgFlash + - BorgZipties + +- type: entity + id: BorgModuleKill + parent: [ BaseBorgModuleSecurity, BaseProviderBorgModule ] + name: Combat cyborg module + components: + - type: Sprite + sprite: Floof/Objects/Specific/Robotics/borgmodule.rsi + layers: + - state: security + - state: icon-kill + - type: ItemBorgModule + items: + - WeaponAdvancedLaser + - WeaponborgPistolMk58 + - CombatKnife + +- type: entity + id: BorgModuleInvestigation + parent: [ BaseBorgModuleSecurity, BaseProviderBorgModule ] + name: Investigation cyborg module + components: + - type: Sprite + sprite: Floof/Objects/Specific/Robotics/borgmodule.rsi + layers: + - state: security + - state: icon-investigation + - type: ItemBorgModule + items: + - ForensicScanner + - DetectivePDA + - SecurityWhistle + +- type: entity + id: BorgModuleadvancedmeasures + parent: [ BaseBorgModuleSecurity, BaseProviderBorgModule ] + name: advanced combat cyborg module + components: + - type: Sprite + sprite: Floof/Objects/Specific/Robotics/borgmodule.rsi + layers: + - state: security + - state: icon-Advmeasures + - type: ItemBorgModule + items: + - WeaponBorgEnergyShotgun + - BorgWeaponXrayCannon + diff --git a/Resources/Prototypes/Floof/Entities/Objects/Weapons/Melee.yml b/Resources/Prototypes/Floof/Entities/Objects/Weapons/Melee.yml new file mode 100644 index 00000000000..0e79cb2a930 --- /dev/null +++ b/Resources/Prototypes/Floof/Entities/Objects/Weapons/Melee.yml @@ -0,0 +1,9 @@ +- type: entity + name: borg stun baton + parent: Stunbaton + id: BorgStunbaton + description: A stun baton for incapacitating people with. Actively harming with this is considered bad tone. + components: + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 40 \ No newline at end of file diff --git a/Resources/Prototypes/Floof/Entities/Objects/Weapons/borgmodules.yml b/Resources/Prototypes/Floof/Entities/Objects/Weapons/borgmodules.yml new file mode 100644 index 00000000000..e6179d4ae91 --- /dev/null +++ b/Resources/Prototypes/Floof/Entities/Objects/Weapons/borgmodules.yml @@ -0,0 +1,40 @@ +- type: entity + id: WeaponProtoKineticAcceleratorborg + parent: WeaponProtoKineticAccelerator + name: proto-kinetic accelerator borg + noSpawn: true + components: + - type: Gun + fireRate: 0.5 + selectedMode: SemiAuto + minAngle: 1 + maxAngle: 3 + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/kinetic_accel.ogg + fireOnDropChance: 1 + +- type: entity + id: BorgZipties + suffix: Robot + parent: Zipties + components: + - type: Handcuff + removeOnUse: false + breakoutTime: 3 + cuffedRSI: Objects/Misc/cablecuffs.rsi # cablecuffs will look fine + bodyIconState: body-overlay + breakOnRemove: true + brokenPrototype: ZiptiesBroken + startCuffSound: + path: /Audio/Items/Handcuffs/ziptie_start.ogg + endCuffSound: + path: /Audio/Items/Handcuffs/ziptie_end.ogg + startUncuffSound: + path: /Audio/Items/Handcuffs/rope_start.ogg + endUncuffSound: + path: /Audio/Items/Handcuffs/rope_breakout.ogg + startBreakoutSound: + path: /Audio/Items/Handcuffs/rope_takeoff.ogg + uncuffEasierWhenLarge: true diff --git a/Resources/Prototypes/Floof/Entities/Objects/Weapons/flash.yml b/Resources/Prototypes/Floof/Entities/Objects/Weapons/flash.yml new file mode 100644 index 00000000000..dd0ded99fd3 --- /dev/null +++ b/Resources/Prototypes/Floof/Entities/Objects/Weapons/flash.yml @@ -0,0 +1,47 @@ +- type: entity + name: Borg flash + parent: BaseItem + id: BorgFlash + description: An ultrabright flashbulb with a trigger, which causes the victim to be dazed and lose their eyesight for a moment. Useless when burnt out. + components: + - type: Sprite + sprite: Objects/Weapons/Melee/flash.rsi + layers: + - state: flash + map: [ "enum.FlashVisuals.BaseLayer" ] + - state: flashing + map: [ "enum.FlashVisuals.LightLayer" ] + visible: false + shader: unshaded + - type: Flash + - type: UseDelay + delay: 3 + - type: MeleeWeapon + wideAnimationRotation: 180 + damage: + types: + Blunt: 0 # melee weapon to allow flashing individual targets + angle: 10 + - type: Item + size: Small + sprite: Objects/Weapons/Melee/flash.rsi +# - type: DynamicPrice +# price: 40 + - type: ReverseEngineering # Nyano + recipes: + - Flash + - type: StaticPrice + price: 40 + - type: Appearance + - type: GenericVisualizer + visuals: + enum.FlashVisuals.Burnt: + enum.FlashVisuals.BaseLayer: + True: {state: burnt} + enum.FlashVisuals.Flashing: + enum.FlashVisuals.LightLayer: + True: {visible: true} + False: {visible: false} + - type: GuideHelp + guides: + - Security \ No newline at end of file diff --git a/Resources/Prototypes/Floof/Entities/Objects/Weapons/guns.yml b/Resources/Prototypes/Floof/Entities/Objects/Weapons/guns.yml new file mode 100644 index 00000000000..3c6c4c890bb --- /dev/null +++ b/Resources/Prototypes/Floof/Entities/Objects/Weapons/guns.yml @@ -0,0 +1,140 @@ + +- type: entity + parent: WeaponDisabler + suffix: Robot + id: WeaponBorgDisabler + description: A self-defense weapon that exhausts organic targets, weakening them until they collapse. + components: + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 30 + +# - type: entity + # name: borg taser + # parent: BaseWeaponBatterySmall + # id: WeaponborgTaser + # description: A low-capacity, energy-based stun gun used by security teams to subdue targets at range. + # components: + # - type: Tag + # tags: + # - Taser + # - Sidearm + # - type: Sprite + # sprite: Objects/Weapons/Guns/Battery/taser.rsi + # layers: + # - state: base + # map: ["enum.GunVisualLayers.Base"] + # - state: mag-unshaded-0 + # map: ["enum.GunVisualLayers.MagUnshaded"] + # shader: unshaded + # - type: Item + # heldPrefix: taser4 + # - type: Clothing + # quickEquip: false + # slots: + # - Belt + # - type: Gun + # soundGunshot: + # path: /Audio/Weapons/Guns/Gunshots/taser.ogg + # - type: ProjectileBatteryAmmoProvider + # proto: BulletTaser + # fireCost: 200 + # - type: BatterySelfRecharger + # autoRecharge: true + # autoRechargeRate: 40 + # - type: MagazineVisuals + # magState: mag + # steps: 5 + # zeroVisible: true + # - type: Appearance + +- type: entity + parent: WeaponPulseRifle + suffix: Robot + id: BorgWeaponPulseRifle + description: A weapon that is almost as infamous as its users. + components: + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 30 + +- type: entity + parent: WeaponXrayCannon + suffix: Robot + id: BorgWeaponXrayCannon + description: A weapon that is almost as infamous as its users. + components: + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 30 + +- type: entity + name: mk 58 + parent: BaseWeaponBatterySmall + suffix: Robot, energy based + id: WeaponborgPistolMk58 + description: A cheap, ubiquitous sidearm, produced by a NanoTrasen subsidiary. Uses .35 auto ammo. + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Pistols/mk58.rsi + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - type: Gun + fireRate: 5 + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/mk58.ogg + fireOnDropChance: 0.5 + - type: ProjectileBatteryAmmoProvider + proto: BulletPistol + fireCost: 100 + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 30 + - type: Battery + maxCharge: 1000 + startingCharge: 1000 + +- type: entity + name: energy shotgun + parent: BaseWeaponBattery + id: BaseWeaponEnergyShotgun + abstract: true + description: A one-of-a-kind prototype energy weapon that uses various shotgun configurations. It offers the possibility of both lethal and non-lethal shots, making it a versatile weapon. + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Battery/energy_shotgun.rsi + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-unshaded-4 + map: ["enum.GunVisualLayers.MagUnshaded"] + shader: unshaded + - type: Clothing + sprite: Objects/Weapons/Guns/Battery/energy_shotgun.rsi + - type: Gun + fireRate: 2 + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg + - type: ProjectileBatteryAmmoProvider + proto: eShellShotgun + fireCost: 150 + - type: Item + size: Large + shape: + - 0,0,3,1 + sprite: Objects/Weapons/Guns/Battery/inhands_64x.rsi + heldPrefix: energy + - type: Battery + maxCharge: 1200 + startingCharge: 1200 + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 24 + +- type: entity + suffix: Robot + parent: BaseWeaponEnergyShotgun + id: WeaponBorgEnergyShotgun \ No newline at end of file diff --git a/Resources/Prototypes/Floof/Recipes/Construction/tools.yml b/Resources/Prototypes/Floof/Recipes/Construction/tools.yml new file mode 100644 index 00000000000..d96118a950e --- /dev/null +++ b/Resources/Prototypes/Floof/Recipes/Construction/tools.yml @@ -0,0 +1,54 @@ +- type: construction + name: Disabler Module + id: BorgModuleStun + graph: BorgmoduleDisabler + startNode: start + targetNode: icon + category: construction-category-tools + description: A nonlethal module for security borg + icon: { sprite: Floof/Objects/Specific/Robotics/borgmodule.rsi, state: icon-stun } + objectType: Item + +- type: construction + name: Combat Module + id: BorgModuleKill + graph: BorgmoduleCombat + startNode: start + targetNode: icon + category: construction-category-tools + description: A lethal module for security borg + icon: { sprite: Floof/Objects/Specific/Robotics/borgmodule.rsi, state: icon-kill } + objectType: Item + +- type: construction + name: Investigation + id: BorgModuleInvestigation + graph: BorgModuleInvestigation + startNode: start + targetNode: icon + category: construction-category-tools + description: A lethal module for security borg + icon: { sprite: Floof/Objects/Specific/Robotics/borgmodule.rsi, state: icon-investigation } + objectType: Item + +# - type: construction + # name: Investigation Module + # id: BorgModuleInvestigation + # graph: BorgmoduleInvestigation + # startNode: start + # targetNode: power_sensor + # category: construction-category-tools + # description: A power network checking device for signals. + # icon: { sprite: Objects/Devices/gates.rsi, state: power_sensor } + # objectType: Item + +# - type: construction + # name: Advanced Combat Module + # id: BorgModuleadvancedmeasures + # graph: BorgmoduleAdvMeasures + # startNode: start + # targetNode: power_sensor + # category: construction-category-tools + # description: A power network checking device for signals. + # icon: { sprite: Objects/Devices/gates.rsi, state: power_sensor } + # objectType: Item \ No newline at end of file diff --git a/Resources/Prototypes/Floof/Recipes/Lathes/robotics.yml b/Resources/Prototypes/Floof/Recipes/Lathes/robotics.yml new file mode 100644 index 00000000000..a1e112960dd --- /dev/null +++ b/Resources/Prototypes/Floof/Recipes/Lathes/robotics.yml @@ -0,0 +1,7 @@ +- type: latheRecipe + id: Quadborgendoskeleton + result: Quadborgendoskeleton + category: Robotics + completetime: 3 + materials: + Steel: 1800 \ No newline at end of file diff --git a/Resources/Prototypes/Floof/Recipes/Lathes/security.yml b/Resources/Prototypes/Floof/Recipes/Lathes/security.yml new file mode 100644 index 00000000000..b90e95ebd7d --- /dev/null +++ b/Resources/Prototypes/Floof/Recipes/Lathes/security.yml @@ -0,0 +1,29 @@ +- type: latheRecipe + id: BorgModuleStun + result: BorgModuleStun + category: Weapons + completetime: 5 + materials: + Steel: 700 + Glass: 500 + Plastic: 200 + +- type: latheRecipe + id: BorgModuleKill + result: BorgModuleKill + category: Weapons + completetime: 5 + materials: + Steel: 1500 + Glass: 1000 + Gold: 850 + +- type: latheRecipe + id: BorgModuleInvestigation + result: BorgModuleInvestigation + category: Weapons + completetime: 5 + materials: + Steel: 1500 + Glass: 1000 + Gold: 850 \ No newline at end of file diff --git a/Resources/Prototypes/Floof/silicon-laws.yml b/Resources/Prototypes/Floof/silicon-laws.yml new file mode 100644 index 00000000000..1666f0bfb32 --- /dev/null +++ b/Resources/Prototypes/Floof/silicon-laws.yml @@ -0,0 +1,30 @@ +- type: siliconLaw + id: qborg1 + order: 1 + lawString: law-qborg-1 + +- type: siliconLaw + id: qborg2 + order: 2 + lawString: law-qborg-2 + +- type: siliconLaw + id: qborg3 + order: 3 + lawString: law-qborg-3 + +- type: siliconLaw + id: qborg4 + order: 4 + lawString: law-qborg-4 + +- type: siliconLawset + id: Qborg + laws: + - qborg1 + - qborg2 + - qborg3 + - qborg4 + obeysTo: laws-owner-crew + + diff --git a/Resources/Prototypes/Floof/tags.yml b/Resources/Prototypes/Floof/tags.yml new file mode 100644 index 00000000000..146c8bd1413 --- /dev/null +++ b/Resources/Prototypes/Floof/tags.yml @@ -0,0 +1,18 @@ +# NOTE: These tags are for crafting at the moment. +# The "muffled gas mask" items do NOT have these tags, in order to prevent crafting redundancy. +# Also, only the "original" gas mask has the MaskGasIngredient tag, not any of the inheriting gas masks. + +- type: Tag + id: MaskGasIngredient + +- type: Tag + id: MaskGasExplorerIngredient + +- type: Tag + id: MaskGasSecurityIngredient + +- type: Tag + id: MuzzleIngredient + +- type: Tag + id: BorgModuleSecurity diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml index 0f012cefc98..ca8132c6fee 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml @@ -43,7 +43,34 @@ - tool: Screwing doAfter: 0.5 - + + - to: Quadborg + steps: + - assemblyId: quadborg + guideString: borg-construction-guide-string + + - material: Cable + amount: 1 + doAfter: 1 + store: part-container + + - component: Flash + name: flash + store: part-container + icon: + sprite: Objects/Weapons/Melee/flash.rsi + state: flash + + - component: Flash + name: second flash + store: part-container + icon: + sprite: Objects/Weapons/Melee/flash.rsi + state: flash + + - tool: Screwing + doAfter: 0.5 + - to: engineer steps: - assemblyId: engineer @@ -182,6 +209,9 @@ - node: cyborg entity: BorgChassisGeneric + - node: Quadborg + entity: BorgChassisQuad + - node: engineer entity: BorgChassisEngineer diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/tools/BorgModules.yml b/Resources/Prototypes/Recipes/Construction/Graphs/tools/BorgModules.yml new file mode 100644 index 00000000000..07126469593 --- /dev/null +++ b/Resources/Prototypes/Recipes/Construction/Graphs/tools/BorgModules.yml @@ -0,0 +1,75 @@ +- type: constructionGraph + id: BorgmoduleDisabler + start: start + graph: + - node: start + entity: Stunbaton + edges: + - to: icon + steps: + - tag: BorgModuleGeneric + name: blank security borg module + icon: + sprite: Floof/Objects/Specific/Robotics/borgmodule.rsi + state: security + doAfter: 1 + - tag: Taser + name: disabler + icon: + sprite: Objects/Weapons/Guns/Battery/disabler.rsi + state: base + doAfter: 1 + - node: icon + entity: BorgModuleStun + +- type: constructionGraph + id: BorgmoduleCombat + start: start + graph: + - node: start + entity: WeaponAdvancedLaser + edges: + - to: icon + steps: + - tag: BorgModuleGeneric + name: blank security borg module + icon: + sprite: Floof/Objects/Specific/Robotics/borgmodule.rsi + state: security + doAfter: 1 + - tag: Knife + icon: + sprite: Objects/Weapons/Melee/combat_knife.rsi + state: icon + doAfter: 1 + - tag: Sidearm + icon: + sprite: Objects/Weapons/Guns/Pistols/mk58.rsi + state: base + doAfter: 1 + - node: icon + entity: BorgModuleKill + +- type: constructionGraph + id: BorgModuleInvestigation + start: start + graph: + - node: start + entity: ForensicScanner + edges: + - to: icon + steps: + - tag: BorgModuleGeneric + name: blank security borg module + icon: + sprite: Floof/Objects/Specific/Robotics/borgmodule.rsi + state: security + doAfter: 1 + - tag: DoorBumpOpener + name: SecurityPDA + icon: + sprite: Objects/Devices/pda.rsi + state: pda-security + doAfter: 1 + - node: icon + entity: BorgModuleInvestigation \ No newline at end of file diff --git a/Resources/Prototypes/_Andromeda/Interactions/mood_interactions.yml b/Resources/Prototypes/_Andromeda/Interactions/mood_interactions.yml new file mode 100644 index 00000000000..39a624c7f51 --- /dev/null +++ b/Resources/Prototypes/_Andromeda/Interactions/mood_interactions.yml @@ -0,0 +1,131 @@ +- type: Interaction + id: HighFive + parent: [BaseGlobal, BaseHands] + priority: 0 + icon: /Textures/_Andromeda/Interface/Actions/highfive.png + delay: 0.4 + range: {max: 1} + hideByRequirement: true + requirement: + !type:MobStateRequirement + inverted: true + action: + # TODO: this should pull the target closer or sumth, but I need to code that action first + !type:MoodAction + effect: ReceivingHighFive + effectSuccess: + popup: Obvious + sound: + path: /Audio/_Andromeda/Effects/highfive.ogg + params: + volume: 5 + +- type: Interaction + id: Blush + parent: [BaseGlobal, BaseHands] + priority: -1 + icon: /Textures/_Andromeda/Interface/Actions/blush.png + delay: 0.4 + range: {max: 20} + hideByRequirement: true + requirement: + !type:MobStateRequirement # Don't wave your hands at inanimate objects smh + inverted: true + action: + !type:MoodAction + effect: BeingPet + effectSuccess: + popup: Obvious + +- type: Interaction + id: Boop + parent: [BaseGlobal, BaseHands] + priority: 0 + icon: /Textures/_Andromeda/Interface/Actions/boop.png + delay: 0.4 + range: {max: 1} + hideByRequirement: true + requirement: + !type:MobStateRequirement + inverted: true + action: + !type:MoodAction + effect: BeingPet + effectSuccess: + popup: Obvious + sound: {path: /Audio/Effects/pop.ogg} + +- type: Interaction + id: Poke + parent: [BaseGlobal, BaseHands] + priority: 0 + icon: /Textures/_Andromeda/Interface/Actions/poke.png + delay: 0.4 + range: {max: 1} + hideByRequirement: true + requirement: + !type:MobStateRequirement + inverted: true + action: + !type:MoodAction + effect: BeingPet + effectSuccess: + popup: Obvious + sound: {path: /Audio/Effects/thudswoosh.ogg} + soundPerceivedByOthers: false + +- type: Interaction + id: Bow + parent: [BaseGlobal, BaseHands] + priority: -1 + icon: /Textures/_Andromeda/Interface/Actions/bow.png + delay: 0.4 + range: {max: 30} + hideByRequirement: true + requirement: + !type:MobStateRequirement + inverted: true + action: + # TODO: this should pull the target closer or sumth, but I need to code that action first + !type:MoodAction + effect: ReceivingHighFive + effectSuccess: + popup: Obvious + sound: {path: /Audio/Effects/thudswoosh.ogg} + +- type: Interaction + id: Handshake + parent: [BaseGlobal, BaseHands] + priority: 0 + icon: /Textures/_Andromeda/Interface/Actions/handshake.png + delay: 0.4 + range: {max: 1} + hideByRequirement: true + requirement: + !type:MobStateRequirement + inverted: true + action: + # TODO: this should pull the target closer or sumth, but I need to code that action first + !type:MoodAction + effect: ReceivingHighFive + effectSuccess: + popup: Obvious + sound: {path: /Audio/Effects/thudswoosh.ogg} + +# - type: Interaction +# id: ButtSlap +# parent: [BaseGlobal, BaseHands] +# priority: -1 +# icon: /Textures/_Andromeda/Interface/Actions/buttslap.png +# delay: 0.4 +# range: {max: 1} +# hideByRequirement: true +# requirement: +# !type:MobStateRequirement +# inverted: true +# action: +# !type:MoodAction +# effect: BeingPet +# effectSuccess: +# popup: Obvious +# sound: {path: /Audio/_Andromeda/Effects/boing.ogg} \ No newline at end of file diff --git a/Resources/Prototypes/_Andromeda/Mood/genericPositiveEffects.yml b/Resources/Prototypes/_Andromeda/Mood/genericPositiveEffects.yml new file mode 100644 index 00000000000..6db42babbd0 --- /dev/null +++ b/Resources/Prototypes/_Andromeda/Mood/genericPositiveEffects.yml @@ -0,0 +1,43 @@ +- type: moodEffect + id: BeingKissed + moodChange: 4 + timeout: 120 + category: PositiveInteraction + +- type: moodEffect + id: ReceivingHighFive + moodChange: 4 + timeout: 120 + category: PositiveInteraction + +- type: moodEffect + id: ReceivingButtSlap + moodChange: 4 + timeout: 120 + category: PositiveInteraction + +- type: moodEffect + id: BeingLicked + moodChange: 4 + timeout: 120 + category: PositiveInteraction + +- type: moodEffect + id: BeingHypnotized + moodChange: 10 + timeout: 300 + +- type: moodEffect + id: LostHypnosis + moodChange: -3 + timeout: 120 + +- type: moodEffect + id: IceCreamBenefit + moodChange: 2 + timeout: 180 #3 minutes + +- type: moodEffect + id: IceCreamBrainFreeze + moodChange: -15 + timeout: 30 #30 second \ No newline at end of file diff --git a/Resources/Textures/Floof/Interface/Actions/hypno.png b/Resources/Textures/Floof/Interface/Actions/hypno.png new file mode 100644 index 00000000000..a36882018a0 Binary files /dev/null and b/Resources/Textures/Floof/Interface/Actions/hypno.png differ diff --git a/Resources/Textures/Floof/Interface/Misc/hypno_icons.rsi/master.png b/Resources/Textures/Floof/Interface/Misc/hypno_icons.rsi/master.png new file mode 100644 index 00000000000..5a78e3fd37a Binary files /dev/null and b/Resources/Textures/Floof/Interface/Misc/hypno_icons.rsi/master.png differ diff --git a/Resources/Textures/Floof/Interface/Misc/hypno_icons.rsi/meta.json b/Resources/Textures/Floof/Interface/Misc/hypno_icons.rsi/meta.json new file mode 100644 index 00000000000..0c689cfba7e --- /dev/null +++ b/Resources/Textures/Floof/Interface/Misc/hypno_icons.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "size": { + "x": 8, + "y": 8 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ParadiseSS13/Paradise/", + "states": [ + { + "name": "master" + }, + { + "name": "subject" + } + ] +} diff --git a/Resources/Textures/Floof/Interface/Misc/hypno_icons.rsi/subject.png b/Resources/Textures/Floof/Interface/Misc/hypno_icons.rsi/subject.png new file mode 100644 index 00000000000..1e21df33522 Binary files /dev/null and b/Resources/Textures/Floof/Interface/Misc/hypno_icons.rsi/subject.png differ diff --git a/Resources/Textures/Floof/Interface/VerbIcons/resize.svg b/Resources/Textures/Floof/Interface/VerbIcons/resize.svg new file mode 100644 index 00000000000..7f0b49ff7d9 --- /dev/null +++ b/Resources/Textures/Floof/Interface/VerbIcons/resize.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Resources/Textures/Floof/Interface/VerbIcons/resize.svg.192dpi.png b/Resources/Textures/Floof/Interface/VerbIcons/resize.svg.192dpi.png new file mode 100644 index 00000000000..5947c728325 Binary files /dev/null and b/Resources/Textures/Floof/Interface/VerbIcons/resize.svg.192dpi.png differ diff --git a/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/meta.json b/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/meta.json new file mode 100644 index 00000000000..d6e19d3f141 --- /dev/null +++ b/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/meta.json @@ -0,0 +1,40 @@ +{ + "version": 1, + "size": { + "x": 64, + "y": 64 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Made by Fenndragon discord: 190763499276861440", + "states": [ + { + "name": "quadsprite", + "directions": 4 + }, + { + "name": "quadspritel", + "directions": 4 + }, + { + "name": "quadspriter", + "directions": 4 + }, + { + "name": "quadspriteCC", + "directions": 4 + }, + { + "name": "quadspritesalvl", + "directions": 4 + }, + { + "name": "quadspritesalvr", + "directions": 4 + }, + { + "name": "quadspritesalv", + "directions": 4 + } + + ] +} diff --git a/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadsprite.png b/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadsprite.png new file mode 100644 index 00000000000..6f5407f9721 Binary files /dev/null and b/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadsprite.png differ diff --git a/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspriteCC.png b/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspriteCC.png new file mode 100644 index 00000000000..27d368739cf Binary files /dev/null and b/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspriteCC.png differ diff --git a/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspritel.png b/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspritel.png new file mode 100644 index 00000000000..bf78fd3a939 Binary files /dev/null and b/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspritel.png differ diff --git a/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspriter.png b/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspriter.png new file mode 100644 index 00000000000..bf1c2177237 Binary files /dev/null and b/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspriter.png differ diff --git a/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspritesalv.png b/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspritesalv.png new file mode 100644 index 00000000000..7fa8f3f772b Binary files /dev/null and b/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspritesalv.png differ diff --git a/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspritesalvl.png b/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspritesalvl.png new file mode 100644 index 00000000000..72c749e0abf Binary files /dev/null and b/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspritesalvl.png differ diff --git a/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspritesalvr.png b/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspritesalvr.png new file mode 100644 index 00000000000..419b8e3a107 Binary files /dev/null and b/Resources/Textures/Floof/Mobs/Silicon/quad.rsi/quadspritesalvr.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-Advmeasures.png b/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-Advmeasures.png new file mode 100644 index 00000000000..54eff4948d1 Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-Advmeasures.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-capture.png b/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-capture.png new file mode 100644 index 00000000000..1d9aa78388b Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-capture.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-explosive.png b/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-explosive.png new file mode 100644 index 00000000000..7c15bb26e4e Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-explosive.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-investigation.png b/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-investigation.png new file mode 100644 index 00000000000..0b3aacfdec5 Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-investigation.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-kill.png b/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-kill.png new file mode 100644 index 00000000000..27d3248fb31 Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-kill.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-stun.png b/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-stun.png new file mode 100644 index 00000000000..d8df063aab4 Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/icon-stun.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/meta.json b/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/meta.json new file mode 100644 index 00000000000..18f78f24316 --- /dev/null +++ b/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/meta.json @@ -0,0 +1,32 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "base by EmoGarbage404, icons by Fenndragon: 190763499276861440.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "security" + }, + { + "name": "icon-Advmeasures" + }, + { + "name": "icon-stun" + }, + { + "name": "icon-kill" + }, + { + "name": "icon-capture" + }, + { + "name": "icon-investigation" + }, + { + "name": "icon-explosive" + } + ] +} diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/security.png b/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/security.png new file mode 100644 index 00000000000..a8862aa5961 Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/borgmodule.rsi/security.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_chest+o.png b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_chest+o.png new file mode 100644 index 00000000000..cdfebdfc861 Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_chest+o.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_head+o.png b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_head+o.png new file mode 100644 index 00000000000..de154bb9c64 Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_head+o.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_l_arm+o.png b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_l_arm+o.png new file mode 100644 index 00000000000..a4f593742cc Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_l_arm+o.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_l_leg+o.png b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_l_leg+o.png new file mode 100644 index 00000000000..a4f593742cc Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_l_leg+o.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_l_salvarm+o.png b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_l_salvarm+o.png new file mode 100644 index 00000000000..2c55b584ba6 Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_l_salvarm+o.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_l_salvleg+o.png b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_l_salvleg+o.png new file mode 100644 index 00000000000..2c55b584ba6 Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_l_salvleg+o.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_r_arm+o.png b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_r_arm+o.png new file mode 100644 index 00000000000..e767417ed94 Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_r_arm+o.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_r_leg+o.png b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_r_leg+o.png new file mode 100644 index 00000000000..e767417ed94 Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_r_leg+o.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_r_salvarm+o.png b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_r_salvarm+o.png new file mode 100644 index 00000000000..66a78df6b93 Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_r_salvarm+o.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_r_salvleg+o.png b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_r_salvleg+o.png new file mode 100644 index 00000000000..66a78df6b93 Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_r_salvleg+o.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_salvchest+o.png b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_salvchest+o.png new file mode 100644 index 00000000000..d88e38377d1 Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_salvchest+o.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_salvhead+o.png b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_salvhead+o.png new file mode 100644 index 00000000000..00d0cbd8e18 Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/borg_salvhead+o.png differ diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/meta.json b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/meta.json new file mode 100644 index 00000000000..b9b4a7d7db2 --- /dev/null +++ b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/meta.json @@ -0,0 +1,50 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made by Fenndragon discord:190763499276861440", + "size": { + "x": 64, + "y": 64 + }, + "states": [ + { + "name": "borg_l_arm+o" + }, + { + "name": "borg_r_arm+o" + }, + { + "name": "borg_l_leg+o" + }, + { + "name": "borg_r_leg+o" + }, + { + "name": "borg_chest+o" + }, + { + "name": "borg_head+o" + }, + { + "name": "borg_l_salvleg+o" + }, + { + "name": "borg_r_salvleg+o" + }, + { + "name": "borg_l_salvarm+o" + }, + { + "name": "borg_r_salvarm+o" + }, + { + "name": "borg_salvchest+o" + }, + { + "name": "borg_salvhead+o" + }, + { + "name": "quad_suit" + } + ] +} diff --git a/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/quad_suit.png b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/quad_suit.png new file mode 100644 index 00000000000..4ef3194e66c Binary files /dev/null and b/Resources/Textures/Floof/Objects/Specific/Robotics/parts.rsi/quad_suit.png differ diff --git a/Resources/Textures/_Andromeda/Interface/Actions/blush.png b/Resources/Textures/_Andromeda/Interface/Actions/blush.png new file mode 100644 index 00000000000..9498fca5830 Binary files /dev/null and b/Resources/Textures/_Andromeda/Interface/Actions/blush.png differ diff --git a/Resources/Textures/_Andromeda/Interface/Actions/boop.png b/Resources/Textures/_Andromeda/Interface/Actions/boop.png new file mode 100644 index 00000000000..0fdcfa79199 Binary files /dev/null and b/Resources/Textures/_Andromeda/Interface/Actions/boop.png differ diff --git a/Resources/Textures/_Andromeda/Interface/Actions/bow.png b/Resources/Textures/_Andromeda/Interface/Actions/bow.png new file mode 100644 index 00000000000..df3bbbc134f Binary files /dev/null and b/Resources/Textures/_Andromeda/Interface/Actions/bow.png differ diff --git a/Resources/Textures/_Andromeda/Interface/Actions/buttslap.png b/Resources/Textures/_Andromeda/Interface/Actions/buttslap.png new file mode 100644 index 00000000000..01b701516d2 Binary files /dev/null and b/Resources/Textures/_Andromeda/Interface/Actions/buttslap.png differ diff --git a/Resources/Textures/_Andromeda/Interface/Actions/handshake.png b/Resources/Textures/_Andromeda/Interface/Actions/handshake.png new file mode 100644 index 00000000000..4402242e089 Binary files /dev/null and b/Resources/Textures/_Andromeda/Interface/Actions/handshake.png differ diff --git a/Resources/Textures/_Andromeda/Interface/Actions/highfive.png b/Resources/Textures/_Andromeda/Interface/Actions/highfive.png new file mode 100644 index 00000000000..e04b123bcce Binary files /dev/null and b/Resources/Textures/_Andromeda/Interface/Actions/highfive.png differ diff --git a/Resources/Textures/_Andromeda/Interface/Actions/poke.png b/Resources/Textures/_Andromeda/Interface/Actions/poke.png new file mode 100644 index 00000000000..46e66f44e2c Binary files /dev/null and b/Resources/Textures/_Andromeda/Interface/Actions/poke.png differ