Compare commits
16 Commits
ed-31-08-2
...
ed-21-09-2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7a4537d6c0 | ||
|
|
bc60036a29 | ||
|
|
e8ae76eae5 | ||
|
|
67704f953f | ||
|
|
dece65f3a7 | ||
|
|
bdcd379363 | ||
|
|
f2ca5a9a89 | ||
|
|
d812103806 | ||
|
|
5cd90ec7e8 | ||
|
|
1053a8502a | ||
|
|
60946749a8 | ||
|
|
ef9fbbd699 | ||
|
|
bce80d4026 | ||
|
|
fe0853a1f3 | ||
|
|
621ee3fa73 | ||
|
|
a4d49a1a99 |
@@ -90,7 +90,7 @@ public sealed partial class CP14RoundEndSystem
|
||||
var isWeekend = now.DayOfWeek is DayOfWeek.Saturday || now.DayOfWeek is DayOfWeek.Sunday;
|
||||
|
||||
var allowedRuPlaytime = isWeekend ? now.Hour is >= 13 and < 17 : now.Hour is >= 15 and < 19;
|
||||
var allowedEngPlaytime = now.Hour is >= 19 and < 23;
|
||||
var allowedEngPlaytime = isWeekend ? now.Hour is >= 17 and < 21 : now.Hour is >= 19 and < 23;
|
||||
var isMonday = now.DayOfWeek is DayOfWeek.Monday;
|
||||
|
||||
if (((ruDays && allowedRuPlaytime) || (!ruDays && allowedEngPlaytime)) && !isMonday)
|
||||
|
||||
@@ -394,7 +394,7 @@ namespace Content.Shared.Damage
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class DamageChangedEvent : EntityEventArgs
|
||||
public sealed class DamageChangedEvent : EntityEventArgs, IInventoryRelayEvent
|
||||
{
|
||||
/// <summary>
|
||||
/// This is the component whose damage was changed.
|
||||
@@ -448,5 +448,9 @@ namespace Content.Shared.Damage
|
||||
}
|
||||
InterruptsDoAfters = interruptsDoAfters && DamageIncreased;
|
||||
}
|
||||
|
||||
//CP14
|
||||
public SlotFlags TargetSlots => SlotFlags.All;
|
||||
//CP14 end
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,6 +45,7 @@ public partial class InventorySystem
|
||||
SubscribeLocalEvent<InventoryComponent, CP14MagicEssenceScanEvent>(RelayInventoryEvent);
|
||||
SubscribeLocalEvent<InventoryComponent, CP14CalculateManacostEvent>(RelayInventoryEvent);
|
||||
SubscribeLocalEvent<InventoryComponent, CP14SkillScanEvent>(RelayInventoryEvent);
|
||||
SubscribeLocalEvent<InventoryComponent, DamageChangedEvent>(RelayInventoryEvent);
|
||||
//CP14 End
|
||||
|
||||
SubscribeLocalEvent<InventoryComponent, DamageModifyEvent>(RelayInventoryEvent);
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
using Content.Shared._CP14.Actions;
|
||||
using Content.Shared.Damage;
|
||||
using Robust.Shared.GameStates;
|
||||
|
||||
namespace Content.Shared._CP14.Armor;
|
||||
|
||||
/// <summary>
|
||||
/// When the wearer takes damage, part of that damage is also taken by this item of clothing.
|
||||
/// </summary>
|
||||
[RegisterComponent, NetworkedComponent, Access(typeof(CP14ArmorSystem))]
|
||||
public sealed partial class CP14ArmorDamageAbsorptionComponent : Component
|
||||
{
|
||||
[DataField]
|
||||
public float Absorption = 0.3f;
|
||||
}
|
||||
28
Content.Shared/_CP14/Armor/CP14ArmorSystem.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
|
||||
using Content.Shared.Damage;
|
||||
using Content.Shared.Inventory;
|
||||
|
||||
namespace Content.Shared._CP14.Armor;
|
||||
|
||||
public sealed class CP14ArmorSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly DamageableSystem _damageable = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<CP14ArmorDamageAbsorptionComponent, InventoryRelayedEvent<DamageChangedEvent>>(OnDamageChanged);
|
||||
}
|
||||
|
||||
private void OnDamageChanged(Entity<CP14ArmorDamageAbsorptionComponent> ent, ref InventoryRelayedEvent<DamageChangedEvent> args)
|
||||
{
|
||||
if (!args.Args.DamageIncreased)
|
||||
return;
|
||||
|
||||
if (args.Args.DamageDelta is null)
|
||||
return;
|
||||
|
||||
_damageable.TryChangeDamage(ent, args.Args.DamageDelta * ent.Comp.Absorption);
|
||||
}
|
||||
}
|
||||
@@ -2297,3 +2297,41 @@
|
||||
id: 8277
|
||||
time: '2025-09-28T08:16:52.0000000+00:00'
|
||||
url: https://github.com/crystallpunk-14/crystall-punk-14/pull/1805
|
||||
- author: TheShuEd
|
||||
changes:
|
||||
- message: Disabled magic fairies until fix, becaues they cause server crashes
|
||||
type: Remove
|
||||
- message: Fixed lurker melee stun interrupting
|
||||
type: Fix
|
||||
id: 8278
|
||||
time: '2025-09-28T20:53:15.0000000+00:00'
|
||||
url: https://github.com/crystallpunk-14/crystall-punk-14/pull/1811
|
||||
- author: TTTomaTTT, oldschool_otaku
|
||||
changes:
|
||||
- message: Added custom burning sprites
|
||||
type: Add
|
||||
id: 8279
|
||||
time: '2025-09-30T12:02:49.0000000+00:00'
|
||||
url: https://github.com/crystallpunk-14/crystall-punk-14/pull/1813
|
||||
- author: Nimfar11
|
||||
changes:
|
||||
- message: Adds snails and their shells as an appetiser. Be careful when hitting
|
||||
them, they are very fragile.
|
||||
type: Add
|
||||
id: 8280
|
||||
time: '2025-09-30T16:27:58.0000000+00:00'
|
||||
url: https://github.com/crystallpunk-14/crystall-punk-14/pull/1753
|
||||
- author: oldschool_otaku
|
||||
changes:
|
||||
- message: Hallucinogenic solution is fixed
|
||||
type: Fix
|
||||
id: 8281
|
||||
time: '2025-10-01T11:36:06.0000000+00:00'
|
||||
url: https://github.com/crystallpunk-14/crystall-punk-14/pull/1764
|
||||
- author: oldschool_otaku
|
||||
changes:
|
||||
- message: Added cats!
|
||||
type: Add
|
||||
id: 8282
|
||||
time: '2025-10-01T14:44:09.0000000+00:00'
|
||||
url: https://github.com/crystallpunk-14/crystall-punk-14/pull/1814
|
||||
|
||||
@@ -12,3 +12,9 @@ cp14-ghost-role-information-description-rat = An honorable rat. Relieve tavernke
|
||||
|
||||
cp14-ghost-role-information-name-bone-hound = Bone hound
|
||||
cp14-ghost-role-information-description-bone-hound = A bone hound created by necromantic magic, usually summoned by skeleton mages to form a pack of hunters. Obeys the skeleton that summoned it.
|
||||
|
||||
cp14-ghost-role-information-name-snail = Snail
|
||||
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!
|
||||
|
||||
@@ -12,3 +12,9 @@ cp14-ghost-role-information-description-rat = Крыса чести. Избав
|
||||
|
||||
cp14-ghost-role-information-name-bone-hound = Костяная гончая
|
||||
cp14-ghost-role-information-description-bone-hound = Костяная гончая, созданная с помощью магии некромантии, обычно вызываемая магами скелетами для формирования стаи охотников. Подчиняется скелету, который его вызвал.
|
||||
|
||||
cp14-ghost-role-information-name-snail = Улитка
|
||||
cp14-ghost-role-information-description-snail = Выжить – это уже достижение.
|
||||
|
||||
cp14-ghost-role-information-cat-name = Кот
|
||||
cp14-ghost-role-information-cat-description = Ты самое пушистое существо в этом мире! Охоться за мышами/крысами, будь милым или ходи вместе с авантюристами!
|
||||
|
||||
@@ -126,3 +126,5 @@
|
||||
- id: CP14BookTieflingGambit
|
||||
- id: CP14GuidebookCooking
|
||||
- id: CP14SackFarmingSeedFull
|
||||
- id: CP14SackFarmingSeedSnail
|
||||
prob: 0.6
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
stamina: 20
|
||||
- type: DoAfterArgs
|
||||
delay: 2.5
|
||||
distanceThreshold: 1.5
|
||||
distanceThreshold: 2.5
|
||||
breakOnDamage: true
|
||||
- type: CP14ActionEmoting
|
||||
startEmote: cp14-kick-lurker-start
|
||||
|
||||
@@ -57,13 +57,6 @@
|
||||
CP14Leather: 18 # 20u CP14Leather (4x5u) ~~~ and -2u for cost balance
|
||||
CP14Iron: 2 # 2u CP14IronBuckle (1x2u)
|
||||
# Cost: (20×1.2) + (2×2) = 24 + 4 = 28 copper coins
|
||||
- type: Armor
|
||||
modifiers:
|
||||
coefficients:
|
||||
Blunt: 0.95
|
||||
Slash: 0.95
|
||||
Heat: 0.90
|
||||
Caustic: 0.90
|
||||
- type: ExplosionResistance
|
||||
damageCoefficient: 0.9
|
||||
|
||||
|
||||
@@ -108,11 +108,6 @@
|
||||
CP14Iron: 12 # 12u CP14IronBuckle (6x2u)
|
||||
CP14Cloth: 50 # 40u CP14Cloth (8x10u) + 10u CP14String ~~~ 15 additional coppers
|
||||
# Cost: (45×1.2) + (12×2) = 54 + 24 = 78 copper coins
|
||||
- type: Armor
|
||||
modifiers:
|
||||
coefficients:
|
||||
Blunt: 0.95
|
||||
Slash: 0.95
|
||||
- type: StaticPrice
|
||||
price: 30 # Balance with backpack
|
||||
|
||||
@@ -139,11 +134,6 @@
|
||||
CP14Iron: 12 # 12u CP14IronBuckle (6x2u)
|
||||
CP14Cloth: 50 # 40u CP14Cloth (8x10u) + 10u CP14String ~~~ 15 additional coppers
|
||||
# Cost: (80×1.2) + (12×2) = 96 + 24 = 120 copper coins
|
||||
- type: Armor
|
||||
modifiers:
|
||||
coefficients:
|
||||
Blunt: 0.90
|
||||
Slash: 0.90
|
||||
- type: ExplosionResistance
|
||||
damageCoefficient: 0.9
|
||||
- type: ClothingSpeedModifier
|
||||
@@ -180,11 +170,5 @@
|
||||
CP14Leather: 45 # 15u thin (3x5u) + 30u regular (3x10u)
|
||||
CP14Iron: 32 # 20 + 12u CP14IronBuckle (6x2u)
|
||||
# Cost: (45×1.2) + (32×2) = 54 + 64 = 118 copper coins
|
||||
- type: Armor
|
||||
modifiers:
|
||||
coefficients:
|
||||
Blunt: 0.90
|
||||
Slash: 0.90
|
||||
Piercing: 0.95
|
||||
- type: ExplosionResistance
|
||||
damageCoefficient: 0.85
|
||||
|
||||
@@ -127,6 +127,9 @@
|
||||
sprintModifier: 0.90
|
||||
- type: CP14MagicManacostModify
|
||||
globalModifier: 1.2
|
||||
- type: CP14ArmorDamageAbsorption
|
||||
absorption: 0.5
|
||||
- type: PhysicalComposition
|
||||
materialComposition:
|
||||
CP14Iron: 90
|
||||
- type: Damageable
|
||||
|
||||
@@ -107,6 +107,56 @@
|
||||
prototypes:
|
||||
- CP14MobSheep
|
||||
|
||||
- type: entity
|
||||
name: snail spawner
|
||||
id: CP14SpawnMobSnail
|
||||
parent: MarkerBase
|
||||
categories: [ ForkFiltered ]
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- sprite: Markers/cross.rsi
|
||||
state: green
|
||||
- sprite: _CP14/Mobs/Animals/snail.rsi
|
||||
state: live
|
||||
- type: ConditionalSpawner
|
||||
prototypes:
|
||||
- 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
|
||||
|
||||
- type: entity
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
- type: entity
|
||||
name: snail timed spawner
|
||||
id: CP14SpawnTimedMobSnail
|
||||
parent: MarkerBase
|
||||
categories: [ ForkFiltered ]
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- sprite: Markers/cross.rsi
|
||||
state: blue
|
||||
- sprite: _CP14/Mobs/Animals/snail.rsi
|
||||
state: live
|
||||
- type: Timer
|
||||
- type: TimedSpawner
|
||||
prototypes:
|
||||
- CP14MobSnail
|
||||
chance: 0.5
|
||||
intervalSeconds: 540
|
||||
minimumEntitiesSpawned: 1
|
||||
maximumEntitiesSpawned: 1
|
||||
@@ -565,4 +565,139 @@
|
||||
volume: -2
|
||||
variation: 0.125
|
||||
- type: SoundWhileAlive
|
||||
- type: FloorOcclusion
|
||||
|
||||
- type: entity
|
||||
id: CP14MobSnail
|
||||
parent: CP14SimpleMobBase
|
||||
name: snail
|
||||
description: A small and slow snail. It seems that any touch could crush it.
|
||||
categories: [ ForkFiltered ]
|
||||
components:
|
||||
- type: GhostRole
|
||||
makeSentient: true
|
||||
allowSpeech: true
|
||||
allowMovement: true
|
||||
name: cp14-ghost-role-information-name-snail
|
||||
description: cp14-ghost-role-information-description-snail
|
||||
rules: ghost-role-information-freeagent-rules
|
||||
mindRoles:
|
||||
- MindRoleGhostRoleFreeAgentHarmless
|
||||
- type: GhostTakeoverAvailable
|
||||
- type: HTN
|
||||
constantlyReplan: false
|
||||
rootTask:
|
||||
task: MouseCompound
|
||||
- type: NpcFactionMember
|
||||
factions:
|
||||
- CP14PeacefulAnimals
|
||||
- type: Sprite
|
||||
drawdepth: SmallMobs
|
||||
layers:
|
||||
- sprite: _CP14/Mobs/Animals/snail.rsi
|
||||
state: live
|
||||
- type: Item
|
||||
size: Tiny
|
||||
- type: Physics
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.1
|
||||
density: 20
|
||||
mask:
|
||||
- SmallMobMask
|
||||
layer:
|
||||
- SmallMobLayer
|
||||
- type: MobState
|
||||
- type: MobThresholds
|
||||
thresholds:
|
||||
0: Alive
|
||||
10: Dead
|
||||
- type: MovementSpeedModifier
|
||||
baseWalkSpeed: 2
|
||||
baseSprintSpeed: 3
|
||||
- type: Speech
|
||||
speechVerb: SmallMob
|
||||
- type: ReplacementAccent
|
||||
accent: mouse
|
||||
- type: Food
|
||||
- type: Thirst
|
||||
baseDecayRate: 0.01
|
||||
- type: Hunger
|
||||
baseDecayRate: 0.01
|
||||
- type: Body
|
||||
prototype: null
|
||||
- type: Respirator
|
||||
minSaturation: 5.0
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
reagents:
|
||||
- ReagentId: UncookedAnimalProteins
|
||||
Quantity: 3
|
||||
- type: Tag
|
||||
tags:
|
||||
- Meat
|
||||
- type: CombatMode
|
||||
combatToggleAction: ActionCombatModeToggleOff
|
||||
- type: Bloodstream
|
||||
bloodMaxVolume: 10
|
||||
bloodReagent: CP14BloodAnimal
|
||||
- type: CanEscapeInventory
|
||||
- type: BadFood
|
||||
- type: FireVisuals
|
||||
sprite: Mobs/Effects/onfire.rsi
|
||||
normalState: Mouse_burning
|
||||
- type: NoSlip
|
||||
- type: Slippery
|
||||
- type: StepTrigger
|
||||
requiredTriggeredSpeed: 1
|
||||
- type: TriggerOnStepTrigger
|
||||
- type: RandomChanceTriggerCondition
|
||||
successChance: 0.3
|
||||
- type: GibOnTrigger
|
||||
- type: ProtectedFromStepTriggers
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 10
|
||||
behaviors:
|
||||
- !type:GibBehavior
|
||||
recursive: false
|
||||
- !type:SpawnEntitiesBehavior
|
||||
spawnInContainer: true
|
||||
spawn:
|
||||
CP14FoodSnailShell:
|
||||
min: 1
|
||||
max: 1
|
||||
- trigger:
|
||||
!type:DamageTypeTrigger
|
||||
damageType: Blunt
|
||||
damage: 3
|
||||
behaviors:
|
||||
- !type:GibBehavior
|
||||
recursive: false
|
||||
- trigger:
|
||||
!type:DamageTypeTrigger
|
||||
damageType: Slash
|
||||
damage: 5
|
||||
behaviors:
|
||||
- !type:GibBehavior
|
||||
recursive: false
|
||||
- trigger:
|
||||
!type:DamageTypeTrigger
|
||||
damageType: Heat
|
||||
damage: 9
|
||||
behaviors:
|
||||
- !type:SpawnEntitiesBehavior
|
||||
spawnInContainer: true
|
||||
spawn:
|
||||
CP14Ash1:
|
||||
min: 1
|
||||
max: 1
|
||||
- !type:BurnBodyBehavior { }
|
||||
- !type:PlaySoundBehavior
|
||||
sound:
|
||||
collection: MeatLaserImpact
|
||||
|
||||
173
Resources/Prototypes/_CP14/Entities/Mobs/NPC/cats.yml
Normal file
@@ -0,0 +1,173 @@
|
||||
- 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: Hands # remove when climbing on tables will be possible without hands component
|
||||
- type: Puller
|
||||
needsHands: false
|
||||
- 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
|
||||
@@ -3,7 +3,7 @@
|
||||
parent: CP14SimpleMobBase
|
||||
id: CP14MobFairy
|
||||
description: It glows, squeaks and considers itself very important. It seems that ordinary weapons are incapable of killing her, and only the dissipation of magic will help.
|
||||
categories: [ ForkFiltered ]
|
||||
categories: [ ForkFiltered, HideSpawnMenu ] #Disable spawn in spawmenu
|
||||
components:
|
||||
- type: MovementSpeedModifier
|
||||
baseWalkSpeed : 2
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
task: RuminantHostileCompound
|
||||
- type: NpcFactionMember
|
||||
factions:
|
||||
- CP14PeacefulAnimals
|
||||
- CP14Rodent
|
||||
- type: NPCRetaliation
|
||||
attackMemoryLength: 20
|
||||
- type: Sprite
|
||||
|
||||
@@ -289,7 +289,9 @@
|
||||
bloodReagent: CP14Blood
|
||||
# Other
|
||||
- type: FireVisuals
|
||||
alternateState: Standing #TODO - custom visuals
|
||||
sprite: _CP14/Mobs/Effects/onfire.rsi
|
||||
normalState: Small_burning
|
||||
alternateState: Humanoid_burning
|
||||
|
||||
- type: entity
|
||||
save: false
|
||||
@@ -361,4 +363,4 @@
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
enum.HumanoidMarkingModifierKey.Key: # sure, this can go here too
|
||||
type: HumanoidMarkingModifierBoundUserInterface
|
||||
type: HumanoidMarkingModifierBoundUserInterface
|
||||
|
||||
@@ -58,6 +58,8 @@
|
||||
visible: false
|
||||
- type: HumanoidAppearance
|
||||
species: CP14Carcat
|
||||
- type: FireVisuals
|
||||
alternateState: Carcat_burning
|
||||
- type: Icon
|
||||
sprite: _CP14/Mobs/Species/Carcat/parts.rsi
|
||||
state: full
|
||||
|
||||
@@ -67,6 +67,8 @@
|
||||
48:
|
||||
sprite: _CP14/Mobs/Species/Goblin/displacement48.rsi
|
||||
state: hair
|
||||
- type: FireVisuals
|
||||
alternateState: Goblin_burning
|
||||
- type: Icon
|
||||
sprite: _CP14/Mobs/Species/Goblin/parts.rsi
|
||||
state: full
|
||||
|
||||
@@ -63,3 +63,62 @@
|
||||
Quantity: 6
|
||||
- type: Temperature
|
||||
currentTemperature: 250
|
||||
|
||||
- type: entity
|
||||
id: CP14FoodSnailShell
|
||||
parent: FoodInjectableBase
|
||||
categories: [ ForkFiltered ]
|
||||
name: shell
|
||||
description: A snail shell with a dead snail inside.
|
||||
components:
|
||||
- type: Item
|
||||
size: Tiny
|
||||
- type: FlavorProfile
|
||||
flavors:
|
||||
- meaty
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/Consumable/Food/shell.rsi
|
||||
layers:
|
||||
- state: shell
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
maxVol: 6
|
||||
reagents:
|
||||
- ReagentId: UncookedAnimalProteins
|
||||
Quantity: 3
|
||||
- type: Temperature
|
||||
currentTemperature: 290
|
||||
- type: InternalTemperature
|
||||
thickness: 0.006
|
||||
area: 0.006
|
||||
- type: CP14TemperatureTransformation
|
||||
entries:
|
||||
- temperatureRange: 400, 500
|
||||
transformTo: CP14FoodSnailShellCooked
|
||||
|
||||
- type: entity
|
||||
id: CP14FoodSnailShellCooked
|
||||
parent:
|
||||
- FoodInjectableBase
|
||||
- CP14BurnsAsh
|
||||
categories: [ ForkFiltered ]
|
||||
name: cooked snail
|
||||
description: Fried shells with snails in their own juice. Excellent.
|
||||
components:
|
||||
- type: Item
|
||||
size: Tiny
|
||||
- type: FlavorProfile
|
||||
flavors:
|
||||
- meaty
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/Consumable/Food/shell.rsi
|
||||
layers:
|
||||
- state: cooked_snail
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
maxVol: 6
|
||||
reagents:
|
||||
- ReagentId: Protein
|
||||
Quantity: 3
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
- 1
|
||||
- 5
|
||||
- 10
|
||||
currentTransferAmount: 1
|
||||
currentTransferAmount: 5
|
||||
toggleState: 1 # draw
|
||||
- type: Tag
|
||||
tags:
|
||||
|
||||
@@ -131,3 +131,13 @@
|
||||
- id: CP14SeedCotton
|
||||
amount: 1
|
||||
prob: 0.4
|
||||
|
||||
- type: entity
|
||||
id: CP14SackFarmingSeedSnail
|
||||
parent: CP14SackFarmingSeed
|
||||
suffix: Snail
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: CP14FoodSnailShellCooked
|
||||
amount: 12
|
||||
|
||||
10
Resources/Prototypes/_CP14/Palettes/cat.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
- type: palette
|
||||
id: CP14CatColors
|
||||
name: CP14CatColors
|
||||
colors:
|
||||
black: "#333333"
|
||||
gray: "#666666"
|
||||
white: "#ffffff"
|
||||
brown: "#595042"
|
||||
lightbrown: "#654321"
|
||||
orange: "#e49b0f"
|
||||
@@ -38,21 +38,21 @@
|
||||
minGroupSize: 2
|
||||
maxGroupSize: 6
|
||||
|
||||
- type: cp14LocationModifier
|
||||
id: Fairy
|
||||
levels:
|
||||
min: 0
|
||||
max: 3
|
||||
categories:
|
||||
Danger: 0.20
|
||||
requiredTags:
|
||||
- CP14DemiplaneHerbals
|
||||
layers:
|
||||
- !type:CP14OreDunGen
|
||||
entity: CP14MobFairy
|
||||
count: 4
|
||||
minGroupSize: 2
|
||||
maxGroupSize: 3
|
||||
#- type: cp14LocationModifier #Temporarily disabled until fairies can crash server
|
||||
# id: Fairy
|
||||
# levels:
|
||||
# min: 0
|
||||
# max: 3
|
||||
# categories:
|
||||
# Danger: 0.20
|
||||
# requiredTags:
|
||||
# - CP14DemiplaneHerbals
|
||||
# layers:
|
||||
# - !type:CP14OreDunGen
|
||||
# entity: CP14MobFairy
|
||||
# count: 4
|
||||
# minGroupSize: 2
|
||||
# maxGroupSize: 3
|
||||
|
||||
- type: cp14LocationModifier
|
||||
id: SmallHydra
|
||||
|
||||
@@ -21,11 +21,10 @@
|
||||
Narcotic:
|
||||
metabolismRate: 0.05
|
||||
effects:
|
||||
- !type:GenericStatusEffect
|
||||
key: SeeingRainbows
|
||||
component: SeeingRainbows
|
||||
type: Add
|
||||
- !type:ModifyStatusEffect
|
||||
effectProto: StatusEffectSeeingRainbow
|
||||
time: 25
|
||||
type: Add
|
||||
refresh: false
|
||||
pricePerUnit: 0.5 # Purely decorative effect
|
||||
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
- CP14Monster
|
||||
- CP14Slimes
|
||||
- CP14Fishies
|
||||
- CP14Cat
|
||||
- CP14Rodent
|
||||
|
||||
- type: npcFaction
|
||||
id: CP14Undead
|
||||
@@ -28,6 +30,8 @@
|
||||
- CP14PeacefulAnimals
|
||||
- CP14AggressiveAnimals
|
||||
- CP14Fishies
|
||||
- CP14Cat
|
||||
- CP14Rodent
|
||||
|
||||
- type: npcFaction
|
||||
id: CP14PeacefulAnimals
|
||||
@@ -35,6 +39,15 @@
|
||||
- type: npcFaction
|
||||
id: CP14Neutrals
|
||||
|
||||
- type: npcFaction
|
||||
id: CP14Cat
|
||||
hostile:
|
||||
- CP14Rodent
|
||||
- CP14Fishies
|
||||
|
||||
- type: npcFaction
|
||||
id: CP14Rodent
|
||||
|
||||
- type: npcFaction
|
||||
id: CP14AggressiveAnimals
|
||||
hostile:
|
||||
@@ -45,6 +58,8 @@
|
||||
- CP14Slimes
|
||||
- CP14HostileEveryone
|
||||
- CP14Fishies
|
||||
- CP14Cat
|
||||
- CP14Rodent
|
||||
|
||||
- type: npcFaction
|
||||
id: CP14Monster
|
||||
@@ -53,6 +68,8 @@
|
||||
- CP14HostileEveryone
|
||||
- CP14AggressiveAnimals
|
||||
- CP14PeacefulAnimals
|
||||
- CP14Cat
|
||||
- CP14Rodent
|
||||
|
||||
- type: npcFaction
|
||||
id: CP14Insects
|
||||
@@ -69,6 +86,8 @@
|
||||
- CP14HostileEveryone
|
||||
- CP14PeacefulAnimals
|
||||
- CP14AggressiveAnimals
|
||||
- CP14Cat
|
||||
- CP14Rodent
|
||||
|
||||
- type: npcFaction
|
||||
id: CP14Fishies
|
||||
|
||||
BIN
Resources/Textures/_CP14/Mobs/Animals/cat.rsi/dead-overlay.png
Normal file
|
After Width: | Height: | Size: 332 B |
BIN
Resources/Textures/_CP14/Mobs/Animals/cat.rsi/dead.png
Normal file
|
After Width: | Height: | Size: 688 B |
BIN
Resources/Textures/_CP14/Mobs/Animals/cat.rsi/lying-overlay.png
Normal file
|
After Width: | Height: | Size: 366 B |
BIN
Resources/Textures/_CP14/Mobs/Animals/cat.rsi/lying.png
Normal file
|
After Width: | Height: | Size: 622 B |
31
Resources/Textures/_CP14/Mobs/Animals/cat.rsi/meta.json
Normal 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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 715 B |
BIN
Resources/Textures/_CP14/Mobs/Animals/cat.rsi/walking.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
Resources/Textures/_CP14/Mobs/Animals/snail.rsi/live.png
Normal file
|
After Width: | Height: | Size: 659 B |
15
Resources/Textures/_CP14/Mobs/Animals/snail.rsi/meta.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-4.0",
|
||||
"copyright": "Created by omsoyk (github/discord)",
|
||||
"states": [
|
||||
{
|
||||
"name": "live",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 8.9 KiB |
51
Resources/Textures/_CP14/Mobs/Effects/onfire.rsi/meta.json
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 48,
|
||||
"y": 48
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "by TTTomaTTT (github) for CrystallEdge",
|
||||
"states": [
|
||||
{
|
||||
"name": "Small_burning",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[ 0.3, 0.3, 0.3, 0.3 ],
|
||||
[ 0.3, 0.3, 0.3, 0.3 ],
|
||||
[ 0.3, 0.3, 0.3, 0.3 ],
|
||||
[ 0.3, 0.3, 0.3, 0.3 ]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Humanoid_burning",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[ 0.3, 0.3, 0.3, 0.3 ],
|
||||
[ 0.3, 0.3, 0.3, 0.3 ],
|
||||
[ 0.3, 0.3, 0.3, 0.3 ],
|
||||
[ 0.3, 0.3, 0.3, 0.3 ]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Goblin_burning",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[ 0.3, 0.3, 0.3, 0.3 ],
|
||||
[ 0.3, 0.3, 0.3, 0.3 ],
|
||||
[ 0.3, 0.3, 0.3, 0.3 ],
|
||||
[ 0.3, 0.3, 0.3, 0.3 ]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Carcat_burning",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[ 0.3, 0.3, 0.3, 0.3 ],
|
||||
[ 0.3, 0.3, 0.3, 0.3 ],
|
||||
[ 0.3, 0.3, 0.3, 0.3 ],
|
||||
[ 0.3, 0.3, 0.3, 0.3 ]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 266 B |
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-4.0",
|
||||
"copyright": "Created by omsoyk (github/discord)",
|
||||
"states": [
|
||||
{
|
||||
"name": "shell"
|
||||
},
|
||||
{
|
||||
"name": "cooked_snail"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 231 B |
@@ -303,6 +303,14 @@
|
||||
"created_at": "2025-09-19T17:28:13Z",
|
||||
"repoId": 778936029,
|
||||
"pullRequestNo": 1792
|
||||
},
|
||||
{
|
||||
"name": "kin98",
|
||||
"id": 51699101,
|
||||
"comment_id": 3356567866,
|
||||
"created_at": "2025-10-01T14:16:19Z",
|
||||
"repoId": 778936029,
|
||||
"pullRequestNo": 1815
|
||||
}
|
||||
]
|
||||
}
|
||||