ent, ref ExaminedEvent args)
+ {
+ var msg = _toggle.IsActivated(ent.Owner) ? ent.Comp.On : ent.Comp.Off;
+ args.PushMarkup(Loc.GetString(msg));
+ }
+}
diff --git a/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs b/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs
index 7a8961485d6..5cc24992d31 100644
--- a/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs
+++ b/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs
@@ -1,5 +1,6 @@
using Content.Server.Storage.Components;
using Content.Shared.Inventory;
+using Content.Shared.Item.ItemToggle; // DeltaV
using Content.Shared.Whitelist;
using Robust.Shared.Map;
using Robust.Shared.Physics.Components;
@@ -15,6 +16,7 @@ public sealed class MagnetPickupSystem : EntitySystem
[Dependency] private readonly IGameTiming _timing = default!;
[Dependency] private readonly EntityLookupSystem _lookup = default!;
[Dependency] private readonly InventorySystem _inventory = default!;
+ [Dependency] private readonly ItemToggleSystem _toggle = default!; // DeltaV
[Dependency] private readonly SharedTransformSystem _transform = default!;
[Dependency] private readonly SharedStorageSystem _storage = default!;
[Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!;
@@ -49,11 +51,18 @@ public override void Update(float frameTime)
comp.NextScan += ScanDelay;
- if (!_inventory.TryGetContainingSlot((uid, xform, meta), out var slotDef))
+ // Begin DeltaV Addition: Make ore bags use ItemToggle
+ if (!_toggle.IsActivated(uid))
continue;
+ // End DeltaV Addition
- if ((slotDef.SlotFlags & comp.SlotFlags) == 0x0)
- continue;
+ // Begin DeltaV Removals: Allow ore bags to work inhand
+ //if (!_inventory.TryGetContainingSlot((uid, xform, meta), out var slotDef))
+ // continue;
+
+ //if ((slotDef.SlotFlags & comp.SlotFlags) == 0x0)
+ // continue;
+ // End DeltaV Removals
// No space
if (!_storage.HasSpace((uid, storage)))
diff --git a/Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag.yml b/Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag.yml
index e73f9d7ba47..0306a7dc147 100644
--- a/Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag.yml
+++ b/Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag.yml
@@ -7,7 +7,10 @@
- type: MagnetPickup
- type: Sprite
sprite: Objects/Specific/Mining/ore_bag.rsi
- state: icon
+ #state: icon # DeltaV: use a layer instead
+ layers: # DeltaV
+ - state: icon
+ map: [ "enum.ToggleVisuals.Layer" ]
- type: Clothing
sprite: Objects/Specific/Mining/ore_bag.rsi
quickEquip: false
@@ -26,6 +29,24 @@
- ArtifactFragment
- Ore
- type: Dumpable
+ # Begin DeltaV Additions: toggle magnet from White Dream
+ - type: ItemToggle
+ soundActivate: &soundActivate
+ collection: sparks
+ params:
+ variation: 0.25
+ soundDeactivate: *soundActivate
+ - type: ItemToggleExamine
+ on: magnet-pickup-component-magnet-on
+ off: magnet-pickup-component-magnet-off
+ - type: Appearance
+ - type: GenericVisualizer
+ visuals:
+ enum.ToggleVisuals.Toggled:
+ enum.ToggleVisuals.Layer:
+ True: { state: icon_on }
+ False: { state: icon }
+ # End DeltaV Additions
- type: ReverseEngineering # DeltaV
difficulty: 2
recipes:
diff --git a/Resources/Textures/Objects/Specific/Mining/ore_bag.rsi/icon_on.png b/Resources/Textures/Objects/Specific/Mining/ore_bag.rsi/icon_on.png
new file mode 100644
index 0000000000000000000000000000000000000000..b39ff0e6da1fe642fd03c64720177c8f27416f92
GIT binary patch
literal 1344
zcmV-G1;6@%
z!T&&4!Bs&J6hXw%+1DZ^p4$o)X>YhWKfZgv!^sy2Oeec38(1N0yv;`$a8C*R<4(=xKQ@)>ZER
z^Yk*qL*?$RacFoBg7+S1+=b#!5PTm8LGc8_PjH#9_*W&T(NEELDq8dqBAal2Rnd$+
zxY&ZuM@M({k`$I5%4Fc}4B8f;{T7;+%31xMbNT?u4f#bkuzvu(azC>C19)v{L8LgM
zWB>pF32;bRa{vG?BLDy{BLR4&KXw2B19?eAK~#8N?V3$%6G0fqrxK|~OIn&kt5BsP
zR0Yx8L@%w-s|bR(;?Zv)egg60C-5M>c@i%kl(rY4Hx8K|C2o1
z>5}ZTFPSdV{|}bT%QN#ELMF2_yT%Yg2qAaQYSX_PKka9Adb+i^v}7eSLAusl
zw&h2w$2+ZRt)zp{pr3wU{zF=T3*?)n!#3U6*b2)fjXD{i59p`A-+pz5favl9sw0(9
z?516k%)lhjPk*$mUw$iY9z@H&cJiG$nd_W%%y{POKnVg5zq
zoO#ulv=`D+ju^yB9&}s6l0rZIKK(r>02W0#b-PrsS*E0sMzJ^^K@Lkwck#_b~u
zaejR9cOF~_V~g-VoIe(hVZZ$Veq1sM_uCKPmq}2BALQ}(yf?xOoDDV~FN2MQJB!ev
z?7ATa_!6Wn8Y_LIy$?+4hZ_{(cR8qjOg{Vx6yb;abNzI#-(TzsfDOlNX9q5u3NY1N
zwnF&_LVBw6Ai|AB+ua8f=}F=TMfrt;?3W*Z5q`My{{GY_!QDC-4a%;X59a3GZJU2K
zKV(cfh^y;u(?UP}QTpkRodB|n#;$s-a|Sy*h#mH@nYp!L9zPneXS0=ZJ03G`ZPkRa
z?q(zl^wSS~`qg7lARXa|$?X(!dFUWl@{elmF>;yok
zxUWJ-B9~n`z$0i}0_qThSUG}{`?xI7Prq-!`Yw4f
zPrq-!Iz4xH-|Y_F_pO^l?b$c5y|br{#M+I>ipd52^!xOyGc)>5MjEgTWu5&3{q+0v
zCmLMVxA`=AQs}2&i|Izc{Dcrf2qA~Rh
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Objects/Specific/Mining/ore_bag.rsi/meta.json b/Resources/Textures/Objects/Specific/Mining/ore_bag.rsi/meta.json
index 39303046bb7..355ad48c8e8 100644
--- a/Resources/Textures/Objects/Specific/Mining/ore_bag.rsi/meta.json
+++ b/Resources/Textures/Objects/Specific/Mining/ore_bag.rsi/meta.json
@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Homegrown by @ninruB#7795, inhand sprites by lzk228(discord 455630609641897984)",
+ "copyright": "Homegrown by @ninruB#7795, inhand sprites by lzk228(discord 455630609641897984) | icon_on state by @kilath",
"size": {
"x": 32,
"y": 32
@@ -21,6 +21,19 @@
{
"name": "inhand-right",
"directions": 4
+ },
+ {
+ "name": "icon_on",
+ "delays": [
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ]
+ ]
}
]
}
diff --git a/Resources/Textures/Objects/Specific/Mining/ore_bag_holding.rsi/icon_on.png b/Resources/Textures/Objects/Specific/Mining/ore_bag_holding.rsi/icon_on.png
new file mode 100644
index 0000000000000000000000000000000000000000..42382c71f40a67ee22a68449e79aad6679455901
GIT binary patch
literal 2162
zcmaJ?dpOg58~;gd$ea>2=i<#Hhv*R%?~lYBvZ3T`mL)<)#Zu2E(fbr{q#lyPWKud!
z2SZ}!oRp0zL(au8!Wf(JZavrY{PAAb`~LC0ug`VgpZorNzu)V+@B4-a5&@Hg%K-oY
zb8$ZE1prb>Vyr6z5nGLCly723bcBP0M?`2S02toBc)P}}(L=R`NWD3FP2te**4W3R
zAm|o<@_!3Khu|0~hoWFNdsMqefNMG780M6#9mp58c~dN!7lI$^Np-ps-(Vdqhmt
zL9p&Jt?|9OjJsbcwU%Z@LZmL~Sp
z`CP0h=_-`H=-#lqbWG4-0XrU9N5%(KHFj`*8QDET@PVk-oqX&0UA>uYK{SlNb0b!!
ztk8d1QG?jqQBB2>a4f3a_c@y>H~;R{YQM6eS2gp_`&=|(*Ea3-U1=)$Zt!}lj-C~B
z-FyDtLcDM5c0_hQUg&7z{N)WReKO*b@n`SZjYXbCqr~|gjOm|C;6#gL?4*-y-E=TQ8
z;DfmZsBqN;)z+bZ=s87A8x&Ks{4?*XMAmPHZ(~k9(0$;^JnLdsR{q}J^%ou^(0D22
z@(-3>nyfb}y3feGG)FrXMY+*D)*ck`x=D%xH@FIfOfz!o%6~%tVJ9LV@&2T@WjDezE6Bj|_iFB!b=H`0)_wSF7H4c8aaw9bC
z%$f5o1Jjx0z{y7vp^Q!v-xgr>^%;@LWD6^+J#N{?%7MP}Fxd9Q8yHG@dU|g~d%G)}
z8l9JKd->!g_j7;cp>Y6<#cC5QO>+g~<0Zoitl{CJuY&^SoW;TJkT2@)L3bi)&t6X>
zPJ5VE#JdCq1sy_EGf?7RlNOB4t7`&)qIQ+g**2^ilf67nTOgoQqs*rxKgNB#>)d@p
z*UEHH$zW8%>30W=R@X>81FWkG2d?5y5EcBEfUWNM;xWhGKn}%t?R|`?D8m%+@XI8j
zr5+j?xX+T63x}69R&I1yE*5}jhpx(vlGRcQ@*W(14A$K>%?1;Tj;I6>4_Lm#L@ITz
z>nwY>E%@hB=&v{0`nNB%$4MZO#RGY@7hr|Lp~{xIM6_{L(jM0(ljP$W|a@m7(bKRL$BPpdd#);UN8KI&Pe}|P!Q&F>p9gj1Xx}E0Qx*k
z5OW+DHN@q&ZTwS_^-4Uh;-}g@aZl)
zuheH-inz?B<)L5EdBLy-_`W0?VP_s?vi7l*^y5I{d+GYCkeTu=SkDgLjZN_KMuj5d
z(PgsK;TfQP*EtYg9vXcMH$(V!ST!InWo)@0l7Gsmbum3w7%h#&Kt0rAh0G+ac;K{h
zr4Fq3Pe)AHIpeccacQjQIPlTD6P?oT@WQ84=yBV}9WE4SwF
zrD;uzu5U4!E0l+3o{>PUcbPKK%otikJ#NGDju@T+;rj-1=JXq+#@QJV`2>dMVDcgt
zA$?uwbRMt45UcN)C5OF~ZhI|3`#+Zb$>ZBCa&h9i?42qj}QfvW?y3s5E
z*WDC&Iwfak&NhpI)%$H}VYO6ye`?)ne$S&@v8n+nPNqb+#h~fz9DZAi!<}_ew3%PR
z=ry}|!lL}z_x#4%(J?!P{DryJga4}G;B++(i-fVCMp`a|L7nv(=M}65g$LK=*Q_US
zW3{Blf`nR0bT(XN^~LM18l4HvS#0-Ixw`mD`Hf%u-yEEAEEI{kWN3fziBj5dUcI_m
z@LejE%8ReuX`WLzPqB#|SQBCr!MM9y#hoqg+x1lbgch(eBXdQ2
z%jbDJ`g|v{4K)U~FLN=PsDcsx@s}aCBD)4z^VTTT#HE!V7$(WRKvt3qeinB#WpGmi
zMRz2@1%=khs{OaHOQ_d$4dQD-a*{Tb`Ox!pG3G?}PbE+^zp{03ldJo!A}aM{eBDbo
zi0QCr3L-UlSB3zJZGKTQu>Ka+(%SmrK0!giQJ2i514Pf}YPZ{7%<<+Ups3Hhx`;&J
z-aCaa6iu1vLf7@#0~}0E6$nDE-U%V4)qrSf=Ff)jrj-+x$hsEnAFK3a#T^&qc~5mf
z_?DmJ@d^X|7F~N3hecn