diff --git a/Resources/Audio/_CP14/Animals/attributions.yml b/Resources/Audio/_CP14/Animals/attributions.yml index 9e92d865f1..d60ee0e01e 100644 --- a/Resources/Audio/_CP14/Animals/attributions.yml +++ b/Resources/Audio/_CP14/Animals/attributions.yml @@ -72,3 +72,8 @@ license: "CC0-1.0" copyright: 'by muckypete7 of Freesound.org. Cropped and mixed from stereo to mono.' source: "https://freesound.org/people/mucky_pete7/sounds/574208/" + +- files: ["bear1.ogg, bear2.ogg"] + license: "CC0-1.0" + copyright: 'by husky70 of Freesound.org. Cropped and mixed from stereo to mono.' + source: "https://freesound.org/people/husky70/sounds/170454/" diff --git a/Resources/Audio/_CP14/Animals/bear1.ogg b/Resources/Audio/_CP14/Animals/bear1.ogg new file mode 100644 index 0000000000..c3695bf2a6 Binary files /dev/null and b/Resources/Audio/_CP14/Animals/bear1.ogg differ diff --git a/Resources/Audio/_CP14/Animals/bear2.ogg b/Resources/Audio/_CP14/Animals/bear2.ogg new file mode 100644 index 0000000000..42118fe41a Binary files /dev/null and b/Resources/Audio/_CP14/Animals/bear2.ogg differ diff --git a/Resources/Audio/_CP14/Voice/Animal/attributions.yml b/Resources/Audio/_CP14/Voice/Animal/attributions.yml new file mode 100644 index 0000000000..98bc20867c --- /dev/null +++ b/Resources/Audio/_CP14/Voice/Animal/attributions.yml @@ -0,0 +1,4 @@ +- files: ["bear_scream.ogg"] + license: "CC0-1.0" + copyright: "Created by Piddipop from https://freesound.org/" + source: "https://freesound.org/people/Piddipop/sounds/728101/" diff --git a/Resources/Audio/_CP14/Voice/Animal/bear_scream.ogg b/Resources/Audio/_CP14/Voice/Animal/bear_scream.ogg new file mode 100644 index 0000000000..37d7f01fb7 Binary files /dev/null and b/Resources/Audio/_CP14/Voice/Animal/bear_scream.ogg differ diff --git a/Resources/Changelog/CP14_Changelog.yml b/Resources/Changelog/CP14_Changelog.yml index f84fb2f6ff..1db92498ad 100644 --- a/Resources/Changelog/CP14_Changelog.yml +++ b/Resources/Changelog/CP14_Changelog.yml @@ -638,3 +638,10 @@ id: 8114 time: '2025-06-23T09:19:02.0000000+00:00' url: https://github.com/crystallpunk-14/crystall-punk-14/pull/1462 +- author: Nimfar11 + changes: + - message: Adds a big and angry bear. + type: Add + id: 8115 + time: '2025-06-23T09:25:20.0000000+00:00' + url: https://github.com/crystallpunk-14/crystall-punk-14/pull/1442 diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Physical/MOB_sprint.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Physical/MOB_sprint.yml new file mode 100644 index 0000000000..94d675c822 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Physical/MOB_sprint.yml @@ -0,0 +1,29 @@ +- type: entity + id: CP14ActionBearSpellSprint + parent: CP14ActionSpellBase + name: Sprint + description: Catch up and rip, every predator can accelerate and catch up with its prey. + components: + - type: Sprite + sprite: _CP14/Actions/Spells/physical.rsi + state: sprint + - type: CP14MagicEffectCastSlowdown + speedMultiplier: 1.8 + - type: CP14MagicEffect + effects: + - !type:CP14SpellSpawnEntityOnTarget + spawns: + - CP14DustEffect + - type: Action + icon: + sprite: _CP14/Actions/Spells/physical.rsi + state: sprint + - type: TargetAction + checkCanAccess: false + range: 15 + - type: InstantAction + event: !type:CP14ToggleableInstantActionEvent + effectFrequency: 0.2 + cooldown: 8 + castTime: 3 + hidden: true diff --git a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/mobs.yml b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/mobs.yml index 1dd001c5c0..33ecff8d8e 100644 --- a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/mobs.yml +++ b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/mobs.yml @@ -204,3 +204,19 @@ - type: ConditionalSpawner prototypes: - CP14MobMonsterFlem + +- type: entity + name: big bear spawner + id: CP14SpawnMobBigBear + parent: MarkerBase + categories: [ ForkFiltered ] + components: + - type: Sprite + layers: + - sprite: Markers/cross.rsi + state: green + - sprite: _CP14/Mobs/Animals/bear.rsi + state: live + - type: ConditionalSpawner + prototypes: + - CP14MobBigBear diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/animals.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/animals.yml index f3eb916f3f..f5b907e3c8 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/animals.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/animals.yml @@ -418,3 +418,102 @@ interactSuccessSpawn: EffectHearts interactSuccessSound: path: /Audio/Animals/goat_bah.ogg + +- type: entity + id: CP14MobBigBear + parent: CP14SimpleMobBase + name: big bear + description: A big, angry-looking bear. Maybe he didn't get enough sleep. + categories: [ ForkFiltered ] + components: + - type: HTN + rootTask: + task: SimpleHostileCompound + blackboard: + NavClimb: !type:Bool + true + NavSmash: !type:Bool + true + - type: NpcFactionMember + factions: + - CP14AggressiveAnimals + - type: NPCUseActionOnTarget + actionId: CP14ActionBearSpellSprint + - type: Sprite + drawdepth: Mobs + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + sprite: _CP14/Mobs/Animals/bear.rsi + state: live + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.40 + density: 350 + mask: + - MobMask + layer: + - MobLayer + - type: Appearance + - type: MobThresholds + thresholds: + 0: Alive + 100: Dead + - type: CombatMode + - type: MeleeWeapon + angle: 0 + attackRate: 0.8 + animation: WeaponArcClaw + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + damage: + types: + Structural: 60 + Piercing: 5 + Slash: 6 + Blunt: 5 + bluntStaminaDamageFactor: 2.0 + - type: MovementSpeedModifier + baseWalkSpeed: 3 + baseSprintSpeed: 3 + - type: DamageStateVisuals + states: + Alive: + Base: live + Dead: + Base: dead + - type: Stamina + critThreshold: 300 + - type: CP14MagicCasterSlowdown + - type: Butcherable + spawned: + - id: CP14FoodMeatPig # TODO + amount: 5 + - type: Bloodstream + bloodMaxVolume: 350 + bloodReagent: CP14BloodAnimal + - type: Puller + needsHands: false + - type: Tag + tags: + - FootstepSound + - type: Grammar + attributes: + gender: epicene + - type: ReplacementAccent + accent: genericAggressive + - type: Vocal + sounds: + Unsexed: CP14Bear + - type: SpamEmitSound + minInterval: 20 + maxInterval: 40 + sound: + collection: CP14Bear + params: + volume: -2 + variation: 0.125 + - type: SoundWhileAlive + - type: FloorOcclusion diff --git a/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/Danger/mobs.yml b/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/Danger/mobs.yml index fabfb73637..876398d61b 100644 --- a/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/Danger/mobs.yml +++ b/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/Danger/mobs.yml @@ -274,5 +274,19 @@ minGroupSize: 5 maxGroupSize: 15 - - +- type: cp14DemiplaneModifier + id: MobBigBear + levels: + min: 5 + max: 10 + categories: + Danger: 0.5 + requiredTags: + - CP14DemiplaneOpenSky + - CP14DemiplaneHerbals + layers: + - !type:CP14OreDunGen + entity: CP14MobBigBear + count: 1 + minGroupSize: 1 + maxGroupSize: 1 diff --git a/Resources/Prototypes/_CP14/SoundCollections/animals.yml b/Resources/Prototypes/_CP14/SoundCollections/animals.yml index af741fe249..247f8dbcb9 100644 --- a/Resources/Prototypes/_CP14/SoundCollections/animals.yml +++ b/Resources/Prototypes/_CP14/SoundCollections/animals.yml @@ -19,3 +19,9 @@ - /Audio/_CP14/Animals/flem2.ogg - /Audio/_CP14/Animals/flem3.ogg - /Audio/_CP14/Effects/bubbles.ogg + +- type: soundCollection + id: CP14Bear + files: + - /Audio/_CP14/Animals/bear1.ogg + - /Audio/_CP14/Animals/bear2.ogg diff --git a/Resources/Prototypes/_CP14/Voice/speech_emote_sounds.yml b/Resources/Prototypes/_CP14/Voice/speech_emote_sounds.yml index 5818953e79..45c27e6445 100644 --- a/Resources/Prototypes/_CP14/Voice/speech_emote_sounds.yml +++ b/Resources/Prototypes/_CP14/Voice/speech_emote_sounds.yml @@ -31,3 +31,10 @@ Whistle: collection: Whistles +- type: emoteSounds + id: CP14Bear + params: + variation: 0.125 + sounds: + Scream: + path: /Audio/_CP14/Voice/Animal/bear_scream.ogg diff --git a/Resources/Textures/_CP14/Mobs/Animals/bear.rsi/dead.png b/Resources/Textures/_CP14/Mobs/Animals/bear.rsi/dead.png new file mode 100644 index 0000000000..d76bcd70f2 Binary files /dev/null and b/Resources/Textures/_CP14/Mobs/Animals/bear.rsi/dead.png differ diff --git a/Resources/Textures/_CP14/Mobs/Animals/bear.rsi/live.png b/Resources/Textures/_CP14/Mobs/Animals/bear.rsi/live.png new file mode 100644 index 0000000000..24687b3fba Binary files /dev/null and b/Resources/Textures/_CP14/Mobs/Animals/bear.rsi/live.png differ diff --git a/Resources/Textures/_CP14/Mobs/Animals/bear.rsi/meta.json b/Resources/Textures/_CP14/Mobs/Animals/bear.rsi/meta.json new file mode 100644 index 0000000000..52d75062d1 --- /dev/null +++ b/Resources/Textures/_CP14/Mobs/Animals/bear.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "size": { + "x": 64, + "y": 64 + }, + "license": "CC-BY-SA-4.0", + "copyright": "Created by omsoyk", + "states": [ + { + "name": "live", + "directions": 4 + }, + { + "name": "dead" + } + ] +}