[MIRROR] Allows to limit liquid generation on low nutri / power (#12324)

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: vorestation-ci[bot] <199609141+vorestation-ci[bot]@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2026-01-24 20:04:00 -07:00
committed by GitHub
parent 3f125bf100
commit 4cefc154b2
19 changed files with 73 additions and 716 deletions
@@ -87,8 +87,9 @@
rimplant.reagents.remove_any(rimplant.transfer_amount)
if(prob(25))
visible_message(span_notice("[src] [pick(rimplant.random_emote)]."))
else
return
else
return
/mob/living/carbon/human/proc/toggle_cascade()
set name = "Toggle cascading"
-562
View File
@@ -1,562 +0,0 @@
//admin verb groups - They can overlap if you so wish. Only one of each verb will exist in the verbs list regardless
var/list/admin_verbs_default = list(
/datum/admins/proc/show_player_panel, //shows an interface for individual players, with various links (links require additional flags,
/client/proc/player_panel_new, //shows an interface for all players, with links to various panels,
/client/proc/player_panel,
/client/proc/deadmin, //destroys our own admin datum so we can play as a regular player,
/client/proc/hide_verbs, //hides all our adminverbs,
/client/proc/hide_most_verbs, //hides all our hideable adminverbs,
/client/proc/debug_variables, //allows us to -see- the variables of any instance in the game. +VAREDIT needed to modify,
/client/proc/mark_datum_mapview,
/client/proc/cmd_check_new_players, //allows us to see every new player
// /client/proc/check_antagonists, //shows all antags,
// /client/proc/cmd_mod_say,
// /client/proc/deadchat //toggles deadchat on/off,
// /client/proc/toggle_ahelp_sound,
/client/proc/debugstatpanel,
)
var/list/admin_verbs_admin = list(
/datum/admins/proc/set_tcrystals,
/datum/admins/proc/add_tcrystals,
/client/proc/invisimin, //allows our mob to go invisible/visible,
/datum/admins/proc/show_traitor_panel, //interface which shows a mob's mind.,
/datum/admins/proc/show_game_mode, //Configuration window for the current game mode.,
/datum/admins/proc/force_mode_latespawn, //Force the mode to try a latespawn proc,
/datum/admins/proc/force_antag_latespawn, //Force a specific template to try a latespawn proc,
/datum/admins/proc/toggleenter, //toggles whether people can join the current game,
/datum/admins/proc/toggleguests, //toggles whether guests can join the current game,
/datum/admins/proc/announce, //priority announce something to all clients.,
/datum/admins/proc/intercom, //send a fake intercom message, like an arrivals announcement,
/datum/admins/proc/intercom_convo, //send a fake intercom conversation, like an ATC exchange,
/client/proc/colorooc, //allows us to set a custom colour for everythign we say in ooc,
/client/proc/admin_ghost, //allows us to ghost/reenter body at will,
/client/proc/toggle_view_range, //changes how far we can see,
/datum/admins/proc/view_txt_log, //shows the server log (GLOB.diary) for today,
/datum/admins/proc/view_atk_log, //shows the server combat-log, doesn't do anything presently,
/client/proc/cmd_admin_pm_context, //right-click adminPM interface,
/client/proc/cmd_admin_pm_panel, //admin-pm list,
/client/proc/cmd_admin_subtle_message, //send an message to somebody as a 'voice in their head',
/client/proc/cmd_admin_delete, //delete an instance/object/mob/etc,
/client/proc/cmd_admin_check_contents, //displays the contents of an instance,
/client/proc/cmd_admin_check_player_logs, //checks a player's attack logs,
/client/proc/cmd_admin_check_dialogue_logs, //checks a player's dialogue logs,
/datum/admins/proc/access_news_network, //allows access of newscasters,
/client/proc/giveruntimelog, //allows us to give access to runtime logs to somebody,
/client/proc/getserverlog, //allows us to fetch server logs (GLOB.diary) for other days,
/client/proc/jumptocoord, //we ghost and jump to a coordinate,
/client/proc/Getmob, //teleports a mob to our location,
/client/proc/Getkey, //teleports a mob with a certain ckey to our location,
// /client/proc/sendmob, //sends a mob somewhere, -Removed due to it needing two sorting procs to work, which were executed every time an admin right-clicked. ~Errorage,
/client/proc/Jump,
/client/proc/jumptokey, //allows us to jump to the location of a mob with a certain ckey,
/client/proc/jumptomob, //allows us to jump to a specific mob,
/client/proc/jumptoturf, //allows us to jump to a specific turf,
/client/proc/admin_call_shuttle, //allows us to call the emergency shuttle,
/client/proc/admin_cancel_shuttle, //allows us to cancel the emergency shuttle, sending it back to CentCom,
/client/proc/cmd_admin_direct_narrate, //send text directly to a player with no padding. Useful for narratives and fluff-text,
/client/proc/cmd_admin_world_narrate, //sends text to all players with no padding,
/client/proc/cmd_admin_create_centcom_report,
/client/proc/check_words, //displays cult-words,
/client/proc/check_ai_laws, //shows AI and borg laws,
/client/proc/rename_silicon, //properly renames silicons,
/client/proc/manage_silicon_laws, // Allows viewing and editing silicon laws. ,
/client/proc/shuttle_panel, // Allows controlling all shuttles remotely.
/client/proc/check_antagonists,
/client/proc/admin_memo, //admin memo system. show/delete/write. +SERVER needed to delete admin memos of others,
/client/proc/dsay, //talk in deadchat using our ckey/fakekey,
// /client/proc/toggle_hear_deadcast, //toggles whether we hear deadchat,
/client/proc/investigate_show, //various admintools for investigation. Such as a singulo grief-log,
/client/proc/secrets,
/datum/admins/proc/toggleooc, //toggles ooc on/off for everyone,
/datum/admins/proc/togglelooc, //toggles looc on/off for everyone,
/datum/admins/proc/toggleoocdead, //toggles ooc on/off for everyone who is dead,
/datum/admins/proc/togglehubvisibility, //toggles visibility on the BYOND Hub.,
/datum/admins/proc/toggledsay, //toggles dsay on/off for everyone,
/client/proc/game_panel, //game panel, allows to change game-mode etc,
/client/proc/cmd_admin_say, //admin-only ooc chat,
/client/proc/cmd_mod_say,
/client/proc/cmd_event_say,
/datum/admins/proc/PlayerNotes,
/datum/admins/proc/show_player_info,
/client/proc/free_slot, //frees slot for chosen job,
/client/proc/cmd_admin_change_custom_event,
/client/proc/cmd_admin_rejuvenate,
/client/proc/toggleghostwriters,
/client/proc/toggledrones,
/client/proc/check_customitem_activity,
/client/proc/man_up,
/client/proc/global_man_up,
/client/proc/response_team, // Response Teams admin verb,
/client/proc/trader_ship, // Trader ship admin verb,
/client/proc/toggle_antagHUD_use,
/client/proc/toggle_antagHUD_restrictions,
/client/proc/allow_character_respawn, // Allows a ghost to respawn ,
/client/proc/event_manager_panel,
/client/proc/empty_ai_core_toggle_latejoin,
/client/proc/empty_ai_core_toggle_latejoin,
/client/proc/aooc,
/client/proc/change_human_appearance_admin, // Allows an admin to change the basic appearance of human-based mobs ,
/client/proc/change_human_appearance_self, // Allows the human-based mob itself change its basic appearance ,
/client/proc/change_security_level,
/client/proc/view_chemical_reaction_logs,
/client/proc/makePAI,
/client/proc/toggle_debug_logs,
/client/proc/toggle_attack_logs,
/datum/admins/proc/paralyze_mob,
/client/proc/fixatmos,
/datum/admins/proc/quick_authentic_nif, //CHOMPStation add
/datum/admins/proc/sendFax,
/client/proc/despawn_player,
/datum/admins/proc/view_feedback,
/client/proc/admin_teleport, //CHOMPEdit
/client/proc/setckey, //YW add - readds SetCkey proc
/client/proc/debug_global_variables,
/client/proc/hide_motion_tracker_feedback
)
var/list/admin_verbs_ban = list(
/client/proc/unban_panel,
/client/proc/jobbans
)
var/list/admin_verbs_sounds = list(
/client/proc/play_local_sound,
/client/proc/play_sound,
/client/proc/play_server_sound,
/client/proc/play_web_sound
)
var/list/admin_verbs_fun = list(
/client/proc/object_talk,
/datum/admins/proc/cmd_admin_dress,
/client/proc/cmd_admin_gib_self,
/client/proc/drop_bomb,
/client/proc/everyone_random,
/client/proc/cinematic,
/datum/admins/proc/toggle_aliens,
/datum/admins/proc/toggle_space_ninja,
/client/proc/cmd_admin_add_freeform_ai_law,
/client/proc/cmd_admin_add_random_ai_law,
/client/proc/make_sound,
/client/proc/toggle_random_events,
/client/proc/editappear,
/client/proc/roll_dices,
/datum/admins/proc/call_supply_drop,
/datum/admins/proc/call_drop_pod,
/client/proc/smite,
/client/proc/smite_vr, //VOREStation Add,
/client/proc/admin_lightning_strike,
/client/proc/cmd_admin_droppod_deploy
)
var/list/admin_verbs_spawn = list(
/datum/admins/proc/spawn_fruit,
/datum/admins/proc/spawn_custom_item,
/datum/admins/proc/check_custom_items,
/datum/admins/proc/spawn_plant,
/datum/admins/proc/spawn_atom, //allows us to spawn instances,
/client/proc/cmd_admin_droppod_spawn,
/client/proc/respawn_character,
/client/proc/spawn_character_mob, //VOREStation Add,
/client/proc/virus2_editor,
/client/proc/spawn_chemdisp_cartridge,
/client/proc/map_template_load,
/client/proc/map_template_upload,
/client/proc/map_template_load_on_new_z
)
var/list/admin_verbs_server = list(
/datum/admins/proc/capture_map,
/client/proc/Set_Holiday,
/client/proc/ToRban,
/datum/admins/proc/startnow,
/datum/admins/proc/restart,
/datum/admins/proc/delay,
/datum/admins/proc/toggleaban,
/datum/admins/proc/togglepersistence,
/client/proc/cmd_mod_say,
/client/proc/toggle_log_hrefs,
/datum/admins/proc/immreboot,
/client/proc/everyone_random,
/datum/admins/proc/toggleAI,
/client/proc/cmd_admin_delete, //delete an instance/object/mob/etc,
/client/proc/cmd_debug_del_all,
/datum/admins/proc/adrev,
/datum/admins/proc/adspawn,
/datum/admins/proc/adjump,
/datum/admins/proc/toggle_aliens,
/datum/admins/proc/toggle_space_ninja,
/client/proc/toggle_random_events,
/client/proc/check_customitem_activity,
/client/proc/modify_server_news,
/client/proc/recipe_dump,
/client/proc/panicbunker,
/client/proc/paranoia_logging,
/client/proc/ip_reputation,
/client/proc/debug_global_variables
)
var/list/admin_verbs_debug = list(
/client/proc/reload_configuration, // CHOMPEdit
/client/proc/getruntimelog, //allows us to access runtime logs to somebody,
/client/proc/cmd_admin_list_open_jobs,
/client/proc/Debug2,
/client/proc/kill_air,
/client/proc/ZASSettings,
/client/proc/cmd_debug_make_powernets,
/client/proc/kill_airgroup,
/client/proc/debug_controller,
/client/proc/debug_antagonist_template,
/client/proc/cmd_debug_mob_lists,
/client/proc/cmd_debug_using_map,
/client/proc/cmd_admin_delete,
/client/proc/cmd_debug_del_all,
/client/proc/cmd_debug_tog_aliens,
/client/proc/cmd_display_del_log,
/client/proc/cmd_display_init_log,
/client/proc/cmd_display_overlay_log,
/client/proc/air_report,
/client/proc/reload_admins,
/client/proc/reload_eventMs,
/client/proc/restart_controller,
/datum/admins/proc/restart,
/client/proc/print_random_map,
/client/proc/create_random_map,
/client/proc/apply_random_map,
/client/proc/overlay_random_map,
/client/proc/delete_random_map,
/client/proc/show_plant_genes,
/client/proc/enable_debug_verbs,
/client/proc/callproc,
/client/proc/callproc_datum,
/client/proc/SDQL2_query,
/client/proc/Jump,
/client/proc/jumptomob,
/client/proc/jumptocoord,
/client/proc/dsay,
/client/proc/toggle_debug_logs,
/client/proc/admin_ghost, //allows us to ghost/reenter body at will,
/datum/admins/proc/view_runtimes,
// /client/proc/show_gm_status, // VOREStation Edit - We don't use SSgame_master yet.
/datum/admins/proc/change_weather,
/datum/admins/proc/change_time,
/client/proc/cmd_regenerate_asset_cache,
/client/proc/cmd_clear_smart_asset_cache,
/client/proc/cmd_reload_robot_sprite_test,
/client/proc/admin_give_modifier,
/client/proc/simple_DPS,
/datum/admins/proc/view_feedback,
/client/proc/debug_global_variables,
/client/proc/ping_webhook,
/client/proc/reload_webhooks,
/client/proc/stop_sounds
)
var/list/admin_verbs_paranoid_debug = list(
/client/proc/callproc,
/client/proc/callproc_datum,
/client/proc/debug_controller
)
var/list/admin_verbs_possess = list(
/proc/possess,
/proc/release
)
var/list/admin_verbs_permissions = list(
/client/proc/edit_admin_permissions
)
var/list/admin_verbs_rejuv = list(
/client/proc/respawn_character
)
//verbs which can be hidden - needs work
var/list/admin_verbs_hideable = list(
/client/proc/deadmin,
// /client/proc/deadchat,
/datum/admins/proc/show_traitor_panel,
/datum/admins/proc/toggleenter,
/datum/admins/proc/toggleguests,
/datum/admins/proc/announce,
/client/proc/colorooc,
/client/proc/admin_ghost,
/client/proc/toggle_view_range,
/datum/admins/proc/view_txt_log,
/datum/admins/proc/view_atk_log,
/client/proc/cmd_admin_subtle_message,
/client/proc/cmd_admin_check_contents,
/client/proc/cmd_admin_check_player_logs,
/client/proc/cmd_admin_check_dialogue_logs,
/datum/admins/proc/access_news_network,
/client/proc/admin_call_shuttle,
/client/proc/admin_cancel_shuttle,
/client/proc/cmd_admin_direct_narrate,
/client/proc/cmd_admin_world_narrate,
/client/proc/check_words,
/client/proc/play_local_sound,
/client/proc/play_sound,
/client/proc/play_server_sound,
/client/proc/play_web_sound,
/client/proc/object_talk,
/datum/admins/proc/cmd_admin_dress,
/client/proc/cmd_admin_gib_self,
/client/proc/drop_bomb,
/client/proc/cinematic,
/datum/admins/proc/toggle_aliens,
/datum/admins/proc/toggle_space_ninja,
/client/proc/cmd_admin_add_freeform_ai_law,
/client/proc/cmd_admin_add_random_ai_law,
/client/proc/cmd_admin_create_centcom_report,
/client/proc/make_sound,
/client/proc/toggle_random_events,
/client/proc/cmd_admin_add_random_ai_law,
/client/proc/Set_Holiday,
/client/proc/ToRban,
/datum/admins/proc/startnow,
/datum/admins/proc/restart,
/datum/admins/proc/delay,
/datum/admins/proc/toggleaban,
/client/proc/toggle_log_hrefs,
/datum/admins/proc/immreboot,
/client/proc/everyone_random,
/datum/admins/proc/toggleAI,
/datum/admins/proc/adrev,
/datum/admins/proc/adspawn,
/datum/admins/proc/adjump,
/client/proc/restart_controller,
/client/proc/cmd_admin_list_open_jobs,
/client/proc/callproc,
/client/proc/callproc_datum,
/client/proc/Debug2,
/client/proc/reload_admins,
/client/proc/kill_air,
/client/proc/cmd_debug_make_powernets,
/client/proc/kill_airgroup,
/client/proc/debug_controller,
/client/proc/startSinglo,
/client/proc/simple_DPS,
/client/proc/cmd_debug_mob_lists,
/client/proc/cmd_debug_using_map,
/client/proc/cmd_debug_del_all,
/client/proc/cmd_debug_tog_aliens,
/client/proc/cmd_display_del_log,
/client/proc/air_report,
/client/proc/enable_debug_verbs,
/client/proc/roll_dices,
/proc/possess,
/proc/release,
/datum/admins/proc/set_tcrystals,
/client/proc/debug_global_variables,
/client/proc/stop_sounds
)
var/list/admin_verbs_mod = list(
/client/proc/cmd_admin_pm_context, //right-click adminPM interface,
/client/proc/cmd_admin_pm_panel, //admin-pm list,
/client/proc/debug_variables, //allows us to -see- the variables of any instance in the game.,
/datum/admins/proc/PlayerNotes,
/client/proc/admin_ghost, //allows us to ghost/reenter body at will,
/client/proc/cmd_mod_say,
/client/proc/cmd_event_say,
/datum/admins/proc/show_player_info,
/datum/admins/proc/show_traitor_panel,
/client/proc/colorooc,
/client/proc/player_panel_new,
/client/proc/dsay,
/datum/admins/proc/show_player_panel,
/client/proc/check_antagonists,
/client/proc/aooc,
/client/proc/jobbans,
/client/proc/toggle_attack_logs,
/client/proc/cmd_admin_subtle_message, //send an message to somebody as a 'voice in their head',
/datum/admins/proc/paralyze_mob,
/client/proc/cmd_admin_direct_narrate,
/client/proc/allow_character_respawn, // Allows a ghost to respawn ,
/datum/admins/proc/sendFax,
/client/proc/getserverlog, //allows us to fetch server logs (GLOB.diary) for other days,
/datum/admins/proc/view_persistent_data,
/datum/admins/proc/view_txt_log, //shows the server log (diary) for today,
/datum/admins/proc/quick_authentic_nif, //CHOMPEdit
/client/proc/admin_teleport, //CHOMPEdit
/datum/admins/proc/view_atk_log //shows the server combat-log, doesn't do anything presently,
)
var/list/admin_verbs_event_manager = list(
/client/proc/cmd_event_say,
/client/proc/cmd_admin_pm_context,
/client/proc/cmd_admin_pm_panel,
/client/proc/admin_ghost,
/datum/admins/proc/show_player_info,
/client/proc/dsay,
/client/proc/cmd_admin_subtle_message,
/client/proc/debug_variables,
/client/proc/check_antagonists,
/client/proc/aooc,
/datum/admins/proc/paralyze_mob,
/client/proc/cmd_admin_direct_narrate,
/client/proc/allow_character_respawn,
/datum/admins/proc/sendFax,
/client/proc/respawn_character,
/proc/possess,
/proc/release,
/datum/admins/proc/change_weather,
/datum/admins/proc/change_time,
/client/proc/cmd_regenerate_asset_cache,
/client/proc/cmd_clear_smart_asset_cache,
/client/proc/cmd_reload_robot_sprite_test,
/client/proc/admin_give_modifier,
/client/proc/Jump,
/client/proc/jumptomob,
/client/proc/jumptocoord,
/client/proc/cmd_admin_delete,
/datum/admins/proc/delay,
/client/proc/Set_Holiday,
/client/proc/make_sound,
/client/proc/toggle_random_events,
/datum/admins/proc/cmd_admin_dress,
/client/proc/cmd_admin_gib_self,
/client/proc/drop_bomb,
/client/proc/cmd_admin_add_freeform_ai_law,
/client/proc/cmd_admin_add_random_ai_law,
/client/proc/make_sound,
/client/proc/toggle_random_events,
/client/proc/editappear,
/client/proc/roll_dices,
/datum/admins/proc/call_supply_drop,
/datum/admins/proc/call_drop_pod,
/datum/admins/proc/PlayerNotes,
/client/proc/callproc,
/client/proc/callproc_datum,
/client/proc/debug_controller,
// /client/proc/show_gm_status, // VOREStation Edit - We don't use SSgame_master yet.
/datum/admins/proc/change_weather,
/datum/admins/proc/change_time,
/client/proc/cmd_regenerate_asset_cache,
/client/proc/cmd_clear_smart_asset_cache,
/client/proc/cmd_reload_robot_sprite_test,
/client/proc/admin_give_modifier,
/datum/admins/proc/cmd_admin_dress,
/client/proc/cmd_admin_gib_self,
/datum/admins/proc/set_tcrystals,
/datum/admins/proc/add_tcrystals,
/client/proc/invisimin, //allows our mob to go invisible/visible,
/datum/admins/proc/show_traitor_panel, //interface which shows a mob's mind.,
/datum/admins/proc/show_game_mode, //Configuration window for the current game mode.,
/datum/admins/proc/force_mode_latespawn, //Force the mode to try a latespawn proc,
/datum/admins/proc/force_antag_latespawn, //Force a specific template to try a latespawn proc,
/datum/admins/proc/announce, //priority announce something to all clients.,
/datum/admins/proc/intercom, //send a fake intercom message, like an arrivals announcement,
/datum/admins/proc/intercom_convo, //send a fake intercom conversation, like an ATC exchange,
/client/proc/colorooc, //allows us to set a custom colour for everythign we say in ooc,
/client/proc/admin_ghost, //allows us to ghost/reenter body at will,
/client/proc/toggle_view_range, //changes how far we can see,
/client/proc/cmd_admin_pm_context, //right-click adminPM interface,
/client/proc/cmd_admin_pm_panel, //admin-pm list,
/client/proc/cmd_admin_subtle_message, //send an message to somebody as a 'voice in their head',
/client/proc/cmd_admin_delete, //delete an instance/object/mob/etc,
/client/proc/cmd_admin_check_contents, //displays the contents of an instance,
/client/proc/cmd_admin_check_player_logs, //checks a player's attack logs,
/client/proc/cmd_admin_check_dialogue_logs, //checks a player's dialogue logs,
/datum/admins/proc/access_news_network, //allows access of newscasters,
/client/proc/jumptocoord, //we ghost and jump to a coordinate,
/client/proc/Getmob, //teleports a mob to our location,
/client/proc/Getkey, //teleports a mob with a certain ckey to our location,
/client/proc/Jump,
/client/proc/jumptokey, //allows us to jump to the location of a mob with a certain ckey,
/client/proc/jumptomob, //allows us to jump to a specific mob,
/client/proc/jumptoturf, //allows us to jump to a specific turf,
/client/proc/admin_call_shuttle, //allows us to call the emergency shuttle,
/client/proc/admin_cancel_shuttle, //allows us to cancel the emergency shuttle, sending it back to CentCom,
/client/proc/cmd_admin_direct_narrate, //send text directly to a player with no padding. Useful for narratives and fluff-text,
/client/proc/cmd_admin_world_narrate, //sends text to all players with no padding,
/client/proc/cmd_admin_create_centcom_report,
/client/proc/check_words, //displays cult-words,
/client/proc/check_ai_laws, //shows AI and borg laws,
/client/proc/rename_silicon, //properly renames silicons,
/client/proc/manage_silicon_laws, // Allows viewing and editing silicon laws. ,
/client/proc/shuttle_panel, // Allows controlling all shuttles remotely.
/client/proc/check_antagonists,
/client/proc/admin_memo, //admin memo system. show/delete/write. +SERVER needed to delete admin memos of others,
/client/proc/dsay, //talk in deadchat using our ckey/fakekey,
/client/proc/secrets,
/client/proc/game_panel, //game panel, allows to change game-mode etc,
/client/proc/cmd_mod_say,
/client/proc/cmd_event_say,
/datum/admins/proc/show_player_info,
/client/proc/free_slot, //frees slot for chosen job,
/client/proc/cmd_admin_change_custom_event,
/client/proc/cmd_admin_rejuvenate,
/client/proc/toggleghostwriters,
/client/proc/man_up,
/client/proc/global_man_up,
/client/proc/response_team, // Response Teams admin verb,
/client/proc/trader_ship, // Trader ship admin verb,
/client/proc/allow_character_respawn, // Allows a ghost to respawn ,
/client/proc/event_manager_panel,
/client/proc/aooc,
/client/proc/change_human_appearance_admin, // Allows an admin to change the basic appearance of human-based mobs ,
/client/proc/change_human_appearance_self, // Allows the human-based mob itself change its basic appearance ,
/client/proc/change_security_level,
/client/proc/makePAI,
/client/proc/toggle_debug_logs,
/client/proc/toggle_attack_logs,
/datum/admins/proc/paralyze_mob,
/client/proc/fixatmos,
/datum/admins/proc/sendFax,
/client/proc/despawn_player,
/datum/admins/proc/view_feedback,
/datum/admins/proc/capture_map,
/client/proc/Set_Holiday,
/datum/admins/proc/startnow,
/datum/admins/proc/restart,
/datum/admins/proc/delay,
/client/proc/cmd_mod_say,
/datum/admins/proc/immreboot,
/client/proc/everyone_random,
/client/proc/cmd_admin_delete, //delete an instance/object/mob/etc,
/client/proc/cmd_debug_del_all,
/client/proc/toggle_random_events,
/client/proc/modify_server_news,
/client/proc/debug_global_variables,
/client/proc/hide_motion_tracker_feedback
)
/client/proc/add_admin_verbs()
if(holder)
add_verb(src, admin_verbs_default)
if(holder.rights & R_BUILDMODE) add_verb(src, /client/proc/togglebuildmodeself)
if(holder.rights & R_ADMIN) add_verb(src, admin_verbs_admin)
if(holder.rights & R_BAN) add_verb(src, admin_verbs_ban)
if(holder.rights & R_FUN) add_verb(src, admin_verbs_fun)
if(holder.rights & R_SERVER) add_verb(src, admin_verbs_server)
if(holder.rights & R_DEBUG)
add_verb(src, admin_verbs_debug)
if(CONFIG_GET(flag/debugparanoid) && !(holder.rights & R_ADMIN)) // CHOMPEdit
remove_verb(src, admin_verbs_paranoid_debug) //Right now it's just callproc but we can easily add others later on.
if(holder.rights & R_POSSESS) add_verb(src, admin_verbs_possess)
if(holder.rights & R_PERMISSIONS) add_verb(src, admin_verbs_permissions)
if(holder.rights & R_STEALTH) add_verb(src, /client/proc/stealth)
if(holder.rights & R_REJUVINATE) add_verb(src, admin_verbs_rejuv)
if(holder.rights & R_SOUNDS) add_verb(src, admin_verbs_sounds)
if(holder.rights & R_SPAWN) add_verb(src, admin_verbs_spawn)
if(holder.rights & R_MOD) add_verb(src, admin_verbs_mod)
if(holder.rights & R_EVENT) add_verb(src, admin_verbs_event_manager)
//CHOMPEdit Begin
/client/proc/remove_admin_verbs()
remove_verb(src, list(
admin_verbs_default,
/client/proc/togglebuildmodeself,
admin_verbs_admin,
admin_verbs_ban,
admin_verbs_fun,
admin_verbs_server,
admin_verbs_debug,
admin_verbs_possess,
admin_verbs_permissions,
/client/proc/stealth,
admin_verbs_rejuv,
admin_verbs_sounds,
admin_verbs_spawn,
debug_verbs
))
//CHOMPEdit End
-141
View File
@@ -1,141 +0,0 @@
/client/proc/adminorbit()
set category = "Fun.Event Kit"
set name = "Orbit Things"
set desc = "Makes something orbit around something else."
set popup_menu = FALSE
if(!check_rights(R_FUN))
return
var/center
var/atom/movable/orbiter
var/input
if(holder.marked_datum)
input = tgui_alert(usr, "You have \n[holder.marked_datum] marked, should this be the center of the orbit, or the orbiter?", "Orbit", list("Center", "Orbiter", "Neither"))
switch(input)
if("Center")
center = holder.marked_datum
if("Orbiter")
orbiter = holder.marked_datum
var/list/possible_things = list()
for(var/T as mob in view(view)) //Let's do mobs before objects
if(ismob(T))
possible_things |= T
for(var/T as obj in view(view))
if(isobj(T))
possible_things |= T
if(!center)
center = tgui_input_list(src, "What should act as the center of the orbit?", "Center", possible_things)
possible_things -= center
if(!orbiter)
orbiter = tgui_input_list(src, "What should act as the orbiter of the orbit?", "Orbiter", possible_things)
if(!center || !orbiter)
to_chat(usr, span_warning("A center of orbit and an orbiter must be configured. You can also do this by marking a target."))
return
if(center == orbiter)
to_chat(usr, span_warning("The center of the orbit cannot also be the orbiter."))
return
if(isturf(orbiter))
to_chat(usr, span_warning("The orbiter cannot be a turf. It can only be used as a center."))
return
var/distance = tgui_input_number(usr, "How large will their orbit radius be? (In pixels. 32 is 'near around a character)", "Orbit Radius", 32)
var/speed = tgui_input_number(usr, "How fast will they orbit (negative numbers spin clockwise)", "Orbit Speed", 20)
var/segments = tgui_input_number(usr, "How many segments will they have in their orbit? (3 is a triangle, 36 is a circle, etc)", "Orbit Segments", 36)
var/clock = FALSE
if(!distance)
distance = 32
if(!speed)
speed = 20
else if (speed < 0)
clock = TRUE
speed *= -1
if(!segments)
segments = 36
if(tgui_alert(usr, "\The [orbiter] will orbit around [center]. Is this okay?", "Confirm Orbit", list("Yes", "No")) == "Yes")
orbiter.orbit(center, distance, clock, speed, segments)
/client/proc/removetickets()
set name = "Security Tickets"
set category = "Admin.Investigate"
set desc = "Allows one to remove tickets from the global list."
if(!check_rights(R_ADMIN))
return
if(security_printer_tickets.len >= 1)
var/input = tgui_input_list(usr, "Which message?", "Security Tickets", security_printer_tickets)
if(!input)
return
if(tgui_alert(usr, "Do you want to remove the following message from the global list? \"[input]\"", "Remove Ticket", list("Yes", "No")) == "Yes")
security_printer_tickets -= input
log_and_message_admins("removed a security ticket from the global list: \"[input]\"", usr)
else
tgui_alert_async(usr, "The ticket list is empty.","Empty")
/client/proc/delbook()
set name = "Delete Book"
set desc = "Permamently deletes a book from the database."
set category = "Admin.Game"
if(!src.holder)
to_chat(src, "Only administrators may use this command.")
return
var/obj/machinery/librarycomp/our_comp
for(var/obj/machinery/librarycomp/l in world)
if(istype(l, /obj/machinery/librarycomp))
our_comp = l
break
if(!our_comp)
to_chat(usr, span_warning("Unable to locate a library computer to use for book deleting."))
return
var/dat = "<HEAD><TITLE>Book Inventory Management</TITLE></HEAD><BODY>\n"
dat += "<h3>ADMINISTRATIVE MANAGEMENT</h3>"
establish_db_connection()
if(!SSdbcore.IsConnected())
dat += span_red(span_bold("ERROR") + ": Unable to contact External Archive. Please contact your system administrator for assistance.")
else
dat += {"<A href='byond://?our_comp=\ref[our_comp];[HrefToken()];orderbyid=1'>(Order book by SS<sup>13</sup>BN)</A><BR><BR>
<table>
<tr><td><A href='byond://?our_comp=\ref[our_comp];[HrefToken()];sort=author>AUTHOR</A></td><td><A href='byond://?our_comp=\ref[our_comp];[HrefToken()];sort=title>TITLE</A></td><td><A href='byond://?our_comp=\ref[our_comp];[HrefToken()];sort=category>CATEGORY</A></td><td></td></tr>"}
var/datum/db_query/query = SSdbcore.NewQuery("SELECT id, author, title, category FROM library ORDER BY [our_comp.sortby]")
query.Execute()
var/show_admin_options = check_rights(R_ADMIN, show_msg = FALSE)
while(query.NextRow())
var/id = query.item[1]
var/author = query.item[2]
var/title = query.item[3]
var/category = query.item[4]
dat += "<tr><td>[author]</td><td>[title]</td><td>[category]</td><td>"
if(show_admin_options) // This isn't the only check, since you can just href-spoof press this button. Just to tidy things up.
dat += "<A href='byond://?our_comp=\ref[our_comp];[HrefToken()];delid=[id]'>\[Del\]</A>"
dat += "</td></tr>"
dat += "</table>"
qdel(query)
usr << browse("<html>[dat]</html>", "window=library")
onclose(usr, "library")
/client/proc/toggle_spawning_with_recolour()
set name = "Toggle Simple/Robot recolour verb"
set desc = "Makes it so new robots/simple_mobs spawn with a verb to recolour themselves for this round. You must set them separately."
set category = "Server.Game"
if(!check_rights(R_ADMIN|R_EVENT|R_FUN))
return
var/which = tgui_alert(usr, "Which do you want to toggle?", "Choose Recolour Toggle", list("Robot", "Simple Mob"))
switch(which)
if("Robot")
CONFIG_SET(flag/allow_robot_recolor, !CONFIG_GET(flag/allow_robot_recolor))
to_chat(usr, "You have [CONFIG_GET(flag/allow_robot_recolor) ? "enabled" : "disabled"] newly spawned cyborgs to spawn with the recolour verb")
if("Simple Mob")
CONFIG_SET(flag/allow_simple_mob_recolor, !CONFIG_GET(flag/allow_simple_mob_recolor))
to_chat(usr, "You have [CONFIG_GET(flag/allow_simple_mob_recolor) ? "enabled" : "disabled"] newly spawned simple mobs to spawn with the recolour verb")
+3
View File
@@ -1412,6 +1412,9 @@
/mob/living/proc/adjust_nutrition(amount)
nutrition = between(0, nutrition + amount, max_nutrition)
/mob/living/proc/nutrition_percent()
return 100 * nutrition / max_nutrition
/mob/living/vv_get_header()
. = ..()
var/refid = REF(src)
+1 -1
View File
@@ -102,7 +102,7 @@
/obj/item/cell/proc/percent() // return % charge of cell
var/charge_percent = 0
if(maxcharge > 0)
charge_percent = 100.0*charge/maxcharge
charge_percent = 100.0 * charge / maxcharge
return charge_percent
/obj/item/cell/proc/fully_charged()
+4
View File
@@ -1003,6 +1003,10 @@
if(new_show_liquids == 1)
new_belly.show_liquids = TRUE
if(isnum(belly_data["reagent_gen_cost_limit"]))
var/new_reagent_gen_cost_limit = belly_data["reagent_gen_cost_limit"]
new_belly.reagent_gen_cost_limit = sanitize_integer(new_reagent_gen_cost_limit, 0, 100, initial(new_belly.reagent_gen_cost_limit))
if(isnum(belly_data["reagentbellymode"]))
var/new_reagentbellymode = belly_data["reagentbellymode"]
if(new_reagentbellymode == 0)
+3
View File
@@ -162,6 +162,7 @@
var/belly_fullscreen_alpha = 255
// Liquid belly vars
var/reagent_gen_cost_limit = 10 //Our lower percentage limit of nutrition / charge until which we produce liquids
var/reagentbellymode = FALSE // Belly has abilities to make liquids from digested/absorbed/drained prey and/or nutrition
var/reagent_mode_flags = 0
@@ -378,6 +379,7 @@
"colorization_enabled",
"show_liquids",
"reagentbellymode",
"reagent_gen_cost_limit",
"liquid_fullness1_messages",
"liquid_fullness2_messages",
"liquid_fullness3_messages",
@@ -1357,6 +1359,7 @@
dupe.belly_fullscreen_color4 = belly_fullscreen_color4
dupe.belly_fullscreen_alpha = belly_fullscreen_alpha
dupe.show_liquids = show_liquids
dupe.reagent_gen_cost_limit = reagent_gen_cost_limit
dupe.reagentbellymode = reagentbellymode
dupe.vorefootsteps_sounds = vorefootsteps_sounds
dupe.liquid_fullness1_messages = liquid_fullness1_messages
@@ -5,14 +5,16 @@
if(isrobot(owner))
var/mob/living/silicon/robot/R = owner
if(R.cell && R.cell.charge >= gen_cost*10 && gen_interval >= gen_time)
GenerateBellyReagents()
if(R.cell.percent() >= reagent_gen_cost_limit)
GenerateBellyReagents()
gen_interval = 0
return
gen_interval++
return
if(owner.nutrition >= gen_cost && gen_interval >= gen_time)
GenerateBellyReagents()
if(owner.nutrition_percent() >= reagent_gen_cost_limit)
GenerateBellyReagents()
gen_interval = 0
return
gen_interval++
@@ -439,6 +439,7 @@
// Liquid Options
belly_data["show_liquids"] = B.show_liquids
belly_data["reagentbellymode"] = B.reagentbellymode
belly_data["reagent_gen_cost_limit"] = B.reagent_gen_cost_limit
belly_data["reagent_chosen"] = B.reagent_chosen
belly_data["reagent_name"] = B.reagent_name
belly_data["reagent_transfer_verb"] = B.reagent_transfer_verb
@@ -14,6 +14,12 @@
host.vore_selected.show_liquids = 0
to_chat(user,span_warning("Your [lowertext(host.vore_selected.name)] no longer has liquid options."))
. = TRUE
if("b_liq_reagent_gen_cost_limit")
var/new_limit = text2num(params["val"])
if(!isnum(new_limit))
return FALSE
host.vore_selected.reagent_gen_cost_limit = CLAMP(new_limit, 0, 100)
. = TRUE
if("b_liq_reagent_gen")
if(!host.vore_selected.reagentbellymode) //liquid container adjustments and interactions.
host.vore_selected.reagentbellymode = 1
@@ -368,9 +368,18 @@
selected_list["contents"] = selected_contents
if(LIQUID_OPTIONS_TAB)
var/liq_gen_resources = 0
if(isrobot(owner))
var/mob/living/silicon/robot/robot_owner = owner
if(robot_owner.cell)
liq_gen_resources = robot_owner.cell.percent()
else if(isliving(owner))
var/mob/living/living_owner = owner
liq_gen_resources = living_owner.nutrition_percent()
// liquid belly options
var/list/belly_liquid_data = list(
"show_liq" = selected.show_liquids,
"liq_gen_resources" = liq_gen_resources,
"liq_interacts" = compile_liquid_interact_data(selected)
)
selected_list["belly_liquid_data"] = belly_liquid_data
@@ -717,6 +717,7 @@
"liq_reagent_transfer_verb" = selected.reagent_transfer_verb,
"liq_reagent_nutri_rate" = selected.gen_time,
"liq_reagent_capacity" = selected.custom_max_volume,
"liq_gen_cost_limit" = selected.reagent_gen_cost_limit,
"liq_sloshing" = selected.vorefootsteps_sounds,
"liq_reagent_addons" = liquid_addon_list,
"custom_reagentcolor" = (selected.custom_reagentcolor ? selected.custom_reagentcolor : selected.reagentcolor),
@@ -34,27 +34,27 @@ export const SleeperPatient = (props: { name: string }) => {
</Stack.Item>
<Stack.Item>
<Box color={our_patient.health > 0 ? undefined : 'red'}>
{`- Overall Health: ${((100 * our_patient.health) / our_patient.max_health).toFixed(0)}`}
{`- Overall Health: ${((100 * our_patient.health) / our_patient.max_health).toFixed()}`}
</Box>
</Stack.Item>
<Stack.Item>
<Box color={our_patient.brute < 60 ? 'label' : 'red'}>
{`- Brute Damage: ${our_patient.brute.toFixed(0)}`}
{`- Brute Damage: ${our_patient.brute.toFixed()}`}
</Box>
</Stack.Item>
<Stack.Item>
<Box color={our_patient.oxy < 60 ? 'label' : 'red'}>
{`- Respiratory Damage: ${our_patient.oxy.toFixed(0)}`}
{`- Respiratory Damage: ${our_patient.oxy.toFixed()}`}
</Box>
</Stack.Item>
<Stack.Item>
<Box color={our_patient.tox < 60 ? 'label' : 'red'}>
{`- Toxin Content: ${our_patient.tox.toFixed(0)}`}
{`- Toxin Content: ${our_patient.tox.toFixed()}`}
</Box>
</Stack.Item>
<Stack.Item>
<Box color={our_patient.burn < 60 ? 'label' : 'red'}>
{`- Burn Severity: ${our_patient.burn.toFixed(0)}`}
{`- Burn Severity: ${our_patient.burn.toFixed()}`}
</Box>
</Stack.Item>
{(isParalysed ||
@@ -16,6 +16,7 @@ export const LiquidOptionsRight = (props: {
liq_reagent_transfer_verb,
liq_reagent_nutri_rate,
liq_reagent_capacity,
liq_gen_cost_limit,
liq_custom_name_max,
liq_custom_name_min,
max_liquid_level,
@@ -39,6 +40,18 @@ export const LiquidOptionsRight = (props: {
tooltip="Choose the amount of liquid the belly can contain at most. Ranges from 10 to 300."
/>
</LabeledList.Item>
<LabeledList.Item label="Generation Cost Limit">
<VorePanelEditNumber
action="liq_set_attribute"
subAction="b_liq_reagent_gen_cost_limit"
editMode={editMode}
value={liq_gen_cost_limit}
minValue={0}
maxValue={100}
unit="%"
tooltip={`Choose the minimum amount of nutrition or power liquid generation should use. Ranges from 0 to 100.`}
/>
</LabeledList.Item>
<LabeledList.Item label="Generation Time">
<VorePanelEditDropdown
action="liq_set_attribute"
@@ -16,7 +16,7 @@ export const VoreSelectedBellyLiquidOptions = (props: {
const { act } = useBackend();
const { editMode, bellyLiquidData, presets } = props;
const { show_liq, liq_interacts } = bellyLiquidData;
const { show_liq, liq_gen_resources, liq_interacts } = bellyLiquidData;
return (
<Stack vertical fill>
@@ -90,7 +90,16 @@ export const VoreSelectedBellyLiquidOptions = (props: {
</Section>
</Stack.Item>
<Stack.Item>
<Section title="Current Liquids">
<Section
buttons={
<Stack>
<Stack.Item>
<Box color="label">{`Nutrition / Power: ${liq_gen_resources.toFixed()} %`}</Box>
</Stack.Item>
</Stack>
}
title="Current Liquids"
>
<LabeledList>
{liq_interacts.current_reagents
.sort((a, b) => a.volume - b.volume)
@@ -213,6 +213,7 @@ export type ContentData = {
export type BellyLiquidData = {
show_liq: BooleanLike;
liq_gen_resources: number;
liq_interacts: LiqInteractData;
};
@@ -279,6 +280,7 @@ export type LiqInteractData = {
liq_reagent_transfer_verb: string;
liq_reagent_nutri_rate: number;
liq_reagent_capacity: number;
liq_gen_cost_limit: number;
liq_sloshing: BooleanLike;
liq_reagent_addons: CheckBoxEntry[];
custom_reagentcolor: string;
@@ -199,6 +199,7 @@ export const generateBellyString = (belly: Belly, index: number) => {
reagent_transfer_verb,
gen_time_display,
custom_max_volume,
reagent_gen_cost_limit,
vorefootsteps_sounds,
reagent_mode_flag_list,
liquid_overlay,
@@ -847,6 +848,10 @@ export const generateBellyString = (belly: Belly, index: number) => {
{ label: 'Transfer Verb', value: reagent_transfer_verb },
{ label: 'Generation Time', value: gen_time_display },
{ label: 'Liquid Capacity', value: custom_max_volume },
{
label: 'Generation Limit (Nutrition / Charge) %',
value: reagent_gen_cost_limit,
},
];
result += formatListItems(liquidItems);
@@ -189,6 +189,7 @@ export type Belly = {
// Liquid Options
show_liquids: BooleanLike;
reagentbellymode: BooleanLike;
reagent_gen_cost_limit: number;
reagent_chosen: string;
reagent_name: string;
reagent_transfer_verb: string;
+1 -1
View File
@@ -20,7 +20,7 @@ export const VotePanel = (props, context) => {
<Window.Content>
<Section fill scrollable title={question}>
<Box mb={1.5} ml={0.5}>
Time remaining: {remaining.toFixed(0)}s
Time remaining: {remaining.toFixed()}s
</Box>
{choices.map((choice, i) => (
<Box key={i}>