mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-30 03:52:52 +00:00
Currently, a mouse gnawing open a box to get its contents generates about a screen's worth of chatspam. And the same applies to eating a box of raisins or similar large meal. I feel this isn't appropriate for the size of the creature nor the severity of the act. In any case ive come up with a better method. Main attraction of this PR, is that the box nibbling no longer uses visible messages, it only outputs to chat once, when it finally ruptures. In the meantime, any nibbling which doesn't break the box will instead shake it around and make a nibbling sound. Shaking code stolen from locker resist Mice nibbling things is a quiet clicking noise, easy to ignore. so its unintrusive Update: I've now extended this to all animal nibbling, not only boxes, but also on food too. To cut down on chatspam from small animals eating things. The result of this change is that a creature eating a box or a meal is simultaneously easier than before to notice, if you care about it. And easier to ignore, if you don't care. Also included, two bugfixes: Re-adds the reverted console canpass behaviour that was lost a couple patches ago adds a little robustness fix to animals, to deal with an issue where they were getting their stat set back to 0 without properly waking up. still not sure why it happens but now the icons will properly update when they do
842 lines
30 KiB
Plaintext
842 lines
30 KiB
Plaintext
/*
|
|
* Everything derived from the common cardboard box.
|
|
* Basically everything except the original is a kit (starts full).
|
|
*
|
|
* Contains:
|
|
* Empty box, starter boxes (survival/engineer),
|
|
* Latex glove and sterile mask boxes,
|
|
* Syringe, beaker, dna injector boxes,
|
|
* Blanks, flashbangs, and EMP grenade boxes,
|
|
* Tracking and chemical implant boxes,
|
|
* Prescription glasses and drinking glass boxes,
|
|
* Condiment bottle and silly cup boxes,
|
|
* Donkpocket and monkeycube boxes,
|
|
* ID and security PDA cart boxes,
|
|
* Handcuff, mousetrap, and pillbottle boxes,
|
|
* Snap-pops and matchboxes,
|
|
* Replacement light boxes.
|
|
* Kitchen utensil box
|
|
* Random preserved snack box
|
|
* For syndicate call-ins see uplink_kits.dm
|
|
*/
|
|
|
|
/obj/item/weapon/storage/box
|
|
name = "box"
|
|
desc = "It's just an ordinary box."
|
|
icon_state = "box"
|
|
item_state = "syringe_kit"
|
|
var/foldable = /obj/item/stack/material/cardboard // BubbleWrap - if set, can be folded (when empty) into a sheet of cardboard
|
|
var/maxHealth = 20//health is already defined
|
|
|
|
/obj/item/weapon/storage/box/New()
|
|
..()
|
|
health = maxHealth
|
|
|
|
/obj/item/weapon/storage/box/proc/damage(var/severity)
|
|
health -= severity
|
|
check_health()
|
|
|
|
/obj/item/weapon/storage/box/proc/check_health()
|
|
if (health <= 0)
|
|
qdel(src)
|
|
|
|
|
|
/obj/item/weapon/storage/box/attack_generic(var/mob/user)
|
|
|
|
if (istype(user, /mob/living))
|
|
var/mob/living/L = user
|
|
|
|
if (istype(L, /mob/living/carbon/alien/diona) || istype(L, /mob/living/simple_animal) || istype(L, /mob/living/carbon/human))//Monkey-like things do attack_generic, not crew
|
|
var/damage
|
|
if (!L.mob_size)
|
|
damage = 3//A safety incase i forgot to set a mob_size on something
|
|
else
|
|
damage = L.mob_size//he bigger you are, the faster it tears
|
|
|
|
if (!damage || damage <= 0)
|
|
return
|
|
|
|
user.do_attack_animation(src)
|
|
if ((health-damage) <= 0)
|
|
L.visible_message("<span class='danger'>[L] tears open the [src], spilling its contents everywhere!</span>", "<span class='danger'>You tear open the [src], spilling its contents everywhere!</span>")
|
|
spill()
|
|
else
|
|
animate_shake()
|
|
var/toplay = pick(list('sound/effects/creatures/nibble1.ogg','sound/effects/creatures/nibble2.ogg'))
|
|
playsound(loc, toplay, 30, 1)
|
|
damage(damage)
|
|
..()
|
|
|
|
|
|
/obj/item/weapon/storage/box/examine(var/mob/user)
|
|
..()
|
|
if (health < maxHealth)
|
|
if (health >= (maxHealth * 0.5))
|
|
user << span("warning", "It is slightly torn.")
|
|
else
|
|
user << span("danger", "It is full of tears and holes.")
|
|
|
|
// BubbleWrap - A box can be folded up to make card
|
|
/obj/item/weapon/storage/box/attack_self(mob/user as mob)
|
|
if(..()) return
|
|
|
|
//try to fold it.
|
|
if ( contents.len )
|
|
return
|
|
|
|
if ( !ispath(src.foldable) )
|
|
return
|
|
var/found = 0
|
|
// Close any open UI windows first
|
|
for(var/mob/M in range(1))
|
|
if (M.s_active == src)
|
|
src.close(M)
|
|
if ( M == user )
|
|
found = 1
|
|
if ( !found ) // User is too far away
|
|
return
|
|
// Now make the cardboard
|
|
user << "<span class='notice'>You fold [src] flat.</span>"
|
|
new src.foldable(get_turf(src))
|
|
qdel(src)
|
|
|
|
/obj/item/weapon/storage/box/survival
|
|
autodrobe_no_remove = 1
|
|
|
|
/obj/item/weapon/storage/box/survival/New()
|
|
..()
|
|
new /obj/item/clothing/mask/breath( src )
|
|
new /obj/item/weapon/tank/emergency_oxygen(src)
|
|
for(var/obj/item/thing in contents)
|
|
thing.autodrobe_no_remove = 1
|
|
|
|
/obj/item/weapon/storage/box/vox/New()
|
|
..()
|
|
new /obj/item/clothing/mask/breath( src )
|
|
new /obj/item/weapon/tank/emergency_nitrogen( src )
|
|
|
|
/obj/item/weapon/storage/box/engineer
|
|
autodrobe_no_remove = 1
|
|
/obj/item/weapon/storage/box/engineer/New()
|
|
..()
|
|
new /obj/item/clothing/mask/breath( src )
|
|
new /obj/item/weapon/tank/emergency_oxygen/engi( src )
|
|
for(var/obj/item/thing in contents)
|
|
thing.autodrobe_no_remove = 1
|
|
|
|
/obj/item/weapon/storage/box/gloves
|
|
name = "box of sterile gloves"
|
|
desc = "Contains sterile gloves."
|
|
icon_state = "latex"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/clothing/gloves/latex(src)
|
|
new /obj/item/clothing/gloves/latex(src)
|
|
new /obj/item/clothing/gloves/latex(src)
|
|
new /obj/item/clothing/gloves/latex(src)
|
|
new /obj/item/clothing/gloves/latex/nitrile(src)
|
|
new /obj/item/clothing/gloves/latex/nitrile(src)
|
|
new /obj/item/clothing/gloves/latex/nitrile(src)
|
|
|
|
/obj/item/weapon/storage/box/masks
|
|
name = "box of sterile masks"
|
|
desc = "This box contains masks of sterility."
|
|
icon_state = "sterile"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/clothing/mask/surgical(src)
|
|
new /obj/item/clothing/mask/surgical(src)
|
|
new /obj/item/clothing/mask/surgical(src)
|
|
new /obj/item/clothing/mask/surgical(src)
|
|
new /obj/item/clothing/mask/surgical(src)
|
|
new /obj/item/clothing/mask/surgical(src)
|
|
new /obj/item/clothing/mask/surgical(src)
|
|
|
|
|
|
/obj/item/weapon/storage/box/syringes
|
|
name = "box of syringes"
|
|
desc = "A box full of syringes."
|
|
icon_state = "syringe"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/reagent_containers/syringe( src )
|
|
new /obj/item/weapon/reagent_containers/syringe( src )
|
|
new /obj/item/weapon/reagent_containers/syringe( src )
|
|
new /obj/item/weapon/reagent_containers/syringe( src )
|
|
new /obj/item/weapon/reagent_containers/syringe( src )
|
|
new /obj/item/weapon/reagent_containers/syringe( src )
|
|
new /obj/item/weapon/reagent_containers/syringe( src )
|
|
|
|
/obj/item/weapon/storage/box/syringegun
|
|
name = "box of syringe gun cartridges"
|
|
desc = "A box full of compressed gas cartridges."
|
|
icon_state = "syringe"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/syringe_cartridge( src )
|
|
new /obj/item/weapon/syringe_cartridge( src )
|
|
new /obj/item/weapon/syringe_cartridge( src )
|
|
new /obj/item/weapon/syringe_cartridge( src )
|
|
new /obj/item/weapon/syringe_cartridge( src )
|
|
new /obj/item/weapon/syringe_cartridge( src )
|
|
new /obj/item/weapon/syringe_cartridge( src )
|
|
|
|
|
|
/obj/item/weapon/storage/box/beakers
|
|
name = "box of beakers"
|
|
icon_state = "beaker"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/reagent_containers/glass/beaker( src )
|
|
new /obj/item/weapon/reagent_containers/glass/beaker( src )
|
|
new /obj/item/weapon/reagent_containers/glass/beaker( src )
|
|
new /obj/item/weapon/reagent_containers/glass/beaker( src )
|
|
new /obj/item/weapon/reagent_containers/glass/beaker( src )
|
|
new /obj/item/weapon/reagent_containers/glass/beaker( src )
|
|
new /obj/item/weapon/reagent_containers/glass/beaker( src )
|
|
|
|
/obj/item/weapon/storage/box/injectors
|
|
name = "box of DNA injectors"
|
|
desc = "This box contains injectors it seems."
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/dnainjector/h2m(src)
|
|
new /obj/item/weapon/dnainjector/h2m(src)
|
|
new /obj/item/weapon/dnainjector/h2m(src)
|
|
new /obj/item/weapon/dnainjector/m2h(src)
|
|
new /obj/item/weapon/dnainjector/m2h(src)
|
|
new /obj/item/weapon/dnainjector/m2h(src)
|
|
|
|
|
|
/obj/item/weapon/storage/box/blanks
|
|
name = "box of blank shells"
|
|
desc = "It has a picture of a gun and several warning symbols on the front."
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/ammo_casing/shotgun/blank(src)
|
|
new /obj/item/ammo_casing/shotgun/blank(src)
|
|
new /obj/item/ammo_casing/shotgun/blank(src)
|
|
new /obj/item/ammo_casing/shotgun/blank(src)
|
|
new /obj/item/ammo_casing/shotgun/blank(src)
|
|
new /obj/item/ammo_casing/shotgun/blank(src)
|
|
new /obj/item/ammo_casing/shotgun/blank(src)
|
|
|
|
/obj/item/weapon/storage/box/beanbags
|
|
name = "box of beanbag shells"
|
|
desc = "It has a picture of a gun and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/ammo_casing/shotgun/beanbag(src)
|
|
new /obj/item/ammo_casing/shotgun/beanbag(src)
|
|
new /obj/item/ammo_casing/shotgun/beanbag(src)
|
|
new /obj/item/ammo_casing/shotgun/beanbag(src)
|
|
new /obj/item/ammo_casing/shotgun/beanbag(src)
|
|
new /obj/item/ammo_casing/shotgun/beanbag(src)
|
|
new /obj/item/ammo_casing/shotgun/beanbag(src)
|
|
|
|
/obj/item/weapon/storage/box/shotgunammo
|
|
name = "box of shotgun slugs"
|
|
desc = "It has a picture of a gun and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/ammo_casing/shotgun(src)
|
|
new /obj/item/ammo_casing/shotgun(src)
|
|
new /obj/item/ammo_casing/shotgun(src)
|
|
new /obj/item/ammo_casing/shotgun(src)
|
|
new /obj/item/ammo_casing/shotgun(src)
|
|
new /obj/item/ammo_casing/shotgun(src)
|
|
new /obj/item/ammo_casing/shotgun(src)
|
|
|
|
/obj/item/weapon/storage/box/shotgunshells
|
|
name = "box of shotgun shells"
|
|
desc = "It has a picture of a gun and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/ammo_casing/shotgun/pellet(src)
|
|
new /obj/item/ammo_casing/shotgun/pellet(src)
|
|
new /obj/item/ammo_casing/shotgun/pellet(src)
|
|
new /obj/item/ammo_casing/shotgun/pellet(src)
|
|
new /obj/item/ammo_casing/shotgun/pellet(src)
|
|
new /obj/item/ammo_casing/shotgun/pellet(src)
|
|
new /obj/item/ammo_casing/shotgun/pellet(src)
|
|
|
|
/obj/item/weapon/storage/box/flashshells
|
|
name = "box of illumination shells"
|
|
desc = "It has a picture of a gun and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/ammo_casing/shotgun/flash(src)
|
|
new /obj/item/ammo_casing/shotgun/flash(src)
|
|
new /obj/item/ammo_casing/shotgun/flash(src)
|
|
new /obj/item/ammo_casing/shotgun/flash(src)
|
|
new /obj/item/ammo_casing/shotgun/flash(src)
|
|
new /obj/item/ammo_casing/shotgun/flash(src)
|
|
new /obj/item/ammo_casing/shotgun/flash(src)
|
|
|
|
/obj/item/weapon/storage/box/stunshells
|
|
name = "box of stun shells"
|
|
desc = "It has a picture of a gun and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/ammo_casing/shotgun/stunshell(src)
|
|
new /obj/item/ammo_casing/shotgun/stunshell(src)
|
|
new /obj/item/ammo_casing/shotgun/stunshell(src)
|
|
new /obj/item/ammo_casing/shotgun/stunshell(src)
|
|
new /obj/item/ammo_casing/shotgun/stunshell(src)
|
|
new /obj/item/ammo_casing/shotgun/stunshell(src)
|
|
new /obj/item/ammo_casing/shotgun/stunshell(src)
|
|
|
|
/obj/item/weapon/storage/box/practiceshells
|
|
name = "box of practice shells"
|
|
desc = "It has a picture of a gun and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/ammo_casing/shotgun/practice(src)
|
|
new /obj/item/ammo_casing/shotgun/practice(src)
|
|
new /obj/item/ammo_casing/shotgun/practice(src)
|
|
new /obj/item/ammo_casing/shotgun/practice(src)
|
|
new /obj/item/ammo_casing/shotgun/practice(src)
|
|
new /obj/item/ammo_casing/shotgun/practice(src)
|
|
new /obj/item/ammo_casing/shotgun/practice(src)
|
|
|
|
/obj/item/weapon/storage/box/sniperammo
|
|
name = "box of 14.5mm shells"
|
|
desc = "It has a picture of a gun and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/ammo_casing/a145(src)
|
|
new /obj/item/ammo_casing/a145(src)
|
|
new /obj/item/ammo_casing/a145(src)
|
|
new /obj/item/ammo_casing/a145(src)
|
|
new /obj/item/ammo_casing/a145(src)
|
|
new /obj/item/ammo_casing/a145(src)
|
|
new /obj/item/ammo_casing/a145(src)
|
|
|
|
/obj/item/weapon/storage/box/flashbangs
|
|
name = "box of flashbangs"
|
|
desc = "A box containing 7 antipersonnel flashbang grenades.<br> WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use."
|
|
icon_state = "flashbang"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/grenade/flashbang(src)
|
|
new /obj/item/weapon/grenade/flashbang(src)
|
|
new /obj/item/weapon/grenade/flashbang(src)
|
|
new /obj/item/weapon/grenade/flashbang(src)
|
|
new /obj/item/weapon/grenade/flashbang(src)
|
|
new /obj/item/weapon/grenade/flashbang(src)
|
|
new /obj/item/weapon/grenade/flashbang(src)
|
|
|
|
|
|
/obj/item/weapon/storage/box/teargas
|
|
name = "box of pepperspray grenades"
|
|
desc = "A box containing 7 tear gas grenades. A gas mask is printed on the label.<br> WARNING: Exposure carries risk of serious injury or death. Keep away from persons with lung conditions."
|
|
icon_state = "flashbang"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/grenade/chem_grenade/teargas(src)
|
|
new /obj/item/weapon/grenade/chem_grenade/teargas(src)
|
|
new /obj/item/weapon/grenade/chem_grenade/teargas(src)
|
|
new /obj/item/weapon/grenade/chem_grenade/teargas(src)
|
|
new /obj/item/weapon/grenade/chem_grenade/teargas(src)
|
|
new /obj/item/weapon/grenade/chem_grenade/teargas(src)
|
|
|
|
/obj/item/weapon/storage/box/smokebombs
|
|
name = "box of smoke grenades"
|
|
desc = "A box full of smoke grenades, used by special law enforcement teams and military organisations. Provides cover, confusion, and distraction."
|
|
icon_state = "flashbang"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/grenade/smokebomb(src)
|
|
new /obj/item/weapon/grenade/smokebomb(src)
|
|
new /obj/item/weapon/grenade/smokebomb(src)
|
|
new /obj/item/weapon/grenade/smokebomb(src)
|
|
new /obj/item/weapon/grenade/smokebomb(src)
|
|
new /obj/item/weapon/grenade/smokebomb(src)
|
|
new /obj/item/weapon/grenade/smokebomb(src)
|
|
|
|
/obj/item/weapon/storage/box/emps
|
|
name = "box of emp grenades"
|
|
desc = "A box containing 5 military grade EMP grenades.<br> WARNING: Do not use near unshielded electronics or biomechanical augmentations, death or permanent paralysis may occur."
|
|
icon_state = "flashbang"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/grenade/empgrenade(src)
|
|
new /obj/item/weapon/grenade/empgrenade(src)
|
|
new /obj/item/weapon/grenade/empgrenade(src)
|
|
new /obj/item/weapon/grenade/empgrenade(src)
|
|
new /obj/item/weapon/grenade/empgrenade(src)
|
|
|
|
/obj/item/weapon/storage/box/smokes
|
|
name = "box of smoke bombs"
|
|
desc = "A box containing 5 smoke bombs."
|
|
icon_state = "flashbang"
|
|
|
|
/obj/item/weapon/storage/box/smokes/New()
|
|
..()
|
|
new /obj/item/weapon/grenade/smokebomb(src)
|
|
new /obj/item/weapon/grenade/smokebomb(src)
|
|
new /obj/item/weapon/grenade/smokebomb(src)
|
|
new /obj/item/weapon/grenade/smokebomb(src)
|
|
new /obj/item/weapon/grenade/smokebomb(src)
|
|
|
|
/obj/item/weapon/storage/box/anti_photons
|
|
name = "box of anti-photon grenades"
|
|
desc = "A box containing 5 experimental photon disruption grenades."
|
|
icon_state = "flashbang"
|
|
|
|
/obj/item/weapon/storage/box/anti_photons/New()
|
|
..()
|
|
new /obj/item/weapon/grenade/anti_photon(src)
|
|
new /obj/item/weapon/grenade/anti_photon(src)
|
|
new /obj/item/weapon/grenade/anti_photon(src)
|
|
new /obj/item/weapon/grenade/anti_photon(src)
|
|
new /obj/item/weapon/grenade/anti_photon(src)
|
|
|
|
/obj/item/weapon/storage/box/frags
|
|
name = "box of frag grenades"
|
|
desc = "A box containing 5 military grade fragmentation grenades.<br> WARNING: Live explosives. Misuse may result in serious injury or death."
|
|
icon_state = "flashbang"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/grenade/frag(src)
|
|
new /obj/item/weapon/grenade/frag(src)
|
|
new /obj/item/weapon/grenade/frag(src)
|
|
new /obj/item/weapon/grenade/frag(src)
|
|
new /obj/item/weapon/grenade/frag(src)
|
|
|
|
/obj/item/weapon/storage/box/trackimp
|
|
name = "boxed tracking implant kit"
|
|
desc = "Box full of scum-bag tracking utensils."
|
|
icon_state = "implant"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/implantcase/tracking(src)
|
|
new /obj/item/weapon/implantcase/tracking(src)
|
|
new /obj/item/weapon/implantcase/tracking(src)
|
|
new /obj/item/weapon/implantcase/tracking(src)
|
|
new /obj/item/weapon/implanter(src)
|
|
new /obj/item/weapon/implantpad(src)
|
|
new /obj/item/weapon/locator(src)
|
|
|
|
/obj/item/weapon/storage/box/chemimp
|
|
name = "boxed chemical implant kit"
|
|
desc = "Box of stuff used to implant chemicals."
|
|
icon_state = "implant"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/implantcase/chem(src)
|
|
new /obj/item/weapon/implantcase/chem(src)
|
|
new /obj/item/weapon/implantcase/chem(src)
|
|
new /obj/item/weapon/implantcase/chem(src)
|
|
new /obj/item/weapon/implantcase/chem(src)
|
|
new /obj/item/weapon/implanter(src)
|
|
new /obj/item/weapon/implantpad(src)
|
|
|
|
|
|
|
|
/obj/item/weapon/storage/box/rxglasses
|
|
name = "box of prescription glasses"
|
|
desc = "This box contains nerd glasses."
|
|
icon_state = "glasses"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/clothing/glasses/regular(src)
|
|
new /obj/item/clothing/glasses/regular(src)
|
|
new /obj/item/clothing/glasses/regular(src)
|
|
new /obj/item/clothing/glasses/regular(src)
|
|
new /obj/item/clothing/glasses/regular(src)
|
|
new /obj/item/clothing/glasses/regular(src)
|
|
new /obj/item/clothing/glasses/regular(src)
|
|
|
|
/obj/item/weapon/storage/box/drinkingglasses
|
|
name = "box of drinking glasses"
|
|
desc = "It has a picture of drinking glasses on it."
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
|
|
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
|
|
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
|
|
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
|
|
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
|
|
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
|
|
|
|
/obj/item/weapon/storage/box/cdeathalarm_kit
|
|
name = "death alarm kit"
|
|
desc = "Box of stuff used to implant death alarms."
|
|
icon_state = "implant"
|
|
item_state = "syringe_kit"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/implanter(src)
|
|
new /obj/item/weapon/implantcase/death_alarm(src)
|
|
new /obj/item/weapon/implantcase/death_alarm(src)
|
|
new /obj/item/weapon/implantcase/death_alarm(src)
|
|
new /obj/item/weapon/implantcase/death_alarm(src)
|
|
new /obj/item/weapon/implantcase/death_alarm(src)
|
|
new /obj/item/weapon/implantcase/death_alarm(src)
|
|
|
|
/obj/item/weapon/storage/box/condimentbottles
|
|
name = "box of condiment bottles"
|
|
desc = "It has a large ketchup smear on it."
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/reagent_containers/food/condiment(src)
|
|
new /obj/item/weapon/reagent_containers/food/condiment(src)
|
|
new /obj/item/weapon/reagent_containers/food/condiment(src)
|
|
new /obj/item/weapon/reagent_containers/food/condiment(src)
|
|
new /obj/item/weapon/reagent_containers/food/condiment(src)
|
|
new /obj/item/weapon/reagent_containers/food/condiment(src)
|
|
|
|
|
|
|
|
/obj/item/weapon/storage/box/cups
|
|
name = "box of paper cups"
|
|
desc = "It has pictures of paper cups on the front."
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
|
|
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
|
|
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
|
|
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
|
|
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
|
|
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
|
|
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
|
|
|
|
|
|
/obj/item/weapon/storage/box/donkpockets
|
|
name = "box of donk-pockets"
|
|
desc = "<B>Instructions:</B> <I>Heat in microwave. Product will cool if not eaten within seven minutes.</I>"
|
|
icon_state = "donk_kit"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
|
|
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
|
|
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
|
|
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
|
|
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
|
|
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
|
|
|
|
/obj/item/weapon/storage/box/sinpockets
|
|
name = "box of sin-pockets"
|
|
desc = "<B>Instructions:</B> <I>Crush bottom of package to initiate chemical heating. Wait for 20 seconds before consumption. Product will cool if not eaten within seven minutes.</I>"
|
|
icon_state = "donk_kit"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket(src)
|
|
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket(src)
|
|
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket(src)
|
|
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket(src)
|
|
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket(src)
|
|
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket(src)
|
|
|
|
/obj/item/weapon/storage/box/monkeycubes
|
|
name = "monkey cube box"
|
|
desc = "Drymate brand monkey cubes. Just add water!"
|
|
icon = 'icons/obj/food.dmi'
|
|
icon_state = "monkeycubebox"
|
|
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube)
|
|
New()
|
|
..()
|
|
if(src.type == /obj/item/weapon/storage/box/monkeycubes)
|
|
for(var/i = 1; i <= 5; i++)
|
|
new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped(src)
|
|
|
|
/obj/item/weapon/storage/box/monkeycubes/farwacubes
|
|
name = "farwa cube box"
|
|
desc = "Drymate brand farwa cubes, shipped from Adhomai. Just add water!"
|
|
New()
|
|
..()
|
|
for(var/i = 1; i <= 5; i++)
|
|
new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/farwacube(src)
|
|
|
|
/obj/item/weapon/storage/box/monkeycubes/stokcubes
|
|
name = "stok cube box"
|
|
desc = "Drymate brand stok cubes, shipped from Moghes. Just add water!"
|
|
New()
|
|
..()
|
|
for(var/i = 1; i <= 5; i++)
|
|
new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/stokcube(src)
|
|
|
|
/obj/item/weapon/storage/box/monkeycubes/neaeracubes
|
|
name = "neaera cube box"
|
|
desc = "Drymate brand neaera cubes, shipped from Jargon 4. Just add water!"
|
|
New()
|
|
..()
|
|
for(var/i = 1; i <= 5; i++)
|
|
new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/neaeracube(src)
|
|
|
|
/obj/item/weapon/storage/box/ids
|
|
name = "box of spare IDs"
|
|
desc = "Has so many empty IDs."
|
|
icon_state = "id"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/card/id(src)
|
|
new /obj/item/weapon/card/id(src)
|
|
new /obj/item/weapon/card/id(src)
|
|
new /obj/item/weapon/card/id(src)
|
|
new /obj/item/weapon/card/id(src)
|
|
new /obj/item/weapon/card/id(src)
|
|
new /obj/item/weapon/card/id(src)
|
|
|
|
|
|
/obj/item/weapon/storage/box/seccarts
|
|
name = "box of spare R.O.B.U.S.T. Cartridges"
|
|
desc = "A box full of R.O.B.U.S.T. Cartridges, used by Security."
|
|
icon_state = "pda"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/cartridge/security(src)
|
|
new /obj/item/weapon/cartridge/security(src)
|
|
new /obj/item/weapon/cartridge/security(src)
|
|
new /obj/item/weapon/cartridge/security(src)
|
|
new /obj/item/weapon/cartridge/security(src)
|
|
new /obj/item/weapon/cartridge/security(src)
|
|
new /obj/item/weapon/cartridge/security(src)
|
|
|
|
|
|
/obj/item/weapon/storage/box/handcuffs
|
|
name = "box of spare handcuffs"
|
|
desc = "A box full of handcuffs."
|
|
icon_state = "handcuff"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/handcuffs(src)
|
|
new /obj/item/weapon/handcuffs(src)
|
|
new /obj/item/weapon/handcuffs(src)
|
|
new /obj/item/weapon/handcuffs(src)
|
|
new /obj/item/weapon/handcuffs(src)
|
|
new /obj/item/weapon/handcuffs(src)
|
|
new /obj/item/weapon/handcuffs(src)
|
|
|
|
|
|
/obj/item/weapon/storage/box/mousetraps
|
|
name = "box of Pest-B-Gon mousetraps"
|
|
desc = "<B><FONT color='red'>WARNING:</FONT></B> <I>Keep out of reach of children</I>."
|
|
icon_state = "mousetraps"
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/device/assembly/mousetrap( src )
|
|
new /obj/item/device/assembly/mousetrap( src )
|
|
new /obj/item/device/assembly/mousetrap( src )
|
|
new /obj/item/device/assembly/mousetrap( src )
|
|
new /obj/item/device/assembly/mousetrap( src )
|
|
new /obj/item/device/assembly/mousetrap( src )
|
|
|
|
/obj/item/weapon/storage/box/pillbottles
|
|
name = "box of pill bottles"
|
|
desc = "It has pictures of pill bottles on its front."
|
|
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/storage/pill_bottle( src )
|
|
new /obj/item/weapon/storage/pill_bottle( src )
|
|
new /obj/item/weapon/storage/pill_bottle( src )
|
|
new /obj/item/weapon/storage/pill_bottle( src )
|
|
new /obj/item/weapon/storage/pill_bottle( src )
|
|
new /obj/item/weapon/storage/pill_bottle( src )
|
|
new /obj/item/weapon/storage/pill_bottle( src )
|
|
|
|
|
|
/obj/item/weapon/storage/box/spraybottles
|
|
name = "box of spray bottles"
|
|
desc = "It has pictures of spray bottles on its front."
|
|
New()
|
|
..()
|
|
new /obj/item/weapon/reagent_containers/spray( src )
|
|
new /obj/item/weapon/reagent_containers/spray( src )
|
|
new /obj/item/weapon/reagent_containers/spray( src )
|
|
new /obj/item/weapon/reagent_containers/spray( src )
|
|
new /obj/item/weapon/reagent_containers/spray( src )
|
|
new /obj/item/weapon/reagent_containers/spray( src )
|
|
new /obj/item/weapon/reagent_containers/spray( src )
|
|
|
|
|
|
|
|
/obj/item/weapon/storage/box/snappops
|
|
name = "snap pop box"
|
|
desc = "Eight wrappers of fun! Ages 8 and up. Not suitable for children."
|
|
icon = 'icons/obj/toy.dmi'
|
|
icon_state = "spbox"
|
|
can_hold = list(/obj/item/toy/snappop)
|
|
New()
|
|
..()
|
|
for(var/i=1; i <= 8; i++)
|
|
new /obj/item/toy/snappop(src)
|
|
|
|
/obj/item/weapon/storage/box/matches
|
|
name = "matchbox"
|
|
desc = "A small box of 'Space-Proof' premium matches."
|
|
icon = 'icons/obj/cigarettes.dmi'
|
|
icon_state = "matchbox"
|
|
item_state = "zippo"
|
|
w_class = 1
|
|
slot_flags = SLOT_BELT
|
|
can_hold = list(/obj/item/weapon/flame/match)
|
|
|
|
New()
|
|
..()
|
|
for(var/i=1; i <= 10; i++)
|
|
new /obj/item/weapon/flame/match(src)
|
|
|
|
attackby(obj/item/weapon/flame/match/W as obj, mob/user as mob)
|
|
if(istype(W) && !W.lit && !W.burnt)
|
|
W.lit = 1
|
|
W.damtype = "burn"
|
|
W.icon_state = "match_lit"
|
|
processing_objects.Add(W)
|
|
W.update_icon()
|
|
return
|
|
|
|
/obj/item/weapon/storage/box/autoinjectors
|
|
name = "box of injectors"
|
|
desc = "Contains autoinjectors."
|
|
icon_state = "syringe"
|
|
New()
|
|
..()
|
|
for (var/i; i < 7; i++)
|
|
new /obj/item/weapon/reagent_containers/hypospray/autoinjector(src)
|
|
|
|
/obj/item/weapon/storage/box/lights
|
|
name = "box of replacement bulbs"
|
|
icon = 'icons/obj/storage.dmi'
|
|
icon_state = "light"
|
|
desc = "This box is shaped on the inside so that only light tubes and bulbs fit."
|
|
item_state = "syringe_kit"
|
|
use_to_pickup = 1 // for picking up broken bulbs, not that most people will try
|
|
|
|
/obj/item/weapon/storage/box/lights/New()
|
|
..()
|
|
make_exact_fit()
|
|
|
|
/obj/item/weapon/storage/box/lights/bulbs/New()
|
|
for(var/i = 0; i < 21; i++)
|
|
new /obj/item/weapon/light/bulb(src)
|
|
..()
|
|
|
|
/obj/item/weapon/storage/box/lights/tubes
|
|
name = "box of replacement tubes"
|
|
icon_state = "lighttube"
|
|
|
|
/obj/item/weapon/storage/box/lights/tubes/New()
|
|
for(var/i = 0; i < 21; i++)
|
|
new /obj/item/weapon/light/tube(src)
|
|
..()
|
|
|
|
/obj/item/weapon/storage/box/lights/mixed
|
|
name = "box of replacement lights"
|
|
icon_state = "lightmixed"
|
|
|
|
/obj/item/weapon/storage/box/lights/mixed/New()
|
|
for(var/i = 0; i < 14; i++)
|
|
new /obj/item/weapon/light/tube(src)
|
|
for(var/i = 0; i < 7; i++)
|
|
new /obj/item/weapon/light/bulb(src)
|
|
..()
|
|
|
|
/obj/item/weapon/storage/box/freezer
|
|
name = "portable freezer"
|
|
desc = "This nifty shock-resistant device will keep your 'groceries' nice and non-spoiled."
|
|
icon = 'icons/obj/storage.dmi'
|
|
icon_state = "portafreezer"
|
|
item_state = "medicalpack"
|
|
max_w_class = 3
|
|
can_hold = list(/obj/item/organ, /obj/item/weapon/reagent_containers/food, /obj/item/weapon/reagent_containers/glass)
|
|
max_storage_space = 21
|
|
use_to_pickup = 1 // for picking up broken bulbs, not that most people will try
|
|
|
|
/obj/item/weapon/storage/box/kitchen
|
|
name = "kitchen supplies"
|
|
desc = "Contains an assortment of utensils and containers useful in the preparation of food and drinks."
|
|
|
|
/obj/item/weapon/storage/box/kitchen/New()
|
|
new /obj/item/weapon/material/knife(src)//Should always have a knife
|
|
|
|
var/list/utensils = list(/obj/item/weapon/material/kitchen/rollingpin,
|
|
/obj/item/weapon/reagent_containers/glass/beaker,
|
|
/obj/item/weapon/material/kitchen/utensil/fork,
|
|
/obj/item/weapon/reagent_containers/food/condiment/enzyme,
|
|
/obj/item/weapon/material/kitchen/utensil/spoon,
|
|
/obj/item/weapon/material/kitchen/utensil/knife,
|
|
/obj/item/weapon/reagent_containers/food/drinks/shaker)
|
|
for (var/i = 0,i<6,i++)
|
|
var/type = pick(utensils)
|
|
new type(src)
|
|
..()
|
|
|
|
|
|
|
|
/obj/item/weapon/storage/box/snack
|
|
name = "rations box"
|
|
desc = "Contains a random assortment of preserved foods. Guaranteed to remain edible* in room-temperature longterm storage for centuries!"
|
|
|
|
/obj/item/weapon/storage/box/snack/New()
|
|
var/list/snacks = list(
|
|
/obj/item/weapon/reagent_containers/food/snacks/koisbar,
|
|
/obj/item/weapon/reagent_containers/food/snacks/candy,
|
|
/obj/item/weapon/reagent_containers/food/snacks/candy_corn,
|
|
/obj/item/weapon/reagent_containers/food/snacks/chips,
|
|
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
|
|
/obj/item/weapon/reagent_containers/food/snacks/chocolateegg,
|
|
/obj/item/weapon/reagent_containers/food/snacks/popcorn,
|
|
/obj/item/weapon/reagent_containers/food/snacks/sosjerky,
|
|
/obj/item/weapon/reagent_containers/food/snacks/no_raisin,
|
|
/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie,
|
|
/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers,
|
|
/obj/item/weapon/reagent_containers/food/snacks/syndicake,
|
|
/obj/item/weapon/reagent_containers/food/snacks/fortunecookie,
|
|
/obj/item/weapon/reagent_containers/food/snacks/poppypretzel,
|
|
/obj/item/weapon/reagent_containers/food/snacks/cracker,
|
|
/obj/item/weapon/reagent_containers/food/snacks/liquidfood,
|
|
/obj/item/weapon/reagent_containers/food/snacks/skrellsnacks,
|
|
/obj/item/weapon/reagent_containers/food/snacks/tastybread,
|
|
/obj/item/weapon/reagent_containers/food/snacks/meatsnack,
|
|
/obj/item/weapon/reagent_containers/food/snacks/maps,
|
|
/obj/item/weapon/reagent_containers/food/snacks/nathisnack
|
|
)
|
|
for (var/i = 0,i<7,i++)
|
|
var/type = pick(snacks)
|
|
new type(src)
|
|
..()
|
|
|
|
/obj/item/weapon/storage/box/stims
|
|
name = "stimpack value kit"
|
|
desc = "A box with several stimpack medipens for the economical miner."
|
|
icon_state = "syringe"
|
|
|
|
/obj/item/weapon/storage/box/stims/New()
|
|
..()
|
|
for(var/i in 1 to 4)
|
|
new /obj/item/weapon/reagent_containers/hypospray/autoinjector/stimpack(src)
|