Bleeding edgy refresh (#303)
* not code stuff * other things * global vars, defines, helpers * onclick hud stuff, orphans, world.dm * controllers and datums * game folder * everything not client/mobs in modules * client folder * stage 1 mob stuff * simple animal things * silicons * carbon things * ayylmaos and monkeys * hyoomahn * icons n shit * sprite fixes * compile fixes * some fixes I cherrypicked. * qdel fixes * forgot brain refractors
This commit is contained in:
@@ -24,14 +24,14 @@
|
||||
/obj/item/weapon/reagent_containers/food/drinks/attack(mob/M, mob/user, def_zone)
|
||||
|
||||
if(!reagents || !reagents.total_volume)
|
||||
user << "<span class='warning'>[src] is empty!</span>"
|
||||
to_chat(user, "<span class='warning'>[src] is empty!</span>")
|
||||
return 0
|
||||
|
||||
if(!canconsume(M, user))
|
||||
return 0
|
||||
|
||||
if(M == user)
|
||||
M << "<span class='notice'>You swallow a gulp of [src].</span>"
|
||||
to_chat(M, "<span class='notice'>You swallow a gulp of [src].</span>")
|
||||
|
||||
else
|
||||
M.visible_message("<span class='danger'>[user] attempts to feed the contents of [src] to [M].</span>", "<span class='userdanger'>[user] attempts to feed the contents of [src] to [M].</span>")
|
||||
@@ -52,27 +52,27 @@
|
||||
if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us.
|
||||
|
||||
if(!target.reagents.total_volume)
|
||||
user << "<span class='warning'>[target] is empty.</span>"
|
||||
to_chat(user, "<span class='warning'>[target] is empty.</span>")
|
||||
return
|
||||
|
||||
if(reagents.total_volume >= reagents.maximum_volume)
|
||||
user << "<span class='warning'>[src] is full.</span>"
|
||||
to_chat(user, "<span class='warning'>[src] is full.</span>")
|
||||
return
|
||||
|
||||
var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this)
|
||||
user << "<span class='notice'>You fill [src] with [trans] units of the contents of [target].</span>"
|
||||
to_chat(user, "<span class='notice'>You fill [src] with [trans] units of the contents of [target].</span>")
|
||||
|
||||
else if(target.is_open_container()) //Something like a glass. Player probably wants to transfer TO it.
|
||||
if(!reagents.total_volume)
|
||||
user << "<span class='warning'>[src] is empty.</span>"
|
||||
to_chat(user, "<span class='warning'>[src] is empty.</span>")
|
||||
return
|
||||
|
||||
if(target.reagents.total_volume >= target.reagents.maximum_volume)
|
||||
user << "<span class='warning'>[target] is full.</span>"
|
||||
to_chat(user, "<span class='warning'>[target] is full.</span>")
|
||||
return
|
||||
var/refill = reagents.get_master_reagent_id()
|
||||
var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
|
||||
user << "<span class='notice'>You transfer [trans] units of the solution to [target].</span>"
|
||||
to_chat(user, "<span class='notice'>You transfer [trans] units of the solution to [target].</span>")
|
||||
|
||||
if(iscyborg(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
|
||||
var/mob/living/silicon/robot/bro = user
|
||||
@@ -84,7 +84,7 @@
|
||||
var/added_heat = (I.is_hot() / 100) //ishot returns a temperature
|
||||
if(reagents)
|
||||
reagents.chem_temp += added_heat
|
||||
user << "<span class='notice'>You heat [src] with [I].</span>"
|
||||
to_chat(user, "<span class='notice'>You heat [src] with [I].</span>")
|
||||
reagents.handle_reactions()
|
||||
..()
|
||||
|
||||
@@ -390,4 +390,10 @@
|
||||
name = "Shambler's Juice"
|
||||
desc = "~Shake me up some of that Shambler's Juice!~"
|
||||
icon_state = "shamblers"
|
||||
list_reagents = list("shamblers" = 30)
|
||||
list_reagents = list("shamblers" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/soda_cans/air
|
||||
name = "Canned Air"
|
||||
desc = "There is no air shortage. Do not drink."
|
||||
icon_state = "air"
|
||||
list_reagents = list("nitrogen" = 24, "oxygen" = 6)
|
||||
|
||||
@@ -376,7 +376,7 @@
|
||||
message_admins(message)
|
||||
log_game("[key_name(user)] has primed a [name] for detonation at [bombarea] [COORD(bombturf)].")
|
||||
|
||||
user << "<span class='info'>You light [src] on fire.</span>"
|
||||
to_chat(user, "<span class='info'>You light [src] on fire.</span>")
|
||||
add_overlay(fire_overlay)
|
||||
if(!isGlass)
|
||||
spawn(50)
|
||||
@@ -396,8 +396,8 @@
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov/attack_self(mob/user)
|
||||
if(active)
|
||||
if(!isGlass)
|
||||
user << "<span class='danger'>The flame's spread too far on it!</span>"
|
||||
to_chat(user, "<span class='danger'>The flame's spread too far on it!</span>")
|
||||
return
|
||||
user << "<span class='info'>You snuff out the flame on [src].</span>"
|
||||
to_chat(user, "<span class='info'>You snuff out the flame on [src].</span>")
|
||||
cut_overlay(fire_overlay)
|
||||
active = 0
|
||||
|
||||
@@ -525,22 +525,6 @@
|
||||
icon_state = "glass_yellow"
|
||||
name = "Eggnog"
|
||||
desc = "For enjoying the most wonderful time of the year."
|
||||
if("aphro")
|
||||
icon_state = "glass_aphro"
|
||||
name = "glass of aphrodisiac"
|
||||
desc = "For your love interest."
|
||||
if("aphro+")
|
||||
icon_state = "glass_aphro+"
|
||||
name = "glass of strong aphrodisiac"
|
||||
desc = "For your less interested love interest."
|
||||
if("semen")
|
||||
icon_state = "glass_semen"
|
||||
name = "glass of semen"
|
||||
desc = "Salty."
|
||||
if("femcum")
|
||||
icon_state = "glass_femcum"
|
||||
name = "glass of female ejaculate"
|
||||
desc = "A glass of female ejaculate."
|
||||
else
|
||||
icon_state ="glass_brown"
|
||||
var/image/I = image(icon, "glassoverlay")
|
||||
@@ -651,18 +635,6 @@
|
||||
icon_state = "shotglassgreen"
|
||||
name = "shot of absinthe"
|
||||
desc = "I am stuck in the cycles of my guilt..."
|
||||
if ("semen")
|
||||
icon_state = "shotglasswhite"
|
||||
name = "cum shot"
|
||||
desc = "All those college years boil down to this."
|
||||
if("aphro")
|
||||
icon_state = "shotglassaphro"
|
||||
name = "shot of love"
|
||||
desc = "Guaranteed to put you in the mood."
|
||||
if("aphro+")
|
||||
icon_state = "shotglassaphro"
|
||||
name = "strong shot of love"
|
||||
desc = "Guaranteed to put you in the mood. Not recommended to take more than one unless you're dedicated."
|
||||
else
|
||||
icon_state = "shotglassbrown"
|
||||
name = "shot of... what?"
|
||||
@@ -694,9 +666,9 @@
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/egg/E = I
|
||||
if(reagents)
|
||||
if(reagents.total_volume >= reagents.maximum_volume)
|
||||
user << "<span class='notice'>[src] is full.</span>"
|
||||
to_chat(user, "<span class='notice'>[src] is full.</span>")
|
||||
else
|
||||
user << "<span class='notice'>You break [E] in [src].</span>"
|
||||
to_chat(user, "<span class='notice'>You break [E] in [src].</span>")
|
||||
reagents.add_reagent("eggyolk", 5)
|
||||
qdel(E)
|
||||
return
|
||||
|
||||
@@ -29,14 +29,14 @@
|
||||
/obj/item/weapon/reagent_containers/food/condiment/attack(mob/M, mob/user, def_zone)
|
||||
|
||||
if(!reagents || !reagents.total_volume)
|
||||
user << "<span class='warning'>None of [src] left, oh no!</span>"
|
||||
to_chat(user, "<span class='warning'>None of [src] left, oh no!</span>")
|
||||
return 0
|
||||
|
||||
if(!canconsume(M, user))
|
||||
return 0
|
||||
|
||||
if(M == user)
|
||||
M << "<span class='notice'>You swallow some of contents of \the [src].</span>"
|
||||
to_chat(M, "<span class='notice'>You swallow some of contents of \the [src].</span>")
|
||||
else
|
||||
user.visible_message("<span class='warning'>[user] attempts to feed [M] from [src].</span>")
|
||||
if(!do_mob(user, M))
|
||||
@@ -57,26 +57,26 @@
|
||||
if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us.
|
||||
|
||||
if(!target.reagents.total_volume)
|
||||
user << "<span class='warning'>[target] is empty!</span>"
|
||||
to_chat(user, "<span class='warning'>[target] is empty!</span>")
|
||||
return
|
||||
|
||||
if(reagents.total_volume >= reagents.maximum_volume)
|
||||
user << "<span class='warning'>[src] is full!</span>"
|
||||
to_chat(user, "<span class='warning'>[src] is full!</span>")
|
||||
return
|
||||
|
||||
var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this)
|
||||
user << "<span class='notice'>You fill [src] with [trans] units of the contents of [target].</span>"
|
||||
to_chat(user, "<span class='notice'>You fill [src] with [trans] units of the contents of [target].</span>")
|
||||
|
||||
//Something like a glass or a food item. Player probably wants to transfer TO it.
|
||||
else if(target.is_open_container() || istype(target, /obj/item/weapon/reagent_containers/food/snacks))
|
||||
if(!reagents.total_volume)
|
||||
user << "<span class='warning'>[src] is empty!</span>"
|
||||
to_chat(user, "<span class='warning'>[src] is empty!</span>")
|
||||
return
|
||||
if(target.reagents.total_volume >= target.reagents.maximum_volume)
|
||||
user << "<span class='warning'>you can't add anymore to [target]!</span>"
|
||||
to_chat(user, "<span class='warning'>you can't add anymore to [target]!</span>")
|
||||
return
|
||||
var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
|
||||
user << "<span class='notice'>You transfer [trans] units of the condiment to [target].</span>"
|
||||
to_chat(user, "<span class='notice'>You transfer [trans] units of the condiment to [target].</span>")
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/on_reagent_change()
|
||||
if(!possible_states.len)
|
||||
@@ -144,7 +144,7 @@
|
||||
return
|
||||
if(isturf(target))
|
||||
if(!reagents.has_reagent("sodiumchloride", 2))
|
||||
user << "<span class='warning'>You don't have enough salt to make a pile!</span>"
|
||||
to_chat(user, "<span class='warning'>You don't have enough salt to make a pile!</span>")
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] shakes some salt onto [target].</span>", "<span class='notice'>You shake some salt onto [target].</span>")
|
||||
reagents.remove_reagent("sodiumchloride", 2)
|
||||
@@ -229,15 +229,15 @@
|
||||
//You can tear the bag open above food to put the condiments on it, obviously.
|
||||
if(istype(target, /obj/item/weapon/reagent_containers/food/snacks))
|
||||
if(!reagents.total_volume)
|
||||
user << "<span class='warning'>You tear open [src], but there's nothing in it.</span>"
|
||||
to_chat(user, "<span class='warning'>You tear open [src], but there's nothing in it.</span>")
|
||||
qdel(src)
|
||||
return
|
||||
if(target.reagents.total_volume >= target.reagents.maximum_volume)
|
||||
user << "<span class='warning'>You tear open [src], but [target] is stacked so high that it just drips off!</span>" //Not sure if food can ever be full, but better safe than sorry.
|
||||
to_chat(user, "<span class='warning'>You tear open [src], but [target] is stacked so high that it just drips off!</span>" )
|
||||
qdel(src)
|
||||
return
|
||||
else
|
||||
user << "<span class='notice'>You tear open [src] above [target] and the condiments drip onto it.</span>"
|
||||
to_chat(user, "<span class='notice'>You tear open [src] above [target] and the condiments drip onto it.</span>")
|
||||
src.reagents.trans_to(target, amount_per_transfer_from_this)
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -34,17 +34,17 @@
|
||||
size = "big"
|
||||
if(ingredients.len>8)
|
||||
size = "monster"
|
||||
user << "It contains [ingredients.len?"[ingredients_listed]":"no ingredient, "]making a [size]-sized [initial(name)]."
|
||||
to_chat(user, "It contains [ingredients.len?"[ingredients_listed]":"no ingredient, "]making a [size]-sized [initial(name)].")
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/customizable/attackby(obj/item/I, mob/user, params)
|
||||
if(!istype(I, /obj/item/weapon/reagent_containers/food/snacks/customizable) && istype(I,/obj/item/weapon/reagent_containers/food/snacks))
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/S = I
|
||||
if(I.w_class > WEIGHT_CLASS_SMALL)
|
||||
user << "<span class='warning'>The ingredient is too big for [src]!</span>"
|
||||
to_chat(user, "<span class='warning'>The ingredient is too big for [src]!</span>")
|
||||
else if((ingredients.len >= ingMax) || (reagents.total_volume >= volume))
|
||||
user << "<span class='warning'>You can't add more ingredients to [src]!</span>"
|
||||
to_chat(user, "<span class='warning'>You can't add more ingredients to [src]!</span>")
|
||||
else if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/custom) || istype(I, /obj/item/weapon/reagent_containers/food/snacks/cakeslice/custom))
|
||||
user << "<span class='warning'>Adding [I.name] to [src] would make a mess.</span>"
|
||||
to_chat(user, "<span class='warning'>Adding [I.name] to [src] would make a mess.</span>")
|
||||
else
|
||||
if(!user.transferItemToLoc(I, src))
|
||||
return
|
||||
@@ -54,7 +54,7 @@
|
||||
mix_filling_color(S)
|
||||
S.reagents.trans_to(src,min(S.reagents.total_volume, 15)) //limit of 15, we don't want our custom food to be completely filled by just one ingredient with large reagent volume.
|
||||
update_overlays(S)
|
||||
user << "<span class='notice'>You add the [I.name] to the [name].</span>"
|
||||
to_chat(user, "<span class='notice'>You add the [I.name] to the [name].</span>")
|
||||
update_name(S)
|
||||
else . = ..()
|
||||
|
||||
@@ -117,9 +117,8 @@
|
||||
if(INGREDIENTS_STACKPLUSTOP)
|
||||
I.pixel_x = rand(-1,1)
|
||||
I.pixel_y = 2 * ingredients.len - 1
|
||||
our_overlays.Cut(ingredients.len) //???
|
||||
//force an update here just in case
|
||||
SSoverlays.processing[src] = src
|
||||
if(our_overlays)
|
||||
our_overlays.Cut(ingredients.len) //???, add overlay calls later in this proc will queue the compile if necessary
|
||||
var/image/TOP = new(icon, "[icon_state]_top")
|
||||
TOP.pixel_y = 2 * ingredients.len + 3
|
||||
add_overlay(I)
|
||||
@@ -244,7 +243,7 @@
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/breadslice/BS = I
|
||||
if(finished)
|
||||
return
|
||||
user << "<span class='notice'>You finish the [src.name].</span>"
|
||||
to_chat(user, "<span class='notice'>You finish the [src.name].</span>")
|
||||
finished = 1
|
||||
name = "[customname] sandwich"
|
||||
BS.reagents.trans_to(src, BS.reagents.total_volume)
|
||||
@@ -294,9 +293,9 @@
|
||||
if(istype(I,/obj/item/weapon/reagent_containers/food/snacks))
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/S = I
|
||||
if(I.w_class > WEIGHT_CLASS_SMALL)
|
||||
user << "<span class='warning'>The ingredient is too big for [src]!</span>"
|
||||
to_chat(user, "<span class='warning'>The ingredient is too big for [src]!</span>")
|
||||
else if(contents.len >= 20)
|
||||
user << "<span class='warning'>You can't add more ingredients to [src]!</span>"
|
||||
to_chat(user, "<span class='warning'>You can't add more ingredients to [src]!</span>")
|
||||
else
|
||||
if(reagents.has_reagent("water", 10)) //are we starting a soup or a salad?
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/customizable/A = new/obj/item/weapon/reagent_containers/food/snacks/customizable/soup(get_turf(src))
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
if(!eatverb)
|
||||
eatverb = pick("bite","chew","nibble","gnaw","gobble","chomp")
|
||||
if(!reagents.total_volume) //Shouldn't be needed but it checks to see if it has anything left in it.
|
||||
user << "<span class='notice'>None of [src] left, oh no!</span>"
|
||||
to_chat(user, "<span class='notice'>None of [src] left, oh no!</span>")
|
||||
qdel(src)
|
||||
return 0
|
||||
if(iscarbon(M))
|
||||
@@ -66,19 +66,19 @@
|
||||
|
||||
if(M == user) //If you're eating it yourself.
|
||||
if(junkiness && M.satiety < -150 && M.nutrition > NUTRITION_LEVEL_STARVING + 50 )
|
||||
M << "<span class='notice'>You don't feel like eating any more junk food at the moment.</span>"
|
||||
to_chat(M, "<span class='notice'>You don't feel like eating any more junk food at the moment.</span>")
|
||||
return 0
|
||||
|
||||
else if(fullness <= 50)
|
||||
M << "<span class='notice'>You hungrily [eatverb] some of \the [src] and gobble it down!</span>"
|
||||
to_chat(M, "<span class='notice'>You hungrily [eatverb] some of \the [src] and gobble it down!</span>")
|
||||
else if(fullness > 50 && fullness < 150)
|
||||
M << "<span class='notice'>You hungrily begin to [eatverb] \the [src].</span>"
|
||||
to_chat(M, "<span class='notice'>You hungrily begin to [eatverb] \the [src].</span>")
|
||||
else if(fullness > 150 && fullness < 500)
|
||||
M << "<span class='notice'>You [eatverb] \the [src].</span>"
|
||||
to_chat(M, "<span class='notice'>You [eatverb] \the [src].</span>")
|
||||
else if(fullness > 500 && fullness < 600)
|
||||
M << "<span class='notice'>You unwillingly [eatverb] a bit of \the [src].</span>"
|
||||
to_chat(M, "<span class='notice'>You unwillingly [eatverb] a bit of \the [src].</span>")
|
||||
else if(fullness > (600 * (1 + M.overeatduration / 2000))) // The more you eat - the more you can eat
|
||||
M << "<span class='warning'>You cannot force any more of \the [src] to go down your throat!</span>"
|
||||
to_chat(M, "<span class='warning'>You cannot force any more of \the [src] to go down your throat!</span>")
|
||||
return 0
|
||||
else
|
||||
if(!isbrain(M)) //If you're feeding it to someone else.
|
||||
@@ -97,7 +97,7 @@
|
||||
"<span class='userdanger'>[user] forces [M] to eat [src].</span>")
|
||||
|
||||
else
|
||||
user << "<span class='warning'>[M] doesn't seem to have a mouth!</span>"
|
||||
to_chat(user, "<span class='warning'>[M] doesn't seem to have a mouth!</span>")
|
||||
return
|
||||
|
||||
if(reagents) //Handle ingestion of the reagent.
|
||||
@@ -124,11 +124,11 @@
|
||||
if(bitecount == 0)
|
||||
return
|
||||
else if(bitecount == 1)
|
||||
user << "[src] was bitten by someone!"
|
||||
to_chat(user, "[src] was bitten by someone!")
|
||||
else if(bitecount <= 3)
|
||||
user << "[src] was bitten [bitecount] times!"
|
||||
to_chat(user, "[src] was bitten [bitecount] times!")
|
||||
else
|
||||
user << "[src] was bitten multiple times!"
|
||||
to_chat(user, "[src] was bitten multiple times!")
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/attackby(obj/item/weapon/W, mob/user, params)
|
||||
@@ -139,13 +139,13 @@
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/S = W
|
||||
if(custom_food_type && ispath(custom_food_type))
|
||||
if(S.w_class > WEIGHT_CLASS_SMALL)
|
||||
user << "<span class='warning'>[S] is too big for [src]!</span>"
|
||||
to_chat(user, "<span class='warning'>[S] is too big for [src]!</span>")
|
||||
return 0
|
||||
if(!S.customfoodfilling || istype(W, /obj/item/weapon/reagent_containers/food/snacks/customizable) || istype(W, /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/custom) || istype(W, /obj/item/weapon/reagent_containers/food/snacks/cakeslice/custom))
|
||||
user << "<span class='warning'>[src] can't be filled with [S]!</span>"
|
||||
to_chat(user, "<span class='warning'>[src] can't be filled with [S]!</span>")
|
||||
return 0
|
||||
if(contents.len >= 20)
|
||||
user << "<span class='warning'>You can't add more ingredients to [src]!</span>"
|
||||
to_chat(user, "<span class='warning'>You can't add more ingredients to [src]!</span>")
|
||||
return 0
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/customizable/C = new custom_food_type(get_turf(src))
|
||||
C.initialize_custom_food(src, S, user)
|
||||
@@ -190,7 +190,7 @@
|
||||
!(locate(/obj/structure/table/optable) in src.loc) && \
|
||||
!(locate(/obj/item/weapon/storage/bag/tray) in src.loc) \
|
||||
)
|
||||
user << "<span class='warning'>You cannot slice [src] here! You need a table or at least a tray.</span>"
|
||||
to_chat(user, "<span class='warning'>You cannot slice [src] here! You need a table or at least a tray.</span>")
|
||||
return 1
|
||||
|
||||
var/slices_lost = 0
|
||||
@@ -334,9 +334,9 @@
|
||||
if(!iscarbon(user))
|
||||
return 0
|
||||
if(contents.len >= 20)
|
||||
user << "<span class='warning'>[src] is full.</span>"
|
||||
to_chat(user, "<span class='warning'>[src] is full.</span>")
|
||||
return 0
|
||||
user << "<span class='notice'>You slip [W] inside [src].</span>"
|
||||
to_chat(user, "<span class='notice'>You slip [W] inside [src].</span>")
|
||||
user.transferItemToLoc(W, src)
|
||||
add_fingerprint(user)
|
||||
contents += W
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
if(istype(I, /obj/item/weapon/kitchen/rollingpin))
|
||||
if(isturf(loc))
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/flatdough(loc)
|
||||
user << "<span class='notice'>You flatten [src].</span>"
|
||||
to_chat(user, "<span class='notice'>You flatten [src].</span>")
|
||||
qdel(src)
|
||||
else
|
||||
user << "<span class='warning'>You need to put [src] on a surface to roll it out!</span>"
|
||||
to_chat(user, "<span class='warning'>You need to put [src] on a surface to roll it out!</span>")
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -85,10 +85,10 @@
|
||||
if(istype(I, /obj/item/weapon/kitchen/rollingpin))
|
||||
if(isturf(loc))
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/piedough(loc)
|
||||
user << "<span class='notice'>You flatten [src].</span>"
|
||||
to_chat(user, "<span class='notice'>You flatten [src].</span>")
|
||||
qdel(src)
|
||||
else
|
||||
user << "<span class='warning'>You need to put [src] on a surface to roll it out!</span>"
|
||||
to_chat(user, "<span class='warning'>You need to put [src] on a surface to roll it out!</span>")
|
||||
else
|
||||
..()
|
||||
|
||||
|
||||
@@ -32,10 +32,10 @@
|
||||
var/clr = C.item_color
|
||||
|
||||
if(!(clr in list("blue", "green", "mime", "orange", "purple", "rainbow", "red", "yellow")))
|
||||
usr << "<span class='notice'>[src] refuses to take on this colour!</span>"
|
||||
to_chat(usr, "<span class='notice'>[src] refuses to take on this colour!</span>")
|
||||
return
|
||||
|
||||
usr << "<span class='notice'>You colour [src] [clr].</span>"
|
||||
to_chat(usr, "<span class='notice'>You colour [src] [clr].</span>")
|
||||
icon_state = "egg-[clr]"
|
||||
item_color = clr
|
||||
else
|
||||
@@ -115,7 +115,7 @@
|
||||
if(istype(W,/obj/item/weapon/kitchen/fork))
|
||||
var/obj/item/weapon/kitchen/fork/F = W
|
||||
if(F.forkload)
|
||||
user << "<span class='warning'>You already have omelette on your fork!</span>"
|
||||
to_chat(user, "<span class='warning'>You already have omelette on your fork!</span>")
|
||||
else
|
||||
F.icon_state = "forkloaded"
|
||||
user.visible_message("[user] takes a piece of omelette with their fork!", \
|
||||
|
||||
@@ -46,14 +46,14 @@ insert ascii eagle on american flag background here
|
||||
/obj/machinery/deepfryer/examine()
|
||||
..()
|
||||
if(frying)
|
||||
usr << "You can make out [frying] in the oil."
|
||||
to_chat(usr, "You can make out [frying] in the oil.")
|
||||
|
||||
/obj/machinery/deepfryer/attackby(obj/item/I, mob/user)
|
||||
if(!reagents.total_volume)
|
||||
user << "There's nothing to fry with in [src]!"
|
||||
to_chat(user, "There's nothing to fry with in [src]!")
|
||||
return
|
||||
if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/deepfryholder))
|
||||
user << "<span class='userdanger'>Your cooking skills are not up to the legendary Doublefry technique.</span>"
|
||||
to_chat(user, "<span class='userdanger'>Your cooking skills are not up to the legendary Doublefry technique.</span>")
|
||||
return
|
||||
if(default_unfasten_wrench(user, I))
|
||||
return
|
||||
@@ -65,7 +65,7 @@ insert ascii eagle on american flag background here
|
||||
if(is_type_in_typecache(I, blacklisted_items))
|
||||
. = ..()
|
||||
else if(user.drop_item() && !frying)
|
||||
user << "<span class='notice'>You put [I] into [src].</span>"
|
||||
to_chat(user, "<span class='notice'>You put [I] into [src].</span>")
|
||||
frying = I
|
||||
frying.forceMove(src)
|
||||
icon_state = "fryer_on"
|
||||
@@ -86,7 +86,7 @@ insert ascii eagle on american flag background here
|
||||
/obj/machinery/deepfryer/attack_hand(mob/user)
|
||||
if(frying)
|
||||
if(frying.loc == src)
|
||||
user << "<span class='notice'>You eject [frying] from [src].</span>"
|
||||
to_chat(user, "<span class='notice'>You eject [frying] from [src].</span>")
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/deepfryholder/S = new(get_turf(src))
|
||||
if(istype(frying, /obj/item/weapon/reagent_containers/))
|
||||
var/obj/item/weapon/reagent_containers/food = frying
|
||||
@@ -124,7 +124,7 @@ insert ascii eagle on american flag background here
|
||||
return
|
||||
else if(user.pulling && user.a_intent == "grab" && iscarbon(user.pulling) && reagents.total_volume)
|
||||
if(user.grab_state < GRAB_AGGRESSIVE)
|
||||
user << "<span class='warning'>You need a better grip to do that!</span>"
|
||||
to_chat(user, "<span class='warning'>You need a better grip to do that!</span>")
|
||||
return
|
||||
var/mob/living/carbon/C = user.pulling
|
||||
user.visible_message("<span class = 'danger'>[user] dunks [C]'s face in [src]!</span>")
|
||||
|
||||
@@ -74,10 +74,10 @@
|
||||
return
|
||||
qdel(DG)
|
||||
glasses++
|
||||
user << "<span class='notice'>The [src] accepts the drinking glass, sterilizing it.</span>"
|
||||
to_chat(user, "<span class='notice'>The [src] accepts the drinking glass, sterilizing it.</span>")
|
||||
else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks))
|
||||
if(isFull())
|
||||
user << "<span class='warning'>The [src] is at full capacity.</span>"
|
||||
to_chat(user, "<span class='warning'>The [src] is at full capacity.</span>")
|
||||
else
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/S = O
|
||||
if(!user.drop_item())
|
||||
@@ -92,12 +92,12 @@
|
||||
if(G.get_amount() >= 1)
|
||||
G.use(1)
|
||||
glasses += 4
|
||||
user << "<span class='notice'>The [src] accepts a sheet of glass.</span>"
|
||||
to_chat(user, "<span class='notice'>The [src] accepts a sheet of glass.</span>")
|
||||
else if(istype(O, /obj/item/weapon/storage/bag/tray))
|
||||
var/obj/item/weapon/storage/bag/tray/T = O
|
||||
for(var/obj/item/weapon/reagent_containers/food/snacks/S in T.contents)
|
||||
if(isFull())
|
||||
user << "<span class='warning'>The [src] is at full capacity.</span>"
|
||||
to_chat(user, "<span class='warning'>The [src] is at full capacity.</span>")
|
||||
break
|
||||
else
|
||||
T.remove_from_storage(S, src)
|
||||
@@ -132,7 +132,7 @@
|
||||
|
||||
if(href_list["pour"] || href_list["m_pour"])
|
||||
if(glasses-- <= 0)
|
||||
usr << "<span class='warning'>There are no glasses left!</span>"
|
||||
to_chat(usr, "<span class='warning'>There are no glasses left!</span>")
|
||||
glasses = 0
|
||||
else
|
||||
var/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/DG = new(loc)
|
||||
@@ -143,11 +143,11 @@
|
||||
|
||||
if(href_list["mix"])
|
||||
if(reagents.trans_id_to(mixer, href_list["mix"], portion) == 0)
|
||||
usr << "<span class='warning'>The [mixer] is full!</span>"
|
||||
to_chat(usr, "<span class='warning'>The [mixer] is full!</span>")
|
||||
|
||||
if(href_list["transfer"])
|
||||
if(mixer.reagents.trans_id_to(src, href_list["transfer"], portion) == 0)
|
||||
usr << "<span class='warning'>The [src] is full!</span>"
|
||||
to_chat(usr, "<span class='warning'>The [src] is full!</span>")
|
||||
|
||||
updateDialog()
|
||||
|
||||
|
||||
@@ -92,20 +92,20 @@
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
if(operating)
|
||||
user << "<span class='danger'>It's locked and running.</span>"
|
||||
to_chat(user, "<span class='danger'>It's locked and running.</span>")
|
||||
return
|
||||
|
||||
if(user.pulling && user.a_intent == INTENT_GRAB && isliving(user.pulling))
|
||||
var/mob/living/L = user.pulling
|
||||
if(!iscarbon(L))
|
||||
user << "<span class='danger'>This item is not suitable for the gibber!</span>"
|
||||
to_chat(user, "<span class='danger'>This item is not suitable for the gibber!</span>")
|
||||
return
|
||||
var/mob/living/carbon/C = L
|
||||
if(C.buckled ||C.has_buckled_mobs())
|
||||
user << "<span class='warning'>[C] is attached to something!</span>"
|
||||
to_chat(user, "<span class='warning'>[C] is attached to something!</span>")
|
||||
return
|
||||
if(C.abiotic(1) && !ignore_clothing)
|
||||
user << "<span class='danger'>Subject may not have abiotic items on.</span>"
|
||||
to_chat(user, "<span class='danger'>Subject may not have abiotic items on.</span>")
|
||||
return
|
||||
|
||||
user.visible_message("<span class='danger'>[user] starts to put [C] into the gibber!</span>")
|
||||
|
||||
@@ -106,9 +106,9 @@
|
||||
if(I.reagents.total_volume < 10)
|
||||
I.reagents.add_reagent("sugar", 10 - I.reagents.total_volume)
|
||||
else
|
||||
user << "<span class='warning'>There is not enough ice cream left!</span>"
|
||||
to_chat(user, "<span class='warning'>There is not enough ice cream left!</span>")
|
||||
else
|
||||
user << "<span class='notice'>[O] already has ice cream in it.</span>"
|
||||
to_chat(user, "<span class='notice'>[O] already has ice cream in it.</span>")
|
||||
return 1
|
||||
else if(O.is_open_container())
|
||||
return
|
||||
@@ -131,7 +131,7 @@
|
||||
else
|
||||
src.visible_message("<span class='info'>[user] whips up some [flavour] icecream.</span>")
|
||||
else
|
||||
user << "<span class='warning'>You don't have the ingredients to make this!</span>"
|
||||
to_chat(user, "<span class='warning'>You don't have the ingredients to make this!</span>")
|
||||
|
||||
/obj/machinery/icecream_vat/Topic(href, href_list)
|
||||
if(..())
|
||||
@@ -158,7 +158,7 @@
|
||||
I.desc = "Delicious [cone_name] cone, but no ice cream."
|
||||
src.visible_message("<span class='info'>[usr] dispenses a crunchy [cone_name] cone from [src].</span>")
|
||||
else
|
||||
usr << "<span class='warning'>There are no [cone_name] cones left!</span>"
|
||||
to_chat(usr, "<span class='warning'>There are no [cone_name] cones left!</span>")
|
||||
|
||||
if(href_list["make"])
|
||||
var/amount = (text2num(href_list["amount"]))
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
return 1
|
||||
else
|
||||
if(!user.transferItemToLoc(O, src))
|
||||
user << "<span class='warning'>\the [O] is stuck to your hand, you cannot put it in \the [src]!</span>"
|
||||
to_chat(user, "<span class='warning'>\the [O] is stuck to your hand, you cannot put it in \the [src]!</span>")
|
||||
return 0
|
||||
beaker = O
|
||||
src.verbs += /obj/machinery/juicer/verb/detach
|
||||
@@ -55,10 +55,10 @@
|
||||
src.updateUsrDialog()
|
||||
return 0
|
||||
if (!is_type_in_list(O, allowed_items))
|
||||
user << "This object contains no fluid or extractable reagents."
|
||||
to_chat(user, "This object contains no fluid or extractable reagents.")
|
||||
return 1
|
||||
if(!user.transferItemToLoc(O, src))
|
||||
user << "<span class='warning'>\the [O] is stuck to your hand, you cannot put it in \the [src]!</span>"
|
||||
to_chat(user, "<span class='warning'>\the [O] is stuck to your hand, you cannot put it in \the [src]!</span>")
|
||||
return 0
|
||||
src.updateUsrDialog()
|
||||
return 0
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
src.container_type = OPENCONTAINER
|
||||
return 0 //to use some fuel
|
||||
else
|
||||
user << "<span class='warning'>It's broken!</span>"
|
||||
to_chat(user, "<span class='warning'>It's broken!</span>")
|
||||
return 1
|
||||
else if(istype(O, /obj/item/weapon/reagent_containers/spray/))
|
||||
var/obj/item/weapon/reagent_containers/spray/clean_spray = O
|
||||
@@ -113,7 +113,7 @@
|
||||
src.updateUsrDialog()
|
||||
return 1 // Disables the after-attack so we don't spray the floor/user.
|
||||
else
|
||||
user << "<span class='warning'>You need more space cleaner!<span>"
|
||||
to_chat(user, "<span class='warning'>You need more space cleaner!<span>")
|
||||
return 1
|
||||
|
||||
else if(istype(O, /obj/item/weapon/soap/)) // If they're trying to clean it then let them
|
||||
@@ -133,7 +133,7 @@
|
||||
src.container_type = OPENCONTAINER
|
||||
|
||||
else if(src.dirty==100) // The microwave is all dirty so can't be used!
|
||||
user << "<span class='warning'>It's dirty!</span>"
|
||||
to_chat(user, "<span class='warning'>It's dirty!</span>")
|
||||
return 1
|
||||
|
||||
else if(istype(O, /obj/item/weapon/storage/bag/tray))
|
||||
@@ -141,22 +141,22 @@
|
||||
var/loaded = 0
|
||||
for(var/obj/item/weapon/reagent_containers/food/snacks/S in T.contents)
|
||||
if (contents.len>=max_n_of_items)
|
||||
user << "<span class='warning'>[src] is full, you can't put anything in!</span>"
|
||||
to_chat(user, "<span class='warning'>[src] is full, you can't put anything in!</span>")
|
||||
return 1
|
||||
T.remove_from_storage(S, src)
|
||||
loaded++
|
||||
|
||||
if(loaded)
|
||||
user << "<span class='notice'>You insert [loaded] items into [src].</span>"
|
||||
to_chat(user, "<span class='notice'>You insert [loaded] items into [src].</span>")
|
||||
|
||||
|
||||
else if(O.w_class <= WEIGHT_CLASS_NORMAL && !istype(O,/obj/item/weapon/storage) && user.a_intent == INTENT_HELP)
|
||||
if (contents.len>=max_n_of_items)
|
||||
user << "<span class='warning'>[src] is full, you can't put anything in!</span>"
|
||||
to_chat(user, "<span class='warning'>[src] is full, you can't put anything in!</span>")
|
||||
return 1
|
||||
else
|
||||
if(!user.drop_item())
|
||||
user << "<span class='warning'>\the [O] is stuck to your hand, you cannot put it in \the [src]!</span>"
|
||||
to_chat(user, "<span class='warning'>\the [O] is stuck to your hand, you cannot put it in \the [src]!</span>")
|
||||
return 0
|
||||
|
||||
O.loc = src
|
||||
@@ -296,7 +296,7 @@
|
||||
/obj/machinery/microwave/proc/dispose()
|
||||
for (var/obj/O in contents)
|
||||
O.loc = src.loc
|
||||
usr << "<span class='notice'>You dispose of the microwave contents.</span>"
|
||||
to_chat(usr, "<span class='notice'>You dispose of the microwave contents.</span>")
|
||||
updateUsrDialog()
|
||||
|
||||
/obj/machinery/microwave/proc/muck_start()
|
||||
|
||||
@@ -70,13 +70,13 @@
|
||||
if(!istype(target))
|
||||
return
|
||||
if(target.stat == 0)
|
||||
user << "<span class='warning'>The monkey is struggling far too much to put it in the recycler.</span>"
|
||||
to_chat(user, "<span class='warning'>The monkey is struggling far too much to put it in the recycler.</span>")
|
||||
return
|
||||
if(target.buckled || target.has_buckled_mobs())
|
||||
user << "<span class='warning'>The monkey is attached to something.</span>"
|
||||
to_chat(user, "<span class='warning'>The monkey is attached to something.</span>")
|
||||
return
|
||||
qdel(target)
|
||||
user << "<span class='notice'>You stuff the monkey into the machine.</span>"
|
||||
to_chat(user, "<span class='notice'>You stuff the monkey into the machine.</span>")
|
||||
playsound(src.loc, 'sound/machines/juicer.ogg', 50, 1)
|
||||
var/offset = prob(50) ? -2 : 2
|
||||
animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = 200) //start shaking
|
||||
@@ -84,19 +84,19 @@
|
||||
grinded++
|
||||
sleep(50)
|
||||
pixel_x = initial(pixel_x) //return to its spot after shaking
|
||||
user << "<span class='notice'>The machine now has [grinded] monkey\s worth of material stored.</span>"
|
||||
to_chat(user, "<span class='notice'>The machine now has [grinded] monkey\s worth of material stored.</span>")
|
||||
|
||||
|
||||
/obj/machinery/monkey_recycler/attack_hand(mob/user)
|
||||
if (src.stat != 0) //NOPOWER etc
|
||||
return
|
||||
if(grinded >= required_grind)
|
||||
user << "<span class='notice'>The machine hisses loudly as it condenses the grinded monkey meat. After a moment, it dispenses a brand new monkey cube.</span>"
|
||||
to_chat(user, "<span class='notice'>The machine hisses loudly as it condenses the grinded monkey meat. After a moment, it dispenses a brand new monkey cube.</span>")
|
||||
playsound(src.loc, 'sound/machines/hiss.ogg', 50, 1)
|
||||
grinded -= required_grind
|
||||
for(var/i = 0, i < cube_production, i++)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/monkeycube(src.loc)
|
||||
user << "<span class='notice'>The machine's display flashes that it has [grinded] monkeys worth of material left.</span>"
|
||||
to_chat(user, "<span class='notice'>The machine's display flashes that it has [grinded] monkeys worth of material left.</span>")
|
||||
else
|
||||
user << "<span class='danger'>The machine needs at least [required_grind] monkey(s) worth of material to produce a monkey cube. It only has [grinded].</span>"
|
||||
to_chat(user, "<span class='danger'>The machine needs at least [required_grind] monkey(s) worth of material to produce a monkey cube. It only has [grinded].</span>")
|
||||
return
|
||||
|
||||
@@ -37,11 +37,11 @@
|
||||
if(build_path == /obj/machinery/processor)
|
||||
name = "Slime Processor (Machine Board)"
|
||||
build_path = /obj/machinery/processor/slime
|
||||
user << "<span class='notice'>Name protocols successfully updated.</span>"
|
||||
to_chat(user, "<span class='notice'>Name protocols successfully updated.</span>")
|
||||
else
|
||||
name = "Food Processor (Machine Board)"
|
||||
build_path = /obj/machinery/processor
|
||||
user << "<span class='notice'>Defaulting name protocols.</span>"
|
||||
to_chat(user, "<span class='notice'>Defaulting name protocols.</span>")
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -191,7 +191,7 @@
|
||||
|
||||
/obj/machinery/processor/attackby(obj/item/O, mob/user, params)
|
||||
if(src.processing)
|
||||
user << "<span class='warning'>The processor is in the process of processing!</span>"
|
||||
to_chat(user, "<span class='warning'>The processor is in the process of processing!</span>")
|
||||
return 1
|
||||
if(default_deconstruction_screwdriver(user, "processor", "processor1", O))
|
||||
return
|
||||
@@ -218,9 +218,9 @@
|
||||
loaded++
|
||||
|
||||
if(loaded)
|
||||
user << "<span class='notice'>You insert [loaded] items into [src].</span>"
|
||||
to_chat(user, "<span class='notice'>You insert [loaded] items into [src].</span>")
|
||||
return
|
||||
|
||||
|
||||
var/datum/food_processor_process/P = select_recipe(O)
|
||||
if(P)
|
||||
user.visible_message("[user] put [O] into [src].", \
|
||||
@@ -230,7 +230,7 @@
|
||||
return 1
|
||||
else
|
||||
if(user.a_intent != INTENT_HARM)
|
||||
user << "<span class='warning'>That probably won't blend!</span>"
|
||||
to_chat(user, "<span class='warning'>That probably won't blend!</span>")
|
||||
return 1
|
||||
else
|
||||
return ..()
|
||||
@@ -239,11 +239,11 @@
|
||||
if (src.stat != 0) //NOPOWER etc
|
||||
return
|
||||
if(src.processing)
|
||||
user << "<span class='warning'>The processor is in the process of processing!</span>"
|
||||
to_chat(user, "<span class='warning'>The processor is in the process of processing!</span>")
|
||||
return 1
|
||||
if(user.a_intent == INTENT_GRAB && user.pulling && (isslime(user.pulling) || ismonkey(user.pulling)))
|
||||
if(user.grab_state < GRAB_AGGRESSIVE)
|
||||
user << "<span class='warning'>You need a better grip to do that!</span>"
|
||||
to_chat(user, "<span class='warning'>You need a better grip to do that!</span>")
|
||||
return
|
||||
var/mob/living/pushed_mob = user.pulling
|
||||
visible_message("<span class='warner'>[user] stuffs [pushed_mob] into [src]!</span>")
|
||||
@@ -251,7 +251,7 @@
|
||||
user.stop_pulling()
|
||||
return
|
||||
if(src.contents.len == 0)
|
||||
user << "<span class='warning'>The processor is empty!</span>"
|
||||
to_chat(user, "<span class='warning'>The processor is empty!</span>")
|
||||
return 1
|
||||
src.processing = 1
|
||||
user.visible_message("[user] turns on [src].", \
|
||||
|
||||
@@ -47,13 +47,13 @@
|
||||
var/position = fridges.Find(build_path, fridges)
|
||||
position = (position == fridges.len) ? 1 : (position + 1)
|
||||
build_path = fridges[position]
|
||||
user << "<span class='notice'>You set the board to [fridges[build_path]].</span>"
|
||||
to_chat(user, "<span class='notice'>You set the board to [fridges[build_path]].</span>")
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/smartfridge/examine/(mob/user)
|
||||
..()
|
||||
user << "<span class='info'>[src] is set to [fridges[build_path]]. You can use a screwdriver to reconfigure it.</span>"
|
||||
to_chat(user, "<span class='info'>[src] is set to [fridges[build_path]]. You can use a screwdriver to reconfigure it.</span>")
|
||||
|
||||
/obj/machinery/smartfridge/RefreshParts()
|
||||
for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts)
|
||||
@@ -96,7 +96,7 @@
|
||||
if(!stat)
|
||||
|
||||
if(contents.len >= max_n_of_items)
|
||||
user << "<span class='warning'>\The [src] is full!</span>"
|
||||
to_chat(user, "<span class='warning'>\The [src] is full!</span>")
|
||||
return FALSE
|
||||
|
||||
if(accept_check(O))
|
||||
@@ -124,14 +124,14 @@
|
||||
user.visible_message("[user] loads \the [src] with \the [O].", \
|
||||
"<span class='notice'>You load \the [src] with \the [O].</span>")
|
||||
if(O.contents.len > 0)
|
||||
user << "<span class='warning'>Some items are refused.</span>"
|
||||
to_chat(user, "<span class='warning'>Some items are refused.</span>")
|
||||
return TRUE
|
||||
else
|
||||
user << "<span class='warning'>There is nothing in [O] to put in [src]!</span>"
|
||||
to_chat(user, "<span class='warning'>There is nothing in [O] to put in [src]!</span>")
|
||||
return FALSE
|
||||
|
||||
if(user.a_intent != INTENT_HARM)
|
||||
user << "<span class='warning'>\The [src] smartly refuses [O].</span>"
|
||||
to_chat(user, "<span class='warning'>\The [src] smartly refuses [O].</span>")
|
||||
updateUsrDialog()
|
||||
return FALSE
|
||||
else
|
||||
@@ -148,7 +148,7 @@
|
||||
if(istype(O.loc,/mob))
|
||||
var/mob/M = O.loc
|
||||
if(!M.transferItemToLoc(O, src))
|
||||
usr << "<span class='warning'>\the [O] is stuck to your hand, you cannot put it in \the [src]!</span>"
|
||||
to_chat(usr, "<span class='warning'>\the [O] is stuck to your hand, you cannot put it in \the [src]!</span>")
|
||||
return
|
||||
else
|
||||
if(istype(O.loc,/obj/item/weapon/storage))
|
||||
|
||||
@@ -92,14 +92,14 @@
|
||||
if(open)
|
||||
if(pizza)
|
||||
user.put_in_hands(pizza)
|
||||
user << "<span class='notice'>You take [pizza] out of [src].</span>"
|
||||
to_chat(user, "<span class='notice'>You take [pizza] out of [src].</span>")
|
||||
pizza = null
|
||||
update_icon()
|
||||
return
|
||||
else if(bomb)
|
||||
if(wires.is_all_cut() && bomb_defused)
|
||||
user.put_in_hands(bomb)
|
||||
user << "<span class='notice'>You carefully remove the [bomb] from [src].</span>"
|
||||
to_chat(user, "<span class='notice'>You carefully remove the [bomb] from [src].</span>")
|
||||
bomb = null
|
||||
update_icon()
|
||||
return
|
||||
@@ -114,14 +114,14 @@
|
||||
log_game("[key_name(user)] has trapped a [src] with [bomb] set to [bomb_timer * 2] seconds.")
|
||||
bomb.adminlog = "The [bomb.name] in [src.name] that [key_name(user)] activated has detonated!"
|
||||
|
||||
user << "<span class='warning'>You trap [src] with [bomb].</span>"
|
||||
to_chat(user, "<span class='warning'>You trap [src] with [bomb].</span>")
|
||||
update_icon()
|
||||
return
|
||||
else if(boxes.len)
|
||||
var/obj/item/pizzabox/topbox = boxes[boxes.len]
|
||||
boxes -= topbox
|
||||
user.put_in_hands(topbox)
|
||||
user << "<span class='notice'>You remove the topmost [name] from the stack.</span>"
|
||||
to_chat(user, "<span class='notice'>You remove the topmost [name] from the stack.</span>")
|
||||
topbox.update_icon()
|
||||
update_icon()
|
||||
return
|
||||
@@ -141,21 +141,21 @@
|
||||
boxes += add
|
||||
newbox.boxes.Cut()
|
||||
newbox.loc = src
|
||||
user << "<span class='notice'>You put [newbox] on top of [src]!</span>"
|
||||
to_chat(user, "<span class='notice'>You put [newbox] on top of [src]!</span>")
|
||||
newbox.update_icon()
|
||||
update_icon()
|
||||
return
|
||||
else
|
||||
user << "<span class='notice'>The stack is dangerously high!</span>"
|
||||
to_chat(user, "<span class='notice'>The stack is dangerously high!</span>")
|
||||
else
|
||||
user << "<span class='notice'>Close [open ? src : newbox] first!</span>"
|
||||
to_chat(user, "<span class='notice'>Close [open ? src : newbox] first!</span>")
|
||||
else if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/pizza) || istype(I, /obj/item/weapon/reagent_containers/food/snacks/customizable/pizza))
|
||||
if(open)
|
||||
if(!user.drop_item())
|
||||
return
|
||||
pizza = I
|
||||
I.loc = src
|
||||
user << "<span class='notice'>You put [I] in [src].</span>"
|
||||
to_chat(user, "<span class='notice'>You put [I] in [src].</span>")
|
||||
update_icon()
|
||||
return
|
||||
else if(istype(I, /obj/item/weapon/bombcore/pizza))
|
||||
@@ -165,23 +165,23 @@
|
||||
wires = new /datum/wires/explosive/pizza(src)
|
||||
bomb = I
|
||||
I.loc = src
|
||||
user << "<span class='notice'>You put [I] in [src]. Sneeki breeki...</span>"
|
||||
to_chat(user, "<span class='notice'>You put [I] in [src]. Sneeki breeki...</span>")
|
||||
update_icon()
|
||||
return
|
||||
else if(bomb)
|
||||
user << "<span class='notice'>[src] already has a bomb in it!</span>"
|
||||
to_chat(user, "<span class='notice'>[src] already has a bomb in it!</span>")
|
||||
else if(istype(I, /obj/item/weapon/pen))
|
||||
if(!open)
|
||||
var/obj/item/pizzabox/box = boxes.len ? boxes[boxes.len] : src
|
||||
box.boxtag += stripped_input(user, "Write on [box]'s tag:", box, "", 30)
|
||||
user << "<span class='notice'>You write with [I] on [src].</span>"
|
||||
to_chat(user, "<span class='notice'>You write with [I] on [src].</span>")
|
||||
update_icon()
|
||||
return
|
||||
else if(is_wire_tool(I))
|
||||
if(wires && bomb)
|
||||
wires.interact(user)
|
||||
else if(istype(I, /obj/item/weapon/reagent_containers/food))
|
||||
user << "<span class='notice'>That's not a pizza!</span>"
|
||||
to_chat(user, "<span class='notice'>That's not a pizza!</span>")
|
||||
..()
|
||||
|
||||
/obj/item/pizzabox/process()
|
||||
|
||||
Reference in New Issue
Block a user