Reverts the freezer code and the airlock code.

This commit is contained in:
Ren Erthilo
2012-04-01 23:24:59 +01:00
parent ae57f8db64
commit c3ed6d443d
3 changed files with 468 additions and 369 deletions

View File

@@ -16,272 +16,198 @@
var/forcecrush = 0
var/holdopen = 0
proc/bumpopen(mob/user as mob)
proc/update_nearby_tiles(need_rebuild)
proc/requiresID() return 1
proc/animate(animation)
proc/open()
proc/close()
New()
..()
if(density)
layer = 3.1 //Above most items if closed
else
layer = 2.7 //Under all objects if opened. 2.7 due to tables being at 2.6
update_nearby_tiles(need_rebuild=1)
return
Del()
update_nearby_tiles()
..()
return
Bumped(atom/AM)
if(p_open || operating) return
if(ismob(AM))
var/mob/M = AM
if(world.time - M.last_bumped <= 60) return
if(M.client && !M:handcuffed)
bumpopen(M)
return
if(istype(AM, /obj/machinery/bot))
var/obj/machinery/bot/bot = AM
if(src.check_access(bot.botcard))
if(density)
open()
return
if(istype(AM, /obj/effect/critter))
var/obj/effect/critter/critter = AM
if(critter.opensdoors) return
if(src.check_access_list(critter.access_list))
if(density)
open()
return
if(istype(AM, /obj/mecha))
var/obj/mecha/mecha = AM
/obj/machinery/door/Bumped(atom/AM)
if(p_open || operating) return
if(ismob(AM))
var/mob/M = AM
if(world.time - AM.last_bumped <= 60) return //NOTE do we really need that?
if(M.client && !M:handcuffed)
bumpopen(M)
else if(istype(AM, /obj/machinery/bot))
var/obj/machinery/bot/bot = AM
if(src.check_access(bot.botcard))
if(density)
if(mecha.occupant && (src.allowed(mecha.occupant) || src.check_access_list(mecha.operation_req_access)))
open()
else
flick("door_deny", src)
return
return
CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(air_group) return 0
if(istype(mover) && mover.checkpass(PASSGLASS))
return !opacity
return !density
bumpopen(mob/user as mob)
if(operating) return
src.add_fingerprint(user)
if(!src.requiresID())
user = null
if(allowed(user) && density)
open()
else if(density)
flick("door_deny", src)
return
meteorhit(obj/M as obj)
src.open()
return
attack_ai(mob/user as mob)
return src.attack_hand(user)
attack_paw(mob/user as mob)
return src.attack_hand(user)
attack_hand(mob/user as mob)
return src.attackby(user, user)
attackby(obj/item/I as obj, mob/user as mob)
if(src.operating) return
src.add_fingerprint(user)
if(!src.requiresID())
user = null
if(src.density && (istype(I, /obj/item/weapon/card/emag)||istype(I, /obj/item/weapon/melee/energy/blade)))
flick("door_spark", src)
sleep(6)
open()
operating = -1
return 1
if(src.allowed(user))
if(src.density)
open()
else if(istype(AM, /obj/effect/critter))
var/obj/effect/critter/critter = AM
if(critter.opensdoors) return
if(src.check_access_list(critter.access_list))
if(density)
open()
// else if(istype(AM, /obj/effect/alien/facehugger))
// if(src.check_access(null))
// if(density)
// open()
else if(istype(AM, /obj/mecha))
var/obj/mecha/mecha = AM
if(density)
if(mecha.occupant && (src.allowed(mecha.occupant) || src.check_access_list(mecha.operation_req_access)))
open()
else
close()
return
if(src.density)
flick("door_deny", src)
return
blob_act()
if(prob(40))
del(src)
return
emp_act(severity)
if(prob(20/severity) && (istype(src,/obj/machinery/door/airlock) || istype(src,/obj/machinery/door/window)) )
open()
if(prob(40/severity))
if(secondsElectrified == 0)
secondsElectrified = -1
spawn(300)
secondsElectrified = 0
..()
ex_act(severity)
switch(severity)
if(1.0)
del(src)
if(2.0)
if(prob(25))
del(src)
if(3.0)
if(prob(80))
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(2, 1, src)
s.start()
return
update_icon()
if(density)
icon_state = "door1"
else
icon_state = "door0"
return
animate(animation)
switch(animation)
if("opening")
if(p_open)
flick("o_doorc0", src)
else
flick("doorc0", src)
if("closing")
if(p_open)
flick("o_doorc1", src)
else
flick("doorc1", src)
if("deny")
flick("door_deny", src)
/obj/machinery/door/proc/bumpopen(mob/user as mob)
if (src.operating)
return
//if(world.timeofday-last_used <= 10)
// return
src.add_fingerprint(user)
if (!src.requiresID())
//don't care who they are or what they have, act as if they're NOTHING
user = null
open()
if(!density) return 1
if(operating > 0) return
if(!ticker) return 0
if(!operating) operating = 1
animate("opening")
sleep(10)
src.layer = 2.7
src.density = 0
update_icon()
src.sd_SetOpacity(0)
update_nearby_tiles()
if(operating) operating = 0
if(autoclose)
spawn(150)
autoclose()
return 1
close()
if(density) return 1
if(operating) return
operating = 1
animate("closing")
src.density = 1
src.layer = 3.1
sleep(10)
update_icon()
if(visible && !glass)
src.sd_SetOpacity(1)
operating = 0
update_nearby_tiles()
return
update_nearby_tiles(need_rebuild)
if(!air_master) return 0
var/turf/simulated/source = loc
var/turf/simulated/north = get_step(source,NORTH)
var/turf/simulated/south = get_step(source,SOUTH)
var/turf/simulated/east = get_step(source,EAST)
var/turf/simulated/west = get_step(source,WEST)
if(need_rebuild)
if(istype(source)) //Rebuild/update nearby group geometry
if(source.parent)
air_master.groups_to_rebuild += source.parent
else
air_master.tiles_to_update += source
if(istype(north))
if(north.parent)
air_master.groups_to_rebuild += north.parent
else
air_master.tiles_to_update += north
if(istype(south))
if(south.parent)
air_master.groups_to_rebuild += south.parent
else
air_master.tiles_to_update += south
if(istype(east))
if(east.parent)
air_master.groups_to_rebuild += east.parent
else
air_master.tiles_to_update += east
if(istype(west))
if(west.parent)
air_master.groups_to_rebuild += west.parent
else
air_master.tiles_to_update += west
else
if(istype(source)) air_master.tiles_to_update += source
if(istype(north)) air_master.tiles_to_update += north
if(istype(south)) air_master.tiles_to_update += south
if(istype(east)) air_master.tiles_to_update += east
if(istype(west)) air_master.tiles_to_update += west
return 1
/obj/machinery/door/proc/autoclose()
var/obj/machinery/door/airlock/A = src
if(!A.density && !A.operating && !A.locked && !A.welded)
close()
if (src.allowed(user))
if (src.density)
//last_used = world.timeofday
open()
else if (src.density)
flick("door_deny", src)
return
/*
/obj/machinery/door/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(air_group) return 0
if(istype(mover) && mover.checkpass(PASSGLASS))
return !opacity
return !density
/obj/machinery/door/proc/update_nearby_tiles(need_rebuild)
if(!air_master) return 0
var/turf/simulated/source = loc
var/turf/simulated/north = get_step(source,NORTH)
var/turf/simulated/south = get_step(source,SOUTH)
var/turf/simulated/east = get_step(source,EAST)
var/turf/simulated/west = get_step(source,WEST)
if(need_rebuild)
if(istype(source)) //Rebuild/update nearby group geometry
if(source.parent)
air_master.groups_to_rebuild += source.parent
else
air_master.tiles_to_update += source
if(istype(north))
if(north.parent)
air_master.groups_to_rebuild += north.parent
else
air_master.tiles_to_update += north
if(istype(south))
if(south.parent)
air_master.groups_to_rebuild += south.parent
else
air_master.tiles_to_update += south
if(istype(east))
if(east.parent)
air_master.groups_to_rebuild += east.parent
else
air_master.tiles_to_update += east
if(istype(west))
if(west.parent)
air_master.groups_to_rebuild += west.parent
else
air_master.tiles_to_update += west
else
if(istype(source)) air_master.tiles_to_update += source
if(istype(north)) air_master.tiles_to_update += north
if(istype(south)) air_master.tiles_to_update += south
if(istype(east)) air_master.tiles_to_update += east
if(istype(west)) air_master.tiles_to_update += west
return 1
/obj/machinery/door/New()
..()
if(density)
layer = 3.1 //Above most items if closed
else
layer = 2.7 //Under all objects if opened. 2.7 due to tables being at 2.6
update_nearby_tiles(need_rebuild=1)
/obj/machinery/door/Del()
update_nearby_tiles()
..()
/obj/machinery/door/meteorhit(obj/M as obj)
src.open()
return
/obj/machinery/door/attack_ai(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/door/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/door/attack_hand(mob/user as mob)
return src.attackby(user, user)
/obj/machinery/door/proc/requiresID()
return 1
/obj/machinery/door/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I, /obj/item/device/detective_scanner))
return ..()
if (src.operating || isrobot(user))
return
src.add_fingerprint(user)
if (!src.requiresID())
//don't care who they are or what they have, act as if they're NOTHING
user = null
if (src.density && (istype(I, /obj/item/weapon/card/emag) ||istype(I, /obj/item/weapon/melee/energy/blade)))
if(istype(I, /obj/item/weapon/card/emag))
var/obj/item/weapon/card/emag/E = I
if(E.uses)
E.uses--
else
return
src.operating = -1
if(istype(I, /obj/item/weapon/melee/energy/blade))
if(istype(src, /obj/machinery/door/airlock))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src.loc, 'blade1.ogg', 50, 1)
playsound(src.loc, "sparks", 50, 1)
for(var/mob/O in viewers(user, 3))
O.show_message(text("\blue The door has been sliced open by [] with an energy blade!", user), 1, text("\red You hear metal being sliced and sparks flying."), 2)
if((!src:arePowerSystemsOn()) || (stat & NOPOWER) || src:isWireCut(AIRLOCK_WIRE_DOOR_BOLTS))
var/obj/structure/door_assembly/temp
var/failsafe=0
switch(src:doortype)
if(0) temp=new/obj/structure/door_assembly/door_assembly_0(src.loc)
if(1) temp=new/obj/structure/door_assembly/door_assembly_com(src.loc)
if(2) temp=new/obj/structure/door_assembly/door_assembly_sec(src.loc)
if(3) temp=new/obj/structure/door_assembly/door_assembly_eng(src.loc)
if(4) temp=new/obj/structure/door_assembly/door_assembly_med(src.loc)
if(5) temp=new/obj/structure/door_assembly/door_assembly_mai(src.loc)
if(6) temp=new/obj/structure/door_assembly/door_assembly_ext(src.loc)
if(7) temp=new/obj/structure/door_assembly/door_assembly_g(src.loc)
else failsafe=1
if(!failsafe)
temp.anchored=0
step_away(temp,usr,15)
else del(temp)
del(src)
return
else
src:welded = 0
src:locked = 0
update_icon()
flick("door_spark", src)
sleep(6)
open()
return 1
if (src.allowed(user))
if (src.density)
open()
else
close()
else if (src.density)
flick("door_deny", src)
return
/obj/machinery/door/airlock/proc/ion_act()
if(src.z == 1 && src.density)
if(length(req_access) > 0 && !(12 in req_access))
@@ -308,4 +234,211 @@
else
close()
return
*/
/obj/machinery/door/blob_act()
if(prob(40))
del(src)
/obj/machinery/door/emp_act(severity)
if(prob(20/severity) && (istype(src,/obj/machinery/door/airlock) || istype(src,/obj/machinery/door/window)) )
open()
if(prob(40/severity))
if(secondsElectrified == 0)
secondsElectrified = -1
spawn(300)
secondsElectrified = 0
..()
/obj/machinery/door/ex_act(severity)
switch(severity)
if(1.0)
del(src)
if(2.0)
if(prob(25))
del(src)
if(3.0)
if(prob(80))
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(2, 1, src)
s.start()
/obj/machinery/door/update_icon()
if(density)
icon_state = "door1"
else
icon_state = "door0"
return
/obj/machinery/door/proc/animate(animation)
switch(animation)
if("opening")
if(p_open)
flick("o_doorc0", src)
else
flick("doorc0", src)
if("closing")
if(p_open)
flick("o_doorc1", src)
else
flick("doorc1", src)
if("deny")
flick("door_deny", src)
return
/obj/machinery/door/proc/open()
if(!density)
return 1
if (src.operating == 1) //doors can still open when emag-disabled
return
if (!ticker)
return 0
if(!src.operating) //in case of emag
src.operating = 1
animate("opening")
sleep(10)
src.layer = 2.7
src.density = 0
update_icon()
src.sd_SetOpacity(0)
update_nearby_tiles()
if(operating == 1) //emag again
src.operating = 0
if(autoclose)
spawn(150)
autoclose()
return 1
/obj/machinery/door/proc/close()
if(density)
return 1
if (src.operating)
return
src.operating = 1
var/X = src:x
var/Y = src:y
var/Z = src:z
var/held = 1
if(src.holdopen && !forcecrush)
while(held == 1 && holdopen && !forcecrush) //If it is no longer hold open, it should close.
sleep(held? 10:40)
held = 0
var/list/objects = locate(X,Y,Z)
for(var/obj/T in objects)
if(!istype(T,/obj/machinery/door) && !(istype(T,/obj/machinery) && T.anchored == 1) && !istype(T,/obj/structure/cable) && !istype(T,/obj/structure/disposalpipe) && !(T.loc == get_turf(src)))
held = 1
for(var/mob/living/T in objects) //Geez, ghosts were OP.
held = 1
animate("closing")
src.density = 1
spawn(4)
if(!istype(src, /obj/machinery/door/window))
for(var/mob/living/L in src.loc) // Crush mobs and move them out of the way
if(src.forcecrush) // Save an AI, crush a limb
var/limbname = pick("l_arm", "r_arm", "l_hand","r_hand", "l_foot", "r_foot")
var/limbdisplay
for(var/organ in L:organs)
var/datum/organ/external/temp = L:organs["[organ]"]
if (istype(temp, /datum/organ/external) && temp.name == limbname)
limbdisplay = temp.display_name // Take the name for down below
temp.take_damage(rand(50,80), 0) //OH GOD IT HURTS
break
L << "\red The airlock crushes your [limbdisplay]!"
for(var/mob/O in viewers(L, null))
if(O == L)
continue
O.show_message("\red The airlock crushes [L.name]'s [limbdisplay]!", 1)
sleep(rand(2,8))
L << "\red The airlock forces you out of the way!" //Lucky you
for(var/mob/O in viewers(L, null))
O.show_message("\red The airlock pushes [L.name] out of the way!", 1)
var/list/lst = list(NORTH,SOUTH,EAST,WEST)
var/turf/T = get_random_turf(L, lst)
if(T)
L.loc = T
if(!src.forcecrush)
for(var/obj/item/I in src.loc) // Move items out of the way
if(!I.anchored)
var/list/lst = list(NORTH,SOUTH,EAST,WEST)
var/turf/T = get_random_turf(I, lst)
if(T)
I.loc = T
sleep(6)
update_icon()
if(src.visible && (!src.glass))
src.sd_SetOpacity(1)
if(operating == 1)
operating = 0
update_nearby_tiles()
/obj/machinery/door/proc/autoclose()
var/obj/machinery/door/airlock/A = src
if ((!A.density) && !( A.operating ) && !(A.locked) && !( A.welded ))
close()
else return
/////////////////////////////////////////////////// Unpowered doors
/obj/machinery/door/unpowered/Bumped(atom/AM)
if(p_open || operating) return
if (src.locked)
return
if(ismob(AM))
var/mob/M = AM
if(world.time - AM.last_bumped <= 60) return
if(M.client && !M:handcuffed)
bumpopen(M)
else if(istype(AM, /obj/machinery/bot))
var/obj/machinery/bot/bot = AM
if(src.check_access(bot.botcard))
if(density)
open()
// else if(istype(AM, /obj/effect/alien/facehugger))
// if(src.check_access(null))
// if(density)
// open()
/obj/machinery/door/unpowered
autoclose = 0
var/locked = 0
/obj/machinery/door/unpowered/attack_ai(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/door/unpowered/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/door/unpowered/attack_hand(mob/user as mob)
return src.attackby(null, user)
/obj/machinery/door/unpowered/attackby(obj/item/I as obj, mob/user as mob)
if (src.operating)
return
if (src.locked)
return
src.add_fingerprint(user)
if (src.allowed(user))
if (src.density)
open()
else
close()
return
/obj/machinery/door/unpowered/shuttle
icon = 'shuttle.dmi'
name = "door"
icon_state = "door1"
opacity = 1
density = 1

View File

@@ -1,6 +1,5 @@
/obj/machinery/door/unpowered
autoclose = 0
var/locked = 0
Bumped(atom/AM)

View File

@@ -1,114 +1,81 @@
/obj/structure/closet/secure_closet/freezer
var
target_temp = T0C - 40
cooling_power = 40
return_air()
var/datum/gas_mixture/gas = (..())
if(!gas) return null
var/datum/gas_mixture/newgas = new/datum/gas_mixture()
newgas.oxygen = gas.oxygen
newgas.carbon_dioxide = gas.carbon_dioxide
newgas.nitrogen = gas.nitrogen
newgas.toxins = gas.toxins
newgas.volume = gas.volume
newgas.temperature = gas.temperature
if(newgas.temperature <= target_temp) return
if((newgas.temperature - cooling_power) > target_temp)
newgas.temperature -= cooling_power
else
newgas.temperature = target_temp
return newgas
/obj/structure/closet/secure_closet/freezer/kitchen
name = "Kitchen Cabinet"
req_access = list(access_kitchen)
New()
..()
sleep(2)
for(var/i = 0, i < 16, i++)
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/condiment/sugar(src)
return
/obj/structure/closet/secure_closet/freezer/kitchen/mining
req_access = list()
/obj/structure/closet/secure_closet/freezer/meat
name = "Meat Fridge"
icon_state = "fridge1"
icon_closed = "fridge"
icon_locked = "fridge1"
icon_opened = "fridgeopen"
icon_broken = "fridgebroken"
icon_off = "fridge1"
New()
..()
sleep(2)
for(var/i = 0, i < 4, i++)
new /obj/item/weapon/reagent_containers/food/snacks/meat/monkey(src)
return
/obj/structure/closet/secure_closet/freezer/fridge
name = "Refrigerator"
icon_state = "fridge1"
icon_closed = "fridge"
icon_locked = "fridge1"
icon_opened = "fridgeopen"
icon_broken = "fridgebroken"
icon_off = "fridge1"
New()
..()
sleep(2)
for(var/i = 0, i < 5, i++)
new /obj/item/weapon/reagent_containers/food/drinks/milk(src)
for(var/i = 0, i < 5, i++)
new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src)
for(var/i = 0, i < 2, i++)
new /obj/item/kitchen/egg_box(src)
return
/obj/structure/closet/secure_closet/freezer/money
name = "Freezer"
icon_state = "fridge1"
icon_closed = "fridge"
icon_locked = "fridge1"
icon_opened = "fridgeopen"
icon_broken = "fridgebroken"
icon_off = "fridge1"
req_access = list(access_heads_vault)
New()
..()
sleep(2)
for(var/i = 0, i < 3, i++)
new /obj/item/weapon/spacecash/c1000(src)
for(var/i = 0, i < 5, i++)
new /obj/item/weapon/spacecash/c500(src)
for(var/i = 0, i < 6, i++)
new /obj/item/weapon/spacecash/c200(src)
return
/obj/structure/closet/secure_closet/kitchen/New()
..()
sleep(2)
/*new /obj/item/clothing/head/chefhat(src)
new /obj/item/clothing/head/chefhat(src)
new /obj/item/clothing/under/rank/chef(src)
new /obj/item/clothing/under/rank/chef(src)*/
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/snacks/flour(src)
new /obj/item/weapon/reagent_containers/food/condiment/sugar(src)
/*new /obj/item/weapon/tray(src)
new /obj/item/weapon/tray(src)
new /obj/item/weapon/tray(src)
new /obj/item/weapon/tray(src)
new /obj/item/weapon/tray(src)
new /obj/item/weapon/tray(src)
new /obj/item/weapon/kitchenknife(src)*/
/*new /obj/item/clothing/head/chefhat(src)
new /obj/item/clothing/head/chefhat(src)
new /obj/item/clothing/under/rank/chef(src)
new /obj/item/clothing/under/rank/chef(src)
new /obj/item/weapon/kitchen/utensil/fork(src)
new /obj/item/weapon/kitchen/utensil/knife(src)
new /obj/item/weapon/kitchen/utensil/spoon(src)
new /obj/item/weapon/kitchen/rollingpin(src)*/
/obj/structure/closet/secure_closet/meat/New()
..()
sleep(2)
new /obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/monkey(src)
new /obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/monkey(src)
new /obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/monkey(src)
new /obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/monkey(src)
/obj/structure/closet/secure_closet/fridge/New()
..()
sleep(2)
new /obj/item/weapon/reagent_containers/food/drinks/milk(src)
new /obj/item/weapon/reagent_containers/food/drinks/milk(src)
new /obj/item/weapon/reagent_containers/food/drinks/milk(src)
new /obj/item/weapon/reagent_containers/food/drinks/milk(src)
new /obj/item/weapon/reagent_containers/food/drinks/milk(src)
new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src)
new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src)
new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src)
new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src)
new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src)
new /obj/item/kitchen/egg_box(src)
new /obj/item/kitchen/egg_box(src)
/obj/structure/closet/secure_closet/money_freezer/New()
..()
sleep(2)
new /obj/item/weapon/spacecash/c1000(src)
new /obj/item/weapon/spacecash/c1000(src)
new /obj/item/weapon/spacecash/c1000(src)
new /obj/item/weapon/spacecash/c500(src)
new /obj/item/weapon/spacecash/c500(src)
new /obj/item/weapon/spacecash/c500(src)
new /obj/item/weapon/spacecash/c500(src)
new /obj/item/weapon/spacecash/c500(src)
new /obj/item/weapon/spacecash/c200(src)
new /obj/item/weapon/spacecash/c200(src)
new /obj/item/weapon/spacecash/c200(src)
new /obj/item/weapon/spacecash/c200(src)
new /obj/item/weapon/spacecash/c200(src)