Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 4e8851a

Browse filesBrowse files
author
n3ophyt3@gmail.com
committed
Yet another wonderful design from R&D!
Dubbed the "Bag of Holding", this latest wonder is a backpack that has had the interior filled with a Bluespace generator. This allows for unmatched item storage potential! The generator has proven perfectly reliable under light use, but heavy loads have been proven to cause strain, eventually leading to total failure and loss of any stored items. Additionally, the generator does NOT play nice with other applications of Bluespace, do not wear or carry the device while attempting to teleport, or attempt to place one into the Bluespace pocket of a second device. The Bluespace interface has been observed to destabilize gravitational singularities. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1176 316c924e-a436-60f5-8080-3fe189b3f50e
1 parent d081300 commit 4e8851a
Copy full SHA for 4e8851a

7 files changed

+105-8Lines changed: 105 additions & 8 deletions

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎code/game/machinery/teleporter.dm‎

Copy file name to clipboardExpand all lines: code/game/machinery/teleporter.dm
+25Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,31 @@
182182
P.show_message(text("\red <B>The [] bounces off of the portal!</B>", M.name), 1)
183183
return
184184

185+
//Bags of Holding cause bluespace teleportation to go funky. --NeoFite
186+
if (istype(M, /mob))
187+
var/mob/MM = M
188+
if(MM.check_contents_for(/obj/item/weapon/storage/backpack/holding))
189+
MM << "\red The Bluespace interface on your Bag of Holding interferes with the teleport!"
190+
precision = rand(1,100)
191+
if (istype(M, /obj/item/weapon/storage/backpack/holding))
192+
precision = rand(1,100)
193+
for (var/atom/O in M.contents) //I'm pretty sure this accounts for the maximum amount of container in container stacking. --NeoFite
194+
if (istype(O, /obj/item/weapon/storage) || istype(O, /obj/item/weapon/gift))
195+
for (var/obj/OO in O.contents)
196+
if (istype(OO, /obj/item/weapon/storage) || istype(OO, /obj/item/weapon/gift))
197+
for (var/obj/OOO in OO.contents)
198+
if (istype(OOO, /obj/item/weapon/storage/backpack/holding))
199+
precision = rand(1,100)
200+
if (istype(OO, /obj/item/weapon/storage/backpack/holding))
201+
precision = rand(1,100)
202+
if (istype(O, /obj/item/weapon/storage/backpack/holding))
203+
precision = rand(1,100)
204+
if (istype(O, /mob))
205+
var/mob/MM = O
206+
if(MM.check_contents_for(/obj/item/weapon/storage/backpack/holding))
207+
precision = rand(1,100)
208+
209+
185210
var/turf/destturf = get_turf(destination)
186211

187212
var/tx = destturf.x + rand(precision * -1, precision)
Collapse file

‎code/game/objects/storage/backpack.dm‎

Copy file name to clipboardExpand all lines: code/game/objects/storage/backpack.dm
+59-2Lines changed: 59 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/obj/item/weapon/storage/backpack/New()
2-
3-
new /obj/item/weapon/storage/box( src )
2+
if (!istype(src, /obj/item/weapon/storage/backpack/holding))
3+
new /obj/item/weapon/storage/box( src )
44
..()
55
return
66

