From 1e990784b28207082a97af0e3dee7ab2c99b2803 Mon Sep 17 00:00:00 2001 From: Regalis Date: Sat, 22 Aug 2015 14:45:54 +0300 Subject: [PATCH] Supercapacitor, shooting a turret wont use power if there isn't any ammo --- .../Content/Items/Electricity/poweritems.xml | 22 +++++++- .../Items/Electricity/supercapacitor.png | Bin 0 -> 528 bytes Subsurface/Content/Items/idcard.xml | 4 +- Subsurface/Source/Items/Components/Turret.cs | 50 +++++++++--------- Subsurface/Subsurface.csproj | 4 ++ Subsurface_Solution.v12.suo | Bin 655872 -> 610816 bytes 6 files changed, 51 insertions(+), 29 deletions(-) create mode 100644 Subsurface/Content/Items/Electricity/supercapacitor.png diff --git a/Subsurface/Content/Items/Electricity/poweritems.xml b/Subsurface/Content/Items/Electricity/poweritems.xml index a57442421..fb0260648 100644 --- a/Subsurface/Content/Items/Electricity/poweritems.xml +++ b/Subsurface/Content/Items/Electricity/poweritems.xml @@ -41,7 +41,27 @@ - + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Subsurface/Content/Items/Electricity/supercapacitor.png b/Subsurface/Content/Items/Electricity/supercapacitor.png new file mode 100644 index 0000000000000000000000000000000000000000..46eab45952043328e2893d649099e62d4dbf039d GIT binary patch literal 528 zcmeAS@N?(olHy`uVBq!ia0vp^zCawo!3HEZ2vyAhQk(@Ik;M!Q+`=Ht$S`Y;1W-^R z*&_(3vPzYKp`n?9;pcxK{gQ#9)PRBERRRNp6;Pvi{-pS$ZVU{J(>z@qLn>~)nX_RBFretzutTwa5Lf&#HFki#>T-W0ZYNSxM?ZsAa>{6~{k+o!lvU;92u( z2g7&=W~mDeY$gj77clZ>069#k+*vE4LQ{L^epSw4{ucZDo5U)u(j5lRsxRM&+Wn*T z8_&A;QJYQ7p2vKNW_s!A`+NB;Gc(cPD66yIS7?6x$Ej=5x-4@NzZT=1;&V%qzTR{H z+Vf?}GN3)K<>w#p?D;N#(RS_D$-AC^xPI}Xs=Mdu&Xo_I>3MtjXG!%jxHl*-SO#(w zka0jzfmopn-?A1Ly(qGC{hmF~YgX}_v+1|KmYo+1IJeRByzN8i@ zFLzo&nfddw<)Sf;CYOWmPqT}3&h}JZP|XAnhp?Uvf!sM)t~1=Rc^7cha@`kTY%+Md L`njxgN@xNAn+n*R literal 0 HcmV?d00001 diff --git a/Subsurface/Content/Items/idcard.xml b/Subsurface/Content/Items/idcard.xml index 045bd351d..8e75e69f1 100644 --- a/Subsurface/Content/Items/idcard.xml +++ b/Subsurface/Content/Items/idcard.xml @@ -5,9 +5,9 @@ Tags="smallitem" pickdistance="150"> - + - + diff --git a/Subsurface/Source/Items/Components/Turret.cs b/Subsurface/Source/Items/Components/Turret.cs index 4a3ef3a9d..7a899881d 100644 --- a/Subsurface/Source/Items/Components/Turret.cs +++ b/Subsurface/Source/Items/Components/Turret.cs @@ -121,8 +121,31 @@ namespace Subsurface.Items.Components if (reload > 0.0f) return false; Projectile projectileComponent = null; + //search for a projectile from linked containers + Item projectile = null; + foreach (MapEntity e in item.linkedTo) + { + Item container = e as Item; + if (container == null) continue; + + ItemContainer containerComponent = container.GetComponent(); + if (containerComponent == null) continue; + + for (int i = 0; i < containerComponent.inventory.items.Length; i++) + { + if (containerComponent.inventory.items[i] == null) continue; + if ((projectileComponent = containerComponent.inventory.items[i].GetComponent()) != null) + { + projectile = containerComponent.inventory.items[i]; + break; + } + } + + if (projectileComponent != null) break; + } + + if (projectile == null || projectileComponent == null) return false; - //currPowerConsumption = powerConsumption; float availablePower = 0.0f; //List batteries = new List(); @@ -147,31 +170,6 @@ namespace Subsurface.Items.Components if (availablePower < currPowerConsumption) return false; - //search for a projectile from linked containers - Item projectile = null; - foreach (MapEntity e in item.linkedTo) - { - Item container = e as Item; - if (container == null) continue; - - ItemContainer containerComponent = container.GetComponent(); - if (containerComponent == null) continue; - - for (int i = 0; i < containerComponent.inventory.items.Length; i++) - { - if (containerComponent.inventory.items[i] == null) continue; - if ((projectileComponent = containerComponent.inventory.items[i].GetComponent()) != null) - { - projectile = containerComponent.inventory.items[i]; - break; - } - } - - if (projectileComponent != null) break; - } - - if (projectile == null || projectileComponent==null) return false; - projectile.body.ResetDynamics(); projectile.body.Enabled = true; projectile.SetTransform(ConvertUnits.ToSimUnits(new Vector2(item.Rect.X + barrelPos.X, item.Rect.Y - barrelPos.Y)), -rotation); diff --git a/Subsurface/Subsurface.csproj b/Subsurface/Subsurface.csproj index 95a6a0383..616b23517 100644 --- a/Subsurface/Subsurface.csproj +++ b/Subsurface/Subsurface.csproj @@ -315,6 +315,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest @@ -594,6 +597,7 @@ PreserveNewest + Designer PreserveNewest diff --git a/Subsurface_Solution.v12.suo b/Subsurface_Solution.v12.suo index 3a2a2916428771c4ee4051d79f6e6b2f72b89991..07e54b4b4a5d6890b6e26cb526c17d4915664aa1 100644 GIT binary patch delta 15624 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