Broborg and Service borg are fused into one robust little critter.

Broborgs commented out.
Service borgs lose paper and spacecash wad.

Service borg gets an RSF. Rapid service fabricator, with three setting that work on simulated (normal) floors and tables:
1. Creates a wad of 10 Credits (because humans like dosh). Drains 200 each use.
2. Creates a drinking glass (to fill beer into). Drains 50 energy each use.
3. Creates a Piece of paper (for writing). Drains 10 energy each use.

The malfunction lockers use new, robust (read as slightly nerfed), 2001 a Spess Odyssey spess suits. (Due to voting results)

No 2001 jetpacks though, as they don't have item states.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1369 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
tronaldnwn@hotmail.com
2011-04-04 20:10:34 +00:00
parent 184ff2e4a9
commit fa416ce777
6 changed files with 127 additions and 12 deletions

View File

@@ -0,0 +1,83 @@
/*
CONTAINS:
RSF
*/
/obj/item/weapon/rsf/New()
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
return
/obj/item/weapon/rsf/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if (istype(W, /obj/item/weapon/rcd_ammo))
if ((matter + 10) > 30)
user << "The RSF cant hold any more matter."
return
del(W)
matter += 10
playsound(src.loc, 'click.ogg', 10, 1)
user << "The RSF now holds [matter]/30 fabrication-units."
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
return
/obj/item/weapon/rsf/attack_self(mob/user as mob)
playsound(src.loc, 'pop.ogg', 50, 0)
if (mode == 1)
mode = 2
user << "Changed dispensing mode to 'Drinking Glass'"
return
if (mode == 2)
mode = 3
user << "Changed dispensing mode to 'Paper'"
return
if (mode == 3)
mode = 1
user << "Changed dispensing mode to 'Dosh'"
return
// Change mode
/obj/item/weapon/rsf/afterattack(atom/A, mob/user as mob)
if (!(istype(A, /obj/table) || istype(A, /turf/simulated/floor)))
return
if (((istype(A, /obj/table) || istype(A, /turf/simulated/floor))) && mode == 1)
if (((istype(A, /obj/table) || istype(A, /turf/simulated/floor))) && matter >= 1)
user << "Dispensing Dosh..."
playsound(src.loc, 'click.ogg', 10, 1)
new /obj/item/weapon/spacecash/c10( A.loc )
if (isrobot(user))
var/mob/living/silicon/robot/engy = user
engy.cell.charge -= 200 //once money becomes useful, I guess changing this to a high ammount, like 500 units a kick, till then, enjoy dosh!
else
matter--
user << "The RSF now holds [matter]/30 fabrication-units."
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
return
else if (((istype(A, /obj/table) || istype(A, /turf/simulated/floor))) && mode == 2)
if (((istype(A, /obj/table) || istype(A, /turf/simulated/floor))) && matter >= 1)
user << "Dispensing Drinking Glass..."
playsound(src.loc, 'click.ogg', 10, 1)
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass( A.loc )
if (isrobot(user))
var/mob/living/silicon/robot/engy = user
engy.cell.charge -= 50
else
matter--
user << "The RSF now holds [matter]/30 fabrication-units."
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
return
else if (((istype(A, /obj/table) || istype(A, /turf/simulated/floor))) && mode == 3)
if (((istype(A, /obj/table) || istype(A, /turf/simulated/floor))) && matter >= 1)
user << "Dispensing Paper Sheet..."
playsound(src.loc, 'click.ogg', 10, 1)
new /obj/item/weapon/paper( A.loc )
if (isrobot(user))
var/mob/living/silicon/robot/engy = user
engy.cell.charge -= 10
else
matter--
user << "The RSF now holds [matter]/30 fabrication-units."
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
return