Fixed projectiles going into disposals.

Made the rapid syringe gun a subtype of the syringe gun, and reduced it's capacity to four syringes.
Fixed the examine bug on syringe guns.
Added a new sprite for the regular syringe gun.

Added a new door for research. It's also used in robotics.

Updated the air injector sprite.

Fixed some pepperspray spelling errors.

~~REMOVED~~: the energy crossbow and chemsprayer from R&D.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3138 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
petethegoat@gmail.com
2012-02-17 15:22:42 +00:00
parent 935c0d67f0
commit f41b5cbabb
12 changed files with 440 additions and 972 deletions

View File

@@ -487,6 +487,7 @@
/obj/item/weapon/gun/syringe
name = "syringe gun"
desc = "A spring loaded rifle designed to fit syringes, designed to incapacitate unruly patients from a distance."
icon = 'gun.dmi'
icon_state = "syringegun"
item_state = "syringegun"
@@ -502,8 +503,7 @@
set src in view()
..()
if (!(usr in view(2)) && usr!=src.loc) return
usr << "\icon [src] Syringe gun:"
usr << "\blue [syringes] / [max_syringes] Syringes."
usr << "\blue [syringes.len] / [max_syringes] syringes."
attackby(obj/item/I as obj, mob/user as mob)
wrap(I, user)
@@ -512,10 +512,10 @@
user.drop_item()
I.loc = src
syringes += I
user << "\blue You put the syringe in the syringe gun."
user << "\blue [syringes.len] / [max_syringes] Syringes."
user << "\blue You put the syringe in [src]."
user << "\blue [syringes.len] / [max_syringes] syringes."
else
usr << "\red The syringe gun cannot hold more syringes."
usr << "\red [src] cannot hold more syringes."
afterattack(obj/target, mob/user , flag)
if(!isturf(target.loc) || target == user) return
@@ -523,7 +523,7 @@
if(syringes.len)
spawn(0) fire_syringe(target,user)
else
usr << "\red The syringe gun is empty."
usr << "\red [src] is empty."
proc
fire_syringe(atom/target, mob/user)
@@ -565,85 +565,11 @@
return
/obj/item/weapon/gun/rapidsyringe
/obj/item/weapon/gun/syringe/rapidsyringe
name = "rapid syringe gun"
icon = 'gun.dmi'
icon_state = "syringegun"
item_state = "syringegun"
w_class = 3.0
throw_speed = 4
throw_range = 10
force = 8.0
var/list/syringes = new/list()
var/max_syringes = 40
examine()
set src in view()
..()
if (!(usr in view(2)) && usr!=src.loc) return
usr << "\icon [src] Rapid Syringe gun:"
usr << "\blue [syringes] / [max_syringes] Syringes."
attackby(obj/item/I as obj, mob/user as mob)
wrap(I, user)
if(istype(I, /obj/item/weapon/reagent_containers/syringe))
if(syringes.len < max_syringes)
user.drop_item()
I.loc = src
syringes += I
user << "\blue You put the syringe in the rapid syringe gun."
user << "\blue [syringes.len] / [max_syringes] Syringes."
else
usr << "\red The rapid syringe gun cannot hold more syringes."
afterattack(obj/target, mob/user , flag)
if(!isturf(target.loc) || target == user) return
if(syringes.len)
spawn(0) fire_syringe(target,user)
else
usr << "\red rapid The syringe gun is empty."
proc
fire_syringe(atom/target, mob/user)
if (locate (/obj/structure/table, src.loc))
return
else
var/turf/trg = get_turf(target)
var/obj/effect/syringe_gun_dummy/D = new/obj/effect/syringe_gun_dummy(get_turf(src))
var/obj/item/weapon/reagent_containers/syringe/S = syringes[1]
S.reagents.trans_to(D, S.reagents.total_volume)
syringes -= S
del(S)
D.icon_state = "syringeproj"
D.name = "syringe"
playsound(user.loc, 'syringeproj.ogg', 50, 1)
for(var/i=0, i<6, i++)
if(!D) break
if(D.loc == trg) break
step_towards(D,trg)
for(var/mob/living/carbon/M in D.loc)
if(!istype(M,/mob/living/carbon)) continue
if(M == user) continue
D.reagents.trans_to(M, 15)
M.take_organ_damage(5)
for(var/mob/O in viewers(world.view, D))
O.show_message(text("\red [] was hit by the syringe!", M), 1)
del(D)
if(D)
for(var/atom/A in D.loc)
if(A == user) continue
if(A.density) del(D)
sleep(1)
if (D) spawn(10) del(D)
return
desc = "A modification of the syringe gun design, using a rotating cylinder to store up to four syringes."
icon_state = "rapidsyringegun"
max_syringes = 4
/obj/structure/reagent_dispensers
name = "Dispenser"

View File

@@ -387,7 +387,7 @@
CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if (istype(mover,/obj/item))
var/obj/item/I = mover
if(istype(I, /obj/item/weapon/dummy))
if(istype(I, /obj/item/weapon/dummy) || istype(I, /obj/item/projectile))
return
if(prob(75))
I.loc = src

View File

@@ -1268,7 +1268,7 @@ datum
materials = list("$gold" = 5000,"$uranium" = 10000, "mutagen" = 40)
build_path = "/obj/item/weapon/gun/energy/decloner"
locked = 1
/*
chemsprayer
name = "Chem Sprayer"
desc = "An advanced chem spraying device."
@@ -1278,7 +1278,7 @@ datum
materials = list("$metal" = 5000, "$glass" = 1000)
reliability_base = 100
build_path = "/obj/item/weapon/chemsprayer"
*/
rapidsyringe
name = "Rapid Syringe Gun"
desc = "A gun that fires many syringes."
@@ -1286,8 +1286,8 @@ datum
req_tech = list("combat" = 3, "materials" = 3, "engineering" = 3, "biotech" = 2)
build_type = PROTOLATHE
materials = list("$metal" = 5000, "$glass" = 1000)
build_path = "/obj/item/weapon/gun/rapidsyringe"
build_path = "/obj/item/weapon/gun/syringe/rapidsyringe"
/*
largecrossbow
name = "Energy Crossbow"
desc = "A weapon favoured by syndicate infiltration teams."
@@ -1296,7 +1296,7 @@ datum
build_type = PROTOLATHE
materials = list("$metal" = 5000, "$glass" = 1000, "$uranium" = 1000, "$silver" = 1000)
build_path = "/obj/item/weapon/gun/energy/crossbow/largecrossbow"
*/
temp_gun
name = "Temperature Gun"
desc = "A gun that shoots temperature bullet energythings to change temperature."//Change it if you want