From 9afa15ab4180b9a3ae90d8a09e73d141a1b6ebc0 Mon Sep 17 00:00:00 2001 From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Sat, 3 May 2025 20:38:47 -0400 Subject: [PATCH] Salvage Threat: Gibtonite (#37160) --- .../Entities/Structures/Walls/asteroid.yml | 88 ++++++++++++++++++ .../Prototypes/Procedural/Magnet/asteroid.yml | 24 +++++ Resources/Prototypes/Procedural/vgroid.yml | 6 ++ .../Walls/rock.rsi/gibtonite_active.png | Bin 0 -> 1639 bytes .../Walls/rock.rsi/gibtonite_inactive.png | Bin 0 -> 685 bytes .../Structures/Walls/rock.rsi/meta.json | 44 ++++++--- 6 files changed, 147 insertions(+), 15 deletions(-) create mode 100644 Resources/Textures/Structures/Walls/rock.rsi/gibtonite_active.png create mode 100644 Resources/Textures/Structures/Walls/rock.rsi/gibtonite_inactive.png diff --git a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml index 85c011ce11..34e84d39f6 100644 --- a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml +++ b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml @@ -49,6 +49,56 @@ params: volume: -6 +- type: entity + abstract: true + id: BaseRockGibtonite + suffix: Gibtonite + components: + - type: Appearance + - type: GenericVisualizer + visuals: + enum.Trigger.TriggerVisuals.VisualState: + "gib": + Primed: + state: gibtonite_active + shader: unshaded + visible: true + Unprimed: + state: gibtonite_inactive + visible: false + - type: OnUseTimerTrigger + examinable: false + beepInterval: 0.4 + beepSound: + collection: GlassCrack + - type: RandomTimerTrigger + min: 8 + max: 10 + - type: ExplodeOnTrigger + - type: Explosive + explosionType: DemolitionCharge + totalIntensity: 450 + intensitySlope: 2.5 + maxIntensity: 10 + canCreateVacuum: false + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 3 + behaviors: + - !type:TimerStartBehavior + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + - trigger: + !type:DamageTrigger + damage: 500 # you have to really smack it for it to manually detonate. re-examine once defusal exists + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:TriggerBehavior + # Ore veins - type: entity id: AsteroidRockCoal @@ -351,6 +401,25 @@ - state: rock_artifact_fragment map: [ "enum.MiningScannerVisualLayers.Overlay" ] +- type: entity + parent: [ BaseRockGibtonite, AsteroidRock ] + id: AsteroidRockGibtonite + components: + - type: Sprite + layers: + - state: rock_asteroid + - map: [ "enum.EdgeLayer.South" ] + state: rock_asteroid_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_asteroid_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_asteroid_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_asteroid_west + - state: gibtonite_inactive + visible: false + map: [ "enum.MiningScannerVisualLayers.Overlay", "gib" ] + - type: entity id: AsteroidRockMining parent: AsteroidRock @@ -631,6 +700,25 @@ - state: rock_artifact_fragment map: [ "enum.MiningScannerVisualLayers.Overlay" ] +- type: entity + parent: [ BaseRockGibtonite, IronRock ] + id: IronRockGibtonite + components: + - type: Sprite + layers: + - state: ironrock + - map: [ "enum.EdgeLayer.South" ] + state: ironrock_south + - map: [ "enum.EdgeLayer.East" ] + state: ironrock_east + - map: [ "enum.EdgeLayer.North" ] + state: ironrock_north + - map: [ "enum.EdgeLayer.West" ] + state: ironrock_west + - state: gibtonite_inactive + visible: false + map: [ "enum.MiningScannerVisualLayers.Overlay", "gib" ] + - type: entity id: IronRockDiamond parent: IronRock diff --git a/Resources/Prototypes/Procedural/Magnet/asteroid.yml b/Resources/Prototypes/Procedural/Magnet/asteroid.yml index 043c890765..a77a6b287b 100644 --- a/Resources/Prototypes/Procedural/Magnet/asteroid.yml +++ b/Resources/Prototypes/Procedural/Magnet/asteroid.yml @@ -20,6 +20,12 @@ # Generate biome - !type:BiomeDunGen biomeTemplate: Asteroid + - !type:OreDunGen + replacement: AsteroidRock + entity: AsteroidRockGibtonite + count: 8 + minGroupSize: 0 + maxGroupSize: 1 # Multiple smaller asteroids # This is a pain so we generate fewer tiles @@ -43,6 +49,12 @@ # Generate biome - !type:BiomeDunGen biomeTemplate: Asteroid + - !type:OreDunGen + replacement: AsteroidRock + entity: AsteroidRockGibtonite + count: 8 + minGroupSize: 0 + maxGroupSize: 1 # Long and spindly, less smooth than blob - type: dungeonConfig @@ -66,6 +78,12 @@ # Generate biome - !type:BiomeDunGen biomeTemplate: Asteroid + - !type:OreDunGen + replacement: AsteroidRock + entity: AsteroidRockGibtonite + count: 8 + minGroupSize: 0 + maxGroupSize: 1 # Lots of holes in it - type: dungeonConfig @@ -88,3 +106,9 @@ # Generate biome - !type:BiomeDunGen biomeTemplate: Asteroid + - !type:OreDunGen + replacement: AsteroidRock + entity: AsteroidRockGibtonite + count: 8 + minGroupSize: 0 + maxGroupSize: 1 diff --git a/Resources/Prototypes/Procedural/vgroid.yml b/Resources/Prototypes/Procedural/vgroid.yml index 0747a58b30..e9044720cc 100644 --- a/Resources/Prototypes/Procedural/vgroid.yml +++ b/Resources/Prototypes/Procedural/vgroid.yml @@ -87,6 +87,12 @@ count: 15 minGroupSize: 1 maxGroupSize: 2 + - !type:OreDunGen + replacement: IronRock + entity: IronRockGibtonite + count: 60 # you don't really hit it on purpose so it should be common + minGroupSize: 1 + maxGroupSize: 1 # Configs - type: dungeonConfig diff --git a/Resources/Textures/Structures/Walls/rock.rsi/gibtonite_active.png b/Resources/Textures/Structures/Walls/rock.rsi/gibtonite_active.png new file mode 100644 index 0000000000000000000000000000000000000000..79092629b76fbdeda88c2eada5db2f0194ce0a3f GIT binary patch literal 1639 zcmV-t2AKJYP)Px*AxT6*RCt{2TB~y1I2iu4voCN$7Nn>s!7>UD$?5E(zJiQ9OUgQBC7ojX6^h!) zDJd_K@mUnq&a~v@5&i{|tY5Nh%XZxC#ovr4C%)*@f7cDzuwlc7B~V2FX8vFDUaQDl zsr&sno=$W;ogP3z>+ugNKviUjm5MsziIoIoYz0N+Ec5RDZir$KkIJtqB2^LH+}={# zVB4_igj7Vw(}`3?)ONz&bNA=E=+ENs^?x*Cu#A7C3ixE>EnqC{42(MZ#CE1`_&pPs)AK>d-@3I7-=fkhLud`5bvFNK z2s91w+qwV$@@@yzCN6(Gdxb`8+|d^o8T=!$ z=`A3YYB`6n>EX@mFO5C?j~%^%JdAQDpOX6~Jny8%8>T zocomxQv!V6N!4RjO;kdHpNe$M1L)0Su40Vwr>j6MMBRR*@b&y)h4TWI4WJ?6)3LEW zU@FDU_XB`EbKi=x!-4Zx+IRs>l54$Sq^14sYv3bB`NuodQ@dqdw2@H*D3!+X&3!vy z;pIq4pe|=tf&_mY3Xb317g|3YzX6+tv6)r{Nfjgo0}V}!CP6v;1Q}dQ_%qf6dg4bD zm0IJ2&Hk4!cTf^QZQX9c_&KdLjj2f z=g;gzZp|N z?-<&3+%JeS*x8p<3fiv26-uM2g@E0n2Fwoa+|{89k|Yq?T{LLeUReB00D=Gl$@ZQV za{BJD+nGH)d)2PVySX@_2B9{>vrb4Ryl-gU(pZV6`yEMem*;OZkO+jg7!uw-?}zh( zs_a>pPwmdIdrLe3U@=azwWjj`3GWS(yfP%Aeb-@@2LRzI4FE>C!0n8)EB=bh#W?KwSeh@I&pO$6ik0 z@@}`_d_agcAEeOc3F)f?6S^-CgbJ`*)1BB)5{`FRXl?iB$KeJ#5>43Ij5zKRj|#%t&=@$U1Nc*0OZMjpAQuKh7EUTD?$6wP zkly`y>h9C?-!sWNAfTP~#WO@cQ{*$o+-Y#e?(o2zKhmd??5y4coeya90kd+P>3h1i z?)iWeRy!YH<5#<(F@RVp4r666#^mz>!8tvb=+-(djnI;v1Q-vIXJGRA07D%8{fXxT zhDL^Sl3cz5xcdu#g=KC%B$Jvge?#knW5~||HmM0VQWX4v^vc$E*6qvgQ)8dCI|Glr lKOZY$L4Dt_VZ;9%e*>$PNOFsX3AO+L002ovPDHLkV1k-l8_xg$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Walls/rock.rsi/gibtonite_inactive.png b/Resources/Textures/Structures/Walls/rock.rsi/gibtonite_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..bf408b7c033b225eebf2c39a795578abc7098844 GIT binary patch literal 685 zcmV;e0#f~nP)Px%XGugsR9J=WmOXCUKoEsL2DyOJq);k%s#lecKm|$VD-3HRO}ZeR8^bmC3hoTi zM{q^f>{K~`+(<{*6wBoonOKgS6m7)<`VT!(;mx>Jwx)-sP}tQ z@AuJXq68#2*0D&Bh<7XsR6h!0jEl_U(=6s9?p$(X(#^)S23y0Hgc4)w{oY7!OiQAX zIr&(MPDVgyN#eezKZ^DMq?yFN1J434GhZqwh5v>6ig>+Z2*xFn^tX9DTfHdb!jC6r7HXi|dLw7-R zPo*KFt59a^VyGTQQ&3g#b?$#JwlmPSF5bWYp(;z#U18H8T|#%a2kvegy)RFL_M-(7 zMnH+Qw|36K`>dq&YWZU+!>%}NJ=cOqr17EH~j<8IUQ_f*10%DA)uBekw zz~rHY1W>Fue*t)TUVB!Nn>!2^p>t?+csQ!`YPk%YTl{QNQr{n_Z|t!XG(N762?Ras z#;7ys!kkqB34GnXJa^{-faGx!!(E`0M7K)9+q`Iudk0wsB?^2)Qs3KFU2JEhy8>7T z>C4SfI!3yHlj~OLWt$ldWKvS!AKHNxwxcM}*?2uf5NyF<)8#0WqfBSelxETra+tuV zmp`|fn~!u?w7C}*bj-*Sau}V29$6CJ%8lm7%Gbp?VV*!>z+ivU>Hb2Pj)|{i9