Kitties! Cats! Small carcats! (#1814)

* todo finish after cbt

* alright. it's working, somehow

* colored cars

* i'll fucking smash my head against the wall

* colored cars with spots

* i can't belive my eyes

* spawners, localization and some stuff

* rat hunters

* resolving stuff

* and this one too

* car

* car 2

* car 3

* 13

* car 4

* car 5

* car 6

* i hate rats

* car 7

* finally

* alldun!

* CARCATS 2 IS REAL
This commit is contained in:
nukkuminen
2025-10-01 17:44:08 +03:00
committed by GitHub
parent f2ca5a9a89
commit bdcd379363
14 changed files with 271 additions and 1 deletions

View File

@@ -15,3 +15,6 @@ cp14-ghost-role-information-description-bone-hound = A bone hound created by nec
cp14-ghost-role-information-name-snail = Snail cp14-ghost-role-information-name-snail = Snail
cp14-ghost-role-information-description-snail = Surviving is already an achievement. cp14-ghost-role-information-description-snail = Surviving is already an achievement.
cp14-ghost-role-information-cat-name = Cat
cp14-ghost-role-information-cat-description = You're the fluffiest thing in the world. Hunt the mice/rats, be cute or stick with some adventurers!

View File

@@ -15,3 +15,6 @@ cp14-ghost-role-information-description-bone-hound = Костяная гонча
cp14-ghost-role-information-name-snail = Улитка cp14-ghost-role-information-name-snail = Улитка
cp14-ghost-role-information-description-snail = Выжить это уже достижение. cp14-ghost-role-information-description-snail = Выжить это уже достижение.
cp14-ghost-role-information-cat-name = Кот
cp14-ghost-role-information-cat-description = Ты самое пушистое существо в этом мире! Охоться за мышами/крысами, будь милым или ходи вместе с авантюристами!

View File

@@ -123,6 +123,40 @@
prototypes: prototypes:
- CP14MobSnail - CP14MobSnail
- type: entity
name: cat spawner
id: CP14SpawnMobCatRandomColored
parent: MarkerBase
categories: [ ForkFiltered ]
suffix: "Colored"
components:
- type: Sprite
layers:
- sprite: Markers/cross.rsi
state: green
- sprite: _CP14/Mobs/Animals/cat.rsi
state: lying
- type: ConditionalSpawner
prototypes:
- CP14MobCatRandomColored
- type: entity
name: cat spawner
id: CP14SpawnMobCatRandomColoredWithSpots
parent: MarkerBase
categories: [ ForkFiltered ]
suffix: "Colored, Spotted"
components:
- type: Sprite
layers:
- sprite: Markers/cross.rsi
state: green
- sprite: _CP14/Mobs/Animals/cat.rsi
state: lying
- type: ConditionalSpawner
prototypes:
- CP14MobCatRandomColoredWithSpots
# Dino # Dino
- type: entity - type: entity

View File

@@ -0,0 +1,170 @@
- type: entity
id: CP14MobCatBase
parent: CP14SimpleMobBase
name: cat
description: A cute small feline, that purrs when you pet it. Meow!
categories: [ ForkFiltered ]
abstract: true
components:
- type: NpcFactionMember
factions:
- CP14Cat
- type: HTN
rootTask:
task: SimpleHostileCompound
- type: MovementSpeedModifier
baseWalkSpeed: 3
baseSprintSpeed: 5
- type: Sprite
drawdepth: Mobs
sprite: _CP14/Mobs/Animals/cat.rsi
layers:
- map: ["enum.DamageStateVisualLayers.Base", "movement"]
state: walking
- type: SpriteMovement
movementLayers:
movement:
state: walking
noMovementLayers:
movement:
state: lying
- type: FireVisuals
sprite: Mobs/Effects/onfire.rsi
normalState: Mouse_burning
- type: Appearance
- type: Physics
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.25
density: 40
mask:
- MobMask
layer:
- MobLayer
- type: MobThresholds
thresholds:
0: Alive
50: Critical
75: Dead
- type: CP14NightVision # Why do carcats have night vision, but not cats?
- type: DamageStateVisuals
states:
Alive:
Base: walking
Critical:
Base: dead
Dead:
Base: dead
- type: MeleeWeapon
damage:
types:
Slash: 7.5
attackRate: 1.5
range: 1.25
altDisarm: false
angle: 0
animation: WeaponArcClaw
soundHit:
collection: AlienClaw
wideAnimation: WeaponArcClaw
- type: GhostRole
name: cp14-ghost-role-information-cat-name
description: cp14-ghost-role-information-cat-description
rules: cp14-ghost-role-information-rules-pet
raffle:
settings: short
- type: GhostTakeoverAvailable
- type: MessyDrinker
spillChance: 0.2
- type: Speech
speechSounds: Cat
speechVerb: SmallMob
- type: ReplacementAccent
accent: cat
- type: InteractionPopup
successChance: 0.6
interactSuccessString: petting-success-cat
interactFailureString: petting-failure-generic
interactSuccessSpawn: EffectHearts
interactSuccessSound:
path: /Audio/Animals/cat_meow.ogg
- type: PassiveDamage
allowedStates:
- Alive
damageCap: 40
damage:
groups:
Brute: -0.05
Burn: -0.02
Toxin: -0.02
- type: Bloodstream
bloodMaxVolume: 80
bloodReagent: CP14BloodAnimal
- type: Tag
tags:
- CannotSuicide
- type: entity
parent: CP14MobCatBase
id: CP14MobCatColoredWithSpotsBase
categories: [ ForkFiltered ]
abstract: true
components:
- type: Sprite
drawdepth: Mobs
sprite: _CP14/Mobs/Animals/cat.rsi
layers:
- map: ["enum.DamageStateVisualLayers.Base", "movement"]
state: walking
- map: [ "enum.DamageStateVisualLayers.BaseUnshaded", "overlay"]
state: walking-overlay
- type: SpriteMovement
movementLayers:
movement:
sprite: _CP14/Mobs/Animals/cat.rsi
state: walking
overlay:
sprite: _CP14/Mobs/Animals/cat.rsi
state: walking-overlay
noMovementLayers:
movement:
sprite: _CP14/Mobs/Animals/cat.rsi
state: lying
overlay:
sprite: _CP14/Mobs/Animals/cat.rsi
state: lying-overlay
- type: DamageStateVisuals
states:
Alive:
Base: walking
BaseUnshaded: walking-overlay
Dead:
Base: dead
BaseUnshaded: dead-overlay
- type: entity
parent: CP14MobCatBase
id: CP14MobCatRandomColored
suffix: "Colored"
categories: [ ForkFiltered ]
components:
- type: RandomSprite
available:
- enum.DamageStateVisualLayers.Base:
walking: CP14CatColors
- type: entity
parent: CP14MobCatColoredWithSpotsBase
id: CP14MobCatRandomColoredWithSpots
suffix: "Colored, Spotted"
categories: [ ForkFiltered ]
components:
- type: RandomSprite
available:
- enum.DamageStateVisualLayers.Base:
walking: CP14CatColors
- enum.DamageStateVisualLayers.BaseUnshaded:
walking-overlay: CP14CatColors

View File

@@ -10,7 +10,7 @@
task: RuminantHostileCompound task: RuminantHostileCompound
- type: NpcFactionMember - type: NpcFactionMember
factions: factions:
- CP14PeacefulAnimals - CP14Rodent
- type: NPCRetaliation - type: NPCRetaliation
attackMemoryLength: 20 attackMemoryLength: 20
- type: Sprite - type: Sprite

View File

@@ -0,0 +1,10 @@
- type: palette
id: CP14CatColors
name: CP14CatColors
colors:
black: "#333333"
gray: "#666666"
white: "#ffffff"
brown: "#595042"
lightbrown: "#654321"
orange: "#e49b0f"

View File

@@ -19,6 +19,8 @@
- CP14Monster - CP14Monster
- CP14Slimes - CP14Slimes
- CP14Fishies - CP14Fishies
- CP14Cat
- CP14Rodent
- type: npcFaction - type: npcFaction
id: CP14Undead id: CP14Undead
@@ -28,6 +30,8 @@
- CP14PeacefulAnimals - CP14PeacefulAnimals
- CP14AggressiveAnimals - CP14AggressiveAnimals
- CP14Fishies - CP14Fishies
- CP14Cat
- CP14Rodent
- type: npcFaction - type: npcFaction
id: CP14PeacefulAnimals id: CP14PeacefulAnimals
@@ -35,6 +39,15 @@
- type: npcFaction - type: npcFaction
id: CP14Neutrals id: CP14Neutrals
- type: npcFaction
id: CP14Cat
hostile:
- CP14Rodent
- CP14Fishies
- type: npcFaction
id: CP14Rodent
- type: npcFaction - type: npcFaction
id: CP14AggressiveAnimals id: CP14AggressiveAnimals
hostile: hostile:
@@ -45,6 +58,8 @@
- CP14Slimes - CP14Slimes
- CP14HostileEveryone - CP14HostileEveryone
- CP14Fishies - CP14Fishies
- CP14Cat
- CP14Rodent
- type: npcFaction - type: npcFaction
id: CP14Monster id: CP14Monster
@@ -53,6 +68,8 @@
- CP14HostileEveryone - CP14HostileEveryone
- CP14AggressiveAnimals - CP14AggressiveAnimals
- CP14PeacefulAnimals - CP14PeacefulAnimals
- CP14Cat
- CP14Rodent
- type: npcFaction - type: npcFaction
id: CP14Insects id: CP14Insects
@@ -69,6 +86,8 @@
- CP14HostileEveryone - CP14HostileEveryone
- CP14PeacefulAnimals - CP14PeacefulAnimals
- CP14AggressiveAnimals - CP14AggressiveAnimals
- CP14Cat
- CP14Rodent
- type: npcFaction - type: npcFaction
id: CP14Fishies id: CP14Fishies

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 622 B

View File

@@ -0,0 +1,31 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Sprites by darksovet(discord), modified by omsoyk(discord), modified RSI by oldschool_otaku, owned by Gogenych",
"states": [
{
"name": "walking",
"directions": 4
},
{
"name": "lying"
},
{
"name": "dead"
},
{
"name": "walking-overlay",
"directions": 4
},
{
"name": "lying-overlay"
},
{
"name": "dead-overlay"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB