diff --git a/_maps/map_files/DreamStation/dreamstation04.dmm b/_maps/map_files/DreamStation/dreamstation04.dmm index 6b87bd09a0a..e38ded0dd87 100644 --- a/_maps/map_files/DreamStation/dreamstation04.dmm +++ b/_maps/map_files/DreamStation/dreamstation04.dmm @@ -3444,7 +3444,7 @@ "bol" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel/green/side{dir = 4},/area/hydroponics) "bom" = (/obj/structure/sink{pixel_y = 24},/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel/green,/area/hydroponics) "bon" = (/obj/machinery/hydroponics/constructable,/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel/black,/area/hydroponics) -"boo" = (/obj/structure/table,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -31},/obj/item/clothing/head/cakehat,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) +"boo" = (/obj/structure/table,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -31},/obj/item/clothing/head/hardhat/cakehat,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) "bop" = (/obj/structure/bed/stool,/turf/simulated/floor/plasteel/bar,/area/crew_quarters/bar) "boq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel/bar,/area/crew_quarters/bar) "bor" = (/turf/simulated/floor/plasteel/bar,/area/crew_quarters/bar) diff --git a/_maps/map_files/MetaStation/MetaStation.v41I.dmm b/_maps/map_files/MetaStation/MetaStation.v41I.dmm index a1314384792..93f14a01a9b 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41I.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41I.dmm @@ -4601,7 +4601,7 @@ "bKy" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/maintcentral{name = "Central Maintenance"}) "bKz" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/hallway/primary/central) "bKA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/central) -"bKB" = (/obj/structure/table,/obj/item/clothing/head/cakehat,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) +"bKB" = (/obj/structure/table,/obj/item/clothing/head/hardhat/cakehat,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) "bKC" = (/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -28},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) "bKD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/bed/stool{pixel_y = 8},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) "bKE" = (/obj/machinery/light,/obj/machinery/camera{c_tag = "Kitchen Hatch"; dir = 1; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index 78529dc8375..0331af4f1df 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -2181,7 +2181,7 @@ "aPW" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/status_display{density = 0; layer = 4},/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/preopen{id = "bridge blast"; layer = 2.9; name = "bridge blast door"},/turf/simulated/floor/plating,/area/bridge) "aPX" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/preopen{id = "bridge blast"; layer = 2.9; name = "bridge blast door"},/turf/simulated/floor/plating,/area/bridge) "aPY" = (/obj/structure/bed/stool,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) -"aPZ" = (/obj/structure/table,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -31},/obj/item/clothing/head/cakehat,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) +"aPZ" = (/obj/structure/table,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -31},/obj/item/clothing/head/hardhat/cakehat,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) "aQa" = (/obj/structure/table,/obj/item/weapon/kitchen/fork,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) "aQb" = (/obj/structure/table,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) "aQc" = (/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 0a707c450ae..f6cf900097e 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -20,10 +20,10 @@ item_state = "hardhat[on]_[item_color]" user.update_inv_head() //so our mob-overlays update - if(on) - user.AddLuminosity(brightness_on) - else - user.AddLuminosity(-brightness_on) + if(on) + turn_on(user) + else + turn_off(user) /obj/item/clothing/head/hardhat/pickup(mob/user) if(on) @@ -35,6 +35,11 @@ user.AddLuminosity(-brightness_on) SetLuminosity(brightness_on) +/obj/item/clothing/head/hardhat/proc/turn_on(mob/user) + user.AddLuminosity(brightness_on) + +/obj/item/clothing/head/hardhat/proc/turn_off(mob/user) + user.AddLuminosity(-brightness_on) /obj/item/clothing/head/hardhat/orange icon_state = "hardhat0_orange" @@ -78,4 +83,4 @@ heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT cold_protection = HEAD - min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT \ No newline at end of file diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 4b40963f00c..d4bb6dae50e 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -42,22 +42,21 @@ /* * Cakehat */ -/obj/item/clothing/head/cakehat - name = "cake-hat" - desc = "It's tasty looking!" - icon_state = "cake0" +/obj/item/clothing/head/hardhat/cakehat + name = "cakehat" + desc = "You put the cake on your head. Brilliant." + icon_state = "hardhat0_cakehat" + item_state = "hardhat0_cakehat" + item_color = "cakehat" + flags = BLOCKHAIR + flags_inv = HIDEEARS + action_button_name = "Toggle Candle" + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + brightness_on = 2 //luminosity when on flags_cover = HEADCOVERSEYES - var/onfire = 0 - var/brightness_on = 1 // luminosity when lit - var/status = 0 - var/fire_resist = T0C+1300 //this is the max temp it can stand before you start to cook. although it might not burn away, you take damage - var/processing = 0 //I dont think this is used anywhere. - -/obj/item/clothing/head/cakehat/process() - if(!onfire) - SSobj.processing.Remove(src) - return + heat = 1000 +/obj/item/clothing/head/hardhat/cakehat/process() var/turf/location = src.loc if(istype(location, /mob/)) var/mob/living/carbon/human/M = location @@ -67,23 +66,20 @@ if (istype(location, /turf)) location.hotspot_expose(700, 1) -/obj/item/clothing/head/cakehat/attack_self(mob/user) - if(status > 1) return - src.onfire = !( src.onfire ) - if (src.onfire) - src.force = 15 - src.AddLuminosity(brightness_on) - src.damtype = "fire" - src.icon_state = "cake1" - SSobj.processing |= src - else - src.force = null - src.AddLuminosity(-brightness_on) - src.damtype = "brute" - src.icon_state = "cake0" - return +/obj/item/clothing/head/hardhat/cakehat/turn_on() + ..() + force = 15 + damtype = BURN + SSobj.processing |= src +/obj/item/clothing/head/hardhat/cakehat/turn_off() + ..() + force = 0 + damtype = BRUTE + SSobj.processing -= src +/obj/item/clothing/head/hardhat/cakehat/is_hot() + return on * heat /* * Ushanka */ diff --git a/code/modules/food&drinks/recipes/tablecraft/recipes_cake.dm b/code/modules/food&drinks/recipes/tablecraft/recipes_cake.dm index eb52389a1b8..902a398a6c3 100644 --- a/code/modules/food&drinks/recipes/tablecraft/recipes_cake.dm +++ b/code/modules/food&drinks/recipes/tablecraft/recipes_cake.dm @@ -69,7 +69,7 @@ /datum/table_recipe/birthdaycake name = "Birthday cake" reqs = list( - /obj/item/clothing/head/cakehat = 1, + /obj/item/clothing/head/hardhat/cakehat = 1, /obj/item/weapon/reagent_containers/food/snacks/store/cake/plain = 1 ) result = /obj/item/weapon/reagent_containers/food/snacks/store/cake/birthday diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index c58a95408ab..63dc7fc1e1c 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index d56674bce74..ca9a19d1bc0 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