mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-23 00:22:12 +00:00
235 lines
6.6 KiB
Plaintext
235 lines
6.6 KiB
Plaintext
/obj/item/storage/toolbox
|
|
name = "toolbox"
|
|
desc = "Danger. Very robust."
|
|
icon = 'icons/obj/storage.dmi'
|
|
icon_state = "red"
|
|
item_state = "toolbox_red"
|
|
item_icons = list(
|
|
slot_l_hand_str = 'icons/mob/items/storage/lefthand_toolbox.dmi',
|
|
slot_r_hand_str = 'icons/mob/items/storage/righthand_toolbox.dmi'
|
|
)
|
|
center_of_mass = list("x" = 16,"y" = 11)
|
|
flags = CONDUCT
|
|
force = 5
|
|
throwforce = 10
|
|
throw_speed = 1
|
|
throw_range = 7
|
|
w_class = ITEMSIZE_LARGE
|
|
max_w_class = ITEMSIZE_NORMAL
|
|
max_storage_space = 14 //enough to hold all starting contents
|
|
origin_tech = list(TECH_COMBAT = 1)
|
|
attack_verb = list("robusted")
|
|
use_sound = 'sound/items/storage/toolbox.ogg'
|
|
drop_sound = 'sound/items/drop/toolbox.ogg'
|
|
pickup_sound = 'sound/items/pickup/toolbox.ogg'
|
|
|
|
var/stunhit = 0
|
|
|
|
/obj/item/storage/toolbox/Initialize()
|
|
. = ..()
|
|
update_force()
|
|
|
|
/obj/item/storage/toolbox/emergency
|
|
name = "emergency toolbox"
|
|
icon_state = "red"
|
|
item_state = "toolbox_red"
|
|
starts_with = list(\
|
|
/obj/item/crowbar/red = 1,\
|
|
/obj/item/extinguisher/mini = 1,\
|
|
/obj/item/device/radio = 1\
|
|
)
|
|
|
|
/obj/item/storage/toolbox/emergency/fill()
|
|
. = ..()
|
|
if(prob(50))
|
|
new /obj/item/device/flashlight(src)
|
|
else
|
|
new /obj/item/device/flashlight/flare/glowstick/red(src)
|
|
|
|
/obj/item/storage/toolbox/mechanical
|
|
name = "mechanical toolbox"
|
|
icon_state = "blue"
|
|
item_state = "toolbox_blue"
|
|
starts_with = list(\
|
|
/obj/item/screwdriver = 1,\
|
|
/obj/item/wrench = 1,\
|
|
/obj/item/weldingtool = 1,
|
|
/obj/item/crowbar = 1,\
|
|
/obj/item/device/analyzer = 1,\
|
|
/obj/item/wirecutters = 1\
|
|
)
|
|
|
|
/obj/item/storage/toolbox/electrical
|
|
name = "electrical toolbox"
|
|
icon_state = "yellow"
|
|
item_state = "toolbox_yellow"
|
|
starts_with = list(\
|
|
/obj/item/screwdriver = 1,\
|
|
/obj/item/wirecutters = 1,\
|
|
/obj/item/device/t_scanner = 1,\
|
|
/obj/item/crowbar = 1\
|
|
)
|
|
|
|
/obj/item/storage/toolbox/electrical/fill()
|
|
. = ..()
|
|
var/color = pick("red","yellow","green","blue","pink","orange","cyan","white")
|
|
new /obj/item/stack/cable_coil(src,30,color)
|
|
new /obj/item/stack/cable_coil(src,30,color)
|
|
if(prob(5))
|
|
new /obj/item/clothing/gloves/yellow(src)
|
|
else
|
|
new /obj/item/stack/cable_coil(src,30,color)
|
|
|
|
/obj/item/storage/toolbox/drill
|
|
name = "drilling kit"
|
|
desc = "A kit supplied to drill technicians, containing the tools required to set up a basic asteroid drilling operation."
|
|
icon = 'icons/obj/toolbox/mining.dmi'
|
|
icon_state = "miningbox"
|
|
item_state = "miningbox"
|
|
contained_sprite = TRUE
|
|
starts_with = list(
|
|
/obj/item/crowbar = 1,
|
|
/obj/item/powerdrill = 1,
|
|
/obj/item/mining_scanner = 1,
|
|
/obj/item/cell/high = 1,
|
|
/obj/item/device/orbital_dropper/drill = 1
|
|
)
|
|
|
|
/obj/item/storage/toolbox/ka
|
|
name = "kinetic accelerator kit"
|
|
desc = "A kit supplied to shaft miners, containing a few upgrades to standard issue kinetic accelerators."
|
|
icon = 'icons/obj/toolbox/mining.dmi'
|
|
icon_state = "miningbox"
|
|
item_state = "miningbox"
|
|
contained_sprite = TRUE
|
|
starts_with = list(
|
|
/obj/item/crowbar = 1,
|
|
/obj/item/wrench = 1,
|
|
/obj/item/custom_ka_upgrade/upgrade_chips/damage = 1,
|
|
/obj/item/custom_ka_upgrade/cells/cell02 = 1
|
|
)
|
|
|
|
/obj/item/storage/toolbox/syndicate
|
|
name = "suspicious looking toolbox"
|
|
icon_state = "syndicate"
|
|
item_state = "toolbox_syndi"
|
|
origin_tech = list(TECH_COMBAT = 1, TECH_ILLEGAL = 1)
|
|
force = 7.0
|
|
starts_with = list(\
|
|
/obj/item/clothing/gloves/yellow = 1,\
|
|
/obj/item/screwdriver = 1,\
|
|
/obj/item/wrench = 1,\
|
|
/obj/item/weldingtool = 1,
|
|
/obj/item/crowbar = 1,\
|
|
/obj/item/wirecutters = 1,\
|
|
/obj/item/device/multitool = 1,\
|
|
)
|
|
|
|
|
|
/obj/item/storage/toolbox/proc/update_force()
|
|
force = initial(force)
|
|
for (var/obj/item/I in contents)
|
|
force += I.w_class*1.5
|
|
|
|
/obj/item/storage/toolbox/handle_item_insertion(obj/item/W as obj, prevent_warning = 0)
|
|
if (..(W, prevent_warning))
|
|
update_force()
|
|
|
|
|
|
/obj/item/storage/toolbox/attack(mob/living/M as mob, mob/user as mob, var/target_zone)
|
|
update_force()
|
|
if (..())
|
|
if (contents.len)
|
|
spill(3, get_turf(M))
|
|
playsound(M, /decl/sound_category/tray_hit_sound, 100, 1) //sound playin' again
|
|
update_force()
|
|
user.visible_message(SPAN_DANGER("[user] smashes the [src] into [M], causing it to break open and strew its contents across the area"))
|
|
|
|
|
|
/obj/item/storage/toolbox/lunchbox
|
|
name = "rainbow lunchbox"
|
|
icon = 'icons/obj/lunchbox.dmi'
|
|
force = 3
|
|
throwforce = 5
|
|
contained_sprite = 1
|
|
icon_state = "lunchbox_rainbow"
|
|
item_state = "lunchbox_rainbow"
|
|
desc = "A little lunchbox. This one is the colors of the rainbow."
|
|
attack_verb = list("lunched")
|
|
w_class = ITEMSIZE_NORMAL
|
|
max_storage_space = 8
|
|
var/filled = FALSE
|
|
|
|
/obj/item/storage/toolbox/lunchbox/fill()
|
|
..()
|
|
if(filled)
|
|
var/list/lunches = lunchables_lunches()
|
|
var/lunch = lunches[pick(lunches)]
|
|
new lunch(src)
|
|
|
|
var/list/snacks = lunchables_snacks()
|
|
var/snack = snacks[pick(snacks)]
|
|
new snack(src)
|
|
|
|
var/list/drinks = lunchables_drinks()
|
|
var/drink = drinks[pick(drinks)]
|
|
new drink(src)
|
|
|
|
/obj/item/storage/toolbox/lunchbox/filled
|
|
filled = TRUE
|
|
|
|
/obj/item/storage/toolbox/lunchbox/heart
|
|
name = "heart lunchbox"
|
|
icon_state = "lunchbox_hearts"
|
|
item_state = "lunchbox_hearts"
|
|
desc = "A little lunchbox. This one has little hearts on it."
|
|
|
|
/obj/item/storage/toolbox/lunchbox/heart/filled
|
|
filled = TRUE
|
|
|
|
/obj/item/storage/toolbox/lunchbox/cat
|
|
name = "cat lunchbox"
|
|
icon_state = "lunchbox_cat"
|
|
item_state = "lunchbox_cat"
|
|
desc = "A little lunchbox. This one has a cat stamp on it."
|
|
|
|
/obj/item/storage/toolbox/lunchbox/cat/filled
|
|
filled = TRUE
|
|
|
|
/obj/item/storage/toolbox/lunchbox/nt
|
|
name = "NanoTrasen brand lunchbox"
|
|
icon_state = "lunchbox_nanotrasen"
|
|
item_state = "lunchbox_nanotrasen"
|
|
desc = "A little lunchbox. This one is branded with the NanoTrasen logo."
|
|
|
|
/obj/item/storage/toolbox/lunchbox/nt/filled
|
|
filled = TRUE
|
|
|
|
/obj/item/storage/toolbox/lunchbox/nymph
|
|
name = "\improper diona nymph lunchbox"
|
|
icon_state = "lunchbox_dionanymph"
|
|
item_state = "lunchbox_dionanymph"
|
|
desc = "A little lunchbox. This one has a diona nymph on the side."
|
|
|
|
/obj/item/storage/toolbox/lunchbox/nymph/filled
|
|
filled = TRUE
|
|
|
|
/obj/item/storage/toolbox/lunchbox/syndicate
|
|
name = "black and red lunchbox"
|
|
icon_state = "lunchbox_syndie"
|
|
item_state = "lunchbox_syndie"
|
|
desc = "A little lunchbox. This one is a sleek black and red."
|
|
|
|
/obj/item/storage/toolbox/lunchbox/syndicate/filled
|
|
filled = TRUE
|
|
|
|
/obj/item/storage/toolbox/lunchbox/schlorrgo
|
|
name = "patriotic lunchbox"
|
|
icon_state = "lunchbox_schlorrgo"
|
|
item_state = "lunchbox_schlorrgo"
|
|
desc = "A little lunchbox. This one has a Cool Schlorrgo stamp on \
|
|
it, a famous Adhomian cartoon character. Approved by the People's Republic of Adhomai."
|
|
|
|
/obj/item/storage/toolbox/lunchbox/schlorrgo/filled
|
|
filled = TRUE
|