mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-25 13:09:11 +01:00
Two more admin smites (#18991)
* Two more admin smites Added two more admin player effects: - Wet Surrounding Surfaces: Gives you the option of making a ring of water, lube or any reagent of your choice appear around the character instantly. - Give Quest: Make a quest appear for the character, can either be personalised or a randomly generated simple one. Includes a warning that it isn't an excuse to misbehave. * Fixes things
This commit is contained in:
@@ -325,6 +325,34 @@
|
||||
target.overlay_fullscreen("scrolls", /atom/movable/screen/fullscreen/scrolls, 1)
|
||||
addtimer(CALLBACK(target, TYPE_PROC_REF(/mob, clear_fullscreen), "scrolls"), 20 SECONDS)
|
||||
|
||||
if("wet_floors")
|
||||
var/chem
|
||||
var/reagent_choice = tgui_alert(user, "Which reagent do you want to place on the floors around them?", "Reagent", list("Water", "Space Lube", "Other", "Cancel"))
|
||||
if(!reagent_choice || (reagent_choice == "Cancel"))
|
||||
return
|
||||
if(reagent_choice == "Water")
|
||||
chem = REAGENT_ID_WATER
|
||||
if(reagent_choice == "Space Lube")
|
||||
chem = REAGENT_ID_LUBE
|
||||
if(reagent_choice == "Other")
|
||||
var/list/chem_list = typesof(/datum/reagent)
|
||||
var/datum/reagent/chemical = tgui_input_list(user, "Which chemical would you like to use?", "Chemicals", chem_list)
|
||||
if(!chemical)
|
||||
return
|
||||
chem = chemical.id
|
||||
|
||||
if(!target)
|
||||
return //Check target still exists after choices were made
|
||||
var/turf/target_turf = get_turf(target)
|
||||
for(var/turf/simulated/floor/surroundings in orange(1,target))
|
||||
if(target_turf == surroundings) //Don't put it directly on our turf, just neighbouring ones
|
||||
continue
|
||||
var/datum/reagents/our_chem = new /datum/reagents(30) //Create some reagents, move them over, and clean up the datum afterwards
|
||||
our_chem.add_reagent(chem, 30)
|
||||
our_chem.trans_to_turf(surroundings,30)
|
||||
our_chem.Destroy()
|
||||
|
||||
|
||||
////////MEDICAL//////////////
|
||||
|
||||
if("health_scan")
|
||||
@@ -803,6 +831,20 @@
|
||||
else if(!target.cloaked)
|
||||
target.cloak()
|
||||
|
||||
if("give_quest")
|
||||
if(!target)
|
||||
return
|
||||
var/admin_quest = tgui_alert(user, "Do you want to give a random quest or a personalised one?", "Quest!", list("Random", "Personalised", "Cancel"))
|
||||
if(!admin_quest || (admin_quest == "Cancel"))
|
||||
return
|
||||
if(admin_quest == "Personalised")
|
||||
var/specific_quest = tgui_input_text(user, "What is their quest?", "Quest!!!")
|
||||
if(!specific_quest)
|
||||
return
|
||||
target.quest_from_above(specific_quest)
|
||||
else
|
||||
target.quest_from_above()
|
||||
|
||||
|
||||
////////FIXES//////////////
|
||||
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
/mob/proc/quest_from_above(var/specific_quest)
|
||||
var/list/quests = list("Search",
|
||||
"Collect",
|
||||
"Drink",
|
||||
"Eat",
|
||||
"Visit",
|
||||
"Clean",
|
||||
"Wear",
|
||||
"Pet")
|
||||
var/list/searchables = list("Trash Piles",
|
||||
"Lockers",
|
||||
"Backpacks",
|
||||
"Trash Cans and Disposal Units",
|
||||
"Co-worker's Pockets")
|
||||
var/list/collectables = list("Rare Coins",
|
||||
"Figurines",
|
||||
"Protein Shakes",
|
||||
"Non-Lethal Weapons",
|
||||
"Sunglasses",
|
||||
"Mega Nukies",
|
||||
"Kinky Toys",
|
||||
"Plushies")
|
||||
var/list/locations = list("Redgate Locations",
|
||||
"High Security Areas",
|
||||
"Medbay Rooms",
|
||||
"Security Rooms",
|
||||
"Maintenance Rooms",
|
||||
"Command Rooms",
|
||||
"Engineering Rooms",
|
||||
"Deep Space Locations",
|
||||
"Research Rooms")
|
||||
var/list/pets = list("Mice",
|
||||
"Mothroaches",
|
||||
"Canines",
|
||||
"Plushies",
|
||||
"Felines",
|
||||
"Lizards",
|
||||
"Co-workers")
|
||||
var/complete_quest
|
||||
if(!specific_quest)
|
||||
var/chosen_one = pick(quests)
|
||||
var/chosen_two
|
||||
var/number_of_times
|
||||
switch(chosen_one)
|
||||
if("Search")
|
||||
chosen_two = pick(searchables)
|
||||
number_of_times = rand(4,10)
|
||||
complete_quest = "[chosen_one] [number_of_times] [chosen_two]!"
|
||||
if("Collect")
|
||||
chosen_two = pick(collectables)
|
||||
number_of_times = rand(3,10)
|
||||
complete_quest = "[chosen_one] [number_of_times] [chosen_two]!"
|
||||
if("Drink")
|
||||
var/list/drink_list = typesof(/obj/item/reagent_containers/food/drinks)
|
||||
var/obj/item/reagent_containers/food/drinks/pick_drink = pick(drink_list)
|
||||
chosen_two = pick_drink.name
|
||||
number_of_times = rand(2,6)
|
||||
complete_quest = "[chosen_one] [number_of_times] [chosen_two]s!"
|
||||
if("Eat")
|
||||
var/list/snack_list = typesof(/obj/item/reagent_containers/food/snacks)
|
||||
var/obj/item/reagent_containers/food/snacks/pick_snack = pick(snack_list)
|
||||
chosen_two = pick_snack.name
|
||||
number_of_times = rand(2,6)
|
||||
complete_quest = "[chosen_one] [number_of_times] [chosen_two]s!"
|
||||
if("Visit","Clean")
|
||||
chosen_two = pick(locations)
|
||||
number_of_times = rand(2,8)
|
||||
complete_quest = "[chosen_one] [number_of_times] [chosen_two]!"
|
||||
if("Wear")
|
||||
var/clothing_options = typesof(/obj/item/clothing)
|
||||
var/obj/item/clothing/clothing_one = pick(clothing_options)
|
||||
var/obj/item/clothing/clothing_two = pick(clothing_options)
|
||||
var/obj/item/clothing/clothing_three = pick(clothing_options)
|
||||
complete_quest = "[chosen_one] as many of the following as you can find: [clothing_one.name], [clothing_two.name] and [clothing_three.name]!"
|
||||
if("Pet")
|
||||
chosen_two = pick(pets)
|
||||
number_of_times = rand(2,5)
|
||||
complete_quest = "[chosen_one] [number_of_times] [chosen_two]!"
|
||||
else
|
||||
complete_quest = specific_quest
|
||||
|
||||
to_chat(src, span_notice(span_huge("You have been granted a quest from above!")))
|
||||
to_chat(src, span_notice("From somewhere deep inside yourself, a quest has been conjured. You feel a compulsion to complete the following activity:"))
|
||||
to_chat(src, span_boldnotice("[complete_quest]"))
|
||||
to_chat(src, span_notice(span_small("Please note that this is just a bit of fun, you should not use this an excuse to break rules or cause major disruptions for other players.")))
|
||||
|
||||
log_and_message_admins("[src.ckey] playing as [src.name] has been given the quest: [complete_quest]")
|
||||
Reference in New Issue
Block a user