From: Emisse <99158783+Emisse@users.noreply.github.com> Date: Tue, 9 Jan 2024 05:27:00 +0000 (-0700) Subject: Mining rebalance + seismic charges (#23757) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=78442ce4e2deaa373e1347a9f4d7c8f013bb24b9;p=space-station-14.git Mining rebalance + seismic charges (#23757) * push * PUSH * reuse cryo explosion * minus loud * ore band + pka * idk dawg --- diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/cargo.yml b/Resources/Prototypes/Catalog/Fills/Lockers/cargo.yml index 293e746112..d2b9fa1b8d 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/cargo.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/cargo.yml @@ -10,12 +10,12 @@ - id: NitrogenTankFilled - id: ClothingShoesBootsMag - id: ClothingMaskGasExplorer -# Currently do not function as 'true' mesons, so they're useless for salvagers. -# - id: ClothingEyesGlassesMeson - id: ClothingBeltUtilityFilled - id: SurvivalKnife - id: HandheldGPSBasic - id: RadioHandheld + - id: SeismicCharge + amount: 2 - id: OreBag prob: 0.5 - id: Flare @@ -38,6 +38,8 @@ - id: SurvivalKnife - id: HandheldGPSBasic - id: RadioHandheld + - id: SeismicCharge + amount: 2 - id: OreBag prob: 0.5 - id: Flare diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/salvage.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/salvage.yml index 1d2e22bb88..b5665df37b 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/salvage.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/salvage.yml @@ -9,6 +9,7 @@ Floodlight: 2 HandheldGPSBasic: 2 RadioHandheld: 2 - WeaponProtoKineticAccelerator: 3 + WeaponProtoKineticAccelerator: 4 + SeismicCharge: 2 FultonBeacon: 1 Fulton: 2 diff --git a/Resources/Prototypes/Damage/modifier_sets.yml b/Resources/Prototypes/Damage/modifier_sets.yml index 92ba63d4eb..8b63604b22 100644 --- a/Resources/Prototypes/Damage/modifier_sets.yml +++ b/Resources/Prototypes/Damage/modifier_sets.yml @@ -12,19 +12,23 @@ - type: damageModifierSet id: StructuralMetallicStrong coefficients: + Blunt: 0.5 + Slash: 0.5 + Piercing: 0.5 Shock: 1.2 - Structural: 0.5 + Structural: 0.25 flatReductions: - Blunt: 20 - Slash: 20 - Piercing: 20 - Heat: 20 - Structural: 15 + Blunt: 10 + Slash: 10 + Piercing: 10 + Heat: 10 + Structural: 10 - type: damageModifierSet id: StructuralMetallic coefficients: Shock: 1.2 + Heat: 1.2 Structural: 0.5 flatReductions: Blunt: 10 @@ -33,6 +37,17 @@ Heat: 10 Structural: 10 +- type: damageModifierSet + id: Rock + coefficients: + Structural: 4 + Blunt: 0.5 + Slash: 0.25 + Piercing: 0.75 + Heat: 0.9 + flatReductions: + Blunt: 5 + - type: damageModifierSet id: PerforatedMetallic coefficients: @@ -63,9 +78,9 @@ Piercing: 0.7 Shock: 1.2 flatReductions: - Blunt: 14 - Slash: 15 - Piercing: 15 + Blunt: 10 + Slash: 10 + Piercing: 10 Shock: 10 Heat: 10 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/plastic.yml b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/plastic.yml index ac675f6cd2..8f79ea6577 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/plastic.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/plastic.yml @@ -1,7 +1,44 @@ - type: entity + id: BasePlasticExplosive + parent: BaseItem + abstract: true + components: + - type: Item + size: Small + - type: Sticky + stickDelay: 5 + unstickDelay: 5 + stickPopupStart: comp-sticky-start-stick-bomb + stickPopupSuccess: comp-sticky-success-stick-bomb + unstickPopupStart: comp-sticky-start-unstick-bomb + unstickPopupSuccess: comp-sticky-success-unstick-bomb + blacklist: # can't stick it to other items + components: + - Item + - type: Damageable + damageContainer: Inorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:ExplodeBehavior + - type: StickyVisualizer + - type: Appearance + - type: GenericVisualizer + visuals: + enum.Trigger.TriggerVisuals.VisualState: + base: + Primed: { state: primed } + Unprimed: { state: complete } + +- type: entity name: composition C-4 description: Used to put holes in specific areas without too much extra hole. A saboteur's favorite. - parent: BaseItem + parent: BasePlasticExplosive id: C4 components: - type: Sprite @@ -10,8 +47,6 @@ layers: - state: icon map: ["base"] - - type: Item - size: Small - type: OnUseTimerTrigger delay: 10 delayOptions: [10, 30, 60, 120, 300] @@ -23,16 +58,6 @@ - type: DeviceLinkSink ports: - Trigger - - type: Sticky - stickDelay: 5 - unstickDelay: 5 - stickPopupStart: comp-sticky-start-stick-bomb - stickPopupSuccess: comp-sticky-success-stick-bomb - unstickPopupStart: comp-sticky-start-unstick-bomb - unstickPopupSuccess: comp-sticky-success-unstick-bomb - blacklist: # can't stick it to other items - components: - - Item - type: Explosive # Powerful explosion in a very small radius. Doesn't break underplating. explosionType: DemolitionCharge totalIntensity: 60 @@ -40,19 +65,6 @@ maxIntensity: 30 canCreateVacuum: false - type: ExplodeOnTrigger - - type: Damageable - damageContainer: Inorganic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 50 - behaviors: - - !type:DoActsBehavior - acts: ["Destruction"] - - !type:ExplodeBehavior - - type: StickyVisualizer - - type: Appearance - type: HolidayVisuals holidays: festive: @@ -60,9 +72,37 @@ - type: HolidayRsiSwap sprite: festive: Objects/Weapons/Bombs/c4gift.rsi - - type: GenericVisualizer - visuals: - enum.Trigger.TriggerVisuals.VisualState: - base: - Primed: { state: primed } - Unprimed: { state: complete } + +- type: entity + name: seismic charge + description: Concussion based explosive designed to destroy large amounts of rock. + parent: BasePlasticExplosive + id: SeismicCharge + components: + - type: Sprite + sprite: Objects/Weapons/Bombs/seismic.rsi + state: icon + layers: + - state: icon + map: ["base"] + - type: OnUseTimerTrigger + delay: 5 + delayOptions: [5, 10, 15, 20] + initialBeepDelay: 0 + beepSound: + path: /Audio/Effects/Cargo/buzz_two.ogg + params: + volume: -3 + startOnStick: false + canToggleStartOnStick: true + - type: TriggerOnSignal + - type: DeviceLinkSink + ports: + - Trigger + - type: Explosive + explosionType: Cryo + totalIntensity: 120 + intensitySlope: 2 + maxIntensity: 30 + canCreateVacuum: false + - type: ExplodeOnTrigger diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index 998ec72183..b8efdadb10 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -391,12 +391,12 @@ layers: - state: chronobolt shader: unshaded - - type: GatheringProjectile - type: Projectile impactEffect: BulletImpactEffectKinetic damage: types: Blunt: 25 + Structural: 30 # Short lifespan - type: TimedDespawn lifetime: 0.4 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml index 33ff95bf3a..6e8891cd4e 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml @@ -46,15 +46,15 @@ wideAnimationRotation: -135 damage: types: - Blunt: 8 - Slash: 2 + Blunt: 10 + Slash: 5 - type: Wieldable - type: IncreaseDamageOnWield damage: types: Blunt: 2.5 Slash: 2.5 - Structural: 10 + Structural: 30 - type: GunRequiresWield - type: Item size: Ginormous @@ -78,7 +78,7 @@ attackRate: 1.5 damage: types: - Slash: 12 + Slash: 15 - type: Tag tags: - Knife @@ -97,7 +97,7 @@ - type: LeechOnMarker leech: groups: - Brute: -15 + Brute: -30 - type: MeleeWeapon attackRate: 1.25 - type: Tag diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml index 4368f162a2..b252d286d1 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml @@ -11,7 +11,12 @@ sprite: Objects/Weapons/Melee/pickaxe.rsi state: pickaxe - type: MeleeWeapon + attackRate: 0.7 wideAnimationRotation: -135 + soundHit: + path: "/Audio/Weapons/smash.ogg" + params: + volume: -3 damage: groups: Brute: 5 @@ -21,7 +26,7 @@ groups: Brute: 10 types: - Structural: 25 + Structural: 30 - type: Item size: Normal shape: @@ -44,9 +49,12 @@ sprite: Objects/Tools/handdrill.rsi state: handdrill - type: MeleeWeapon - attackRate: 1.5 + wideAnimationRotation: -90 + soundHit: + path: "/Audio/Items/drill_hit.ogg" + attackRate: 3.5 damage: groups: - Brute: 10 + Brute: 3 types: - Structural: 20 + Structural: 12 diff --git a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml index 36f3d14c9e..01b866e347 100644 --- a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml +++ b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml @@ -11,11 +11,6 @@ components: - type: PlacementReplacement key: walls - - type: SoundOnGather - - type: Gatherable - whitelist: - tags: - - Pickaxe - type: IconSmooth key: walls mode: NoSprite @@ -34,15 +29,20 @@ state: rock_asteroid_west - type: Damageable damageContainer: StructuralInorganic - damageModifierSet: Metallic + damageModifierSet: Rock - type: Destructible thresholds: - trigger: !type:DamageTrigger - damage: 150 + damage: 120 behaviors: - !type:DoActsBehavior acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/break_stone.ogg + params: + volume: -6 - type: Occluder - type: Airtight - type: Fixtures diff --git a/Resources/Prototypes/ore.yml b/Resources/Prototypes/ore.yml index 19a1c4f765..c7e69966d4 100644 --- a/Resources/Prototypes/ore.yml +++ b/Resources/Prototypes/ore.yml @@ -9,36 +9,52 @@ - type: ore id: OreSteel oreEntity: SteelOre1 + minOreYield: 1 + maxOreYield: 5 - type: ore id: OreSpaceQuartz oreEntity: SpaceQuartz1 + minOreYield: 1 + maxOreYield: 5 - type: ore id: OreCoal oreEntity: Coal1 + minOreYield: 1 + maxOreYield: 5 # Medium yields - type: ore id: OreGold oreEntity: GoldOre1 + minOreYield: 1 + maxOreYield: 3 - type: ore id: OreSilver oreEntity: SilverOre1 + minOreYield: 1 + maxOreYield: 3 # Low yields - type: ore id: OrePlasma oreEntity: PlasmaOre1 + minOreYield: 1 + maxOreYield: 2 - type: ore id: OreUranium oreEntity: UraniumOre1 + minOreYield: 1 + maxOreYield: 2 - type: ore id: OreBananium oreEntity: BananiumOre1 + minOreYield: 1 + maxOreYield: 3 - type: ore id: OreQuartzCrab diff --git a/Resources/Textures/Objects/Weapons/Bombs/seismic.rsi/icon.png b/Resources/Textures/Objects/Weapons/Bombs/seismic.rsi/icon.png new file mode 100644 index 0000000000..b00f52d003 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Bombs/seismic.rsi/icon.png differ diff --git a/Resources/Textures/Objects/Weapons/Bombs/seismic.rsi/inhand-left.png b/Resources/Textures/Objects/Weapons/Bombs/seismic.rsi/inhand-left.png new file mode 100644 index 0000000000..12e980c49d Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Bombs/seismic.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Weapons/Bombs/seismic.rsi/inhand-right.png b/Resources/Textures/Objects/Weapons/Bombs/seismic.rsi/inhand-right.png new file mode 100644 index 0000000000..ff1482cf9a Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Bombs/seismic.rsi/inhand-right.png differ diff --git a/Resources/Textures/Objects/Weapons/Bombs/seismic.rsi/meta.json b/Resources/Textures/Objects/Weapons/Bombs/seismic.rsi/meta.json new file mode 100644 index 0000000000..d920564d45 --- /dev/null +++ b/Resources/Textures/Objects/Weapons/Bombs/seismic.rsi/meta.json @@ -0,0 +1,31 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "made by Emisse for ss14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "primed", + "delays": [ + [ + 0.1, + 0.1 + ] + ] + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Objects/Weapons/Bombs/seismic.rsi/primed.png b/Resources/Textures/Objects/Weapons/Bombs/seismic.rsi/primed.png new file mode 100644 index 0000000000..f14e2c8589 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Bombs/seismic.rsi/primed.png differ