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:
@@ -32,6 +32,7 @@
|
||||
desc = "A backpack that opens into a localized pocket of Blue Space."
|
||||
origin_tech = "bluespace=5;materials=4;engineering=4;plasmatech=5"
|
||||
icon_state = "holdingpack"
|
||||
item_state = "holdingpack"
|
||||
max_w_class = WEIGHT_CLASS_GIGANTIC
|
||||
max_combined_w_class = 35
|
||||
resistance_flags = FIRE_PROOF
|
||||
@@ -59,7 +60,7 @@
|
||||
playsound(src, pshoom, 40, 1)
|
||||
user.Beam(dest_object,icon_state="rped_upgrade",time=5)
|
||||
return 1
|
||||
user << "The [src.name] buzzes."
|
||||
to_chat(user, "The [src.name] buzzes.")
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0)
|
||||
return 0
|
||||
|
||||
@@ -69,7 +70,7 @@
|
||||
if(safety == "Abort" || !in_range(src, user) || !src || !W || user.incapacitated())
|
||||
return
|
||||
investigate_log("has become a singularity. Caused by [user.key]","singulo")
|
||||
user << "<span class='danger'>The Bluespace interfaces of the two devices catastrophically malfunction!</span>"
|
||||
to_chat(user, "<span class='danger'>The Bluespace interfaces of the two devices catastrophically malfunction!</span>")
|
||||
qdel(W)
|
||||
var/obj/singularity/singulo = new /obj/singularity (get_turf(src))
|
||||
singulo.energy = 300 //should make it a bit bigger~
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
max_combined_w_class = 100 //Doesn't matter what this is, so long as it's more or equal to storage_slots * plants.w_class
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/weapon/grown,/obj/item/weapon/reagent_containers/food/snacks/ash_flora)
|
||||
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/weapon/grown,/obj/item/weapon/reagent_containers/food/snacks/ash_flora,/obj/item/weapon/reagent_containers/honeycomb)
|
||||
resistance_flags = FLAMMABLE
|
||||
|
||||
////////
|
||||
@@ -159,14 +159,14 @@
|
||||
/obj/item/weapon/storage/bag/sheetsnatcher/can_be_inserted(obj/item/W, stop_messages = 0)
|
||||
if(!istype(W,/obj/item/stack/sheet) || istype(W,/obj/item/stack/sheet/mineral/sandstone) || istype(W,/obj/item/stack/sheet/mineral/wood))
|
||||
if(!stop_messages)
|
||||
usr << "The snatcher does not accept [W]."
|
||||
to_chat(usr, "The snatcher does not accept [W].")
|
||||
return 0 //I don't care, but the existing code rejects them for not being "sheets" *shrug* -Sayu
|
||||
var/current = 0
|
||||
for(var/obj/item/stack/sheet/S in contents)
|
||||
current += S.amount
|
||||
if(capacity == current)//If it's full, you're done
|
||||
if(!stop_messages)
|
||||
usr << "<span class='danger'>The snatcher is full.</span>"
|
||||
to_chat(usr, "<span class='danger'>The snatcher is full.</span>")
|
||||
return 0
|
||||
return 1
|
||||
|
||||
|
||||
@@ -400,6 +400,12 @@
|
||||
)
|
||||
alternate_worn_layer = UNDER_SUIT_LAYER
|
||||
|
||||
/obj/item/weapon/storage/belt/holster/full/New()
|
||||
..()
|
||||
new /obj/item/weapon/gun/ballistic/revolver/detective(src)
|
||||
new /obj/item/ammo_box/c38(src)
|
||||
new /obj/item/ammo_box/c38(src)
|
||||
|
||||
/obj/item/weapon/storage/belt/fannypack
|
||||
name = "fannypack"
|
||||
desc = "A dorky fannypack for keeping small items in."
|
||||
@@ -473,7 +479,7 @@
|
||||
/obj/item/weapon/storage/belt/sabre/examine(mob/user)
|
||||
..()
|
||||
if(contents.len)
|
||||
user << "<span class='notice'>Alt-click it to quickly draw the blade.</span>"
|
||||
to_chat(user, "<span class='notice'>Alt-click it to quickly draw the blade.</span>")
|
||||
|
||||
/obj/item/weapon/storage/belt/sabre/AltClick(mob/user)
|
||||
if(!ishuman(user) || !user.canUseTopic(src, be_close=TRUE))
|
||||
@@ -485,7 +491,7 @@
|
||||
user.put_in_hands(I)
|
||||
update_icon()
|
||||
else
|
||||
user << "[src] is empty."
|
||||
to_chat(user, "[src] is empty.")
|
||||
|
||||
/obj/item/weapon/storage/belt/sabre/update_icon()
|
||||
icon_state = "sheath"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
var/title = "book"
|
||||
|
||||
/obj/item/weapon/storage/book/attack_self(mob/user)
|
||||
user << "<span class='notice'>The pages of [title] have been cut out!</span>"
|
||||
to_chat(user, "<span class='notice'>The pages of [title] have been cut out!</span>")
|
||||
|
||||
var/global/list/biblenames = list("Bible", "Quran", "Scrapbook", "Burning Bible", "Clown Bible", "Banana Bible", "Creeper Bible", "White Bible", "Holy Light", "The God Delusion", "Tome", "The King in Yellow", "Ithaqua", "Scientology", "Melted Bible", "Necronomicon")
|
||||
var/global/list/biblestates = list("bible", "koran", "scrapbook", "burning", "honk1", "honk2", "creeper", "white", "holylight", "atheist", "tome", "kingyellow", "ithaqua", "scientology", "melted", "necronomicon")
|
||||
@@ -69,7 +69,7 @@ var/global/list/bibleitemstates = list("bible", "koran", "scrapbook", "bible",
|
||||
for(var/X in H.bodyparts)
|
||||
var/obj/item/bodypart/BP = X
|
||||
if(BP.status == BODYPART_ROBOTIC)
|
||||
user << "<span class='warning'>[src.deity_name] refuses to heal this metallic taint!</span>"
|
||||
to_chat(user, "<span class='warning'>[src.deity_name] refuses to heal this metallic taint!</span>")
|
||||
return 0
|
||||
|
||||
var/heal_amt = 10
|
||||
@@ -81,18 +81,18 @@ var/global/list/bibleitemstates = list("bible", "koran", "scrapbook", "bible",
|
||||
if(affecting.heal_damage(heal_amt, heal_amt))
|
||||
H.update_damage_overlays()
|
||||
H.visible_message("<span class='notice'>[user] heals [H] with the power of [deity_name]!</span>")
|
||||
H << "<span class='boldnotice'>May the power of [deity_name] compel you to be healed!</span>"
|
||||
to_chat(H, "<span class='boldnotice'>May the power of [deity_name] compel you to be healed!</span>")
|
||||
playsound(src.loc, "punch", 25, 1, -1)
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/storage/book/bible/attack(mob/living/M, mob/living/carbon/human/user)
|
||||
|
||||
if (!user.IsAdvancedToolUser())
|
||||
user << "<span class='warning'>You don't have the dexterity to do this!</span>"
|
||||
to_chat(user, "<span class='warning'>You don't have the dexterity to do this!</span>")
|
||||
return
|
||||
|
||||
if (user.disabilities & CLUMSY && prob(50))
|
||||
user << "<span class='danger'>[src] slips out of your hand and hits your head.</span>"
|
||||
to_chat(user, "<span class='danger'>[src] slips out of your hand and hits your head.</span>")
|
||||
user.take_bodypart_damage(10)
|
||||
user.Paralyse(20)
|
||||
return
|
||||
@@ -102,7 +102,7 @@ var/global/list/bibleitemstates = list("bible", "koran", "scrapbook", "bible",
|
||||
chaplain = 1
|
||||
|
||||
if(!chaplain)
|
||||
user << "<span class='danger'>The book sizzles in your hands.</span>"
|
||||
to_chat(user, "<span class='danger'>The book sizzles in your hands.</span>")
|
||||
user.take_bodypart_damage(0,10)
|
||||
return
|
||||
|
||||
@@ -110,7 +110,7 @@ var/global/list/bibleitemstates = list("bible", "koran", "scrapbook", "bible",
|
||||
|
||||
if (M.stat != DEAD)
|
||||
if(chaplain && user == M)
|
||||
user << "<span class='warning'>You can't heal yourself!</span>"
|
||||
to_chat(user, "<span class='warning'>You can't heal yourself!</span>")
|
||||
return
|
||||
|
||||
if(ishuman(M) && prob(60) && bless(M, user))
|
||||
@@ -119,7 +119,7 @@ var/global/list/bibleitemstates = list("bible", "koran", "scrapbook", "bible",
|
||||
var/mob/living/carbon/C = M
|
||||
if(!istype(C.head, /obj/item/clothing/head/helmet))
|
||||
C.adjustBrainLoss(10)
|
||||
C << "<span class='danger'>You feel dumber.</span>"
|
||||
to_chat(C, "<span class='danger'>You feel dumber.</span>")
|
||||
|
||||
if(smack)
|
||||
M.visible_message("<span class='danger'>[user] beats [M] over the head with [src]!</span>", \
|
||||
@@ -135,18 +135,18 @@ var/global/list/bibleitemstates = list("bible", "koran", "scrapbook", "bible",
|
||||
if(!proximity)
|
||||
return
|
||||
if(isfloorturf(A))
|
||||
user << "<span class='notice'>You hit the floor with the bible.</span>"
|
||||
to_chat(user, "<span class='notice'>You hit the floor with the bible.</span>")
|
||||
if(user.mind && (user.mind.isholy))
|
||||
for(var/obj/effect/rune/R in orange(2,user))
|
||||
R.invisibility = 0
|
||||
if(user.mind && (user.mind.isholy))
|
||||
if(A.reagents && A.reagents.has_reagent("water")) // blesses all the water in the holder
|
||||
user << "<span class='notice'>You bless [A].</span>"
|
||||
to_chat(user, "<span class='notice'>You bless [A].</span>")
|
||||
var/water2holy = A.reagents.get_reagent_amount("water")
|
||||
A.reagents.del_reagent("water")
|
||||
A.reagents.add_reagent("holywater",water2holy)
|
||||
if(A.reagents && A.reagents.has_reagent("unholywater")) // yeah yeah, copy pasted code - sue me
|
||||
user << "<span class='notice'>You purify [A].</span>"
|
||||
to_chat(user, "<span class='notice'>You purify [A].</span>")
|
||||
var/unholy2clean = A.reagents.get_reagent_amount("unholywater")
|
||||
A.reagents.del_reagent("unholywater")
|
||||
A.reagents.add_reagent("holywater",unholy2clean)
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
if(!foldable)
|
||||
return
|
||||
if(contents.len)
|
||||
user << "<span class='warning'>You can't fold this box with items still inside!</span>"
|
||||
to_chat(user, "<span class='warning'>You can't fold this box with items still inside!</span>")
|
||||
return
|
||||
if(!ispath(foldable))
|
||||
return
|
||||
@@ -54,7 +54,7 @@
|
||||
//Close any open UI windows first
|
||||
close_all()
|
||||
|
||||
user << "<span class='notice'>You fold [src] flat.</span>"
|
||||
to_chat(user, "<span class='notice'>You fold [src] flat.</span>")
|
||||
var/obj/item/I = new foldable(get_turf(src))
|
||||
user.drop_item()
|
||||
user.put_in_hands(I)
|
||||
@@ -372,6 +372,7 @@
|
||||
icon_state = "monkeycubebox"
|
||||
storage_slots = 7
|
||||
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube)
|
||||
illustration = null
|
||||
|
||||
/obj/item/weapon/storage/box/monkeycubes/New()
|
||||
..()
|
||||
@@ -639,6 +640,7 @@
|
||||
name = "box of rubber shots"
|
||||
desc = "A box full of rubber shots, designed for riot shotguns."
|
||||
icon_state = "rubbershot_box"
|
||||
illustration = null
|
||||
|
||||
/obj/item/weapon/storage/box/rubbershot/New()
|
||||
..()
|
||||
@@ -649,6 +651,7 @@
|
||||
name = "box of lethal shotgun shots"
|
||||
desc = "A box full of lethal shots, designed for riot shotguns."
|
||||
icon_state = "lethalshot_box"
|
||||
illustration = null
|
||||
|
||||
/obj/item/weapon/storage/box/lethalshot/New()
|
||||
..()
|
||||
@@ -664,6 +667,7 @@
|
||||
name = "box of beanbags"
|
||||
desc = "A box full of beanbag shells."
|
||||
icon_state = "rubbershot_box"
|
||||
illustration = null
|
||||
|
||||
/obj/item/weapon/storage/box/beanbag/New()
|
||||
..()
|
||||
@@ -710,17 +714,17 @@
|
||||
if(istype(W, /obj/item/weapon/pen))
|
||||
//if a pen is used on the sack, dialogue to change its design appears
|
||||
if(contents.len)
|
||||
user << "<span class='warning'>You can't modify this [src] with items still inside!</span>"
|
||||
to_chat(user, "<span class='warning'>You can't modify this [src] with items still inside!</span>")
|
||||
return
|
||||
var/list/designs = list(NODESIGN, NANOTRASEN, SYNDI, HEART, SMILE, "Cancel")
|
||||
var/switchDesign = input("Select a Design:", "Paper Sack Design", designs[1]) in designs
|
||||
if(get_dist(usr, src) > 1)
|
||||
usr << "<span class='warning'>You have moved too far away!</span>"
|
||||
to_chat(usr, "<span class='warning'>You have moved too far away!</span>")
|
||||
return
|
||||
var/choice = designs.Find(switchDesign)
|
||||
if(design == designs[choice] || designs[choice] == "Cancel")
|
||||
return 0
|
||||
usr << "<span class='notice'>You make some modifications to the [src] using your pen.</span>"
|
||||
to_chat(usr, "<span class='notice'>You make some modifications to the [src] using your pen.</span>")
|
||||
design = designs[choice]
|
||||
icon_state = "paperbag_[design]"
|
||||
item_state = "paperbag_[design]"
|
||||
@@ -758,7 +762,7 @@
|
||||
|
||||
/obj/item/weapon/storage/box/ingredients //This box is for the randomely chosen version the chef spawns with, it shouldn't actually exist.
|
||||
name = "ingredients box"
|
||||
icon_state = "donk_kit"
|
||||
illustration = "donk_kit"
|
||||
item_state = null
|
||||
|
||||
/obj/item/weapon/storage/box/ingredients/wildcard
|
||||
|
||||
@@ -38,9 +38,9 @@
|
||||
..()
|
||||
if(fancy_open)
|
||||
if(contents.len == 1)
|
||||
user << "There is one [src.icon_type] left."
|
||||
to_chat(user, "There is one [src.icon_type] left.")
|
||||
else
|
||||
user << "There are [contents.len <= 0 ? "no" : "[src.contents.len]"] [src.icon_type]s left."
|
||||
to_chat(user, "There are [contents.len <= 0 ? "no" : "[src.contents.len]"] [src.icon_type]s left.")
|
||||
|
||||
/obj/item/weapon/storage/fancy/attack_self(mob/user)
|
||||
fancy_open = !fancy_open
|
||||
@@ -177,11 +177,11 @@
|
||||
remove_from_storage(W, M)
|
||||
M.equip_to_slot_if_possible(W, slot_wear_mask)
|
||||
contents -= W
|
||||
user << "<span class='notice'>You take a [icon_type] out of the pack.</span>"
|
||||
to_chat(user, "<span class='notice'>You take a [icon_type] out of the pack.</span>")
|
||||
else
|
||||
..()
|
||||
else
|
||||
user << "<span class='notice'>There are no [icon_type]s left in the pack.</span>"
|
||||
to_chat(user, "<span class='notice'>There are no [icon_type]s left in the pack.</span>")
|
||||
|
||||
/obj/item/weapon/storage/fancy/cigarettes/dromedaryco
|
||||
name = "DromedaryCo"
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
. = ..()
|
||||
if(. && silent && !prevent_warning)
|
||||
if(quickdraw)
|
||||
user << "<span class='notice'>You discreetly slip [W] into [src]. Alt-click [src] to remove it.</span>"
|
||||
to_chat(user, "<span class='notice'>You discreetly slip [W] into [src]. Alt-click [src] to remove it.</span>")
|
||||
else
|
||||
user << "<span class='notice'>You discreetly slip [W] into [src]."
|
||||
to_chat(user, "<span class='notice'>You discreetly slip [W] into [src].")
|
||||
|
||||
/obj/item/weapon/storage/internal/pocket/big
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
@@ -20,31 +20,31 @@
|
||||
/obj/item/weapon/storage/lockbox/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(W.GetID())
|
||||
if(broken)
|
||||
user << "<span class='danger'>It appears to be broken.</span>"
|
||||
to_chat(user, "<span class='danger'>It appears to be broken.</span>")
|
||||
return
|
||||
if(allowed(user))
|
||||
locked = !locked
|
||||
if(locked)
|
||||
icon_state = icon_locked
|
||||
user << "<span class='danger'>You lock the [src.name]!</span>"
|
||||
to_chat(user, "<span class='danger'>You lock the [src.name]!</span>")
|
||||
close_all()
|
||||
return
|
||||
else
|
||||
icon_state = icon_closed
|
||||
user << "<span class='danger'>You unlock the [src.name]!</span>"
|
||||
to_chat(user, "<span class='danger'>You unlock the [src.name]!</span>")
|
||||
return
|
||||
else
|
||||
user << "<span class='danger'>Access Denied.</span>"
|
||||
to_chat(user, "<span class='danger'>Access Denied.</span>")
|
||||
return
|
||||
if(!locked)
|
||||
return ..()
|
||||
else
|
||||
user << "<span class='danger'>It's locked!</span>"
|
||||
to_chat(user, "<span class='danger'>It's locked!</span>")
|
||||
|
||||
/obj/item/weapon/storage/lockbox/MouseDrop(over_object, src_location, over_location)
|
||||
if (locked)
|
||||
src.add_fingerprint(usr)
|
||||
usr << "<span class='warning'>It's locked!</span>"
|
||||
to_chat(usr, "<span class='warning'>It's locked!</span>")
|
||||
return 0
|
||||
..()
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
return
|
||||
/obj/item/weapon/storage/lockbox/show_to(mob/user)
|
||||
if(locked)
|
||||
user << "<span class='warning'>It's locked!</span>"
|
||||
to_chat(user, "<span class='warning'>It's locked!</span>")
|
||||
else
|
||||
..()
|
||||
return
|
||||
@@ -67,7 +67,7 @@
|
||||
//Check the destination item type for contentto.
|
||||
/obj/item/weapon/storage/lockbox/storage_contents_dump_act(obj/item/weapon/storage/src_object, mob/user)
|
||||
if(locked)
|
||||
user << "<span class='warning'>It's locked!</span>"
|
||||
to_chat(user, "<span class='warning'>It's locked!</span>")
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
/obj/item/weapon/storage/secure/examine(mob/user)
|
||||
..()
|
||||
user << text("The service panel is [src.open ? "open" : "closed"].")
|
||||
to_chat(user, text("The service panel is [src.open ? "open" : "closed"]."))
|
||||
|
||||
/obj/item/weapon/storage/secure/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(locked)
|
||||
@@ -64,7 +64,7 @@
|
||||
/obj/item/weapon/storage/secure/MouseDrop(over_object, src_location, over_location)
|
||||
if (locked)
|
||||
src.add_fingerprint(usr)
|
||||
usr << "<span class='warning'>It's locked!</span>"
|
||||
to_chat(usr, "<span class='warning'>It's locked!</span>")
|
||||
return 0
|
||||
..()
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
|
||||
/obj/item/weapon/storage/secure/storage_contents_dump_act(obj/item/weapon/storage/src_object, mob/user)
|
||||
if(locked)
|
||||
user << "<span class='warning'>It's locked!</span>"
|
||||
to_chat(user, "<span class='warning'>It's locked!</span>")
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
|
||||
/obj/item/weapon/storage/secure/briefcase/attack_hand(mob/user)
|
||||
if ((src.loc == user) && (src.locked == 1))
|
||||
usr << "<span class='warning'>[src] is locked and cannot be opened!</span>"
|
||||
to_chat(usr, "<span class='warning'>[src] is locked and cannot be opened!</span>")
|
||||
add_fingerprint(user)
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -268,23 +268,23 @@
|
||||
return 0 //Means the item is already in the storage item
|
||||
if(contents.len >= storage_slots)
|
||||
if(!stop_messages)
|
||||
usr << "<span class='warning'>[src] is full, make some space!</span>"
|
||||
to_chat(usr, "<span class='warning'>[src] is full, make some space!</span>")
|
||||
return 0 //Storage item is full
|
||||
|
||||
if(can_hold.len)
|
||||
if(!is_type_in_typecache(W, can_hold))
|
||||
if(!stop_messages)
|
||||
usr << "<span class='warning'>[src] cannot hold [W]!</span>"
|
||||
to_chat(usr, "<span class='warning'>[src] cannot hold [W]!</span>")
|
||||
return 0
|
||||
|
||||
if(is_type_in_typecache(W, cant_hold)) //Check for specific items which this container can't hold.
|
||||
if(!stop_messages)
|
||||
usr << "<span class='warning'>[src] cannot hold [W]!</span>"
|
||||
to_chat(usr, "<span class='warning'>[src] cannot hold [W]!</span>")
|
||||
return 0
|
||||
|
||||
if(W.w_class > max_w_class)
|
||||
if(!stop_messages)
|
||||
usr << "<span class='warning'>[W] is too big for [src]!</span>"
|
||||
to_chat(usr, "<span class='warning'>[W] is too big for [src]!</span>")
|
||||
return 0
|
||||
|
||||
var/sum_w_class = W.w_class
|
||||
@@ -293,17 +293,17 @@
|
||||
|
||||
if(sum_w_class > max_combined_w_class)
|
||||
if(!stop_messages)
|
||||
usr << "<span class='warning'>[W] won't fit in [src], make some space!</span>"
|
||||
to_chat(usr, "<span class='warning'>[W] won't fit in [src], make some space!</span>")
|
||||
return 0
|
||||
|
||||
if(W.w_class >= w_class && (istype(W, /obj/item/weapon/storage)))
|
||||
if(!istype(src, /obj/item/weapon/storage/backpack/holding)) //bohs should be able to hold backpacks again. The override for putting a boh in a boh is in backpack.dm.
|
||||
if(!stop_messages)
|
||||
usr << "<span class='warning'>[src] cannot hold [W] as it's a storage item of the same size!</span>"
|
||||
to_chat(usr, "<span class='warning'>[src] cannot hold [W] as it's a storage item of the same size!</span>")
|
||||
return 0 //To prevent the stacking of same sized storage items.
|
||||
|
||||
if(W.flags & NODROP) //SHOULD be handled in unEquip, but better safe than sorry.
|
||||
usr << "<span class='warning'>\the [W] is stuck to your hand, you can't put it in \the [src]!</span>"
|
||||
to_chat(usr, "<span class='warning'>\the [W] is stuck to your hand, you can't put it in \the [src]!</span>")
|
||||
return 0
|
||||
|
||||
return 1
|
||||
@@ -341,7 +341,7 @@
|
||||
if(!prevent_warning)
|
||||
for(var/mob/M in viewers(usr, null))
|
||||
if(M == usr)
|
||||
usr << "<span class='notice'>You put [W] [preposition]to [src].</span>"
|
||||
to_chat(usr, "<span class='notice'>You put [W] [preposition]to [src].</span>")
|
||||
else if(in_range(M, usr)) //If someone is standing close enough, they can tell what it is...
|
||||
M.show_message("<span class='notice'>[usr] puts [W] [preposition]to [src].</span>", 1)
|
||||
else if(W && W.w_class >= 3) //Otherwise they can only see large or normal items from a distance...
|
||||
@@ -456,11 +456,11 @@
|
||||
collection_mode = (collection_mode+1)%3
|
||||
switch (collection_mode)
|
||||
if(2)
|
||||
usr << "[src] now picks up all items of a single type at once."
|
||||
to_chat(usr, "[src] now picks up all items of a single type at once.")
|
||||
if(1)
|
||||
usr << "[src] now picks up all items in a tile at once."
|
||||
to_chat(usr, "[src] now picks up all items in a tile at once.")
|
||||
if(0)
|
||||
usr << "[src] now picks up one item at a time."
|
||||
to_chat(usr, "[src] now picks up one item at a time.")
|
||||
|
||||
// Empty all the contents onto the current turf
|
||||
/obj/item/weapon/storage/verb/quick_empty()
|
||||
|
||||
@@ -13,22 +13,23 @@
|
||||
origin_tech = "combat=1;engineering=1"
|
||||
attack_verb = list("robusted")
|
||||
hitsound = 'sound/weapons/smash.ogg'
|
||||
var/hinges = "single_hinge"
|
||||
var/old = FALSE
|
||||
var/latches = "single_latch"
|
||||
var/has_latches = TRUE
|
||||
|
||||
/obj/item/weapon/storage/toolbox/Initialize()
|
||||
..()
|
||||
if(!old)
|
||||
if(has_latches)
|
||||
if(prob(10))
|
||||
hinges = "double_hinge"
|
||||
latches = "double_latch"
|
||||
else if(prob(1))
|
||||
hinges = "triple_hinge"
|
||||
latches = "triple_latch"
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/storage/toolbox/update_icon()
|
||||
..()
|
||||
cut_overlays()
|
||||
add_overlay(image('icons/obj/storage.dmi', "[hinges]"))
|
||||
if(has_latches)
|
||||
add_overlay(image('icons/obj/storage.dmi', "[latches]"))
|
||||
|
||||
|
||||
/obj/item/weapon/storage/toolbox/suicide_act(mob/user)
|
||||
@@ -45,16 +46,19 @@
|
||||
new /obj/item/weapon/crowbar/red(src)
|
||||
new /obj/item/weapon/weldingtool/mini(src)
|
||||
new /obj/item/weapon/extinguisher/mini(src)
|
||||
if(prob(50))
|
||||
new /obj/item/device/flashlight(src)
|
||||
else
|
||||
new /obj/item/device/flashlight/flare(src)
|
||||
switch(rand(1,3))
|
||||
if(1)
|
||||
new /obj/item/device/flashlight(src)
|
||||
if(2)
|
||||
new /obj/item/device/flashlight/glowstick(src)
|
||||
if(3)
|
||||
new /obj/item/device/flashlight/flare(src)
|
||||
new /obj/item/device/radio/off(src)
|
||||
|
||||
/obj/item/weapon/storage/toolbox/emergency/old
|
||||
name = "rusty red toolbox"
|
||||
icon_state = "toolbox_red_old"
|
||||
old = TRUE
|
||||
has_latches = FALSE
|
||||
|
||||
/obj/item/weapon/storage/toolbox/mechanical
|
||||
name = "mechanical toolbox"
|
||||
@@ -73,7 +77,7 @@
|
||||
/obj/item/weapon/storage/toolbox/mechanical/old
|
||||
name = "rusty blue toolbox"
|
||||
icon_state = "toolbox_blue_old"
|
||||
old = TRUE
|
||||
has_latches = FALSE
|
||||
|
||||
/obj/item/weapon/storage/toolbox/electrical
|
||||
name = "electrical toolbox"
|
||||
@@ -133,12 +137,13 @@
|
||||
name = "brass box"
|
||||
desc = "A huge brass box with several indentations in its surface."
|
||||
icon_state = "brassbox"
|
||||
item_state = null
|
||||
has_latches = FALSE
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
max_combined_w_class = 28
|
||||
storage_slots = 28
|
||||
slowdown = 1
|
||||
flags = HANDSLOW
|
||||
attack_verb = list("robusted", "crushed", "smashed")
|
||||
var/proselytizer_type = /obj/item/clockwork/clockwork_proselytizer/scarab
|
||||
|
||||
@@ -183,4 +188,4 @@
|
||||
new/obj/item/stack/cable_coil/pink(src)
|
||||
new/obj/item/stack/cable_coil/orange(src)
|
||||
new/obj/item/stack/cable_coil/cyan(src)
|
||||
new/obj/item/stack/cable_coil/white(src)
|
||||
new/obj/item/stack/cable_coil/white(src)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
/obj/item/weapon/storage/box/syndicate/New()
|
||||
..()
|
||||
switch (pickweight(list("bloodyspai" = 3, "stealth" = 2, "bond" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "lordsingulo" = 1, "darklord" = 1, "sniper" = 1, "metaops" = 1, "ninja" = 1)))
|
||||
switch (pickweight(list("bloodyspai" = 3, "stealth" = 2, "bond" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "darklord" = 1, "sniper" = 1, "metaops" = 1, "ninja" = 1)))
|
||||
if("bloodyspai") // 27 tc now this is more right
|
||||
new /obj/item/clothing/under/chameleon(src) // 2 tc since it's not the full set
|
||||
new /obj/item/clothing/mask/chameleon(src) // Goes with above
|
||||
@@ -128,7 +128,7 @@
|
||||
new /obj/item/weapon/throwing_star(src)
|
||||
new /obj/item/weapon/throwing_star(src)
|
||||
new /obj/item/weapon/throwing_star(src)
|
||||
new /obj/item/weapon/storage/belt/military/assault(src) // 3 tc
|
||||
new /obj/item/weapon/storage/belt/chameleon(src) // Unique but worth at least 2 tc
|
||||
new /obj/item/weapon/card/id/syndicate(src) // 2 tc
|
||||
new /obj/item/device/chameleon(src) // 7 tc
|
||||
|
||||
@@ -315,4 +315,4 @@
|
||||
/obj/item/weapon/storage/box/syndie_kit/mimery/New()
|
||||
..()
|
||||
new /obj/item/weapon/spellbook/oneuse/mimery_blockade(src)
|
||||
new /obj/item/weapon/spellbook/oneuse/mimery_guns(src)
|
||||
new /obj/item/weapon/spellbook/oneuse/mimery_guns(src)
|
||||
|
||||
Reference in New Issue
Block a user