From: Nim <128169402+Nimfar11@users.noreply.github.com> Date: Mon, 6 Nov 2023 02:24:14 +0000 (+0200) Subject: The Mobs of the Living Light (#21338) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=3d1333280a803a6779ceedd04963893db821b2ed;p=space-station-14.git The Mobs of the Living Light (#21338) * The Mobs of the Living Light * fix * sound * radius * minor sprite changes --- diff --git a/Resources/Audio/Effects/Footsteps/attributions.yml b/Resources/Audio/Effects/Footsteps/attributions.yml index a6dea3f6ed..1718620864 100644 --- a/Resources/Audio/Effects/Footsteps/attributions.yml +++ b/Resources/Audio/Effects/Footsteps/attributions.yml @@ -32,3 +32,13 @@ license: "CC-BY-SA-3.0" copyright: "Taken and modified from tgstation (clownstep 1 and 2) by brainfood1183 (github)" source: "https://github.com/tgstation/tgstation/tree/f8ee37afc00bce1ad421615eaa0e4cbddd5eea90/sound/effects" + +- files: + - bells1.ogg + - bells2.ogg + - bells3.ogg + - bells4.ogg + - bells5.ogg + license: "CC-BY-SA-4.0" + copyright: "Taken and modified from el1n freesound.org" + source: "https://freesound.org/people/el1n/sounds/442746/" diff --git a/Resources/Audio/Effects/Footsteps/bells1.ogg b/Resources/Audio/Effects/Footsteps/bells1.ogg new file mode 100644 index 0000000000..21638a00b0 Binary files /dev/null and b/Resources/Audio/Effects/Footsteps/bells1.ogg differ diff --git a/Resources/Audio/Effects/Footsteps/bells2.ogg b/Resources/Audio/Effects/Footsteps/bells2.ogg new file mode 100644 index 0000000000..0cbeaa7ab7 Binary files /dev/null and b/Resources/Audio/Effects/Footsteps/bells2.ogg differ diff --git a/Resources/Audio/Effects/Footsteps/bells3.ogg b/Resources/Audio/Effects/Footsteps/bells3.ogg new file mode 100644 index 0000000000..c2ed129bfa Binary files /dev/null and b/Resources/Audio/Effects/Footsteps/bells3.ogg differ diff --git a/Resources/Audio/Effects/Footsteps/bells4.ogg b/Resources/Audio/Effects/Footsteps/bells4.ogg new file mode 100644 index 0000000000..bb57c33f79 Binary files /dev/null and b/Resources/Audio/Effects/Footsteps/bells4.ogg differ diff --git a/Resources/Audio/Effects/Footsteps/bells5.ogg b/Resources/Audio/Effects/Footsteps/bells5.ogg new file mode 100644 index 0000000000..b13dba1e43 Binary files /dev/null and b/Resources/Audio/Effects/Footsteps/bells5.ogg differ diff --git a/Resources/Prototypes/Damage/modifier_sets.yml b/Resources/Prototypes/Damage/modifier_sets.yml index d83379d2c1..8ab45c8b63 100644 --- a/Resources/Prototypes/Damage/modifier_sets.yml +++ b/Resources/Prototypes/Damage/modifier_sets.yml @@ -210,3 +210,18 @@ Cellular: 1.0 Radiation: 0.0 # hehe funny cockroach immune to rads Caustic: 1.0 + +# Massive heat damage, presumably to kill with lasers +- type: damageModifierSet + id: LivingLight + coefficients: + Blunt: 0.8 + Slash: 0.8 + Piercing: 0.7 + Shock: 0.0 + Cold: 0.0 + Poison: 0.0 + Radiation: 0.0 + Cellular: 0.0 + Heat: 2.5 + Caustic: 0.0 diff --git a/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml b/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml index 70efaed901..968c2ba297 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml @@ -736,3 +736,45 @@ - MobUraniumCrab - MobIronCrab - MobQuartzCrab + +- type: entity + name: luminous person spawner + id: SpawnMobLuminousPerson + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - state: luminous_person + sprite: Mobs/Elemental/living_light/luminous_person.rsi + - type: ConditionalSpawner + prototypes: + - MobLuminousPerson + +- type: entity + name: luminous object spawner + id: SpawnMobLuminousОbject + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - state: luminous_object + sprite: Mobs/Elemental/living_light/luminous_object.rsi + - type: ConditionalSpawner + prototypes: + - MobLuminousОbject + +- type: entity + name: luminous entity spawner + id: SpawnMobLuminousEntity + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - state: luminous_entity + sprite: Mobs/Elemental/living_light/luminous_entity.rsi + - type: ConditionalSpawner + prototypes: + - MobLuminousEntity diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/living_light.yml b/Resources/Prototypes/Entities/Mobs/NPCs/living_light.yml new file mode 100644 index 0000000000..dd56589a26 --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/NPCs/living_light.yml @@ -0,0 +1,211 @@ +- type: entity + id: MobLivingLight + parent: [ BaseMob, MobCombat ] + abstract: true + name: luminous person + description: A blinding figure of pure light, seemingly intangible. + components: + - type: HTN + rootTask: + task: SimpleRangedHostileCompound + blackboard: + NavClimb: !type:Bool + true + NavSmash: !type:Bool + true + - type: NpcFactionMember + factions: + - SimpleHostile + - type: MovementIgnoreGravity + - type: MovementSpeedModifier + baseWalkSpeed: 5.5 + baseSprintSpeed: 5.5 + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Elemental/living_light/luminous_person.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: luminous_person + - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] + state: glow + shader: unshaded + - type: MobState + - type: MobThresholds + thresholds: + 0: Alive + 100: Dead + - type: DamageStateVisuals + states: + Alive: + Base: luminous_person + BaseUnshaded: glow + Dead: + Base: dead + BaseUnshaded: dead_glow + - type: StatusEffects + allowed: + - Stun + - Corporeal + - Electrocution + - StaminaModifier + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 60 + mask: + - MobMask + layer: + - Opaque + - type: Damageable + damageContainer: Inorganic + damageModifierSet: LivingLight + - type: PassiveDamage + allowedStates: + - Alive + damageCap: 20 + damage: + types: + Heat: -0.2 + - type: NoSlip + - type: ZombieImmune + - type: NameIdentifier + group: GenericNumber + - type: GhostTakeoverAvailable + - type: PointLight + color: "#e4de6c" + radius: 8 + softness: 2 + energy: 5 + - type: FootstepModifier + footstepSoundCollection: + collection: FootstepBells + - type: Speech + speechVerb: Ghost + - type: Tag + tags: + - FootstepSound + - DoorBumpOpener + - type: Destructible + thresholds: + - trigger: + !type:DamageTypeTrigger + damageType: Heat + damage: 150 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + +- type: entity + id: MobLuminousPerson + parent: MobLivingLight + components: + - type: MeleeWeapon + damage: + types: + Heat: 16 + animation: WeaponArcFist + - type: StaminaDamageOnHit + damage: 16 + +- type: entity + id: MobLuminousОbject + parent: MobLivingLight + name: luminous object + description: A small glowing object that causes burns on the skin with its glow. + components: + - type: Sprite + sprite: Mobs/Elemental/living_light/luminous_object.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: luminous_object + - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] + state: glow + shader: unshaded + - type: MobThresholds + thresholds: + 0: Alive + 50: Dead + - type: DamageStateVisuals + states: + Alive: + Base: luminous_object + BaseUnshaded: glow + Dead: + Base: dead + BaseUnshaded: dead_glow + - type: MeleeWeapon + damage: + types: + Heat: 8 + - type: Destructible + thresholds: + - trigger: + !type:DamageTypeTrigger + damageType: Heat + damage: 80 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + +- type: entity + id: MobLuminousEntity + parent: MobLivingLight + name: luminous entity + description: A blinding translucent entity, the bright eye seems dangerous and scalding. + components: + - type: Sprite + sprite: Mobs/Elemental/living_light/luminous_entity.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: luminous_entity + - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] + state: glow + shader: unshaded + - type: MobThresholds + thresholds: + 0: Alive + 60: Dead + - type: DamageStateVisuals + states: + Alive: + Base: luminous_entity + BaseUnshaded: glow + Dead: + Base: dead + BaseUnshaded: dead_glow + - type: MeleeWeapon + damage: + types: + Heat: 5 + - type: HitscanBatteryAmmoProvider + proto: Pulse + fireCost: 140 + - type: Battery + maxCharge: 1000 + startingCharge: 1000 + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 50 + - type: Gun + fireRate: 0.3 + useKey: false + showExamineText: false + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser3.ogg + soundEmpty: + path: /Audio/Items/lighter_off.ogg + - type: Destructible + thresholds: + - trigger: + !type:DamageTypeTrigger + damageType: Heat + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] diff --git a/Resources/Prototypes/Polymorphs/polymorph.yml b/Resources/Prototypes/Polymorphs/polymorph.yml index c710d83cec..8593c2194d 100644 --- a/Resources/Prototypes/Polymorphs/polymorph.yml +++ b/Resources/Prototypes/Polymorphs/polymorph.yml @@ -136,3 +136,14 @@ revertOnDeath: true revertOnCrit: true duration: 20 + +- type: polymorph + id: ArtifactLuminous + entity: MobLuminousPerson + forced: true + transferName: true + transferHumanoidAppearance: true + inventory: None + revertOnDeath: true + revertOnCrit: true + duration: 20 diff --git a/Resources/Prototypes/SoundCollections/footsteps.yml b/Resources/Prototypes/SoundCollections/footsteps.yml index 00f723b054..47dc433d8b 100644 --- a/Resources/Prototypes/SoundCollections/footsteps.yml +++ b/Resources/Prototypes/SoundCollections/footsteps.yml @@ -153,3 +153,12 @@ files: - /Audio/Effects/Footsteps/clownspiderstep1.ogg - /Audio/Effects/Footsteps/clownspiderstep2.ogg + +- type: soundCollection + id: FootstepBells + files: + - /Audio/Effects/Footsteps/bells1.ogg + - /Audio/Effects/Footsteps/bells2.ogg + - /Audio/Effects/Footsteps/bells3.ogg + - /Audio/Effects/Footsteps/bells4.ogg + - /Audio/Effects/Footsteps/bells5.ogg diff --git a/Resources/Prototypes/XenoArch/Effects/normal_effects.yml b/Resources/Prototypes/XenoArch/Effects/normal_effects.yml index 040f688403..2bc2abdd6b 100644 --- a/Resources/Prototypes/XenoArch/Effects/normal_effects.yml +++ b/Resources/Prototypes/XenoArch/Effects/normal_effects.yml @@ -420,6 +420,14 @@ - type: PolyArtifact polymorphPrototypeName: ArtifactLizard +- type: artifactEffect + id: EffectPolyLuminous + targetDepth: 3 + effectHint: artifact-effect-hint-polymorph + components: + - type: PolyArtifact + polymorphPrototypeName: ArtifactLuminous + - type: artifactEffect id: EffectHealAll targetDepth: 3 diff --git a/Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/dead.png b/Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/dead.png new file mode 100644 index 0000000000..06cafe53ff Binary files /dev/null and b/Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/dead.png differ diff --git a/Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/dead_glow.png b/Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/dead_glow.png new file mode 100644 index 0000000000..9295688721 Binary files /dev/null and b/Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/dead_glow.png differ diff --git a/Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/glow.png b/Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/glow.png new file mode 100644 index 0000000000..12c9773c38 Binary files /dev/null and b/Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/glow.png differ diff --git a/Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/luminous_entity.png b/Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/luminous_entity.png new file mode 100644 index 0000000000..53fca1627b Binary files /dev/null and b/Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/luminous_entity.png differ diff --git a/Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/meta.json b/Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/meta.json new file mode 100644 index 0000000000..6631e32227 --- /dev/null +++ b/Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/meta.json @@ -0,0 +1,51 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Made by Nimfar11 (github) for ss14", + "states": [ + { + "name": "glow", + "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 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "dead_glow" + }, + { + "name": "dead" + }, + { + "name": "luminous_entity", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/dead.png b/Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/dead.png new file mode 100644 index 0000000000..06cafe53ff Binary files /dev/null and b/Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/dead.png differ diff --git a/Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/dead_glow.png b/Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/dead_glow.png new file mode 100644 index 0000000000..9295688721 Binary files /dev/null and b/Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/dead_glow.png differ diff --git a/Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/glow.png b/Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/glow.png new file mode 100644 index 0000000000..a82b0b7dfb Binary files /dev/null and b/Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/glow.png differ diff --git a/Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/luminous_object.png b/Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/luminous_object.png new file mode 100644 index 0000000000..f5a3006ce5 Binary files /dev/null and b/Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/luminous_object.png differ diff --git a/Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/meta.json b/Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/meta.json new file mode 100644 index 0000000000..b5cab9225b --- /dev/null +++ b/Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/meta.json @@ -0,0 +1,61 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Made by Nimfar11 (github) for ss14", + "states": [ + { + "name": "glow", + "directions": 4, + "delays": [ + [ + 0.4, + 0.4 + ], + [ + 0.4, + 0.4 + ], + [ + 0.4, + 0.4 + ], + [ + 0.4, + 0.4 + ] + ] + }, + { + "name": "dead_glow" + }, + { + "name": "dead" + }, + { + "name": "luminous_object", + "directions": 4, + "delays": [ + [ + 0.4, + 0.4 + ], + [ + 0.4, + 0.4 + ], + [ + 0.4, + 0.4 + ], + [ + 0.4, + 0.4 + ] + ] + } + ] +} diff --git a/Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/dead.png b/Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/dead.png new file mode 100644 index 0000000000..06cafe53ff Binary files /dev/null and b/Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/dead.png differ diff --git a/Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/dead_glow.png b/Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/dead_glow.png new file mode 100644 index 0000000000..9295688721 Binary files /dev/null and b/Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/dead_glow.png differ diff --git a/Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/glow.png b/Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/glow.png new file mode 100644 index 0000000000..ffc32c2402 Binary files /dev/null and b/Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/glow.png differ diff --git a/Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/luminous_person.png b/Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/luminous_person.png new file mode 100644 index 0000000000..a04adc4b81 Binary files /dev/null and b/Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/luminous_person.png differ diff --git a/Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/meta.json b/Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/meta.json new file mode 100644 index 0000000000..e4566553eb --- /dev/null +++ b/Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Made by Nimfar11 (github) for ss14", + "states": [ + { + "name": "glow", + "directions": 4 + }, + { + "name": "dead_glow" + }, + { + "name": "dead" + }, + { + "name": "luminous_person", + "directions": 4 + } + ] +}