Service borg buffs + QoL (#18502)

* Service borg buffs + QoL

* oops forgot to lowercase that one

* wait this would double-spam balloon alerts theoretically so-
This commit is contained in:
Jenny
2025-09-16 15:05:50 +02:00
committed by GitHub
parent 56f6fad0f2
commit 5fe09bb52f
4 changed files with 41 additions and 39 deletions
+4 -1
View File
@@ -1163,7 +1163,10 @@ GLOBAL_LIST_INIT(area_or_turf_fail_types, typecacheof(list(
/obj/item/seeds, \
/obj/item/grown, \
/obj/item/trash, \
/obj/item/reagent_containers/cooking_container
/obj/item/reagent_containers/cooking_container, \
/obj/item/spacecasinocash_fake, \
/obj/item/deck/cards, \
/obj/item/hand
#define GRAVEYARD_GRIPPER \
/obj/item/seeds, \
+33 -36
View File
@@ -15,7 +15,7 @@ RSF
anchored = FALSE
matter = list(DEFAULT_WALL_MATERIAL = 25000)
var/stored_matter = 30
var/mode = 1
var/mode = "Container"
var/obj/item/reagent_containers/glasstype = /obj/item/reagent_containers/food/drinks/metaglass
var/list/container_types = list(
@@ -44,19 +44,19 @@ RSF
if (istype(W, /obj/item/rcd_ammo))
if ((stored_matter + 10) > 30)
to_chat(user, span_warning("The RSF can't hold any more matter."))
balloon_alert(user, "the fabricator can't hold any more matter.")
return
qdel(W)
stored_matter += 10
playsound(src, 'sound/machines/click.ogg', 10, 1)
to_chat(user,span_notice("The RSF now holds [stored_matter]/30 fabrication-units."))
balloon_alert(user,"the fabricator now holds [stored_matter]/30 fabrication-units.")
return
/obj/item/rsf/CtrlClick(mob/living/user)
if(!Adjacent(user) || !istype(user))
to_chat(user,span_notice("You are too far away."))
balloon_alert(user,"you are too far away.")
return
var/glass_choice = tgui_input_list(user, "Please choose which type of glass you would like to produce.", "Glass Choice", container_types)
@@ -66,27 +66,12 @@ RSF
glasstype = /obj/item/reagent_containers/food/drinks/metaglass
/obj/item/rsf/attack_self(mob/user as mob)
playsound(src, 'sound/effects/pop.ogg', 50, 0)
if (mode == 1)
mode = 2
to_chat(user,span_notice("Changed dispensing mode to 'Container'."))
return
if (mode == 2)
mode = 3
to_chat(user,span_notice("Changed dispensing mode to 'Paper'"))
return
if (mode == 3)
mode = 4
to_chat(user,span_notice("Changed dispensing mode to 'Pen'"))
return
if (mode == 4)
mode = 5
to_chat(user,span_notice("Changed dispensing mode to 'Dice Pack'"))
return
if (mode == 5)
mode = 1
to_chat(user,span_notice("Changed dispensing mode to 'Cigarette'"))
return
var/options = list("card deck", "card deck (big)", "casino chips (replica) x200", "cigarette", "container", "dice pack (d6)", "dice pack (gaming)", "paper", "pen")
var/choice = tgui_input_list(user, "Please choose what item you would like to synthesize.", "Rapid Service Fabricator", options, mode)
if(choice)
mode = choice
playsound(src, 'sound/effects/pop.ogg', 50, 0)
balloon_alert(user, "you will synthesize: [mode]")
/obj/item/rsf/afterattack(atom/A, mob/user as mob, proximity)
@@ -108,23 +93,35 @@ RSF
var/obj/product
switch(mode)
if(1)
if("card deck")
product = new /obj/item/deck/cards()
used_energy = 200
if("card deck (big)")
product = new /obj/item/deck/cards/triple()
used_energy = 600
if("casino chips (replica) x200")
product = new /obj/item/spacecasinocash_fake/c200()
used_energy = 400
if("cigarette")
product = new /obj/item/clothing/mask/smokable/cigarette()
used_energy = 10
if(2)
if("container")
product = new glasstype()
used_energy = 50
if(3)
product = new /obj/item/paper()
used_energy = 10
if(4)
product = new /obj/item/pen()
used_energy = 50
if(5)
if("dice pack (d6)")
product = new /obj/item/storage/pill_bottle/dice()
used_energy = 200
if("dice pack (gaming)")
product = new /obj/item/storage/pill_bottle/dice_nerd()
used_energy = 200
if("paper")
product = new /obj/item/paper()
used_energy = 10
if("pen")
product = new /obj/item/pen()
used_energy = 50
to_chat(user,span_notice("Dispensing [product ? product : "product"]..."))
balloon_alert(user, "dispensing [product ? product : "product"]...")
product.loc = get_turf(A)
if(isrobot(user))
@@ -133,4 +130,4 @@ RSF
R.cell.use(used_energy)
else
stored_matter--
to_chat(user,span_notice("The RSF now holds [stored_matter]/30 fabrication-units."))
to_chat(user,span_notice("the fabricator now holds [stored_matter]/30 fabrication-units."))
@@ -997,10 +997,10 @@
can_hold = list(CIRCUIT_GRIPPER)
/obj/item/gripper/service //Used to handle food, drinks, and seeds.
/obj/item/gripper/service //Used to handle food, drinks, seeds, and cards.
name = "service gripper"
icon_state = "gripper-sheet"
desc = "A simple grasping tool used to perform tasks in the service sector, such as handling food, drinks, and seeds."
desc = "A simple grasping tool used to perform tasks in the service sector, such as handling food, drinks, and seeds. It can also hold cards and fake casino chips for hosting card games."
can_hold = list(SERVICE_GRIPPER)
@@ -136,6 +136,7 @@
REAGENT_ID_BEER,
REAGENT_ID_BERRYJUICE,
REAGENT_ID_BITTERS,
REAGENT_ID_BLUECURACAO,
REAGENT_ID_CIDER,
REAGENT_ID_COFFEE,
REAGENT_ID_COGNAC,
@@ -153,6 +154,7 @@
REAGENT_ID_LEMONLIME,
REAGENT_ID_LIMEJUICE,
REAGENT_ID_MEAD,
REAGENT_ID_MELONLIQUOR,
REAGENT_ID_MILK,
REAGENT_ID_MINT,
REAGENT_ID_ORANGEJUICE,