Merge branch 'dev' into ofDryingAndRacks

This commit is contained in:
Kelenius
2015-02-03 20:51:27 +03:00
119 changed files with 991 additions and 674 deletions

View File

@@ -427,7 +427,7 @@ datum
holder.remove_reagent(src.id, 0.25 * REAGENTS_METABOLISM)
return
/* silicate
silicate
name = "Silicate"
id = "silicate"
description = "A compound that can be used to reinforce glass."
@@ -437,31 +437,9 @@ datum
reaction_obj(var/obj/O, var/volume)
src = null
if(istype(O,/obj/structure/window))
if(O:silicate <= 200)
O:silicate += volume
O:health += volume * 3
if(!O:silicateIcon)
var/icon/I = icon(O.icon,O.icon_state,O.dir)
var/r = (volume / 100) + 1
var/g = (volume / 70) + 1
var/b = (volume / 50) + 1
I.SetIntensity(r,g,b)
O.icon = I
O:silicateIcon = I
else
var/icon/I = O:silicateIcon
var/r = (volume / 100) + 1
var/g = (volume / 70) + 1
var/b = (volume / 50) + 1
I.SetIntensity(r,g,b)
O.icon = I
O:silicateIcon = I
return*/
var/obj/structure/window/W = O
W.apply_silicate(volume)
return
oxygen
name = "Oxygen"

View File

@@ -55,14 +55,14 @@ datum
empulse(location, round(created_volume / 24), round(created_volume / 14), 1)
holder.clear_reagents()
return
/*
silicate
name = "Silicate"
id = "silicate"
result = "silicate"
required_reagents = list("aluminum" = 1, "silicon" = 1, "oxygen" = 1)
result_amount = 3
*/
stoxin
name = "Soporific"
id = "stoxin"

View File

@@ -21,7 +21,7 @@
..()
src.verbs -= /obj/item/weapon/reagent_containers/verb/set_APTFT
/obj/item/weapon/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user as mob)
/obj/item/weapon/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user as mob, proximity)
if(istype(A, /obj/item/weapon/storage) || istype(A, /obj/structure/table) || istype(A, /obj/structure/closet) \
|| istype(A, /obj/item/weapon/reagent_containers) || istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart))
return
@@ -46,7 +46,7 @@
user << "<span class='notice'>\The [src] is empty!</span>"
return
Spray_at(A)
Spray_at(A, user, proximity)
playsound(src.loc, 'sound/effects/spray2.ogg', 50, 1, -6)
@@ -61,28 +61,39 @@
log_game("[key_name(user)] fired Space lube from \a [src].")
return
/obj/item/weapon/reagent_containers/spray/proc/Spray_at(atom/A as mob|obj)
var/obj/effect/decal/chempuff/D = new/obj/effect/decal/chempuff(get_turf(src))
D.create_reagents(amount_per_transfer_from_this)
reagents.trans_to(D, amount_per_transfer_from_this, 1/spray_size)
D.icon += mix_color_from_reagents(D.reagents.reagent_list)
/obj/item/weapon/reagent_containers/spray/proc/Spray_at(atom/A as mob|obj, mob/user as mob, proximity)
if (A.density && proximity)
A.visible_message("[usr] sprays [A] with [src].")
var/obj/D = new/obj()
D.create_reagents(amount_per_transfer_from_this)
reagents.trans_to(D, amount_per_transfer_from_this)
D.icon += mix_color_from_reagents(D.reagents.reagent_list)
spawn(0)
D.reagents.reaction(A)
sleep(5)
del(D)
else
var/obj/effect/decal/chempuff/D = new/obj/effect/decal/chempuff(get_turf(src))
D.create_reagents(amount_per_transfer_from_this)
reagents.trans_to(D, amount_per_transfer_from_this, 1/spray_size)
D.icon += mix_color_from_reagents(D.reagents.reagent_list)
var/turf/A_turf = get_turf(A)//BS12
var/turf/A_turf = get_turf(A)//BS12
spawn(0)
for(var/i=0, i<spray_size, i++)
step_towards(D,A)
D.reagents.reaction(get_turf(D))
for(var/atom/T in get_turf(D))
D.reagents.reaction(T)
spawn(0)
for(var/i=0, i<spray_size, i++)
step_towards(D,A)
D.reagents.reaction(get_turf(D))
for(var/atom/T in get_turf(D))
D.reagents.reaction(T)
// When spraying against the wall, also react with the wall, but
// not its contents. BS12
if(get_dist(D, A_turf) == 1 && A_turf.density)
D.reagents.reaction(A_turf)
sleep(2)
sleep(3)
del(D)
// When spraying against the wall, also react with the wall, but
// not its contents. BS12
if(get_dist(D, A_turf) == 1 && A_turf.density)
D.reagents.reaction(A_turf)
sleep(2)
sleep(3)
del(D)
return