//NOTE: //This file contains the worst code ive ever written. //I dont fucking care. It looks pretty awesome. ////////////////////////////////////////////////////////// /obj/effect/dummy/liquid name = "water" icon = 'effects.dmi' icon_state = "nothing" invisibility = 101 var/canmove = 1 density = 0 anchored = 1 /obj/item/weapon/vial name = "glass vial" icon = 'chemical.dmi' desc = "a glass vial filled with a strange liquid" icon_state = "vialgreen" item_state = "vialgreen" throwforce = 3.0 throw_speed = 1 throw_range = 8 force = 3.0 w_class = 1.0 /obj/item/weapon/vial/green name = "glass vial" icon = 'chemical.dmi' desc = "a glass vial filled with a strange green liquid" icon_state = "vialgreen" item_state = "vialgreen" /obj/item/weapon/vial/blue name = "glass vial" icon = 'chemical.dmi' desc = "a glass vial filled with a shimmering blue liquid" icon_state = "vialblue" item_state = "vialblue" ////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////*** /obj/item/weapon/vial/attack(target as mob, mob/user as mob) if(target == user) return attack_self(user) user << "\blue The vial shatters." src.shatter() /obj/item/weapon/vial/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() user << "\blue The vial shatters." src.shatter() /obj/item/weapon/vial/attack_self(mob/user as mob) user << "\blue You uncork the vial and drink the liquid." src.drink(user) /obj/item/weapon/vial/proc/shatter() return /obj/item/weapon/vial/proc/drink(user) return ///////////////////////////////////////////////////////*** /////////////////////////////////////////////////////green /obj/item/weapon/vial/green/drink(mob/living/user as mob) var/A = src src = null del(A) switch(pick(1,2,3)) if(1) spawn(300) user.gib() if(2) user.Weaken(5) user.contract_disease(new /datum/disease/gbs,1) if(3) spawn(200) user.contract_disease(new /datum/disease/gbs,1) /obj/item/weapon/vial/green/shatter() var/A = src var/atom/sourceloc = get_turf(src.loc) src = null del(A) var/obj/effect/overlay/O = new /obj/effect/overlay( sourceloc ) var/obj/effect/overlay/O2 = new /obj/effect/overlay( sourceloc ) O.name = "green liquid" O.density = 0 O.anchored = 1 O.icon = 'effects.dmi' O.icon_state = "greenshatter" O2.name = "broken bits of glass" O2.density = 0 O2.anchored = 1 O2.icon = 'objects.dmi' O2.icon_state = "shards" for(var/mob/living/carbon/human/H in view(5, sourceloc)) H.contract_disease(new /datum/disease/gbs,1) var/i for(i=0, i<5, i++) for(var/mob/living/carbon/human/H in view(5, sourceloc)) H.contract_disease(new /datum/disease/gbs,1) sleep(20) flick("greenshatter2",O) O.icon_state = "nothing" sleep(5) del(O) /////////////////////////////////////////////////////green /////////////////////////////////////////////////////blue /obj/item/weapon/vial/blue/drink(user) var/A = src var/atom/sourceloc = get_turf(src.loc) src = null del(A) var/obj/effect/overlay/O = new /obj/effect/overlay( sourceloc ) var/obj/effect/overlay/O2 = new /obj/effect/overlay( sourceloc ) O.name = "green liquid" O.density = 0 O.anchored = 1 O.icon = 'effects.dmi' O.icon_state = "blueshatter" O2.name = "broken bits of glass" O2.density = 0 O2.anchored = 1 O2.icon = 'objects.dmi' O2.icon_state = "shards" liquify(user) sleep(20) flick("blueshatter2",O) O.icon_state = "nothing" sleep(5) del(O) /obj/item/weapon/vial/blue/shatter() var/A = src var/atom/sourceloc = get_turf(src.loc) src = null del(A) var/obj/effect/overlay/O = new /obj/effect/overlay( sourceloc ) var/obj/effect/overlay/O2 = new /obj/effect/overlay( sourceloc ) O.name = "green liquid" O.density = 0 O.anchored = 1 O.icon = 'effects.dmi' O.icon_state = "blueshatter" O2.name = "broken bits of glass" O2.density = 0 O2.anchored = 1 O2.icon = 'objects.dmi' O2.icon_state = "shards" for(var/mob/living/carbon/human/H in view(1, sourceloc)) liquify(H) sleep(20) flick("blueshatter2",O) O.icon_state = "nothing" sleep(5) del(O) /proc/liquify(var/mob/H, time = 150) if(H.stat) return spawn(0) var/mobloc = get_turf(H.loc) var/obj/effect/dummy/liquid/holder = new /obj/effect/dummy/liquid( mobloc ) var/atom/movable/overlay/animation = new /atom/movable/overlay( mobloc ) animation.name = "water" animation.density = 0 animation.anchored = 1 animation.icon = 'mob.dmi' animation.icon_state = "liquify" animation.layer = 5 animation.master = holder flick("liquify",animation) H.canmove = 0 sleep(4) H.loc = holder H.canmove = 1 H.client.eye = holder spawn(0) var/i for(i=0, i<10, i++) spawn(0) var/obj/effect/effect/water/water1 = new /obj/effect/effect/water( mobloc ) var/direction = pick(alldirs) water1.name = "water" water1.density = 0 water1.icon = 'water.dmi' water1.icon_state = "extinguish" for(i=0, i