mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-09 14:15:22 +01:00
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:
@@ -194,6 +194,11 @@ Airlock index -> wire color are { 9, 4, 6, 7, 5, 8, 1, 2, 3 }.
|
||||
icon = 'Dooratmo.dmi'
|
||||
doortype = 19
|
||||
|
||||
/obj/machinery/door/airlock/research
|
||||
name = "Airlock"
|
||||
icon = 'Doorresearch.dmi'
|
||||
doortype = 20
|
||||
|
||||
/*
|
||||
About the new airlock wires panel:
|
||||
* An airlock wire dialog can be accessed by the normal way or by using wirecutters or a multitool on the door while the wire-panel is open. This would show the following wires, which you can either wirecut/mend or send a multitool pulse through. There are 9 wires.
|
||||
|
||||
@@ -87,6 +87,15 @@ obj/structure/door_assembly
|
||||
state = 1
|
||||
glass = 0
|
||||
|
||||
door_assembly_research
|
||||
name = "Research Airlock Assembly"
|
||||
icon_state = "door_as_res1"
|
||||
airlock_type = /obj/machinery/door/airlock/research
|
||||
anchored = 1
|
||||
density = 1
|
||||
state = 1
|
||||
glass = 0
|
||||
|
||||
door_assembly_med
|
||||
name = "Medical Airlock Assembly"
|
||||
icon_state = "door_as_med1"
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
/obj/item/weapon/cleaner
|
||||
desc = "Space Cleaner!"
|
||||
icon = 'janitor.dmi'
|
||||
@@ -11,18 +10,15 @@
|
||||
throw_speed = 2
|
||||
throw_range = 10
|
||||
|
||||
|
||||
/obj/item/weapon/cleaner/New()
|
||||
var/datum/reagents/R = new/datum/reagents(250)
|
||||
reagents = R
|
||||
R.my_atom = src
|
||||
R.add_reagent("cleaner", 250)
|
||||
|
||||
|
||||
/obj/item/weapon/cleaner/attack(mob/living/carbon/human/M as mob, mob/user as mob)
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/cleaner/afterattack(atom/A as mob|obj, mob/user as mob)
|
||||
if (istype(A, /obj/item/weapon/storage ))
|
||||
return
|
||||
@@ -89,7 +85,6 @@
|
||||
log_game("[key_name(user)] fired Space lube from a Cleaner bottle.")
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/cleaner/examine()
|
||||
set src in usr
|
||||
for(var/datum/reagent/R in reagents.reagent_list)
|
||||
@@ -113,18 +108,14 @@
|
||||
throw_range = 10
|
||||
origin_tech = "combat=3;materials=3;engineering=3"
|
||||
|
||||
|
||||
/obj/item/weapon/chemsprayer/New()
|
||||
var/datum/reagents/R = new/datum/reagents(1000)
|
||||
var/datum/reagents/R = new/datum/reagents(600)
|
||||
reagents = R
|
||||
R.my_atom = src
|
||||
R.add_reagent("cleaner", 10)
|
||||
|
||||
|
||||
/obj/item/weapon/chemsprayer/attack(mob/living/carbon/human/M as mob, mob/user as mob)
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/chemsprayer/afterattack(atom/A as mob|obj, mob/user as mob)
|
||||
if (istype(A, /obj/item/weapon/storage ))
|
||||
return
|
||||
@@ -207,7 +198,7 @@
|
||||
|
||||
//A direct copy paste of the cleaner, fantastic.
|
||||
/obj/item/weapon/pepperspray
|
||||
desc = "Manufactred by UhangInc., used to blind and down an opponent quickly. It has three spray settings, and is currently set to 'low'."
|
||||
desc = "Manufactured by UhangInc., used to blind and down an opponent quickly. It has three spray settings, and is currently set to 'low'."
|
||||
icon = 'weapons.dmi'
|
||||
name = "pepperspray"
|
||||
icon_state = "pepperspray"
|
||||
@@ -234,14 +225,14 @@
|
||||
switch ( src.setting )
|
||||
if (2)
|
||||
user << "You change the spray to 'medium'."
|
||||
src.desc = "Manufactred by UhangInc., used to blind and down an opponent quickly. It has three spray settings, and is currently set to 'medium'."
|
||||
src.desc = "Manufactured by UhangInc., used to blind and down an opponent quickly. It has three spray settings, and is currently set to 'medium'."
|
||||
if (3)
|
||||
user << "You change the spray to 'high'."
|
||||
src.desc = "Manufactred by UhangInc., used to blind and down an opponent quickly. It has three spray settings, and is currently set to 'high'."
|
||||
src.desc = "Manufactured by UhangInc., used to blind and down an opponent quickly. It has three spray settings, and is currently set to 'high'."
|
||||
if (4)
|
||||
src.setting = 1
|
||||
user << "You change the spray to 'low'."
|
||||
src.desc = "Manufactred by UhangInc., used to blind and down an opponent quickly. It has three spray settings, and is currently set to 'low'."
|
||||
src.desc = "Manufactured by UhangInc., used to blind and down an opponent quickly. It has three spray settings, and is currently set to 'low'."
|
||||
return
|
||||
|
||||
/obj/item/weapon/pepperspray/afterattack(atom/A as mob|obj, mob/user as mob)
|
||||
@@ -333,7 +324,7 @@
|
||||
|
||||
/obj/item/weapon/pepperspray/examine()
|
||||
set src in usr
|
||||
usr << text("\icon[] [] units of spray left!", src, src.reagents.total_volume)
|
||||
usr << "\icon[src] [src.reagents.total_volume] units of spray left!"
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user