pumpkin fix and sprite improvement
@@ -76,6 +76,7 @@
|
||||
name = "candle"
|
||||
icon = 'icons/obj/candle.dmi'
|
||||
icon_state = "candle4"
|
||||
drop_sound = 'sound/items/drop/gloves.ogg'
|
||||
|
||||
/obj/item/trash/liquidfood
|
||||
name = "\improper \"LiquidFood\" ration"
|
||||
|
||||
@@ -4,13 +4,14 @@
|
||||
icon = 'icons/obj/candle.dmi'
|
||||
icon_state = "candle1"
|
||||
item_state = "candle1"
|
||||
drop_sound = 'sound/items/drop/gloves.ogg'
|
||||
w_class = 1
|
||||
light_color = "#E09D37"
|
||||
var/wax = 2000
|
||||
|
||||
/obj/item/weapon/flame/candle/New()
|
||||
/obj/item/weapon/flame/candle/Initialize()
|
||||
. = ..()
|
||||
wax = rand(800, 1000) // Enough for 27-33 minutes. 30 minutes on average.
|
||||
..()
|
||||
|
||||
/obj/item/weapon/flame/candle/update_icon()
|
||||
var/i
|
||||
@@ -38,22 +39,26 @@
|
||||
|
||||
/obj/item/weapon/flame/candle/proc/light(var/flavor_text = "<span class='notice'>\The [usr] lights the [name].</span>")
|
||||
if(!src.lit)
|
||||
src.lit = 1
|
||||
src.lit = TRUE
|
||||
playsound(src.loc, 'sound/items/cigs_lighters/cig_light.ogg', 50, 1)
|
||||
//src.damtype = "fire"
|
||||
for(var/mob/O in viewers(usr, null))
|
||||
O.show_message(flavor_text, 1)
|
||||
set_light(CANDLE_LUM)
|
||||
update_icon()
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
|
||||
/obj/item/weapon/flame/candle/process()
|
||||
/obj/item/weapon/flame/candle/process(mob/user as mob)
|
||||
if(!lit)
|
||||
return
|
||||
update_icon()
|
||||
wax--
|
||||
if(!wax)
|
||||
new/obj/item/trash/candle(src.loc)
|
||||
new /obj/item/trash/candle(src.loc)
|
||||
if(istype(src.loc, /mob))
|
||||
src.dropped()
|
||||
|
||||
to_chat(user, span("notice", "The candle burns out."))
|
||||
playsound(src.loc, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1)
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
qdel(src)
|
||||
update_icon()
|
||||
@@ -63,6 +68,8 @@
|
||||
|
||||
/obj/item/weapon/flame/candle/attack_self(mob/user as mob)
|
||||
if(lit)
|
||||
lit = 0
|
||||
lit = FALSE
|
||||
to_chat(user, span("notice", "You snuff out the flame."))
|
||||
playsound(src.loc, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1)
|
||||
update_icon()
|
||||
set_light(0)
|
||||
set_light(0)
|
||||
@@ -13,12 +13,15 @@
|
||||
* Cigarette Box
|
||||
*/
|
||||
|
||||
/obj/item/weapon/storage/fancy/
|
||||
/obj/item/weapon/storage/fancy
|
||||
name = "donut box"
|
||||
desc = "A box of half-a-dozen donuts."
|
||||
icon = 'icons/obj/food.dmi'
|
||||
icon_state = "donutbox6"
|
||||
name = "donut box"
|
||||
var/icon_type = "donut"
|
||||
var/storage_type = "box"
|
||||
drop_sound = 'sound/items/drop/box.ogg'
|
||||
use_sound = 'sound/items/storage/box.ogg'
|
||||
|
||||
/obj/item/weapon/storage/fancy/update_icon(var/itemremoved = 0)
|
||||
var/total_contents = src.contents.len - itemremoved
|
||||
@@ -43,11 +46,12 @@
|
||||
*/
|
||||
|
||||
/obj/item/weapon/storage/fancy/egg_box
|
||||
name = "egg box"
|
||||
desc = "A carton of eggs."
|
||||
icon = 'icons/obj/food.dmi'
|
||||
icon_state = "eggbox"
|
||||
center_of_mass = list("x" = 16,"y" = 7)
|
||||
icon_type = "egg"
|
||||
name = "egg box"
|
||||
center_of_mass = list("x" = 16,"y" = 7)
|
||||
storage_slots = 12
|
||||
can_hold = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
@@ -79,8 +83,9 @@
|
||||
desc = "A box of crayons for all your rune drawing needs."
|
||||
icon = 'icons/obj/crayons.dmi'
|
||||
icon_state = "crayonbox"
|
||||
w_class = 2.0
|
||||
icon_type = "crayon"
|
||||
drop_sound = 'sound/items/drop/box.ogg'
|
||||
w_class = 2.0
|
||||
can_hold = list(
|
||||
/obj/item/weapon/pen/crayon
|
||||
)
|
||||
@@ -123,6 +128,8 @@
|
||||
icon = 'icons/obj/cigs_lighters.dmi'
|
||||
icon_state = "cigpacket"
|
||||
item_state = "cigpacket"
|
||||
drop_sound = 'sound/items/drop/gloves.ogg'
|
||||
use_sound = 'sound/items/storage/paper.ogg'
|
||||
w_class = 1
|
||||
throwforce = 2
|
||||
slot_flags = SLOT_BELT
|
||||
@@ -204,6 +211,8 @@
|
||||
icon_state = "cigarcase"
|
||||
item_state = "cigarcase"
|
||||
icon = 'icons/obj/cigs_lighters.dmi'
|
||||
drop_sound = 'sound/items/drop/gloves.ogg'
|
||||
use_sound = 'sound/items/storage/paper.ogg'
|
||||
w_class = 1
|
||||
throwforce = 2
|
||||
slot_flags = SLOT_BELT
|
||||
@@ -251,10 +260,11 @@
|
||||
*/
|
||||
|
||||
/obj/item/weapon/storage/fancy/vials
|
||||
name = "vial storage box"
|
||||
icon = 'icons/obj/vialbox.dmi'
|
||||
icon_state = "vialbox6"
|
||||
icon_type = "vial"
|
||||
name = "vial storage box"
|
||||
drop_sound = 'sound/items/drop/metalboots.ogg'
|
||||
storage_slots = 6
|
||||
can_hold = list(/obj/item/weapon/reagent_containers/glass/beaker/vial)
|
||||
starts_with = list(/obj/item/weapon/reagent_containers/glass/beaker/vial = 6)
|
||||
@@ -265,6 +275,7 @@
|
||||
icon = 'icons/obj/vialbox.dmi'
|
||||
icon_state = "vialbox0"
|
||||
item_state = "syringe_kit"
|
||||
drop_sound = 'sound/items/drop/metalboots.ogg'
|
||||
max_w_class = 2
|
||||
can_hold = list(/obj/item/weapon/reagent_containers/glass/beaker/vial)
|
||||
max_storage_space = 12 //The sum of the w_classes of all the items in this storage item.
|
||||
|
||||
@@ -691,7 +691,7 @@
|
||||
/obj/item/clothing/head/kitty = 0.2,
|
||||
/obj/item/clothing/head/pirate = 0.2,
|
||||
/obj/item/clothing/head/plaguedoctorhat = 0.3,
|
||||
/obj/item/clothing/head/pumpkinhead = 0.4,
|
||||
/obj/item/clothing/head/pumpkin/lantern = 0.4,
|
||||
/obj/item/clothing/head/redcoat = 0.2,
|
||||
/obj/item/clothing/head/richard = 0.3,
|
||||
/obj/item/clothing/head/soft/rainbow = 0.7,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/clothing/head/hardhat
|
||||
name = "hard hat"
|
||||
desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight."
|
||||
icon_state = "hardhat0_yellow"
|
||||
icon_state = "hardhat_yellow"
|
||||
action_button_name = "Toggle Headlamp"
|
||||
brightness_on = 4 //luminosity when on
|
||||
light_overlay = "hardhat_light"
|
||||
@@ -12,23 +12,23 @@
|
||||
drop_sound = 'sound/items/drop/helm.ogg'
|
||||
|
||||
/obj/item/clothing/head/hardhat/orange
|
||||
icon_state = "hardhat0_orange"
|
||||
icon_state = "hardhat_orange"
|
||||
|
||||
/obj/item/clothing/head/hardhat/red
|
||||
icon_state = "hardhat0_red"
|
||||
name = "firefighter helmet"
|
||||
icon_state = "hardhat_red"
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||
|
||||
/obj/item/clothing/head/hardhat/white
|
||||
icon_state = "hardhat0_white"
|
||||
desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight. This one looks heat-resistant."
|
||||
icon_state = "hardhat_white"
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||
|
||||
/obj/item/clothing/head/hardhat/dblue
|
||||
icon_state = "hardhat0_dblue"
|
||||
item_state = "hardhat0_dblue"
|
||||
icon_state = "hardhat_dblue"
|
||||
item_state = "hardhat_dblue"
|
||||
|
||||
/obj/item/clothing/head/hardhat/red/atmos
|
||||
name = "atmospheric firefighter helmet"
|
||||
|
||||
@@ -139,16 +139,96 @@
|
||||
/*
|
||||
* Pumpkin head
|
||||
*/
|
||||
/obj/item/clothing/head/pumpkinhead
|
||||
|
||||
/obj/item/clothing/head/pumpkin
|
||||
name = "carved pumpkin"
|
||||
desc = "A jack o' lantern! Believed to ward off evil spirits."
|
||||
icon_state = "hardhat0_pumpkin"//Could stand to be renamed
|
||||
desc = "A pumpkin with a spooky face carved on it. Looks like it needs a candle."
|
||||
icon_state = "pumpkin_carved"
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|BLOCKHAIR
|
||||
body_parts_covered = HEAD|FACE|EYES
|
||||
brightness_on = 2
|
||||
light_overlay = "helmet_light"
|
||||
w_class = 3
|
||||
drop_sound = 'sound/items/drop/herb.ogg'
|
||||
w_class = 3
|
||||
throwforce = 1
|
||||
throw_speed = 0.5
|
||||
|
||||
/obj/item/clothing/head/pumpkin/attackby(var/obj/O, mob/user as mob)
|
||||
if(istype(O, /obj/item/weapon/flame/candle))
|
||||
var/obj/item/weapon/flame/candle/c = O
|
||||
var/candle_wax = c.wax
|
||||
to_chat(user, "You add [O] to [src].")
|
||||
playsound(src.loc, 'sound/items/drop/gloves.ogg', 50, 1)
|
||||
qdel(O)
|
||||
var/obj/item/clothing/head/pumpkin/lantern/L = new /obj/item/clothing/head/pumpkin/lantern(user.loc)
|
||||
L.wax = candle_wax
|
||||
user.put_in_hands(L)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/item/clothing/head/pumpkin/lantern
|
||||
name = "jack o' lantern"
|
||||
desc = "A pumpkin with a spooky face carved on it, with a candle inside. Believed to ward off evil spirits."
|
||||
light_color = "#E09D37"
|
||||
var/wax = 900
|
||||
var/lit = FALSE
|
||||
|
||||
/obj/item/clothing/head/pumpkin/lantern/update_icon()
|
||||
icon_state = "pumpkin_carved[lit ? "_lit" : ""]"
|
||||
if(ismob(loc))
|
||||
var/mob/living/M = loc
|
||||
M.update_inv_head(0)
|
||||
M.update_inv_l_hand(0)
|
||||
M.update_inv_r_hand(1)
|
||||
|
||||
/obj/item/clothing/head/pumpkin/lantern/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if(W.iswelder())
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(WT.isOn()) //Badasses dont get blinded by lighting their candle with a welding tool
|
||||
light("<span class='notice'>\The [user] casually lights the [name] with [W].</span>")
|
||||
else if(isflamesource(W))
|
||||
light()
|
||||
else if(istype(W, /obj/item/weapon/flame/candle))
|
||||
var/obj/item/weapon/flame/candle/C = W
|
||||
if(C.lit)
|
||||
light()
|
||||
|
||||
/obj/item/clothing/head/pumpkin/lantern/proc/light(var/flavor_text = "<span class='notice'>\The [usr] lights the [name].</span>")
|
||||
if(!src.lit)
|
||||
src.lit = TRUE
|
||||
playsound(src.loc, 'sound/items/cigs_lighters/cig_light.ogg', 50, 1)
|
||||
//src.damtype = "fire"
|
||||
for(var/mob/O in viewers(usr, null))
|
||||
O.show_message(flavor_text, 1)
|
||||
set_light(CANDLE_LUM)
|
||||
update_icon()
|
||||
update_clothing_icon()
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
|
||||
/obj/item/clothing/head/pumpkin/lantern/process(mob/user as mob)
|
||||
if(!lit)
|
||||
return
|
||||
wax--
|
||||
if(!wax)
|
||||
new /obj/item/clothing/head/pumpkin(src.loc)
|
||||
new /obj/item/trash/candle(src.loc)
|
||||
if(istype(src.loc, /mob))
|
||||
src.dropped()
|
||||
to_chat(user, span("notice", "The candle burns out."))
|
||||
playsound(src.loc, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1)
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
qdel(src)
|
||||
update_icon()
|
||||
if(istype(loc, /turf)) //start a fire if possible
|
||||
var/turf/T = loc
|
||||
T.hotspot_expose(700, 5)
|
||||
|
||||
/obj/item/clothing/head/pumpkin/lantern/attack_self(mob/user as mob)
|
||||
if(lit)
|
||||
lit = FALSE
|
||||
to_chat(user, span("notice", "You snuff out the flame."))
|
||||
playsound(src.loc, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1)
|
||||
update_icon()
|
||||
set_light(0)
|
||||
|
||||
/*
|
||||
* Kitty ears
|
||||
|
||||
@@ -189,7 +189,7 @@
|
||||
else if(W.sharp && !W.noslice)
|
||||
if(seed.kitchen_tag == "pumpkin") // Ugggh these checks are awful.
|
||||
user.show_message("<span class='notice'>You carve a face into [src]!</span>", 1)
|
||||
new /obj/item/clothing/head/pumpkinhead (user.loc)
|
||||
user.put_in_hands(new /obj/item/clothing/head/pumpkin)
|
||||
qdel(src)
|
||||
return
|
||||
else if(seed.chems)
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
################################
|
||||
# Example Changelog File
|
||||
#
|
||||
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
|
||||
#
|
||||
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
|
||||
# When it is, any changes listed below will disappear.
|
||||
#
|
||||
# Valid Prefixes:
|
||||
# bugfix
|
||||
# wip (For works in progress)
|
||||
# tweak
|
||||
# soundadd
|
||||
# sounddel
|
||||
# rscadd (general adding of nice things)
|
||||
# rscdel (general deleting of nice things)
|
||||
# imageadd
|
||||
# imagedel
|
||||
# maptweak
|
||||
# spellcheck (typo fixes)
|
||||
# experiment
|
||||
# balance
|
||||
# admin
|
||||
# backend
|
||||
# security
|
||||
# refactor
|
||||
#################################
|
||||
|
||||
# Your name.
|
||||
author: Wowzewow
|
||||
|
||||
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
|
||||
delete-after: True
|
||||
|
||||
# Any changes you've made. See valid prefix list above.
|
||||
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
|
||||
# SCREW THIS UP AND IT WON'T WORK.
|
||||
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
|
||||
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
|
||||
changes:
|
||||
- bugfix: "Fixes Jack O' Lanterns. Carve a pumpkin, shove a candle in it and light it with a lighter."
|
||||
- imageadd: "New pumpkin, carved pumpkin, jack o' lantern and candle sprites."
|
||||
|
Before Width: | Height: | Size: 175 KiB After Width: | Height: | Size: 173 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |