]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
The Mobs of the Living Light (#21338)
authorNim <128169402+Nimfar11@users.noreply.github.com>
Mon, 6 Nov 2023 02:24:14 +0000 (04:24 +0200)
committerGitHub <noreply@github.com>
Mon, 6 Nov 2023 02:24:14 +0000 (19:24 -0700)
* The Mobs of the Living Light

* fix

* sound

* radius

* minor sprite changes

27 files changed:
Resources/Audio/Effects/Footsteps/attributions.yml
Resources/Audio/Effects/Footsteps/bells1.ogg [new file with mode: 0644]
Resources/Audio/Effects/Footsteps/bells2.ogg [new file with mode: 0644]
Resources/Audio/Effects/Footsteps/bells3.ogg [new file with mode: 0644]
Resources/Audio/Effects/Footsteps/bells4.ogg [new file with mode: 0644]
Resources/Audio/Effects/Footsteps/bells5.ogg [new file with mode: 0644]
Resources/Prototypes/Damage/modifier_sets.yml
Resources/Prototypes/Entities/Markers/Spawners/mobs.yml
Resources/Prototypes/Entities/Mobs/NPCs/living_light.yml [new file with mode: 0644]
Resources/Prototypes/Polymorphs/polymorph.yml
Resources/Prototypes/SoundCollections/footsteps.yml
Resources/Prototypes/XenoArch/Effects/normal_effects.yml
Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/dead.png [new file with mode: 0644]
Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/dead_glow.png [new file with mode: 0644]
Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/glow.png [new file with mode: 0644]
Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/luminous_entity.png [new file with mode: 0644]
Resources/Textures/Mobs/Elemental/living_light/luminous_entity.rsi/meta.json [new file with mode: 0644]
Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/dead.png [new file with mode: 0644]
Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/dead_glow.png [new file with mode: 0644]
Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/glow.png [new file with mode: 0644]
Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/luminous_object.png [new file with mode: 0644]
Resources/Textures/Mobs/Elemental/living_light/luminous_object.rsi/meta.json [new file with mode: 0644]
Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/dead.png [new file with mode: 0644]
Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/dead_glow.png [new file with mode: 0644]
Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/glow.png [new file with mode: 0644]
Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/luminous_person.png [new file with mode: 0644]
Resources/Textures/Mobs/Elemental/living_light/luminous_person.rsi/meta.json [new file with mode: 0644]

index a6dea3f6ed09a61b84104415c16838821dc737b9..1718620864447eb46308da8f253ecc8c0d0e4044 100644 (file)
   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 (file)
index 0000000..21638a0
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 (file)
index 0000000..0cbeaa7
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 (file)
index 0000000..c2ed129
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 (file)
index 0000000..bb57c33
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 (file)
index 0000000..b13dba1
Binary files /dev/null and b/Resources/Audio/Effects/Footsteps/bells5.ogg differ
index d83379d2c19e7a7acef898465b07be89ba76f323..8ab45c8b63aaf47a96a64e4df965e0a7166313ec 100644 (file)
     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
index 70efaed9018a4ea9ef2c186908ccfe8992968375..968c2ba297c4cd232e7985117466215383559a3e 100644 (file)
       - 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 (file)
index 0000000..dd56589
--- /dev/null
@@ -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" ]
index c710d83ceccb50f39e7e4b89affe5c79c8d08462..8593c2194d1a0209f075eb03c4f133ed76bb296d 100644 (file)
   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
index 00f723b054a74094c66dd8f498d309f9b25f5556..47dc433d8bd6f98b76e892a8dd12664c9d530f22 100644 (file)
   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
index 040f688403c51d93a5e9b93a31f8cc724a7cdc07..2bc2abdd6bf5c2f0caece516ed669ee22914de78 100644 (file)
   - 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 (file)
index 0000000..06cafe5
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 (file)
index 0000000..9295688
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 (file)
index 0000000..12c9773
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 (file)
index 0000000..53fca16
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 (file)
index 0000000..6631e32
--- /dev/null
@@ -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 (file)
index 0000000..06cafe5
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 (file)
index 0000000..9295688
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 (file)
index 0000000..a82b0b7
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 (file)
index 0000000..f5a3006
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 (file)
index 0000000..b5cab92
--- /dev/null
@@ -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 (file)
index 0000000..06cafe5
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 (file)
index 0000000..9295688
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 (file)
index 0000000..ffc32c2
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 (file)
index 0000000..a04adc4
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 (file)
index 0000000..e456655
--- /dev/null
@@ -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
+    }
+  ]
+}