/
githubmirror
/
vgstation13
Обзор
Документация
Войти
/
githubmirror
/
vgstation13
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
Bleeding-Edge
code/game/objects/items/weapons/storage/bluespace.dm
114 строк
5 KB
Eneocho
Bag of Honking, a portal straight to Hammerspace (#39465)
22 июл 2026, 04:12
Не верифицирован
22 июл 2026, 04:12
8f79fc2
Код
Авторство
О чём код?
/* * Bag of Holding * Miniature black hole */ /obj/item/weapon/storage/backpack/holding name = "Bag of Holding" desc = "A backpack that opens into a localized pocket of Blue Space." origin_tech = Tc_BLUESPACE + "=4" item_state = "holdingpack" icon_state = "holdingpack" fits_max_w_class = W_CLASS_LARGE max_combined_w_class = 28 var/honked = FALSE /obj/item/weapon/storage/backpack/holding/attackby(obj/item/W as obj, mob/user as mob) if(!honked && istype(W, /obj/item/toy/crayon/rainbow)) to_chat(user, "You start painting \the [src] with \the [W].") if(do_after(user, src, 4 SECONDS)) to_chat(user, "You finish painting \the [src].") name = "bag of honking" desc = "A backpack that opens straight to a pocket of Hammerspace. Where do you think the clowns keep all those balloons?" item_state = "honkingpack" icon_state = "honkingpack" honked = TRUE update_icon() return ..() /obj/item/weapon/storage/backpack/holding/return_air()//prevents hot food from getting cold while in it. return /obj/item/weapon/storage/backpack/holding/miniblackhole name = "miniature black hole" desc = "A miniature black hole that opens into a localized pocket of Blue Space." icon_state = "porthole" slot_flags = 0 //doesn't fit on your back! w_class = W_CLASS_SMALL //fits in pockets! /obj/item/weapon/storage/backpack/holding/suicide_act(var/mob/living/user) user.visible_message("<span class = 'danger'><b>[user] puts \the [src.name] on \his head and stretches the bag around \himself. With a sudden snapping sound, the bag shrinks to its original size, leaving no trace of [user].</b></span>") user.drop_item(src) qdel(user) /obj/item/weapon/storage/backpack/holding/miniblackhole/suicide_act(var/mob/living/user) user.visible_message("<span class = 'danger'><b>[user] puts \the [src.name] on the ground and jumps inside, never to be seen again.<</b></span>") user.drop_item(src) qdel(user) /obj/item/weapon/storage/backpack/holding/quick_store(var/obj/item/I,mob/user) if(user?.client) var/list/recursive_list = recursive_type_check(I, /obj/item/weapon/storage/backpack/holding) if(recursive_list.len) var/report = " created a baguloose from quick equipping in [(world.time - user.client.last_quick_stored) / 10] seconds, might be worth noting." message_admins("[key_name_admin(user)][report]") // any info about the baguloose is shown below anyways log_game("[key_name(user)][report]") return ..() /obj/item/weapon/storage/backpack/holding/handle_item_insertion(obj/item/W, prevent_warning) . = ..() if(W == src) return // HOLY FUCKING SHIT WHY STORAGE CODE, WHY - pomf var/list/recursive_list = recursive_type_check(W, /obj/item/weapon/storage/backpack/holding) if(recursive_list.len) // Placing a bag of holding into another will singuloose when stored inside other objects too, such as when on your back or on a diona's back and stuffed in singulocreate(recursive_list, usr) return //BoH+BoH=Singularity, WAS commented out /obj/item/weapon/storage/backpack/holding/proc/singulocreate(var/list/obj/item/weapon/storage/backpack/holding/Hs, var/mob/user) user.Knockdown(10) user.Stun(10) to_chat(user, "<span class = 'danger'>The Bluespace interfaces of the two devices catastrophically malfunction, throwing you to the ground in the process!</span>") to_chat(user, "<span class='danger'>FUCK!</span>") var/turf/T = get_turf(src) if(Hs?.len) for(var/obj/item/weapon/storage/backpack/holding/H in Hs) qdel(H) qdel(src) var/datum/zLevel/ourzLevel = map.zLevels[user.z] if(ourzLevel.bluespace_jammed && !is_on_shuttle(usr)) //Stop breaking into centcomm via dungeons you shits message_admins("[key_name_admin(user)] detonated [counted_english_list(Hs)] and [src], creating an explosion.") log_game("[key_name(user)] detonated [counted_english_list(Hs)] and [src], creating an explosion.") empulse(T,(20),(40)) explosion(T, 5, 10, 20, 40, 1, whodunnit = user) user.gib() //Just to be sure else investigation_log(I_SINGULO,"has become a singularity. Caused by [user.key]") message_admins("[key_name_admin(user)] detonated [counted_english_list(Hs)] and [src], creating a singularity.") log_game("[key_name(user)] detonated [counted_english_list(Hs)] and [src], creating a singularity.") if(!honked) var/obj/machinery/singularity/S = new (T) S.consume(user) //So the BoHolder can't run away from his wrongdoing else var/obj/machinery/singularity/scrungulartiy/S = new (T) S.consume(user) //how do i the scrungulartiy??? /obj/item/weapon/storage/backpack/holding/singularity_act(var/current_size,var/obj/machinery/singularity/S) var/dist = max(current_size, 1) empulse(S.loc,(dist*2),(dist*4)) if(S.current_size <= 3) investigation_log(I_SINGULO, "has been destroyed by [src].") qdel(S) else investigation_log(I_SINGULO, "has been weakened by [src].") S.energy -= (S.energy/3)*2 S.check_energy() qdel(src) /obj/item/weapon/storage/backpack/holding/honking //only here so admins can spawn it for adminbus reasons name = "bag of honking" desc = "A backpack that opens straight to a pocket of Hammerspace. Where do you think the clowns keep all those balloons?" item_state = "honkingpack" icon_state = "honkingpack" honked = TRUE