diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 16c24cdae9a..cc7b16db52b 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -544,3 +544,46 @@ for(var/t in test_times) else . = max(0, min(255, 138.5177312231 * log(temp - 10) - 305.0447927307)) +/proc/color2hex(var/color) //web colors + if(!color) + return "#000000" + + switch(color) + if("white") + return "#FFFFFF" + if("black") + return "#000000" + if("gray") + return "#808080" + if("brown") + return "#A52A2A" + if("red") + return "#FF0000" + if("darkred") + return "#8B0000" + if("crimson") + return "#DC143C" + if("orange") + return "#FFA500" + if("yellow") + return "#FFFF00" + if("green") + return "#008000" + if("lime") + return "#00FF00" + if("darkgreen") + return "#006400" + if("cyan") + return "#00FFFF" + if("blue") + return "#0000FF" + if("navy") + return "#000080" + if("teal") + return "#008080" + if("purple") + return "#800080" + if("indigo") + return "#4B0082" + else + return "#FFFFFF" \ No newline at end of file diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 297b115a031..f3b61f94ba4 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1489,4 +1489,15 @@ var/list/WALLITEMS = list( for(var/mob in player_list) if(mob in living_mob_list) living_player_count += 1 - return living_player_count \ No newline at end of file + return living_player_count + +/proc/randomColor(var/mode = 0) //if 1 it doesn't pick white, black or gray + switch(mode) + if(0) + return pick("white","black","gray","red","green","blue","brown","yellow","orange","darkred", + "crimson","lime","darkgreen","cyan","navy","teal","purple","indigo") + if(1) + return pick("red","green","blue","brown","yellow","orange","darkred","crimson", + "lime","darkgreen","cyan","navy","teal","purple","indigo") + else + return "white" \ No newline at end of file diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 04dd16a0ed2..eb35481a9bc 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -741,7 +741,7 @@ /obj/item/weapon/storage/fancy/cigarettes/cigpack_carp = 3, /obj/item/weapon/storage/fancy/cigarettes/cigpack_midori = 1, /obj/item/weapon/storage/box/matches = 10, - /obj/item/weapon/lighter/random = 4, + /obj/item/weapon/lighter/grayscale = 4, /obj/item/weapon/storage/fancy/rollingpapers = 5) contraband = list(/obj/item/weapon/lighter/zippo = 4) premium = list(/obj/item/clothing/mask/cigarette/cigar/havana = 2, /obj/item/weapon/storage/fancy/cigarettes/cigpack_robustgold = 1) diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index c8c9fa39367..075bab36a2a 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -439,6 +439,20 @@ CIGARETTE PACKETS ARE IN FANCY.DM attack_verb = null var/lit = 0 +/obj/item/weapon/lighter/grayscale + name = "cheap lighter" + desc ="A cheap-as-free lighter." + icon = 'icons/obj/cigarettes.dmi' + icon_state = "lighter-off" + item_state = "lighter-off" + icon_on = "lighter-on" + icon_off = "lighter-off" + +/obj/item/weapon/lighter/grayscale/New() + var/icon/overlay = new /icon('icons/obj/cigarettes.dmi',"lighter-overlay") + overlay.ColorTone(color2hex(randomColor(1))) + overlays += overlay + /obj/item/weapon/lighter/zippo name = "\improper Zippo lighter" desc = "The zippo." @@ -447,6 +461,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM icon_on = "zippoon" icon_off = "zippo" +/obj/item/weapon/lighter/update_icon() + icon_state = lit ? icon_on : icon_off + /obj/item/weapon/lighter/random New() var/color = pick("r","c","y","g") @@ -458,8 +475,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(user.r_hand == src || user.l_hand == src) if(!lit) lit = 1 - icon_state = icon_on - item_state = icon_on + update_icon() force = 5 damtype = "fire" hitsound = 'sound/items/welder.ogg' @@ -478,8 +494,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM SSobj.processing |= src else lit = 0 - icon_state = icon_off - item_state = icon_off + update_icon() hitsound = "swing_hit" force = 0 attack_verb = null //human_defense.dm takes care of it diff --git a/icons/obj/cigarettes.dmi b/icons/obj/cigarettes.dmi index 53f3240d2b9..5bf0a0fc687 100644 Binary files a/icons/obj/cigarettes.dmi and b/icons/obj/cigarettes.dmi differ