diff --git a/Resources/Locale/ru-RU/ss220/ghost/role/ghost-role-component.ftl b/Resources/Locale/ru-RU/ss220/ghost/roles/ghost-role-component.ftl similarity index 83% rename from Resources/Locale/ru-RU/ss220/ghost/role/ghost-role-component.ftl rename to Resources/Locale/ru-RU/ss220/ghost/roles/ghost-role-component.ftl index 72c05525c2c5..c0aef56d3aef 100644 --- a/Resources/Locale/ru-RU/ss220/ghost/role/ghost-role-component.ftl +++ b/Resources/Locale/ru-RU/ss220/ghost/roles/ghost-role-component.ftl @@ -19,3 +19,7 @@ ghost-role-information-traveling-chef-name = Путешествующий шеф ghost-role-information-traveling-chef-description = Вы - шеф-повар на странствующем шаттле экзотической кухни. Порадуйт… ghost-role-information-traveling-chef-rules = Действуют обычные правила для экипажа станции. # Lost souls roles end + +ghost-role-information-giant-fly-name = Веспия +ghost-role-information-giant-fly-description = Вы гигантская боевая оса. Ваша задача - уничтожить всех кроме представителей вашего вида. +ghost-role-information-giant-fly-rules = Вы [color=red][bold]Командный антагонист[/bold][/color], в команде с другими гигантскими осами. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/ss220/interaction/interaction-popup-component.ftl b/Resources/Locale/ru-RU/ss220/interaction/interaction-popup-component.ftl new file mode 100644 index 000000000000..9610cc7467b1 --- /dev/null +++ b/Resources/Locale/ru-RU/ss220/interaction/interaction-popup-component.ftl @@ -0,0 +1 @@ +petting-success-giant-fly = Удивительно, вам удаётся погладить { $target } по { POSS-ADJ($target) } большеглазой осиной головке. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/ss220/prototypes/entities/mobs/npcs/animals.ftl b/Resources/Locale/ru-RU/ss220/prototypes/entities/mobs/npcs/animals.ftl new file mode 100644 index 000000000000..f098930751a0 --- /dev/null +++ b/Resources/Locale/ru-RU/ss220/prototypes/entities/mobs/npcs/animals.ftl @@ -0,0 +1,6 @@ +ent-MobGiantFly = Веспия + .suffix = Злая + .desc = Это - боевая оса. Она НЕ опыляет. Она НЕ делает мёд. Это НЕ пчела. Это чертова Веспия. +ent-MobGiantFlyGhostRole = Веспия + .desc = { ent-MobGiantFly.desc } + .suffix = Роль Призрака \ No newline at end of file diff --git a/Resources/Prototypes/SS220/Damage/modifier_sets.yml b/Resources/Prototypes/SS220/Damage/modifier_sets.yml index 34a3588fa955..57c99d894b22 100644 --- a/Resources/Prototypes/SS220/Damage/modifier_sets.yml +++ b/Resources/Prototypes/SS220/Damage/modifier_sets.yml @@ -120,3 +120,11 @@ Poison: 0.8 Cellular: 1 Radiation: 0.5 + +- type: damageModifierSet + id: MobVespia + coefficients: + Blunt: 0.7 + Slash: 0.5 + Radiation: 0.4 + Stamina: 0.4 diff --git a/Resources/Prototypes/SS220/Mobs/giantfly.yml b/Resources/Prototypes/SS220/Mobs/giantfly.yml new file mode 100644 index 000000000000..77c36aa9caf2 --- /dev/null +++ b/Resources/Prototypes/SS220/Mobs/giantfly.yml @@ -0,0 +1,107 @@ +- type: entity + name: Vespia + parent: + - SimpleMobBase + - FlyingMobBase + - MobCombat + id: MobGiantFly + suffix: Angry + description: This is not a BEE. + components: + - type: NpcFactionMember + factions: + - SimpleHostile + - type: InputMover + - type: MobMover + - type: HTN + rootTask: + task: SimpleHostileCompound + - type: MovementSpeedModifier + baseWalkSpeed : 3 + baseSprintSpeed : 5 + - type: ThermalVision + state: Half + - type: Sprite + drawdepth: Mobs + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: giant_fly + sprite: SS220/Mobs/Animals/giant_fly.rsi + - type: DamageStateVisuals + states: + Alive: + Base: giant_fly + Critical: + Base: dead + Dead: + Base: dead + - type: CombatMode + - type: MobThresholds + thresholds: + 0: Alive + 90: Critical + 180: Dead + - type: MeleeWeapon + altDisarm: false + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh1.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Poison: 6 + Piercing: 12 + - type: ReplacementAccent + accent: xeno + - type: InteractionPopup + successChance: 0.5 + interactSuccessString: petting-success-giant-fly + interactFailureString: petting-failure-generic + interactSuccessSpawn: EffectHearts + interactSuccessSound: + path: /Audio/Animals/lizard_happy.ogg + - type: NoSlip + - type: Bloodstream + bloodMaxVolume: 100 + bloodReagent: Slime + - type: Tag + tags: + - DoorBumpOpener + - type: Prying # Open door from xeno.yml. + pryPowered: true + force: true + speedModifier: 3 + useSound: + path: /Audio/Items/crowbar.ogg + - type: Butcherable + spawned: + - id: FoodMeatXeno + amount: 3 + - type: Reactive + reactions: + - reagents: [ PestKiller ] + methods: [ Touch ] + effects: + - !type:HealthChange + scaleByQuantity: true + damage: + groups: + Toxin: 10 + - type: Damageable + damageContainer: Biological + damageModifierSet: MobVespia + - type: Sharp + +- type: entity + parent: MobGiantFly + id: MobGiantFlyGhostRole + suffix: GhostRole + components: + - type: GhostRole + makeSentient: true + name: ghost-role-information-giant-fly-name + description: ghost-role-information-giant-fly-description + rules: ghost-role-information-giant-fly-rules + mindRoles: + - MindRoleGhostRoleTeamAntagonist + - type: GhostTakeoverAvailable diff --git a/Resources/Textures/SS220/Mobs/Animals/giant_fly.rsi/dead.png b/Resources/Textures/SS220/Mobs/Animals/giant_fly.rsi/dead.png new file mode 100644 index 000000000000..82012676bd9e Binary files /dev/null and b/Resources/Textures/SS220/Mobs/Animals/giant_fly.rsi/dead.png differ diff --git a/Resources/Textures/SS220/Mobs/Animals/giant_fly.rsi/giant_fly.png b/Resources/Textures/SS220/Mobs/Animals/giant_fly.rsi/giant_fly.png new file mode 100644 index 000000000000..925b0bf0bc06 Binary files /dev/null and b/Resources/Textures/SS220/Mobs/Animals/giant_fly.rsi/giant_fly.png differ diff --git a/Resources/Textures/SS220/Mobs/Animals/giant_fly.rsi/icon.png b/Resources/Textures/SS220/Mobs/Animals/giant_fly.rsi/icon.png new file mode 100644 index 000000000000..259818d5d0c6 Binary files /dev/null and b/Resources/Textures/SS220/Mobs/Animals/giant_fly.rsi/icon.png differ diff --git a/Resources/Textures/SS220/Mobs/Animals/giant_fly.rsi/meta.json b/Resources/Textures/SS220/Mobs/Animals/giant_fly.rsi/meta.json new file mode 100644 index 000000000000..6a6267dab32a --- /dev/null +++ b/Resources/Textures/SS220/Mobs/Animals/giant_fly.rsi/meta.json @@ -0,0 +1,89 @@ +{ + "version": 1, + "license": "EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt", + "copyright": "Created by pulnet (Discord) for SS220", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon", + "delays": [ + [ + 1 + ] + ] + }, + { + "name": "dead", + "delays": [ + [ + 1 + ] + ] + }, + { + "name": "giant_fly", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + } + ] +}