diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml b/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml index 667b83ec3fdf3f..230b34e96e9742 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml @@ -227,3 +227,13 @@ cost: 5000 category: cargoproduct-category-name-livestock group: market + +- type: cargoProduct + id: LivestockSpaceKoi + icon: + sprite: Mobs/Aliens/Kois/red_black.rsi + state: livestock_icon + product: CrateNPCSpaceKoi + cost: 5000 + category: cargoproduct-category-name-livestock + group: market diff --git a/Resources/Prototypes/Catalog/Fills/Crates/npc.yml b/Resources/Prototypes/Catalog/Fills/Crates/npc.yml index 10c715bb99e971..8648a88d784fc0 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/npc.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/npc.yml @@ -264,3 +264,21 @@ contents: - id: MobMothroach amount: 4 +- type: entity + id: CrateNPCSpaceKoi + parent: CrateLivestock + name: space koi crate + description: A crate containing five space kois. + components: + - type: StorageFill + contents: + - id: MobRedBlackKoi + amount: 1 + - id: MobGoldBlackKoi + amount: 1 + - id: MobRedCircleKoi + amount: 1 + - id: MobBloodSkeletonKoi + amount: 1 + - id: MobSpaceGlowKoi + amount: 1 diff --git a/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml b/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml index 52c2c326896723..83d55cc544c0bb 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml @@ -880,3 +880,23 @@ - type: ConditionalSpawner prototypes: - MobHonkBot + +- type: entity + name: space koi spawner + id: SpawnSpaceKoi + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - sprite: Mobs/Aliens/Kois/red_black.rsi + state: livestock_icon + - state: ai + - type: ConditionalSpawner + prototypes: + - MobSpaceGlowKoi + - MobRedBlackKoi + - MobGoldBlackKoi + - MobRedCircleKoi + - MobBloodSkeletonKoi + diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index 2ab2534121d1f1..62123a70cf4a51 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -3459,3 +3459,134 @@ components: - type: ReplacementAccent accent: nymph +- type: entity + name: space koi + id: BaseMobKoi + parent: [ SimpleSpaceMobBase, FlyingMobBase ] + description: Colorful space carp parody, looks friendly. + abstract: true + components: + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Aliens/Kois/gold_black.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: alive + - type: Physics + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.40 + density: 80 + mask: + - FlyingMobMask + layer: + - FlyingMobLayer + - type: MobState + - type: MobThresholds + thresholds: + 0: Alive + 40: Dead + - type: MovementSpeedModifier + baseWalkSpeed: 2.5 + baseSprintSpeed: 3.5 + - type: Stamina + critThreshold: 100 + - type: DamageStateVisuals + states: + Alive: + Base: alive + Dead: + Base: dead + - type: Butcherable + spawned: + - id: FoodMeat + amount: 1 + - type: MeleeWeapon + altDisarm: false + angle: 0 + animation: WeaponArcBite + soundHit: + path: /Audio/Effects/bite.ogg + damage: + types: + Blunt: 1 + Slash: 7 + - type: TypingIndicator + proto: alien + - type: ReplacementAccent + accent: genericAggressive + - type: Speech + speechVerb: LargeMob + - type: InteractionPopup + interactSuccessString: petting-success-carp + interactFailureString: petting-failure-carp + interactFailureSound: + path: /Audio/Effects/bite.ogg + - type: StaticPrice + price: -800 + + +- type: entity + parent: BaseMobKoi + id: MobRedBlackKoi + suffix: "Red Black" + components: + - type: Sprite + sprite: Mobs/Aliens/Kois/red_black.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: alive +- type: entity + parent: BaseMobKoi + id: MobGoldBlackKoi + suffix: "Gold Black" + components: + - type: Sprite + sprite: Mobs/Aliens/Kois/gold_black.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: alive + +- type: entity + parent: BaseMobKoi + id: MobRedCircleKoi + suffix: "Red Circle" + components: + - type: Sprite + sprite: Mobs/Aliens/Kois/red_circle.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: alive + +- type: entity + parent: BaseMobKoi + id: MobBloodSkeletonKoi + suffix: "Blood Skeleton" + components: + - type: Sprite + sprite: Mobs/Aliens/Kois/blood_skeleton.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: alive +- type: entity + parent: BaseMobKoi + id: MobSpaceGlowKoi + suffix: "Space Glow" + components: + - type: Sprite + sprite: Mobs/Aliens/Kois/space_glow.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: alive + - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] + state: unshaded + shader: unshaded + - type: PointLight + radius: 1.2 + energy: 2 + color: "#4faffb" + + diff --git a/Resources/Textures/Mobs/Aliens/Kois/blood_skeleton.rsi/alive.png b/Resources/Textures/Mobs/Aliens/Kois/blood_skeleton.rsi/alive.png new file mode 100644 index 00000000000000..7ee3404eb7297b Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/blood_skeleton.rsi/alive.png differ diff --git a/Resources/Textures/Mobs/Aliens/Kois/blood_skeleton.rsi/dead.png b/Resources/Textures/Mobs/Aliens/Kois/blood_skeleton.rsi/dead.png new file mode 100644 index 00000000000000..b066dbb530fdef Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/blood_skeleton.rsi/dead.png differ diff --git a/Resources/Textures/Mobs/Aliens/Kois/blood_skeleton.rsi/icon.png b/Resources/Textures/Mobs/Aliens/Kois/blood_skeleton.rsi/icon.png new file mode 100644 index 00000000000000..6812b97133f14d Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/blood_skeleton.rsi/icon.png differ diff --git a/Resources/Textures/Mobs/Aliens/Kois/blood_skeleton.rsi/meta.json b/Resources/Textures/Mobs/Aliens/Kois/blood_skeleton.rsi/meta.json new file mode 100644 index 00000000000000..73597a688d1ff9 --- /dev/null +++ b/Resources/Textures/Mobs/Aliens/Kois/blood_skeleton.rsi/meta.json @@ -0,0 +1,43 @@ +{ + "version": 2, + "license": "CC-BY-SA-3.0", + "copyright": "Made by XcenLegend for Space Station 14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "dead" + }, + { + "name": "alive", + "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 + ] + ] + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/Mobs/Aliens/Kois/gold_black.rsi/alive.png b/Resources/Textures/Mobs/Aliens/Kois/gold_black.rsi/alive.png new file mode 100644 index 00000000000000..7a5d50a1abc813 Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/gold_black.rsi/alive.png differ diff --git a/Resources/Textures/Mobs/Aliens/Kois/gold_black.rsi/dead.png b/Resources/Textures/Mobs/Aliens/Kois/gold_black.rsi/dead.png new file mode 100644 index 00000000000000..4b5cb36736c073 Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/gold_black.rsi/dead.png differ diff --git a/Resources/Textures/Mobs/Aliens/Kois/gold_black.rsi/icon.png b/Resources/Textures/Mobs/Aliens/Kois/gold_black.rsi/icon.png new file mode 100644 index 00000000000000..dc244bc8a08217 Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/gold_black.rsi/icon.png differ diff --git a/Resources/Textures/Mobs/Aliens/Kois/gold_black.rsi/meta.json b/Resources/Textures/Mobs/Aliens/Kois/gold_black.rsi/meta.json new file mode 100644 index 00000000000000..73597a688d1ff9 --- /dev/null +++ b/Resources/Textures/Mobs/Aliens/Kois/gold_black.rsi/meta.json @@ -0,0 +1,43 @@ +{ + "version": 2, + "license": "CC-BY-SA-3.0", + "copyright": "Made by XcenLegend for Space Station 14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "dead" + }, + { + "name": "alive", + "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 + ] + ] + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/Mobs/Aliens/Kois/red_black.rsi/alive.png b/Resources/Textures/Mobs/Aliens/Kois/red_black.rsi/alive.png new file mode 100644 index 00000000000000..23d2386594bbb1 Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/red_black.rsi/alive.png differ diff --git a/Resources/Textures/Mobs/Aliens/Kois/red_black.rsi/dead.png b/Resources/Textures/Mobs/Aliens/Kois/red_black.rsi/dead.png new file mode 100644 index 00000000000000..e754e8c934d788 Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/red_black.rsi/dead.png differ diff --git a/Resources/Textures/Mobs/Aliens/Kois/red_black.rsi/icon.png b/Resources/Textures/Mobs/Aliens/Kois/red_black.rsi/icon.png new file mode 100644 index 00000000000000..b4a0f62c29e3ed Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/red_black.rsi/icon.png differ diff --git a/Resources/Textures/Mobs/Aliens/Kois/red_black.rsi/livestock_icon.png b/Resources/Textures/Mobs/Aliens/Kois/red_black.rsi/livestock_icon.png new file mode 100644 index 00000000000000..212e0475c6c735 Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/red_black.rsi/livestock_icon.png differ diff --git a/Resources/Textures/Mobs/Aliens/Kois/red_black.rsi/meta.json b/Resources/Textures/Mobs/Aliens/Kois/red_black.rsi/meta.json new file mode 100644 index 00000000000000..0ba3bf1836d90c --- /dev/null +++ b/Resources/Textures/Mobs/Aliens/Kois/red_black.rsi/meta.json @@ -0,0 +1,46 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Made by XcenLegend for Space Station 14", + "states": [ + { + "name": "icon" + }, + { + "name": "livestock_icon" + }, + { + "name": "dead" + }, + { + "name": "alive", + "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 + ] + ] + } + ] +} diff --git a/Resources/Textures/Mobs/Aliens/Kois/red_circle.rsi/alive.png b/Resources/Textures/Mobs/Aliens/Kois/red_circle.rsi/alive.png new file mode 100644 index 00000000000000..a9726088ecc998 Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/red_circle.rsi/alive.png differ diff --git a/Resources/Textures/Mobs/Aliens/Kois/red_circle.rsi/dead.png b/Resources/Textures/Mobs/Aliens/Kois/red_circle.rsi/dead.png new file mode 100644 index 00000000000000..b92ed53fbe5d62 Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/red_circle.rsi/dead.png differ diff --git a/Resources/Textures/Mobs/Aliens/Kois/red_circle.rsi/icon.png b/Resources/Textures/Mobs/Aliens/Kois/red_circle.rsi/icon.png new file mode 100644 index 00000000000000..3e802cf324d6d8 Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/red_circle.rsi/icon.png differ diff --git a/Resources/Textures/Mobs/Aliens/Kois/red_circle.rsi/meta.json b/Resources/Textures/Mobs/Aliens/Kois/red_circle.rsi/meta.json new file mode 100644 index 00000000000000..73597a688d1ff9 --- /dev/null +++ b/Resources/Textures/Mobs/Aliens/Kois/red_circle.rsi/meta.json @@ -0,0 +1,43 @@ +{ + "version": 2, + "license": "CC-BY-SA-3.0", + "copyright": "Made by XcenLegend for Space Station 14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "dead" + }, + { + "name": "alive", + "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 + ] + ] + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/Mobs/Aliens/Kois/space_glow.rsi/alive.png b/Resources/Textures/Mobs/Aliens/Kois/space_glow.rsi/alive.png new file mode 100644 index 00000000000000..e60731d15634e4 Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/space_glow.rsi/alive.png differ diff --git a/Resources/Textures/Mobs/Aliens/Kois/space_glow.rsi/dead.png b/Resources/Textures/Mobs/Aliens/Kois/space_glow.rsi/dead.png new file mode 100644 index 00000000000000..f9caa619f7cf1f Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/space_glow.rsi/dead.png differ diff --git a/Resources/Textures/Mobs/Aliens/Kois/space_glow.rsi/icon.png b/Resources/Textures/Mobs/Aliens/Kois/space_glow.rsi/icon.png new file mode 100644 index 00000000000000..58f07ef70e893d Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/space_glow.rsi/icon.png differ diff --git a/Resources/Textures/Mobs/Aliens/Kois/space_glow.rsi/meta.json b/Resources/Textures/Mobs/Aliens/Kois/space_glow.rsi/meta.json new file mode 100644 index 00000000000000..d5988c1792904f --- /dev/null +++ b/Resources/Textures/Mobs/Aliens/Kois/space_glow.rsi/meta.json @@ -0,0 +1,69 @@ +{ + "version": 2, + "license": "CC-BY-SA-3.0", + "copyright": "Made by XcenLegend for Space Station 14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "dead" + }, + { + "name": "alive", + "directions": 4, + "delays": [ + [ + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "unshaded", + "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 + ] + ] + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/Mobs/Aliens/Kois/space_glow.rsi/unshaded.png b/Resources/Textures/Mobs/Aliens/Kois/space_glow.rsi/unshaded.png new file mode 100644 index 00000000000000..a18be79be7f8bf Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Kois/space_glow.rsi/unshaded.png differ