diff --git a/Resources/Locale/en-US/_CP14/ghostRoles/roles.ftl b/Resources/Locale/en-US/_CP14/ghostRoles/roles.ftl index d704c8e160..86f20be2c6 100644 --- a/Resources/Locale/en-US/_CP14/ghostRoles/roles.ftl +++ b/Resources/Locale/en-US/_CP14/ghostRoles/roles.ftl @@ -5,4 +5,4 @@ cp14-ghost-role-information-name-lurker = Lurker cp14-ghost-role-information-description-lurker = A spirit of night and hunger that preys on loners separated from their companions. cp14-ghost-role-information-name-raid-undead = Undead raid -cp14-ghost-role-information-description-raid-undead = Lead the attack on the city by the forces of the dead. Destroy the demiplane communication crystal at any cost. \ No newline at end of file +cp14-ghost-role-information-description-raid-undead = Lead the attack on the city by the forces of the dead. Destroy the demiplane communication crystal at any cost. diff --git a/Resources/Locale/ru-RU/_CP14/ghostRoles/roles.ftl b/Resources/Locale/ru-RU/_CP14/ghostRoles/roles.ftl index 7f727e9a90..0d620ada43 100644 --- a/Resources/Locale/ru-RU/_CP14/ghostRoles/roles.ftl +++ b/Resources/Locale/ru-RU/_CP14/ghostRoles/roles.ftl @@ -5,4 +5,4 @@ cp14-ghost-role-information-name-lurker = Таящийся cp14-ghost-role-information-description-lurker = Дух ночи и голода, охотящийся за одиночками, отделившихся от своих товарищей. cp14-ghost-role-information-name-raid-undead = Рейд нежити -cp14-ghost-role-information-description-raid-undead = Возглавьте атаку на город силами мертвых. Уничтожьте кристалл связи с демипланами любой ценой. \ No newline at end of file +cp14-ghost-role-information-description-raid-undead = Возглавьте атаку на город силами мертвых. Уничтожьте кристалл связи с демипланами любой ценой. diff --git a/Resources/Prototypes/_CP14/Damage/containers.yml b/Resources/Prototypes/_CP14/Damage/containers.yml index 24308805c5..7817e90c0c 100644 --- a/Resources/Prototypes/_CP14/Damage/containers.yml +++ b/Resources/Prototypes/_CP14/Damage/containers.yml @@ -7,3 +7,12 @@ - Airloss - Genetic - CP14Magic + +- type: damageContainer + id: CP14BiologicalAnaerobic + supportedGroups: + - Brute + - Burn + - Toxin + - Genetic + - CP14Magic diff --git a/Resources/Prototypes/_CP14/Damage/modifier_sets.yml b/Resources/Prototypes/_CP14/Damage/modifier_sets.yml index f8d5a82f9f..c4564329a2 100644 --- a/Resources/Prototypes/_CP14/Damage/modifier_sets.yml +++ b/Resources/Prototypes/_CP14/Damage/modifier_sets.yml @@ -123,6 +123,49 @@ Heat: 0.2 Cold: 1.4 +# Slimes +# TODO: upstream a way to get modifier sets to inherit from each other + +- type: damageModifierSet + id: CP14Slime + coefficients: + Blunt: 0.6 + Slash: 1.2 + Piercing: 1.2 + Cold: 1.5 + Poison: 0.8 + +- type: damageModifierSet + id: CP14SlimeElectric + coefficients: + Blunt: 0.6 + Slash: 1.2 + Piercing: 1.2 + Heat: 1.2 + Cold: 1.5 + Shock: 0.0 + Poison: 0.8 + +- type: damageModifierSet + id: CP14SlimeFire + coefficients: + Blunt: 0.6 + Slash: 1.2 + Piercing: 1.2 + Heat: 0.0 + Cold: 2.0 + Poison: 0.8 + +- type: damageModifierSet + id: CP14SlimeIce + coefficients: + Blunt: 0.6 + Slash: 1.2 + Piercing: 1.2 + Heat: 2.0 + Cold: 0.0 + Poison: 0.8 + # Species - type: damageModifierSet diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Slime/jump.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Slime/jump.yml new file mode 100644 index 0000000000..532e5f505e --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Slime/jump.yml @@ -0,0 +1,28 @@ +- type: entity + id: CP14ActionSpellSlimeJump + name: Slime jump + description: Jump! JUMP! + components: + - type: Sprite + sprite: _CP14/Actions/Spells/slime.rsi + state: jump + - type: CP14MagicEffectCastSlowdown + speedMultiplier: 0.1 + - type: CP14MagicEffect + effects: + - !type:CP14SpellThrowUserTo + throwPower: 8 + - type: EntityWorldTargetAction + useDelay: 8 + range: 10 + checkCanAccess: false + itemIconStyle: BigAction + icon: + sprite: _CP14/Actions/Spells/slime.rsi + state: jump + event: !type:CP14DelayedEntityWorldTargetActionEvent + hidden: true + breakOnMove: false + breakOnDamage: false + castDelay: 1 + raiseOnUser: true diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Head/head.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Head/head.yml index da6ea73ab5..b12bb5561d 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Head/head.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Head/head.yml @@ -4,6 +4,7 @@ id: CP14ClothingHeadSlimeCrown name: slime crown description: Earl of Ooze. Grand Duke of Goo. Lord of the Slimes. + categories: [ DoNotMap ] components: - type: Sprite sprite: _CP14/Clothing/Head/slime_crown.rsi diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/base.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/base.yml index d0dc59409b..3f773d245c 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/base.yml @@ -52,8 +52,8 @@ params: volume: 3 - type: Damageable - damageContainer: CP14Biological - damageModifierSet: Slime + damageContainer: CP14BiologicalAnaerobic + damageModifierSet: CP14Slime - type: MeleeWeapon altDisarm: false soundHit: @@ -72,6 +72,8 @@ speechSounds: Slime - type: TypingIndicator proto: slime + - type: ReplacementAccent + accent: slimes - type: SolutionContainerManager solutions: slime: @@ -91,6 +93,9 @@ solution: slime - !type:DoActsBehavior acts: [ "Destruction" ] + # TODO: shouldn't be openable by others + # TODO: custom sound for opening and closing--shouldn't be a chest + # TODO: allow player-controlled slime to open its own storage? - type: EntityStorage isCollidableWhenOpen: true enteringOffset: 0, 0 @@ -98,6 +103,9 @@ showContents: true occludesLight: false - type: CP14MagicCasterSlowdown + - type: Tag + tags: + - FootstepSound - type: EntityTableContainerFill containers: entity_storage: !type:GroupSelector @@ -110,32 +118,3 @@ - id: CP14ScrapIron - id: CP14CopperCoin1 weight: 3 - -- type: entity - id: CP14ActionSpellSlimeJump - name: Slime jump - description: Jump! JUMP! - components: - - type: Sprite - sprite: _CP14/Actions/Spells/physical.rsi - state: kick #TODO - - type: CP14MagicEffectCastSlowdown - speedMultiplier: 0.1 - - type: CP14MagicEffect - effects: - - !type:CP14SpellThrowUserTo - throwPower: 8 - - type: EntityWorldTargetAction - useDelay: 8 - range: 10 - checkCanAccess: false - itemIconStyle: BigAction - icon: - sprite: _CP14/Actions/Spells/physical.rsi - state: kick #TODO - event: !type:CP14DelayedEntityWorldTargetActionEvent - hidden: true - breakOnMove: false - breakOnDamage: false - castDelay: 1 - raiseOnUser: true diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/electric.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/electric.yml index 2efe1a6cc9..756c6636e4 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/electric.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/electric.yml @@ -23,26 +23,23 @@ - ReagentId: CP14EssenceEnergia Quantity: 30 - type: MeleeWeapon - altDisarm: false - soundHit: - path: /Audio/Weapons/punch3.ogg - angle: 0 - animation: WeaponArcPunch damage: types: Blunt: 3 Shock: 3 - type: CP14SpellEffectOnHit - prob: 0.3 + prob: 0.15 effects: - !type:CP14SpellApplyEntityEffect effects: - !type:Electrocute - electrocuteTime: 1 + electrocuteTime: 0.5 electrocuteDamageScale: 1 - !type:CP14SpellSpawnEntityOnTarget spawns: - CP14ElectrifiedEffect + - type: Damageable + damageModifierSet: CP14SlimeElectric - type: Destructible thresholds: - trigger: @@ -102,6 +99,5 @@ - !type:CP14SpellApplyEntityEffect effects: - !type:Electrocute - electrocuteTime: 3.5 + electrocuteTime: 2 electrocuteDamageScale: 1 - diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/fire.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/fire.yml index 688b73972e..6e804f2353 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/fire.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/fire.yml @@ -25,15 +25,19 @@ - ReagentId: CP14BasicEffectDamageHeat Quantity: 10 - type: MeleeWeapon - altDisarm: false - soundHit: - path: /Audio/Weapons/punch3.ogg - angle: 0 - animation: WeaponArcPunch damage: types: Blunt: 3 Heat: 3 + - type: Damageable + damageModifierSet: CP14SlimeFire + - type: Temperature + coldDamage: + types: + Cold: 1 + heatDamage: + types: + Heat: 0 - type: Destructible thresholds: - trigger: @@ -100,4 +104,3 @@ - !type:AdjustTemperature amount: 6000 - !type:Ignite - diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/ice.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/ice.yml index 6aef3e0a08..0ee2469749 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/ice.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/ice.yml @@ -20,14 +20,9 @@ reagents: - ReagentId: CP14ChromiumSlime Quantity: 20 - - ReagentId: CP14EssenceWater + - ReagentId: CP14EssenceFrost Quantity: 30 - type: MeleeWeapon - altDisarm: false - soundHit: - path: /Audio/Weapons/punch3.ogg - angle: 0 - animation: WeaponArcPunch damage: types: Blunt: 3 @@ -49,6 +44,15 @@ - !type:AdjustTemperature amount: -6000 - !type:ExtinguishReaction + - type: Damageable + damageModifierSet: CP14SlimeIce + - type: Temperature + coldDamage: + types: + Cold: 0 + heatDamage: + types: + Heat: 3 - type: Destructible thresholds: - trigger: @@ -114,4 +118,3 @@ - !type:AdjustTemperature amount: -82000 - !type:ExtinguishReaction - diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/base.yml b/Resources/Prototypes/_CP14/Entities/Mobs/base.yml index 74bb29c248..5b13e55d92 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/base.yml @@ -109,7 +109,6 @@ - type: entity parent: - CP14MobDamageable - - MobRespirator - MobAtmosStandard - CP14SimpleSpaceMobNoLifeBase id: CP14SimpleMobNoLifeBase diff --git a/Resources/Textures/_CP14/Actions/Spells/slime.rsi/jump.png b/Resources/Textures/_CP14/Actions/Spells/slime.rsi/jump.png new file mode 100644 index 0000000000..664e7e3dec Binary files /dev/null and b/Resources/Textures/_CP14/Actions/Spells/slime.rsi/jump.png differ diff --git a/Resources/Textures/_CP14/Actions/Spells/slime.rsi/meta.json b/Resources/Textures/_CP14/Actions/Spells/slime.rsi/meta.json new file mode 100644 index 0000000000..2f88275c41 --- /dev/null +++ b/Resources/Textures/_CP14/Actions/Spells/slime.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-4.0", + "copyright": "Created by omsoyk (Discord) & paige404 (GitHub)", + "states": [ + { + "name": "jump" + } + ] +}