From 763c9ec07b1e1dc61cdce3d1c1b4896d4fccca3e Mon Sep 17 00:00:00 2001 From: Tastyfish Date: Tue, 10 Jan 2012 18:05:19 -0500 Subject: [PATCH] paint is reagent, fixed ai core bug --- code/defines/obj/supplypacks.dm | 16 +-- code/game/machinery/computer/AIcore.dm | 4 +- code/game/objects/items/weapons/paint.dm | 136 ++++++++++++++++++++++- 3 files changed, 144 insertions(+), 12 deletions(-) diff --git a/code/defines/obj/supplypacks.dm b/code/defines/obj/supplypacks.dm index 5ae12cd307e..790cd48fdff 100644 --- a/code/defines/obj/supplypacks.dm +++ b/code/defines/obj/supplypacks.dm @@ -69,14 +69,14 @@ "/obj/item/weapon/camera_test", "/obj/item/weapon/storage/photo_album", "/obj/item/weapon/packageWrap", - "/obj/item/weapon/paint/red", - "/obj/item/weapon/paint/green", - "/obj/item/weapon/paint/blue", - "/obj/item/weapon/paint/yellow", - "/obj/item/weapon/paint/violet", - "/obj/item/weapon/paint/black", - "/obj/item/weapon/paint/white", - "/obj/item/weapon/paint/paint_remover", + "/obj/item/weapon/reagent_containers/glass/paint/red", + "/obj/item/weapon/reagent_containers/glass/paint/green", + "/obj/item/weapon/reagent_containers/glass/paint/blue", + "/obj/item/weapon/reagent_containers/glass/paint/yellow", + "/obj/item/weapon/reagent_containers/glass/paint/violet", + "/obj/item/weapon/reagent_containers/glass/paint/black", + "/obj/item/weapon/reagent_containers/glass/paint/white", + "/obj/item/weapon/reagent_containers/glass/paint/remover", "/obj/item/weapon/wrapping_paper", "/obj/item/weapon/wrapping_paper", "/obj/item/weapon/wrapping_paper") diff --git a/code/game/machinery/computer/AIcore.dm b/code/game/machinery/computer/AIcore.dm index ed4e7f01360..183f7825a77 100644 --- a/code/game/machinery/computer/AIcore.dm +++ b/code/game/machinery/computer/AIcore.dm @@ -158,8 +158,8 @@ playsound(loc, 'Screwdriver.ogg', 50, 1) user << "\blue You connect the monitor." - if(P:brainmob.mind in ticker.mode:revolutionaries) - ticker.mode:remove_revolutionary(P:brainmob.mind , 1) + if(brain.brainmob.mind in ticker.mode:revolutionaries) + ticker.mode:remove_revolutionary(brain.brainmob.mind , 1) new /mob/living/silicon/ai ( loc, laws, brain ) del(src) diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index 774a3ac3972..fc1d7a39bbd 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -1,5 +1,70 @@ var/global/list/cached_icons = list() +/obj/item/weapon/reagent_containers/glass/paint + desc = "It's a paint bucket." + name = "paint bucket" + icon = 'items.dmi' + icon_state = "paint_neutral" + item_state = "paintcan" + m_amt = 200 + g_amt = 0 + w_class = 3.0 + amount_per_transfer_from_this = 10 + possible_transfer_amounts = list(10,20,30,50,70) + volume = 70 + flags = FPRINT | OPENCONTAINER + var/paint_type = "" + + afterattack(turf/simulated/target, mob/user , flag) + if(istype(target) && reagents.total_volume > 5) + for(var/mob/O in viewers(user)) + O.show_message("\red \The [target] has been splashed with something by [user]!", 1) + spawn(5) + reagents.reaction(target, TOUCH) + reagents.remove_any(5) + else + return ..() + + New() + if(paint_type == "remover") + name = "paint remover bucket" + else if(paint_type && lentext(paint_type) > 0) + name = paint_type + " " + name + ..() + reagents.add_reagent("paint_[paint_type]", volume) + + red + icon_state = "paint_red" + paint_type = "red" + + green + icon_state = "paint_green" + paint_type = "green" + + blue + icon_state = "paint_blue" + paint_type = "blue" + + yellow + icon_state = "paint_yellow" + paint_type = "yellow" + + violet + icon_state = "paint_violet" + paint_type = "violet" + + black + icon_state = "paint_black" + paint_type = "black" + + white + icon_state = "paint_white" + paint_type = "white" + + remover + paint_type = "remover" + +/* /obj/item/weapon/paint name = "Paint Can" desc = "Used to recolor floors and walls. Can not be removed by the janitor." @@ -61,10 +126,8 @@ var/global/list/cached_icons = list() color = "00FF00" if("yellow") color = "FFFF00" - /* if("violet") color = "FF00FF" - */ if("white") color = "FFFFFF" if("black") @@ -96,3 +159,72 @@ var/global/list/cached_icons = list() if(istype(target) && target.icon != initial(target.icon)) target.icon = initial(target.icon) return +*/ + +datum/reagent/paint + name = "Paint" + id = "paint_" + description = "Floor paint is used to color floor tiles." + reagent_state = 2 + color = "#808080" + + reaction_turf(var/turf/T, var/volume) + if(!istype(T) || istype(T, /turf/space)) + return + var/ind = "[initial(T.icon)][color]" + if(!cached_icons[ind]) + var/icon/overlay = new/icon(initial(T.icon)) + overlay.Blend(color,ICON_MULTIPLY) + overlay.SetIntensity(1.4) + T.icon = overlay + cached_icons[ind] = T.icon + else + T.icon = cached_icons[ind] + return + + red + name = "Red Paint" + id = "paint_red" + color = "#FF0000" + + green + name = "Green Paint" + color = "#00FF00" + id = "paint_green" + + blue + name = "Blue Paint" + color = "#0000FF" + id = "paint_blue" + + yellow + name = "Yellow Paint" + color = "#FFFF00" + id = "paint_yellow" + + violet + name = "Violet Paint" + color = "#FF00FF" + id = "paint_violet" + + black + name = "Black Paint" + color = "#333333" + id = "paint_black" + + white + name = "White Paint" + color = "#FFFFFF" + id = "paint_white" + +datum/reagent/paint_remover + name = "Paint Remover" + id = "paint_remover" + description = "Paint remover is used to remove floor paint from floor tiles." + reagent_state = 2 + color = "#808080" + + reaction_turf(var/turf/T, var/volume) + if(istype(T) && T.icon != initial(T.icon)) + T.icon = initial(T.icon) + return