@@ -63,3 +63,60 @@
6363
O.show_message(text("\blue [] has added [] to []!", user, W, src), 1)
6464
//Foreach goto(206)
6565
return
66+
67+
/obj/item/weapon/storage/backpack/holding
68+
name = "Bag of Holding"
69+
desc = "A backpack that opens into a localized pocket of Blue Space."
70+
origin_tech = "bluespace=4"
71+
72+
New()
73+
..()
74+
return
75+
76+
attackby(obj/item/weapon/W as obj, mob/user as mob)
77+
if(crit_fail)
78+
user << "\red The Bluespace generator isn't working."
79+
return
80+
81+
if(istype(W, /obj/item/weapon/storage/backpack/holding) && !W.crit_fail)
82+
user << "\red The Bluespace interfaces of the two devices catastrophically malfunction!"
83+
del(W)
84+
new /obj/machinery/singularity (get_turf(src))
85+
del(src)
86+
return
87+
88+
if (src.contents.len >= 7)
89+
user << "\red The Bluespace interface currently does not allow for more than 7 items to be stored. We're working on it! --R&D"
90+
return
91+
if (W.w_class > 3 || src.loc == W)
92+
if(!failcheck(user))
93+
return
94+
var/t
95+
for(var/obj/item/weapon/O in src)
96+
t += O.w_class
97+
//Foreach goto(46)
98+
t += W.w_class
99+
if (t > 20)
100+
if(!failcheck(user))
101+
return
102+
playsound(src.loc, "rustle", 50, 1, -5)
103+
user.u_equip(W)
104+
W.loc = src
105+
if ((user.client && user.s_active != src))
106+
user.client.screen -= W
107+
src.orient2hud(user)
108+
W.dropped(user)
109+
if (istype(W, /obj/item/weapon/gun/energy/crossbow)) return //STEALTHY
110+
add_fingerprint(user)
111+
for(var/mob/O in viewers(user, null))
112+
O.show_message(text("\blue [] has added [] to []!", user, W, src), 1)
113+
114+
proc/failcheck(mob/user as mob)
115+
if (prob(src.reliability)) return 1 //No failure
116+
if (prob(src.reliability))
117+
user << "\red The Bluespace portal resists your attempt to add another item." //light failure
118+
else
119+
user << "\red The Bluespace generator malfunctions!"
120+
for (var/obj/O in src.contents) //it broke, delete what was in it
121+
del(O)
122+
crit_fail = 1
Collapse file

‎code/game/research/designs.dm‎

Copy file name to clipboardExpand all lines: code/game/research/designs.dm
+14Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -785,6 +785,20 @@ datum
785785
reliability_base = 79
786786
build_path = "/obj/item/weapon/chem_grenade/large"
787787

788+
/////////////////////////////////////////
789+
//////////////Blue Space/////////////////
790+
/////////////////////////////////////////
791+
792+
bag_holding
793+
name = "Bag of Holding"
794+
desc = "A backpack that opens into a localized pocket of Blue Space."
795+
id = "bag_holding"
796+
req_tech = list("bluespace" = 4)
797+
build_type = PROTOLATHE
798+
materials = list("$gold" = 1000, "$diamond" = 500, "$uranium" = 250)
799+
reliability_base = 80
800+
build_path = "/obj/item/weapon/storage/backpack/holding"
801+
788802
/////////////////////////////////////////
789803
//////////////////Test///////////////////
790804
/////////////////////////////////////////
Collapse file

‎code/modules/power/singularity/singularity.dm‎

Copy file name to clipboardExpand all lines: code/modules/power/singularity/singularity.dm
+5Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,11 @@ var/global/list/uneatable = list(
214214

215215

216216
consume(var/atom/A)
217+
if (istype(A,/obj/item/weapon/storage/backpack/holding))
218+
del(A)
219+
explosion(src.loc,10,15,20,40)
220+
if(src) del(src)
221+
return
217222
var/gain = 0
218223
if(is_type_in_list(A, uneatable))
219224
return 0
Collapse file

‎config/admins.txt‎

Copy file name to clipboard
+1-4Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
deuryn - Host
22

33
tle - Host
4-
5-
uhangi - Host
6-
7-
uristmcdorf - Host
4+
neofite - Host
85

96
mport2004 - Coder
Collapse file

‎data/mode.txt‎

Copy file name to clipboard
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
extended
1+
traitor
Collapse file

‎tgstation.dme‎

Copy file name to clipboardExpand all lines: tgstation.dme
-1Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,6 @@
429429
#include "code\game\mecha\mecha_control_console.dm"
430430
#include "code\game\mecha\mecha_wreckage.dm"
431431
#include "code\game\mecha\combat\combat.dm"
432-
#include "code\game\mecha\combat\durand.dm"
433432
#include "code\game\mecha\combat\gygax.dm"
434433
#include "code\game\mecha\combat\honker.dm"
435434
#include "code\game\mecha\combat\marauder.dm"

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.