mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 02:09:41 +00:00
[MIRROR] Port tg statpanel (#9242)
Co-authored-by: ShadowLarkens <shadowlarkens@gmail.com> Co-authored-by: Kashargul <KashL@t-online.de>
This commit is contained in:
@@ -74,12 +74,10 @@
|
||||
#define SS_PAUSED 3 /// paused by mc_tick_check
|
||||
#define SS_SLEEPING 4 /// fire() slept.
|
||||
#define SS_PAUSING 5 /// in the middle of pausing
|
||||
//CHOMPEdit Begin
|
||||
// Subsystem init stages
|
||||
#define INITSTAGE_EARLY 1 //! Early init stuff that doesn't need to wait for mapload
|
||||
#define INITSTAGE_MAIN 2 //! Main init stage
|
||||
#define INITSTAGE_MAX 2 //! Highest initstage.
|
||||
//CHOMPEdit End
|
||||
|
||||
#define SUBSYSTEM_DEF(X) GLOBAL_REAL(SS##X, /datum/controller/subsystem/##X);\
|
||||
/datum/controller/subsystem/##X/New(){\
|
||||
|
||||
@@ -136,7 +136,7 @@ var/global/list/runlevel_flags = list(RUNLEVEL_LOBBY, RUNLEVEL_SETUP, RUNLEVEL_G
|
||||
#define INIT_ORDER_SKYBOX -30 //Visual only, irrelevant to gameplay, but needs to be late enough to have overmap populated fully
|
||||
#define INIT_ORDER_TICKER -50
|
||||
#define INIT_ORDER_MAPRENAME -60 //Initiating after Ticker to ensure everything is loaded and everything we rely on us working
|
||||
#define INIT_ORDER_STATPANELS -98 //CHOMPEdit
|
||||
#define INIT_ORDER_STATPANELS -98
|
||||
#define INIT_ORDER_CHAT -100 //Should be last to ensure chat remains smooth during init.
|
||||
|
||||
|
||||
@@ -169,7 +169,7 @@ var/global/list/runlevel_flags = list(RUNLEVEL_LOBBY, RUNLEVEL_SETUP, RUNLEVEL_G
|
||||
#define FIRE_PRIORITY_MACHINES 100
|
||||
#define FIRE_PRIORITY_TGUI 110
|
||||
#define FIRE_PRIORITY_PROJECTILES 150
|
||||
#define FIRE_PRIORITY_STATPANEL 390 //CHOMPEdit
|
||||
#define FIRE_PRIORITY_STATPANEL 390
|
||||
#define FIRE_PRIORITY_CHAT 400
|
||||
#define FIRE_PRIORITY_OVERLAYS 500
|
||||
#define FIRE_PRIORITY_TIMER 700
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
//CHOMPEdit Begin
|
||||
///displays the current time into the round, with a lot of extra code just there for ensuring it looks okay after an entire day passes
|
||||
#define ROUND_TIME(...) ( "[world.time - SSticker.round_start_time > MIDNIGHT_ROLLOVER ? "[round((world.time - SSticker.round_start_time)/MIDNIGHT_ROLLOVER)]:[worldtime2text()]" : worldtime2text()]" )
|
||||
//CHOMPEdit End
|
||||
|
||||
/// Define that just has the current in-universe year for use in whatever context you might want to display that in. (For example, 2022 -> 2562 given a 540 year offset)
|
||||
#define CURRENT_STATION_YEAR (GLOB.year_integer + STATION_YEAR_OFFSET)
|
||||
|
||||
|
||||
@@ -95,7 +95,6 @@
|
||||
|
||||
return isnull(alpha) ? rgb(r, g, b) : rgb(r, g, b, alpha)
|
||||
|
||||
//CHOMPEdit Begin
|
||||
// Ported from /tg/station
|
||||
// Creates a single icon from a given /atom or /image. Only the first argument is required.
|
||||
// appearance_flags indicates whether appearance_flags should be respected (at the cost of about 10-20% perf)
|
||||
@@ -297,7 +296,6 @@
|
||||
return final_icon
|
||||
|
||||
#undef PROCESS_OVERLAYS_OR_UNDERLAYS
|
||||
//CHOMPEdit End
|
||||
|
||||
/proc/getIconMask(atom/A)//By yours truly. Creates a dynamic mask for a mob/whatever. /N
|
||||
var/icon/alpha_mask = new(A.icon,A.icon_state)//So we want the default icon and icon state of A.
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
//CHOMPEdit Begin
|
||||
//Returns the world time in english
|
||||
/proc/worldtime2text()
|
||||
return gameTimestamp("hh:mm:ss", world.time)
|
||||
//CHOMPEdit End
|
||||
|
||||
#define TimeOfGame (get_game_time())
|
||||
#define TimeOfTick (TICK_USAGE*0.01*world.tick_lag)
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
var/list/output_list = list()
|
||||
for(var/thing in verbs_list)
|
||||
var/procpath/verb_to_add = thing
|
||||
output_list[++output_list.len] = list(verb_to_add.category, verb_to_add.name)
|
||||
output_list[++output_list.len] = list(verb_to_add.category, verb_to_add.name, verb_to_add.desc)
|
||||
|
||||
target.stat_panel.send_message("add_verb_list", output_list)
|
||||
|
||||
@@ -286,11 +286,9 @@
|
||||
/atom/proc/AltClick(var/mob/user)
|
||||
var/turf/T = get_turf(src)
|
||||
if(T && user.TurfAdjacent(T))
|
||||
user.set_listed_turf(T) //CHOMPEdit
|
||||
user.set_listed_turf(T)
|
||||
return 1
|
||||
|
||||
//CHOMP Removal
|
||||
|
||||
/mob/proc/TurfAdjacent(var/turf/T)
|
||||
return T.AdjacentQuick(src)
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
if(modifiers["alt"]) // alt and alt-gr (rightalt)
|
||||
var/turf/T = get_turf(A)
|
||||
if(T && TurfAdjacent(T))
|
||||
set_listed_turf(T) //CHOMPEdit
|
||||
set_listed_turf(T)
|
||||
return
|
||||
// You are responsible for checking config.ghost_interaction when you override this function
|
||||
// Not all of them require checking, see below
|
||||
|
||||
@@ -16,4 +16,4 @@
|
||||
|
||||
/datum/controller/proc/Recover()
|
||||
|
||||
/datum/controller/proc/stat_entry(msg) //CHOMPEdit
|
||||
/datum/controller/proc/stat_entry(msg)
|
||||
|
||||
@@ -96,9 +96,9 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe) // CHOMPEdit - Managed Globals
|
||||
/datum/controller/failsafe/proc/defcon_pretty()
|
||||
return defcon
|
||||
|
||||
/datum/controller/failsafe/stat_entry(msg) //CHOMPEdit
|
||||
/datum/controller/failsafe/stat_entry(msg)
|
||||
if(!statclick)
|
||||
statclick = new/obj/effect/statclick/debug(null, "Initializing...", src)
|
||||
|
||||
msg = "Failsafe Controller: [statclick.update("Defcon: [defcon_pretty()] (Interval: [Failsafe.processing_interval] | Iteration: [Failsafe.master_iteration])")]" //CHOMPEdit
|
||||
return msg //CHOMPEdit
|
||||
msg = "Failsafe Controller: [statclick.update("Defcon: [defcon_pretty()] (Interval: [Failsafe.processing_interval] | Iteration: [Failsafe.master_iteration])")]"
|
||||
return msg
|
||||
|
||||
@@ -32,12 +32,12 @@ GLOBAL_REAL(GLOB, /datum/controller/global_vars)
|
||||
|
||||
return ..()
|
||||
|
||||
/datum/controller/global_vars/stat_entry(msg) //CHOMPEdit
|
||||
/datum/controller/global_vars/stat_entry(msg)
|
||||
if(!statclick)
|
||||
statclick = new/obj/effect/statclick/debug(null, "Initializing...", src)
|
||||
|
||||
msg = "GLOB: [statclick.update("Edit")]" //CHOMPEdit
|
||||
return msg //CHOMPEdit
|
||||
msg = "GLOB: [statclick.update("Edit")]"
|
||||
return msg
|
||||
|
||||
/datum/controller/global_vars/vv_edit_var(var_name, var_value)
|
||||
if(gvars_datum_protected_varlist[var_name])
|
||||
|
||||
@@ -695,12 +695,12 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
|
||||
|
||||
|
||||
/datum/controller/master/stat_entry(msg) //CHOMPEdit
|
||||
/datum/controller/master/stat_entry(msg)
|
||||
if(!statclick)
|
||||
statclick = new/obj/effect/statclick/debug(null, "Initializing...", src)
|
||||
|
||||
msg = "Byond: (FPS:[world.fps]) (TickCount:[world.time/world.tick_lag]) (TickDrift:[round(Master.tickdrift,1)]([round((Master.tickdrift/(world.time/world.tick_lag))*100,0.1)]%))" //CHOMPedit
|
||||
msg += "Master Controller: [statclick.update("(TickRate:[Master.processing]) (Iteration:[Master.iteration])")]" //CHOMPEdit
|
||||
msg = "Byond: (FPS:[world.fps]) (TickCount:[world.time/world.tick_lag]) (TickDrift:[round(Master.tickdrift,1)]([round((Master.tickdrift/(world.time/world.tick_lag))*100,0.1)]%))"
|
||||
msg += "Master Controller: [statclick.update("(TickRate:[Master.processing]) (Iteration:[Master.iteration])")]"
|
||||
|
||||
return msg
|
||||
|
||||
|
||||
@@ -236,14 +236,12 @@
|
||||
// CHOMPEdit End
|
||||
|
||||
//hook for printing stats to the "MC" statuspanel for admins to see performance and related stats etc.
|
||||
//CHOMPEdit Begin
|
||||
/datum/controller/subsystem/stat_entry(msg)
|
||||
if(can_fire && !(SS_NO_FIRE & flags))
|
||||
msg = "[round(cost,1)]ms|[round(tick_usage,1)]%([round(tick_overrun,1)]%)|[round(ticks,0.1)]\t[msg]"
|
||||
else
|
||||
msg = "OFFLINE\t[msg]"
|
||||
return msg
|
||||
//CHOMPEdit End
|
||||
|
||||
/datum/controller/subsystem/proc/state_letter()
|
||||
switch (state)
|
||||
|
||||
@@ -12,11 +12,9 @@ SUBSYSTEM_DEF(ai)
|
||||
var/slept_mobs = 0
|
||||
var/list/process_z = list()
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/datum/controller/subsystem/ai/stat_entry(msg)
|
||||
msg = "P: [processing.len] | S: [slept_mobs]"
|
||||
return ..()
|
||||
//CHOMPEdit End
|
||||
|
||||
/datum/controller/subsystem/ai/fire(resumed = 0)
|
||||
if (!resumed)
|
||||
|
||||
@@ -9,11 +9,9 @@ SUBSYSTEM_DEF(aifast)
|
||||
var/list/processing = list()
|
||||
var/list/currentrun = list()
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/datum/controller/subsystem/aifast/stat_entry(msg)
|
||||
msg = "P:[processing.len]"
|
||||
return ..()
|
||||
// CHOMPEdit End
|
||||
|
||||
/datum/controller/subsystem/aifast/fire(resumed = 0)
|
||||
if (!resumed)
|
||||
|
||||
@@ -246,7 +246,6 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun
|
||||
if(MC_TICK_CHECK)
|
||||
return
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/datum/controller/subsystem/air/stat_entry(msg)
|
||||
msg = "S:[current_step ? part_names[current_step] : ""] "
|
||||
msg += "C:{"
|
||||
@@ -266,7 +265,6 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun
|
||||
msg += "Z [zones_to_update.len] "
|
||||
msg += "}"
|
||||
return ..()
|
||||
// CHOMPEdit End
|
||||
|
||||
// ZAS might displace objects as the map loads if an air tick is processed mid-load.
|
||||
/datum/controller/subsystem/air/StartLoadingMap(var/quiet = TRUE)
|
||||
|
||||
@@ -41,8 +41,6 @@ SUBSYSTEM_DEF(alarm)
|
||||
/datum/controller/subsystem/alarm/proc/number_of_active_alarms()
|
||||
return active_alarm_cache.len
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/datum/controller/subsystem/alarm/stat_entry(msg)
|
||||
msg = "[number_of_active_alarms()] alarm\s"
|
||||
return ..()
|
||||
//CHOMPEdit End
|
||||
|
||||
@@ -20,11 +20,9 @@ SUBSYSTEM_DEF(chemistry)
|
||||
initialize_chemical_reactions()
|
||||
return SS_INIT_SUCCESS // CHOMPEdit
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/datum/controller/subsystem/chemistry/stat_entry(msg)
|
||||
msg = "C: [chemical_reagents.len] | R: [chemical_reactions.len]"
|
||||
return ..()
|
||||
//CHOMPEdit End
|
||||
|
||||
//Chemical Reactions - Initialises all /decl/chemical_reaction into a list
|
||||
// It is filtered into multiple lists within a list.
|
||||
|
||||
@@ -41,11 +41,9 @@ SUBSYSTEM_DEF(events)
|
||||
var/datum/event_container/EC = event_containers[i]
|
||||
EC.process()
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/datum/controller/subsystem/events/stat_entry(msg)
|
||||
msg = "E:[active_events.len]"
|
||||
return ..()
|
||||
//CHOMPEdit End
|
||||
|
||||
/datum/controller/subsystem/events/Recover()
|
||||
if(SSevents.active_events)
|
||||
|
||||
@@ -56,11 +56,9 @@ SUBSYSTEM_DEF(inactivity)
|
||||
if (MC_TICK_CHECK)
|
||||
return
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/datum/controller/subsystem/inactivity/stat_entry(msg)
|
||||
msg = "Kicked: [number_kicked]"
|
||||
return ..()
|
||||
//CHOMPEdit End
|
||||
|
||||
/datum/controller/subsystem/inactivity/proc/can_kick(var/client/C)
|
||||
if(C.holder) return FALSE //VOREStation Add - Don't kick admins.
|
||||
|
||||
@@ -82,7 +82,6 @@ SUBSYSTEM_DEF(machines)
|
||||
T.broadcast_status()
|
||||
CHECK_TICK
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/datum/controller/subsystem/machines/stat_entry(msg)
|
||||
msg = "C:{"
|
||||
msg += "PI:[round(cost_pipenets,1)]|"
|
||||
@@ -96,7 +95,6 @@ SUBSYSTEM_DEF(machines)
|
||||
msg += "PO:[SSmachines.powerobjs.len]|"
|
||||
msg += "MC/MS:[round((cost ? SSmachines.processing_machines.len/cost_machinery : 0),0.1)]"
|
||||
return ..()
|
||||
// CHOMPEdit End
|
||||
|
||||
/datum/controller/subsystem/machines/proc/process_pipenets(resumed = 0)
|
||||
if (!resumed)
|
||||
|
||||
@@ -19,11 +19,9 @@ SUBSYSTEM_DEF(mobs)
|
||||
var/slept_mobs = 0
|
||||
var/list/process_z = list()
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/datum/controller/subsystem/mobs/stat_entry(msg)
|
||||
msg = "P: [global.mob_list.len] | S: [slept_mobs]"
|
||||
return ..()
|
||||
//CHOMPEdit End
|
||||
|
||||
/datum/controller/subsystem/mobs/fire(resumed = 0)
|
||||
if (!resumed)
|
||||
|
||||
@@ -7,11 +7,10 @@ SUBSYSTEM_DEF(orbit)
|
||||
var/list/currentrun = list()
|
||||
var/list/processing = list()
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/datum/controller/subsystem/orbit/stat_entry(msg)
|
||||
msg = "P:[processing.len]"
|
||||
return ..()
|
||||
//CHOMPEdit End
|
||||
|
||||
|
||||
/datum/controller/subsystem/orbit/fire(resumed = 0)
|
||||
if (!resumed)
|
||||
|
||||
@@ -12,11 +12,9 @@ SUBSYSTEM_DEF(ping)
|
||||
runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT
|
||||
var/list/currentrun = list()
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/datum/controller/subsystem/ping/stat_entry(msg)
|
||||
msg = "P:[GLOB.clients.len]"
|
||||
return ..()
|
||||
// CHOMPEdit End
|
||||
|
||||
/datum/controller/subsystem/ping/fire(resumed = FALSE)
|
||||
// Prepare the new batch of clients
|
||||
|
||||
@@ -22,11 +22,11 @@ SUBSYSTEM_DEF(plants)
|
||||
var/list/processing = list()
|
||||
var/list/currentrun = list()
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/datum/controller/subsystem/plants/stat_entry(msg)
|
||||
msg = "P:[processing.len]|S:[seeds.len]"
|
||||
return ..()
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/datum/controller/subsystem/plants/Initialize()
|
||||
setup()
|
||||
return SS_INIT_SUCCESS
|
||||
|
||||
@@ -23,11 +23,11 @@ SUBSYSTEM_DEF(processing)
|
||||
for(var/datum/D in old_processing)
|
||||
if(CHECK_BITFIELD(D.datum_flags, DF_ISPROCESSING))
|
||||
processing |= D
|
||||
//CHOMPEdit Begin
|
||||
|
||||
/datum/controller/subsystem/processing/stat_entry(msg)
|
||||
msg = "[stat_tag]:[processing.len]"
|
||||
return ..()
|
||||
//CHOMPEdit End
|
||||
|
||||
/datum/controller/subsystem/processing/fire(resumed = 0)
|
||||
if (!resumed)
|
||||
currentrun = processing.Copy()
|
||||
|
||||
@@ -53,11 +53,11 @@ SUBSYSTEM_DEF(radiation)
|
||||
A.rad_act(rads)
|
||||
if (MC_TICK_CHECK)
|
||||
return
|
||||
//CHOMPEdit Begin
|
||||
|
||||
/datum/controller/subsystem/radiation/stat_entry(msg)
|
||||
msg = "S:[sources.len], RC:[resistance_cache.len]"
|
||||
return ..()
|
||||
//CHOMPEdit End
|
||||
|
||||
// Ray trace from all active radiation sources to T and return the strongest effect.
|
||||
/datum/controller/subsystem/radiation/proc/get_rads_at_turf(var/turf/T)
|
||||
. = 0
|
||||
|
||||
@@ -171,8 +171,7 @@ SUBSYSTEM_DEF(shuttles)
|
||||
overmap_halted = !overmap_halted
|
||||
for(var/obj/effect/overmap/visitable/ship/ship_effect as anything in ships)
|
||||
overmap_halted ? ship_effect.halt() : ship_effect.unhalt()
|
||||
//CHOMPEdit Begin
|
||||
|
||||
/datum/controller/subsystem/shuttles/stat_entry(msg)
|
||||
msg = "Shuttles:[process_shuttles.len]/[shuttles.len], Ships:[ships.len], L:[registered_shuttle_landmarks.len][overmap_halted ? ", HALT" : ""]"
|
||||
return ..()
|
||||
//CHOMPEdit End
|
||||
|
||||
@@ -31,10 +31,10 @@ SUBSYSTEM_DEF(statpanels)
|
||||
"Map: [using_map.name]",
|
||||
//cached ? "Next Map: [cached.map_name]" : null,
|
||||
//"Next Map: -- Not Available --",
|
||||
"Round ID: [GLOB.round_id ? GLOB.round_id : "NULL"]",
|
||||
"Round ID: [GLOB.round_id ? GLOB.round_id : "NULL"]", // CHOMPEdit
|
||||
"Server Time: [time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss")]",
|
||||
"Round Time: [ROUND_TIME()]",
|
||||
"Station Date: [stationdate2text()], [capitalize(GLOB.world_time_season)]",
|
||||
"Station Date: [stationdate2text()], [capitalize(GLOB.world_time_season)]", // CHOMPEdit
|
||||
"Station Time: [stationtime2text()]",
|
||||
"Time Dilation: [round(SStime_track.time_dilation_current,1)]% AVG:([round(SStime_track.time_dilation_avg_fast,1)]%, [round(SStime_track.time_dilation_avg,1)]%, [round(SStime_track.time_dilation_avg_slow,1)]%)"
|
||||
)
|
||||
@@ -136,7 +136,7 @@ SUBSYSTEM_DEF(statpanels)
|
||||
|
||||
target.stat_panel.send_message("update_stat", list(
|
||||
global_data = global_data,
|
||||
ping_str = "Ping: [round(target.lastping, 1)]ms (Average: [round(target.avgping, 1)]ms)",
|
||||
ping_str = "Ping: [round(target.lastping, 1)]ms (Average: [round(target.avgping, 1)]ms)", // CHOMPEdit
|
||||
other_str = target.mob?.get_status_tab_items(),
|
||||
))
|
||||
|
||||
@@ -173,7 +173,7 @@ SUBSYSTEM_DEF(statpanels)
|
||||
target.stat_panel.send_message("update_examine", examine_update)
|
||||
|
||||
/datum/controller/subsystem/statpanels/proc/set_tickets_tab(client/target)
|
||||
var/list/tickets = GLOB.tickets.stat_entry(target)
|
||||
var/list/tickets = GLOB.tickets.stat_entry(target) // CHOMPEdit
|
||||
target.stat_panel.send_message("update_tickets", tickets)
|
||||
|
||||
/datum/controller/subsystem/statpanels/proc/set_SDQL2_tab(client/target)
|
||||
@@ -278,7 +278,7 @@ SUBSYSTEM_DEF(statpanels)
|
||||
list("Instances:", "[num2text(world.contents.len, 10)]"),
|
||||
list("World Time:", "[world.time]"),
|
||||
list("Globals:", GLOB.stat_entry(), "\ref[GLOB]"),
|
||||
list("[config]:", config.stat_entry(), "\ref[config]"),
|
||||
list("[config]:", config.stat_entry(), "\ref[config]"), // CHOMPEdit
|
||||
list("Byond:", "(FPS:[world.fps]) (TickCount:[world.time/world.tick_lag]) (TickDrift:[round(Master.tickdrift,1)]([round((Master.tickdrift/(world.time/world.tick_lag))*100,0.1)]%)) (Internal Tick Usage: [round(MAPTICK_LAST_INTERNAL_TICK_USAGE,0.1)]%)"),
|
||||
list("Master Controller:", Master.stat_entry(), "\ref[Master]"),
|
||||
list("Failsafe Controller:", Failsafe.stat_entry(), "\ref[Failsafe]"),
|
||||
@@ -38,11 +38,11 @@ SUBSYSTEM_DEF(supply)
|
||||
// Supply shuttle ticker - handles supply point regeneration. Just add points over time.
|
||||
/datum/controller/subsystem/supply/fire()
|
||||
points += points_per_process
|
||||
//CHOMPEdit Begin
|
||||
|
||||
/datum/controller/subsystem/supply/stat_entry(msg)
|
||||
msg = "Points: [points]"
|
||||
return ..()
|
||||
//CHOMPEdit End
|
||||
|
||||
//To stop things being sent to CentCom which should not be sent to centcomm. Recursively checks for these types.
|
||||
/datum/controller/subsystem/supply/proc/forbidden_atoms_check(atom/A)
|
||||
if(isliving(A))
|
||||
|
||||
@@ -34,11 +34,11 @@ SUBSYSTEM_DEF(tgui)
|
||||
|
||||
/datum/controller/subsystem/tgui/Shutdown()
|
||||
close_all_uis()
|
||||
//CHOMPEdit Begin
|
||||
|
||||
/datum/controller/subsystem/tgui/stat_entry(msg)
|
||||
msg = "P:[all_uis.len]"
|
||||
return ..()
|
||||
//CHOMPEdit End
|
||||
|
||||
/datum/controller/subsystem/tgui/fire(resumed = FALSE)
|
||||
if(!resumed)
|
||||
src.current_run = all_uis.Copy()
|
||||
|
||||
@@ -8,11 +8,11 @@ SUBSYSTEM_DEF(throwing)
|
||||
|
||||
var/list/currentrun
|
||||
var/list/processing = list()
|
||||
//CHOMPEdit Begin
|
||||
|
||||
/datum/controller/subsystem/throwing/stat_entry(msg)
|
||||
msg = "P:[length(processing)]"
|
||||
msg = "P:[processing.len]"
|
||||
return ..()
|
||||
//CHOMPEdit End
|
||||
|
||||
/datum/controller/subsystem/throwing/fire(resumed = 0)
|
||||
if (!resumed)
|
||||
src.currentrun = processing.Copy()
|
||||
|
||||
@@ -41,7 +41,9 @@ SUBSYSTEM_DEF(ticker)
|
||||
//Now we have a general cinematic centrally held within the gameticker....far more efficient!
|
||||
var/obj/screen/cinematic = null
|
||||
|
||||
var/round_start_time = 0 //CHOMPEdit
|
||||
var/round_start_time = 0
|
||||
|
||||
|
||||
|
||||
// This global variable exists for legacy support so we don't have to rename every 'ticker' to 'SSticker' yet.
|
||||
var/global/datum/controller/subsystem/ticker/ticker
|
||||
@@ -103,7 +105,7 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
|
||||
// Called during GAME_STATE_SETTING_UP (RUNLEVEL_SETUP)
|
||||
/datum/controller/subsystem/ticker/proc/setup_tick(resumed = FALSE)
|
||||
round_start_time = world.time //otherwise round_start_time would be 0 for the signals
|
||||
round_start_time = world.time // otherwise round_start_time would be 0 for the signals
|
||||
if(!setup_choose_gamemode())
|
||||
// It failed, go back to lobby state and re-send the welcome message
|
||||
pregame_timeleft = CONFIG_GET(number/pregame_time) // CHOMPEdit
|
||||
|
||||
@@ -54,11 +54,9 @@ SUBSYSTEM_DEF(timer)
|
||||
head_offset = world.time
|
||||
bucket_resolution = world.tick_lag
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/datum/controller/subsystem/timer/stat_entry(msg)
|
||||
msg = "B:[bucket_count] P:[length(second_queue)] H:[length(hashes)] C:[length(clienttime_timers)] S:[length(timer_id_dict)] RST:[bucket_reset_count]"
|
||||
msg = "B:[bucket_count] P:[length(second_queue)] H:[length(hashes)] C:[length(clienttime_timers)] S:[length(timer_id_dict)] RST:[bucket_reset_count]" // CHOMPEdit
|
||||
return ..()
|
||||
// CHOMPEdit End
|
||||
|
||||
/datum/controller/subsystem/timer/proc/dump_timer_buckets(full = TRUE)
|
||||
var/list/to_log = list("Timer bucket reset. world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]")
|
||||
|
||||
@@ -126,7 +126,6 @@ SUBSYSTEM_DEF(transcore)
|
||||
if(MC_TICK_CHECK)
|
||||
return
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/datum/controller/subsystem/transcore/stat_entry(msg)
|
||||
msg = "$:{"
|
||||
msg += "IM:[round(cost_implants,1)]|"
|
||||
@@ -142,7 +141,6 @@ SUBSYSTEM_DEF(transcore)
|
||||
msg += "DFI:[default_db.implants.len]"
|
||||
msg += "} "
|
||||
return ..()
|
||||
// CHOMPEdit End
|
||||
|
||||
/datum/controller/subsystem/transcore/Recover()
|
||||
for(var/key in SStranscore.databases)
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
if(current) //remove ourself from our old body's mind variable
|
||||
if(changeling)
|
||||
current.remove_changeling_powers()
|
||||
remove_verb(current,/datum/changeling/proc/EvolutionMenu) //CHOMPEdit
|
||||
remove_verb(current, /datum/changeling/proc/EvolutionMenu)
|
||||
current.mind = null
|
||||
|
||||
if(new_character.mind) //remove any mind currently in our new body's mind variable
|
||||
@@ -93,8 +93,8 @@
|
||||
if(active)
|
||||
new_character.key = key //now transfer the key to link the client to our new body
|
||||
|
||||
if(new_character.client) //CHOMPEdit
|
||||
new_character.client.init_verbs() // re-initialize character specific verbs //CHOMPEdit
|
||||
if(new_character.client)
|
||||
new_character.client.init_verbs() // re-initialize character specific verbs
|
||||
|
||||
/datum/mind/proc/store_memory(new_text)
|
||||
memory += "[new_text]<BR>"
|
||||
@@ -509,7 +509,7 @@
|
||||
if(!mind.name) mind.name = real_name
|
||||
mind.current = src
|
||||
if(player_is_antag(mind))
|
||||
add_verb(src.client,/client/proc/aooc) //CHOMPEdit
|
||||
add_verb(src.client, /client/proc/aooc)
|
||||
|
||||
//HUMAN
|
||||
/mob/living/carbon/human/mind_initialize()
|
||||
|
||||
@@ -28,16 +28,16 @@
|
||||
current_antagonists |= player
|
||||
|
||||
if(faction_verb && player.current)
|
||||
add_verb(player.current,faction_verb) //CHOMPEdit TGPanel
|
||||
add_verb(player.current, faction_verb)
|
||||
|
||||
spawn(1 SECOND) //Added a delay so that this should pop up at the bottom and not the top of the text flood the new antag gets.
|
||||
to_chat(player.current, span_notice("Once you decide on a goal to pursue, you can optionally display it to \
|
||||
everyone at the end of the shift with the " + span_bold("Set Ambition") + " verb, located in the IC tab. You can change this at any time, \
|
||||
and it otherwise has no bearing on your round."))
|
||||
add_verb(player.current,/mob/living/proc/write_ambition) //CHOMPEdit TGPanel
|
||||
add_verb(player.current, /mob/living/proc/write_ambition)
|
||||
|
||||
if(can_speak_aooc)
|
||||
add_verb(player.current.client,/client/proc/aooc) //CHOMPEdit
|
||||
add_verb(player.current.client, /client/proc/aooc)
|
||||
|
||||
// Handle only adding a mind and not bothering with gear etc.
|
||||
if(nonstandard_role_type)
|
||||
@@ -51,7 +51,7 @@
|
||||
|
||||
/datum/antagonist/proc/remove_antagonist(var/datum/mind/player, var/show_message, var/implanted)
|
||||
if(player.current && faction_verb)
|
||||
remove_verb(player.current,faction_verb) //CHOMPEdit
|
||||
remove_verb(player.current, faction_verb)
|
||||
if(player in current_antagonists)
|
||||
to_chat(player.current, span_danger(span_large("You are no longer a [role_text]!")))
|
||||
current_antagonists -= player
|
||||
@@ -60,8 +60,8 @@
|
||||
update_icons_removed(player)
|
||||
BITSET(player.current.hud_updateflag, SPECIALROLE_HUD)
|
||||
if(!is_special_character(player))
|
||||
remove_verb(player.current,/mob/living/proc/write_ambition) //CHOMPEdit
|
||||
remove_verb(player.current.client,/client/proc/aooc) //CHOMPEdit
|
||||
remove_verb(player.current, /mob/living/proc/write_ambition)
|
||||
remove_verb(player.current.client, /client/proc/aooc)
|
||||
player.ambitions = ""
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -248,8 +248,7 @@
|
||||
|
||||
// Don't make these call bicon or anything, these are what bicon uses. They need to return an icon.
|
||||
/atom/proc/examine_icon()
|
||||
return src //CHOMPEdit 99% of the time just returning src will be sufficient. More complex examine icon things are available where they are needed
|
||||
//return icon(icon=src.icon, icon_state=src.icon_state, dir=SOUTH, frame=1, moving=0) CHOMPEdit-- N O
|
||||
return src // 99% of the time just returning src will be sufficient. More complex examine icon things are available where they are needed
|
||||
|
||||
// called by mobs when e.g. having the atom as their machine, pulledby, loc (AKA mob being inside the atom) or buckled var set.
|
||||
// see code/modules/mob/mob_movement.dm for more.
|
||||
@@ -762,3 +761,33 @@
|
||||
else if(C)
|
||||
color = C
|
||||
return
|
||||
|
||||
///Passes Stat Browser Panel clicks to the game and calls client click on an atom
|
||||
/atom/Topic(href, list/href_list)
|
||||
. = ..()
|
||||
if(!usr?.client)
|
||||
return
|
||||
var/client/usr_client = usr.client
|
||||
var/list/paramslist = list()
|
||||
|
||||
if(href_list["statpanel_item_click"])
|
||||
switch(href_list["statpanel_item_click"])
|
||||
if("left")
|
||||
paramslist["left"] = "1"
|
||||
if("right")
|
||||
paramslist["right"] = "1"
|
||||
if("middle")
|
||||
paramslist["middle"] = "1"
|
||||
else
|
||||
return
|
||||
|
||||
if(href_list["statpanel_item_shiftclick"])
|
||||
paramslist["shift"] = "1"
|
||||
if(href_list["statpanel_item_ctrlclick"])
|
||||
paramslist["ctrl"] = "1"
|
||||
if(href_list["statpanel_item_altclick"])
|
||||
paramslist["alt"] = "1"
|
||||
|
||||
var/mouseparams = list2params(paramslist)
|
||||
usr_client.Click(src, loc, null, mouseparams)
|
||||
return TRUE
|
||||
|
||||
@@ -1,33 +1,3 @@
|
||||
///Passes Stat Browser Panel clicks to the game and calls client click on an atom
|
||||
/atom/Topic(href, list/href_list)
|
||||
. = ..()
|
||||
if(!usr?.client)
|
||||
return
|
||||
var/client/usr_client = usr.client
|
||||
var/list/paramslist = list()
|
||||
|
||||
if(href_list["statpanel_item_click"])
|
||||
switch(href_list["statpanel_item_click"])
|
||||
if("left")
|
||||
paramslist["left"] = "1"
|
||||
if("right")
|
||||
paramslist["right"] = "1"
|
||||
if("middle")
|
||||
paramslist["middle"] = "1"
|
||||
else
|
||||
return
|
||||
|
||||
if(href_list["statpanel_item_shiftclick"])
|
||||
paramslist["shift"] = "1"
|
||||
if(href_list["statpanel_item_ctrlclick"])
|
||||
paramslist["ctrl"] = "1"
|
||||
if(href_list["statpanel_item_altclick"])
|
||||
paramslist["alt"] = "1"
|
||||
|
||||
var/mouseparams = list2params(paramslist)
|
||||
usr_client.Click(src, loc, null, mouseparams)
|
||||
return TRUE
|
||||
|
||||
/atom/proc/contains(var/atom/location)
|
||||
if(!location)
|
||||
return 0
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
/datum/dna/gene/basic/remoteview/activate(var/mob/M, var/connected, var/flags)
|
||||
..(M,connected,flags)
|
||||
add_verb(M, /mob/living/carbon/human/proc/remoteobserve) //CHOMPEdit
|
||||
add_verb(M, /mob/living/carbon/human/proc/remoteobserve)
|
||||
|
||||
/datum/dna/gene/basic/regenerate
|
||||
name="Regenerate"
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
/datum/dna/gene/basic/remotetalk/activate(var/mob/M, var/connected, var/flags)
|
||||
..(M,connected,flags)
|
||||
add_verb(M, /mob/living/carbon/human/proc/remotesay) //CHOMPEdit
|
||||
add_verb(M, /mob/living/carbon/human/proc/remotesay)
|
||||
|
||||
/datum/dna/gene/basic/morph
|
||||
name="Morph"
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
/datum/dna/gene/basic/morph/activate(var/mob/M)
|
||||
..(M)
|
||||
add_verb(M, /mob/living/carbon/human/proc/morph) //CHOMPEdit
|
||||
add_verb(M, /mob/living/carbon/human/proc/morph)
|
||||
|
||||
/datum/dna/gene/basic/cold_resist
|
||||
name="Cold Resistance"
|
||||
|
||||
@@ -65,8 +65,8 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E
|
||||
if(!mind) return
|
||||
if(!mind.changeling) mind.changeling = new /datum/changeling(gender)
|
||||
|
||||
add_verb(src,/datum/changeling/proc/EvolutionMenu) //CHOMPEdit TGPanel
|
||||
add_verb(src,/mob/proc/changeling_respec) //CHOMPEdit TGPanel
|
||||
add_verb(src, /datum/changeling/proc/EvolutionMenu)
|
||||
add_verb(src, /mob/proc/changeling_respec)
|
||||
add_language("Changeling")
|
||||
|
||||
var/lesser_form = !ishuman(src)
|
||||
@@ -85,7 +85,7 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E
|
||||
if(P.isVerb)
|
||||
if(lesser_form && !P.allowduringlesserform) continue
|
||||
if(!(P in src.verbs))
|
||||
add_verb(src,P.verbpath) //CHOMPEdit TGPanel
|
||||
add_verb(src, P.verbpath)
|
||||
if(P.make_hud_button)
|
||||
if(!src.ability_master)
|
||||
src.ability_master = new /obj/screen/movable/ability_master(src)
|
||||
@@ -113,7 +113,7 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E
|
||||
if(!mind || !mind.changeling) return
|
||||
for(var/datum/power/changeling/P in mind.changeling.purchased_powers)
|
||||
if(P.isVerb)
|
||||
remove_verb(src,P.verbpath) //CHOMPEdit TGPanel
|
||||
remove_verb(src, P.verbpath)
|
||||
var/obj/screen/ability/verb_based/changeling/C = ability_master.get_ability_by_proc_ref(P.verbpath)
|
||||
if(C)
|
||||
ability_master.remove_ability(C)
|
||||
@@ -235,8 +235,8 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E
|
||||
|
||||
changeling.chem_charges -= required_chems
|
||||
changeling.sting_range = 1
|
||||
remove_verb(src,verb_path) //CHOMPEdit
|
||||
spawn(10) add_verb(src,verb_path) //CHOMPEdit
|
||||
remove_verb(src, verb_path)
|
||||
spawn(10) add_verb(src, verb_path)
|
||||
|
||||
to_chat(src, span_notice("We stealthily sting [T]."))
|
||||
if(!T.mind || !T.mind.changeling) return T //T will be affected by the sting
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
range = range + 3
|
||||
to_chat(src, span_notice("We can fire our next sting from five squares away."))
|
||||
changeling.sting_range = range
|
||||
remove_verb(src,/mob/proc/changeling_boost_range) //CHOMPEdit
|
||||
remove_verb(src, /mob/proc/changeling_boost_range)
|
||||
spawn(5)
|
||||
add_verb(src,/mob/proc/changeling_boost_range) //CHOMPEdit
|
||||
add_verb(src, /mob/proc/changeling_boost_range)
|
||||
feedback_add_details("changeling_powers","RS")
|
||||
return 1
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
if(T.reagents)
|
||||
T.reagents.add_reagent("cryotoxin", inject_amount)
|
||||
feedback_add_details("changeling_powers","CS")
|
||||
remove_verb(src,/mob/proc/changeling_cryo_sting) //CHOMPEdit
|
||||
remove_verb(src, /mob/proc/changeling_cryo_sting)
|
||||
spawn(3 MINUTES)
|
||||
to_chat(src, span_notice("Our cryogenic string is ready to be used once more."))
|
||||
add_verb(src,/mob/proc/changeling_cryo_sting) //CHOMPEdit TGPanel
|
||||
add_verb(src, /mob/proc/changeling_cryo_sting)
|
||||
return 1
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
C.mind.changeling.chem_charges = max(C.mind.changeling.chem_charges - 1, 0)
|
||||
sleep(40)
|
||||
|
||||
remove_verb(src,/mob/proc/changeling_digitalcamo) //CHOMPEdit
|
||||
remove_verb(src, /mob/proc/changeling_digitalcamo)
|
||||
spawn(5)
|
||||
add_verb(src,/mob/proc/changeling_digitalcamo) //CHOMPEdit
|
||||
add_verb(src, /mob/proc/changeling_digitalcamo)
|
||||
feedback_add_details("changeling_powers","CAM")
|
||||
return 1
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
spawn(rand(2 MINUTES, 4 MINUTES))
|
||||
//The ling will now be able to choose when to revive
|
||||
add_verb(/mob/proc/changeling_revive) //CHOMPEdit TGPanel
|
||||
add_verb(src, /mob/proc/changeling_revive)
|
||||
|
||||
new /obj/changeling_revive_holder(src)
|
||||
|
||||
|
||||
@@ -33,9 +33,9 @@
|
||||
C.adjustFireLoss(-heal_amount)
|
||||
sleep(1 SECOND)
|
||||
|
||||
remove_verb(src,/mob/proc/changeling_fleshmend) //CHOMPEdit
|
||||
remove_verb(src, /mob/proc/changeling_fleshmend)
|
||||
spawn(50 SECONDS)
|
||||
to_chat(src, span_notice("Our regeneration has slowed to normal levels."))
|
||||
add_verb(src,/mob/proc/changeling_fleshmend) //CHOMPEdit
|
||||
add_verb(src, /mob/proc/changeling_fleshmend)
|
||||
feedback_add_details("changeling_powers","FM")
|
||||
return 1
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
C.set_stat(CONSCIOUS)
|
||||
C.forbid_seeing_deadchat = FALSE
|
||||
C.timeofdeath = null
|
||||
remove_verb(src,/mob/proc/changeling_revive) //CHOMPEdit TGPanel
|
||||
remove_verb(src, /mob/proc/changeling_revive)
|
||||
// re-add our changeling powers
|
||||
C.make_changeling()
|
||||
|
||||
|
||||
@@ -56,9 +56,9 @@
|
||||
for(var/datum/modifier/mod in chosen_dna.genMods)
|
||||
self.modifiers.Add(mod.type)
|
||||
|
||||
remove_verb(src,/mob/proc/changeling_transform) //CHOMPEdit
|
||||
remove_verb(src, /mob/proc/changeling_transform)
|
||||
spawn(10)
|
||||
add_verb(src,/mob/proc/changeling_transform) //CHOMPEdit
|
||||
add_verb(src, /mob/proc/changeling_transform)
|
||||
src.regenerate_icons()
|
||||
|
||||
feedback_add_details("changeling_powers","TR")
|
||||
|
||||
@@ -230,7 +230,7 @@ var/global/list/Holiday = list() //Holidays are lists now, so we can have more t
|
||||
|
||||
//Allows GA and GM to set the Holiday variable
|
||||
/client/proc/Set_Holiday()
|
||||
set name = "Set Holiday" // Fixed Typo?
|
||||
set name = "Set Holiday"
|
||||
set category = "Fun.Event Kit" //CHOMPEdit
|
||||
set desc = "Force-set the Holiday variable to make the game think it's a certain day."
|
||||
if(!check_rights(R_SERVER)) return
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
if(owner && istype(owner))
|
||||
owner.hardware = src
|
||||
if(driver)
|
||||
add_verb(owner, driver) //CHOMPEdit
|
||||
add_verb(owner, driver)
|
||||
|
||||
/datum/malf_hardware/proc/get_examine_desc()
|
||||
return "It has some sort of hardware attached to its core"
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
if(!focus)
|
||||
return
|
||||
to_chat(owner, "<b>Research Completed</b>: [focus.name]")
|
||||
add_verb(focus.ability) //CHOMPEdit TGPanel
|
||||
add_verb(owner, focus.ability)
|
||||
available_abilities -= focus
|
||||
if(focus.next)
|
||||
available_abilities += focus.next
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
user.hack_can_fail = 0
|
||||
user.hacking = 0
|
||||
user.system_override = 2
|
||||
add_verb(user,new/datum/game_mode/malfunction/verb/ai_destroy_station()) //CHOMPEdit
|
||||
add_verb(user, new /datum/game_mode/malfunction/verb/ai_destroy_station())
|
||||
|
||||
|
||||
// END ABILITY VERBS
|
||||
|
||||
@@ -24,7 +24,7 @@ mob
|
||||
sandbox.owner = src.ckey
|
||||
if(src.client.holder)
|
||||
sandbox.admin = 1
|
||||
add_verb(src, /mob/proc/sandbox_panel) //CHOMPEdit
|
||||
add_verb(src, /mob/proc/sandbox_panel)
|
||||
sandbox_panel()
|
||||
if(sandbox)
|
||||
sandbox.update()
|
||||
|
||||
@@ -160,23 +160,24 @@
|
||||
/obj/spellbutton/DblClick()
|
||||
return Click()
|
||||
|
||||
/mob/living/carbon/human/Stat()
|
||||
/mob/living/carbon/human/get_status_tab_items()
|
||||
. = ..()
|
||||
|
||||
if(. && istype(back,/obj/item/technomancer_core))
|
||||
var/obj/item/technomancer_core/core = back
|
||||
setup_technomancer_stat(core)
|
||||
. += setup_technomancer_stat(core)
|
||||
|
||||
/mob/living/carbon/human/proc/setup_technomancer_stat(var/obj/item/technomancer_core/core)
|
||||
if(core && statpanel("Spell Core"))
|
||||
. = list()
|
||||
if(core)
|
||||
var/charge_status = "[core.energy]/[core.max_energy] ([round( (core.energy / core.max_energy) * 100)]%) \
|
||||
([round(core.energy_delta)]/s)"
|
||||
var/instability_delta = instability - last_instability
|
||||
var/instability_status = "[src.instability] ([round(instability_delta, 0.1)]/s)"
|
||||
stat("Core charge", charge_status)
|
||||
stat("User instability", instability_status)
|
||||
. += "Core charge: [charge_status]"
|
||||
. += "User instability: [instability_status]"
|
||||
for(var/obj/spellbutton/button in core.spells)
|
||||
stat(button)
|
||||
. += button
|
||||
|
||||
/obj/item/technomancer_core/proc/add_spell(var/path, var/new_name, var/ability_icon_state)
|
||||
if(!path || !ispath(path))
|
||||
|
||||
@@ -260,7 +260,7 @@
|
||||
//Yes, I am using a aheal just so your markings transfer over, I could not get .prefs.copy_to working. This is very stupid, and I can't be assed to rewrite this. Too bad!
|
||||
avatar.revive()
|
||||
avatar.species.equip_survival_gear(avatar)
|
||||
add_verb(avatar,/mob/living/carbon/human/proc/exit_vr ) //ahealing removes the prommie verbs and the VR verbs, giving it back //CHOMPEdit
|
||||
add_verb(avatar, /mob/living/carbon/human/proc/exit_vr) //ahealing removes the prommie verbs and the VR verbs, giving it back
|
||||
|
||||
//CHOMPedit end
|
||||
// Prompt for username after they've enterred the body.
|
||||
|
||||
@@ -135,7 +135,7 @@ var/global/list/image/splatter_cache=list()
|
||||
user.bloody_hands += taken
|
||||
user.hand_blood_color = basecolor
|
||||
user.update_inv_gloves(1)
|
||||
add_verb(user, /mob/living/carbon/human/proc/bloody_doodle) //CHOMPEdit
|
||||
add_verb(user, /mob/living/carbon/human/proc/bloody_doodle)
|
||||
|
||||
/obj/effect/decal/cleanable/blood/splatter
|
||||
random_icon_states = list("mgibbl1", "mgibbl2", "mgibbl3", "mgibbl4", "mgibbl5")
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
to_chat(usr, "It'd be unwise to plug another vtec module in!")
|
||||
return 0
|
||||
|
||||
add_verb(R,/mob/living/silicon/robot/proc/toggle_vtec) //CHOMPEdit
|
||||
add_verb(R, /mob/living/silicon/robot/proc/toggle_vtec)
|
||||
R.vtec_active = TRUE
|
||||
R.hud_used.toggle_vtec_control()
|
||||
return 1
|
||||
@@ -139,7 +139,7 @@
|
||||
to_chat(usr, "There's no space for another size alteration module!")
|
||||
return 0
|
||||
|
||||
add_verb(R,/mob/living/proc/set_size) //CHOMPEdit
|
||||
add_verb(R, /mob/living/proc/set_size)
|
||||
return 1
|
||||
|
||||
/obj/item/borg/upgrade/basic/syndicate
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
else
|
||||
return
|
||||
else
|
||||
remove_verb(imp_in,assigned_proc) //CHOMPEdit TGPanel
|
||||
remove_verb(imp_in, assigned_proc)
|
||||
return
|
||||
|
||||
if(reagents)
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
if(ishuman(src.loc))
|
||||
var/mob/living/carbon/human/H = src.loc
|
||||
if(H.wear_mask == src)
|
||||
add_verb(H,/mob/living/proc/shred_limb_temp) //CHOMPEdit TGPanel
|
||||
add_verb(H, /mob/living/proc/shred_limb_temp)
|
||||
else
|
||||
remove_verb(H,/mob/living/proc/shred_limb_temp) //CHOMPEdit TGPanel
|
||||
remove_verb(H, /mob/living/proc/shred_limb_temp)
|
||||
..()
|
||||
|
||||
/obj/item/beartrap/dropped(var/mob/user)
|
||||
remove_verb(user,/mob/living/proc/shred_limb_temp) //CHOMPEdit TGPanel
|
||||
remove_verb(user, /mob/living/proc/shred_limb_temp)
|
||||
..()
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
new_voice.real_name = "[new_voice.real_name]" //We still know their real name though!
|
||||
possessed_voice.Add(new_voice)
|
||||
listening_objects |= src
|
||||
remove_verb(new_voice,/mob/living/voice/verb/change_name ) //No changing your name! Bad! //CHOMPEdit
|
||||
remove_verb(new_voice,/mob/living/voice/verb/hang_up ) //Also you can't hang up. You are the item! //CHOMPEdit
|
||||
remove_verb(new_voice, /mob/living/voice/verb/change_name) //No changing your name! Bad!
|
||||
remove_verb(new_voice, /mob/living/voice/verb/hang_up) //Also you can't hang up. You are the item!
|
||||
src.item_tf_spawnpoint_used() //CHOMPEdit - Item TF spawnpoints
|
||||
//CHOMPEdit Start - Let the inhabitor know what happened to them
|
||||
if(!istype(src, /obj/item/communicator) && is_item_tf)
|
||||
|
||||
@@ -13,7 +13,7 @@ var/list/admin_verbs_default = list(
|
||||
// /client/proc/cmd_mod_say,
|
||||
// /client/proc/deadchat //toggles deadchat on/off,
|
||||
// /client/proc/toggle_ahelp_sound,
|
||||
/client/proc/debugstatpanel, //CHOMPEdit
|
||||
/client/proc/debugstatpanel,
|
||||
)
|
||||
|
||||
var/list/admin_verbs_admin = list(
|
||||
@@ -516,24 +516,24 @@ var/list/admin_verbs_event_manager = list(
|
||||
|
||||
/client/proc/add_admin_verbs()
|
||||
if(holder)
|
||||
add_verb(src, admin_verbs_default) //CHOMPEdit
|
||||
if(holder.rights & R_BUILDMODE) add_verb(src, /client/proc/togglebuildmodeself) //CHOMPEdit
|
||||
if(holder.rights & R_ADMIN) add_verb(src, admin_verbs_admin) //CHOMPEdit
|
||||
if(holder.rights & R_BAN) add_verb(src, admin_verbs_ban) //CHOMPEdit
|
||||
if(holder.rights & R_FUN) add_verb(src, admin_verbs_fun) //CHOMPEdit
|
||||
if(holder.rights & R_SERVER) add_verb(src, admin_verbs_server) //CHOMPEdit
|
||||
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) //CHOMPEdit
|
||||
add_verb(src, admin_verbs_debug)
|
||||
if(CONFIG_GET(flag/debugparanoid) && !(holder.rights & R_ADMIN)) // CHOMPEdit
|
||||
remove_verb(src, admin_verbs_paranoid_debug) //CHOMPEdit //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) //CHOMPEdit
|
||||
if(holder.rights & R_PERMISSIONS) add_verb(src, admin_verbs_permissions) //CHOMPEdit
|
||||
if(holder.rights & R_STEALTH) add_verb(src, /client/proc/stealth) //CHOMPEdit
|
||||
if(holder.rights & R_REJUVINATE) add_verb(src, admin_verbs_rejuv) //CHOMPEdit
|
||||
if(holder.rights & R_SOUNDS) add_verb(src, admin_verbs_sounds) //CHOMPEdit
|
||||
if(holder.rights & R_SPAWN) add_verb(src, admin_verbs_spawn) //CHOMPEdit
|
||||
if(holder.rights & R_MOD) add_verb(src, admin_verbs_mod) //CHOMPEdit
|
||||
if(holder.rights & R_EVENT) add_verb(src, admin_verbs_event_manager) //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()
|
||||
|
||||
@@ -18,6 +18,7 @@ var/list/admin_verbs_default = list(
|
||||
// /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(
|
||||
@@ -584,24 +585,24 @@ var/list/admin_verbs_event_manager = list(
|
||||
|
||||
/client/proc/add_admin_verbs()
|
||||
if(holder)
|
||||
add_verb(src, admin_verbs_default) //CHOMPEdit
|
||||
if(holder.rights & R_BUILDMODE) add_verb(src, /client/proc/togglebuildmodeself) //CHOMPEdit
|
||||
if(holder.rights & R_ADMIN) add_verb(src, admin_verbs_admin) //CHOMPEdit
|
||||
if(holder.rights & R_BAN) add_verb(src, admin_verbs_ban) //CHOMPEdit
|
||||
if(holder.rights & R_FUN) add_verb(src, admin_verbs_fun) //CHOMPEdit
|
||||
if(holder.rights & R_SERVER) add_verb(src, admin_verbs_server) //CHOMPEdit
|
||||
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) //CHOMPEdit
|
||||
add_verb(src, admin_verbs_debug)
|
||||
if(CONFIG_GET(flag/debugparanoid) && !(holder.rights & R_ADMIN)) // CHOMPEdit
|
||||
remove_verb(src, admin_verbs_paranoid_debug) //CHOMPEdit //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) //CHOMPEdit
|
||||
if(holder.rights & R_PERMISSIONS) add_verb(src, admin_verbs_permissions) //CHOMPEdit
|
||||
if(holder.rights & R_STEALTH) add_verb(src, /client/proc/stealth) //CHOMPEdit
|
||||
if(holder.rights & R_REJUVINATE) add_verb(src, admin_verbs_rejuv) //CHOMPEdit
|
||||
if(holder.rights & R_SOUNDS) add_verb(src, admin_verbs_sounds) //CHOMPEdit
|
||||
if(holder.rights & R_SPAWN) add_verb(src, admin_verbs_spawn) //CHOMPEdit
|
||||
if(holder.rights & R_MOD) add_verb(src, admin_verbs_mod) //CHOMPEdit
|
||||
if(holder.rights & R_EVENT) add_verb(src, admin_verbs_event_manager) //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()
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
set name = "Adminverbs - Hide Most"
|
||||
set category = "Admin.Misc" //CHOMPEdit
|
||||
|
||||
remove_verb(src, list(/client/proc/hide_most_verbs,admin_verbs_hideable)) //CHOMPEdit TGPanel
|
||||
add_verb(src,/client/proc/show_verbs) //CHOMPEdit TGPanel
|
||||
remove_verb(src, list(/client/proc/hide_most_verbs, admin_verbs_hideable))
|
||||
add_verb(src, /client/proc/show_verbs)
|
||||
|
||||
to_chat(src, span_filter_system(span_interface("Most of your adminverbs have been hidden.")))
|
||||
feedback_add_details("admin_verb","HMV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
@@ -14,7 +14,7 @@
|
||||
set category = "Admin.Misc" //CHOMPEdit
|
||||
|
||||
remove_admin_verbs()
|
||||
add_verb(src, /client/proc/show_verbs) //CHOMPEdit
|
||||
add_verb(src, /client/proc/show_verbs)
|
||||
|
||||
to_chat(src, span_filter_system(span_interface("Almost all of your adminverbs have been hidden.")))
|
||||
feedback_add_details("admin_verb","TAVVH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
@@ -24,7 +24,7 @@
|
||||
set name = "Adminverbs - Show"
|
||||
set category = "Admin.Misc" //CHOMPEdit
|
||||
|
||||
remove_verb(src, /client/proc/show_verbs) //CHOMPEdit
|
||||
remove_verb(src, /client/proc/show_verbs)
|
||||
add_admin_verbs()
|
||||
|
||||
to_chat(src, span_filter_adminlog(span_interface("All of your adminverbs are now visible.")))
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
|
||||
/client/proc/admin_ghost()
|
||||
set category = "Admin.Game" //CHOMPEdit
|
||||
set category = "Admin.Game"
|
||||
set name = "Aghost"
|
||||
if(!holder) return
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
ghost = body.ghostize(1)
|
||||
ghost.admin_ghosted = 1
|
||||
log_and_message_admins("[key_name(src)] admin-ghosted.") // CHOMPEdit - Add logging.
|
||||
init_verbs() //CHOMPEdit
|
||||
init_verbs()
|
||||
if(body)
|
||||
body.teleop = ghost
|
||||
if(!body.key)
|
||||
@@ -391,7 +391,7 @@
|
||||
log_admin("[src] re-admined themself.")
|
||||
message_admins("[src] re-admined themself.", 1)
|
||||
to_chat(src, span_filter_system(span_interface("You now have the keys to control the planet, or at least a small space station")))
|
||||
remove_verb(src,/client/proc/readmin_self) //CHOMPEdit TGPanel
|
||||
remove_verb(src, /client/proc/readmin_self)
|
||||
|
||||
/client/proc/deadmin_self()
|
||||
set name = "De-admin self"
|
||||
@@ -403,7 +403,7 @@
|
||||
message_admins("[src] deadmined themself.", 1)
|
||||
deadmin()
|
||||
to_chat(src, span_filter_system(span_interface("You are now a normal player.")))
|
||||
add_verb(src,/client/proc/readmin_self) //CHOMPEdit TGPanel
|
||||
add_verb(src, /client/proc/readmin_self)
|
||||
feedback_add_details("admin_verb","DAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/toggle_log_hrefs()
|
||||
|
||||
@@ -37,14 +37,14 @@ var/list/admin_datums = list()
|
||||
owner = C
|
||||
owner.holder = src
|
||||
owner.add_admin_verbs() //TODO
|
||||
owner.init_verbs() //re-initialize the verb list //CHOMPEdit
|
||||
owner.init_verbs() //re-initialize the verb list
|
||||
GLOB.admins |= C
|
||||
|
||||
/datum/admins/proc/disassociate()
|
||||
if(owner)
|
||||
GLOB.admins -= owner
|
||||
owner.remove_admin_verbs()
|
||||
owner.init_verbs() //CHOMPEdit
|
||||
owner.init_verbs() //re-initialize the verb list
|
||||
owner.deadmin_holder = owner.holder
|
||||
owner.holder = null
|
||||
|
||||
|
||||
@@ -494,7 +494,7 @@
|
||||
var/mob/living/Tar = target
|
||||
if(!istype(Tar))
|
||||
return
|
||||
Tar.verbs |= /mob/living/proc/ventcrawl
|
||||
add_verb(Tar, /mob/living/proc/ventcrawl)
|
||||
|
||||
if("darksight")
|
||||
var/mob/living/carbon/human/Tar = target
|
||||
@@ -509,26 +509,26 @@
|
||||
var/mob/living/carbon/human/Tar = target
|
||||
if(!istype(Tar))
|
||||
return
|
||||
Tar.verbs |= /mob/living/carbon/human/proc/enter_cocoon
|
||||
add_verb(Tar, /mob/living/carbon/human/proc/enter_cocoon)
|
||||
|
||||
if("transformation")
|
||||
var/mob/living/carbon/human/Tar = target
|
||||
if(!istype(Tar))
|
||||
return
|
||||
Tar.verbs |= /mob/living/carbon/human/proc/shapeshifter_select_hair
|
||||
Tar.verbs |= /mob/living/carbon/human/proc/shapeshifter_select_hair_colors
|
||||
Tar.verbs |= /mob/living/carbon/human/proc/shapeshifter_select_gender
|
||||
Tar.verbs |= /mob/living/carbon/human/proc/shapeshifter_select_wings
|
||||
Tar.verbs |= /mob/living/carbon/human/proc/shapeshifter_select_tail
|
||||
Tar.verbs |= /mob/living/carbon/human/proc/shapeshifter_select_ears
|
||||
Tar.verbs |= /mob/living/carbon/human/proc/lleill_select_shape //designed for non-shapeshifter mobs
|
||||
Tar.verbs |= /mob/living/carbon/human/proc/lleill_select_colour
|
||||
add_verb(Tar, /mob/living/carbon/human/proc/shapeshifter_select_hair)
|
||||
add_verb(Tar, /mob/living/carbon/human/proc/shapeshifter_select_hair_colors)
|
||||
add_verb(Tar, /mob/living/carbon/human/proc/shapeshifter_select_gender)
|
||||
add_verb(Tar, /mob/living/carbon/human/proc/shapeshifter_select_wings)
|
||||
add_verb(Tar, /mob/living/carbon/human/proc/shapeshifter_select_tail)
|
||||
add_verb(Tar, /mob/living/carbon/human/proc/shapeshifter_select_ears)
|
||||
add_verb(Tar, /mob/living/carbon/human/proc/lleill_select_shape) //designed for non-shapeshifter mobs
|
||||
add_verb(Tar, /mob/living/carbon/human/proc/lleill_select_colour)
|
||||
|
||||
if("set_size")
|
||||
var/mob/living/Tar = target
|
||||
if(!istype(Tar))
|
||||
return
|
||||
Tar.verbs |= /mob/living/proc/set_size
|
||||
add_verb(Tar, /mob/living/proc/set_size)
|
||||
|
||||
if("lleill_energy")
|
||||
var/mob/living/carbon/human/Tar = target
|
||||
@@ -543,44 +543,44 @@
|
||||
var/mob/living/carbon/human/Tar = target
|
||||
if(!istype(Tar))
|
||||
return
|
||||
Tar.verbs |= /mob/living/carbon/human/proc/lleill_invisibility
|
||||
add_verb(Tar, /mob/living/carbon/human/proc/lleill_invisibility)
|
||||
|
||||
if("beast_form")
|
||||
var/mob/living/carbon/human/Tar = target
|
||||
if(!istype(Tar))
|
||||
return
|
||||
Tar.verbs |= /mob/living/carbon/human/proc/lleill_beast_form
|
||||
add_verb(Tar, /mob/living/carbon/human/proc/lleill_beast_form)
|
||||
|
||||
if("lleill_transmute")
|
||||
var/mob/living/carbon/human/Tar = target
|
||||
if(!istype(Tar))
|
||||
return
|
||||
Tar.verbs |= /mob/living/carbon/human/proc/lleill_transmute
|
||||
add_verb(Tar, /mob/living/carbon/human/proc/lleill_transmute)
|
||||
|
||||
if("lleill_alchemy")
|
||||
var/mob/living/carbon/human/Tar = target
|
||||
if(!istype(Tar))
|
||||
return
|
||||
Tar.verbs |= /mob/living/carbon/human/proc/lleill_alchemy
|
||||
add_verb(Tar, /mob/living/carbon/human/proc/lleill_alchemy)
|
||||
|
||||
if("lleill_drain")
|
||||
var/mob/living/carbon/human/Tar = target
|
||||
if(!istype(Tar))
|
||||
return
|
||||
Tar.verbs |= /mob/living/carbon/human/proc/lleill_contact
|
||||
add_verb(Tar, /mob/living/carbon/human/proc/lleill_contact)
|
||||
|
||||
if("brutal_pred")
|
||||
var/mob/living/Tar = target
|
||||
if(!istype(Tar))
|
||||
return
|
||||
Tar.verbs |= /mob/living/proc/shred_limb
|
||||
add_verb(Tar, /mob/living/proc/shred_limb)
|
||||
|
||||
if("trash_eater")
|
||||
var/mob/living/carbon/human/Tar = target
|
||||
if(!istype(Tar))
|
||||
return
|
||||
Tar.verbs |= /mob/living/proc/eat_trash
|
||||
Tar.verbs |= /mob/living/proc/toggle_trash_catching
|
||||
add_verb(Tar, /mob/living/proc/eat_trash)
|
||||
add_verb(Tar, /mob/living/proc/toggle_trash_catching)
|
||||
|
||||
|
||||
////////INVENTORY//////////////
|
||||
|
||||
@@ -153,7 +153,6 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
|
||||
//called by admin topic
|
||||
/obj/effect/statclick/ticket_list/proc/Action()
|
||||
Click()
|
||||
|
||||
//
|
||||
//TICKET DATUM
|
||||
//
|
||||
@@ -654,9 +653,9 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
|
||||
return
|
||||
|
||||
//remove out adminhelp verb temporarily to prevent spamming of admins.
|
||||
remove_verb(src, /client/verb/adminhelp) //CHOMPEdit
|
||||
remove_verb(src, /client/verb/adminhelp)
|
||||
spawn(1200)
|
||||
add_verb(src, /client/verb/adminhelp) //CHOMPEdit // 2 minute cool-down for adminhelps
|
||||
add_verb(src, /client/verb/adminhelp) // 2 minute cool-down for adminhelps
|
||||
|
||||
feedback_add_details("admin_verb","Adminhelp") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
if(current_ticket)
|
||||
|
||||
@@ -40,7 +40,7 @@ Reason: Replaced with "Tickets System"
|
||||
return
|
||||
|
||||
//if they requested spice, then remove spice verb temporarily to prevent spamming
|
||||
remove_verb(usr,/client/verb/adminspice) //CHOMPEdit
|
||||
remove_verb(usr, /client/verb/adminspice)
|
||||
spawn(10 MINUTES)
|
||||
if(usr) // In case we left in the 10 minute cooldown
|
||||
add_verb(usr,/client/verb/adminspice ) // 10 minute cool-down for spice request //CHOMPEdit
|
||||
add_verb(usr, /client/verb/adminspice) // 10 minute cool-down for spice request
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
to_chat(src, span_red("Error: giveruntimelog(): Client not found."))
|
||||
return
|
||||
|
||||
add_verb(target,/client/proc/getruntimelog) //CHOMPEdit TGPanel
|
||||
add_verb(target, /client/proc/getruntimelog)
|
||||
to_chat(target, span_red("You have been granted access to runtime logs. Please use them responsibly or risk being banned."))
|
||||
return
|
||||
|
||||
|
||||
@@ -172,7 +172,7 @@ var/list/debug_verbs = list (
|
||||
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
|
||||
add_verb(src,debug_verbs) //CHOMPEdit TGPanel
|
||||
add_verb(src, debug_verbs)
|
||||
|
||||
feedback_add_details("admin_verb","mDV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
@@ -182,7 +182,7 @@ var/list/debug_verbs = list (
|
||||
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
|
||||
remove_verb(src,debug_verbs) //CHOMPEdit TGPanel
|
||||
remove_verb(src, debug_verbs)
|
||||
|
||||
feedback_add_details("admin_verb","hDV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
@@ -47,6 +47,6 @@
|
||||
set desc = "Give this guy possess/release verbs"
|
||||
set category = "Debug"
|
||||
set name = "Give Possessing Verbs"
|
||||
add_verb(M, /proc/possess) //CHOMPEdit
|
||||
add_verb(M, /proc/release) //CHOMPEdit
|
||||
add_verb(M, /proc/possess)
|
||||
add_verb(M, /proc/release)
|
||||
feedback_add_details("admin_verb","GPV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
@@ -324,7 +324,7 @@ Ccomp's first proc.
|
||||
if(CONFIG_GET(flag/antag_hud_allowed)) // CHOMPEdit
|
||||
for(var/mob/observer/dead/g in get_ghosts())
|
||||
if(!g.client.holder) //Remove the verb from non-admin ghosts
|
||||
remove_verb(g, /mob/observer/dead/verb/toggle_antagHUD) //CHOMPEdit
|
||||
remove_verb(g, /mob/observer/dead/verb/toggle_antagHUD)
|
||||
if(g.antagHUD)
|
||||
g.antagHUD = 0 // Disable it on those that have it enabled
|
||||
g.has_enabled_antagHUD = 2 // We'll allow them to respawn
|
||||
@@ -335,7 +335,7 @@ Ccomp's first proc.
|
||||
else
|
||||
for(var/mob/observer/dead/g in get_ghosts())
|
||||
if(!g.client.holder) // Add the verb back for all non-admin ghosts
|
||||
add_verb(g, /mob/observer/dead/verb/toggle_antagHUD) //CHOMPEdit
|
||||
add_verb(g, /mob/observer/dead/verb/toggle_antagHUD)
|
||||
to_chat(g, span_blue("<B>The Administrator has enabled AntagHUD </B>")) // Notify all observers they can now use AntagHUD
|
||||
CONFIG_SET(flag/antag_hud_allowed, TRUE) // CHOMPEdit
|
||||
action = "enabled"
|
||||
|
||||
@@ -449,7 +449,7 @@
|
||||
if(!verb || verb == "Cancel")
|
||||
return
|
||||
else
|
||||
add_verb(H,verb) //CHOMPEdit
|
||||
add_verb(H, verb)
|
||||
|
||||
else if(href_list["remverb"])
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
@@ -466,7 +466,7 @@
|
||||
if(!verb)
|
||||
return
|
||||
else
|
||||
remove_verb(H,verb) //CHOMPEdit
|
||||
remove_verb(H, verb)
|
||||
|
||||
else if(href_list["addorgan"])
|
||||
if(!check_rights(R_SPAWN)) return
|
||||
|
||||
@@ -70,7 +70,6 @@ var/list/overminds = list()
|
||||
overminds -= src
|
||||
return ..()
|
||||
|
||||
// ChompEDIT START - tgpanel
|
||||
/mob/observer/blob/get_status_tab_items()
|
||||
. = ..()
|
||||
. += ""
|
||||
@@ -79,7 +78,6 @@ var/list/overminds = list()
|
||||
. += "Core Health: [blob_core.integrity]"
|
||||
. += "Power Stored: [blob_points]/[max_blob_points]"
|
||||
. += "Total Blobs: [GLOB.all_blobs.len]"
|
||||
//ChompEDIT END
|
||||
|
||||
/mob/observer/blob/Move(var/atom/NewLoc, Dir = 0)
|
||||
if(placed)
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
//ADMIN THINGS//
|
||||
////////////////
|
||||
/// hides the byond verb panel as we use our own custom version
|
||||
show_verb_panel = FALSE //CHOMPEdit
|
||||
show_verb_panel = FALSE
|
||||
///Contains admin info. Null if client is not an admin.
|
||||
var/datum/admins/holder = null
|
||||
var/datum/admins/deadmin_holder = null
|
||||
@@ -123,7 +123,6 @@
|
||||
|
||||
// Runechat messages
|
||||
var/list/seen_messages
|
||||
//CHOMPEdit Begin
|
||||
/// our current tab
|
||||
var/stat_tab
|
||||
|
||||
@@ -141,7 +140,6 @@
|
||||
var/list/misc_cache = list()
|
||||
|
||||
var/atom/examine_icon //Holder for examine icon, useful for statpanel
|
||||
//CHOMPEdit End
|
||||
|
||||
//Hide top bars
|
||||
var/fullscreen = FALSE
|
||||
|
||||
@@ -115,6 +115,8 @@
|
||||
qdel(query) //CHOMPEdit TGSQL
|
||||
return
|
||||
//VOREStation Add End
|
||||
if(href_list["reload_statbrowser"])
|
||||
stat_panel.reinitialize()
|
||||
|
||||
if(href_list["reload_statbrowser"]) //CHOMPEdit
|
||||
stat_panel.reinitialize() //CHOMPEdit
|
||||
@@ -705,7 +707,7 @@
|
||||
if(!istext(verb_to_init.category))
|
||||
continue
|
||||
panel_tabs |= verb_to_init.category
|
||||
verblist[++verblist.len] = list(verb_to_init.category, verb_to_init.name)
|
||||
verblist[++verblist.len] = list(verb_to_init.category, verb_to_init.name, verb_to_init.desc)
|
||||
src.stat_panel.send_message("init_verbs", list(panel_tabs = panel_tabs, verblist = verblist))
|
||||
|
||||
/client/proc/check_panel_loaded()
|
||||
|
||||
@@ -196,13 +196,6 @@
|
||||
return eyeobj
|
||||
return src
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/client/verb/fix_stat_panel()
|
||||
set name = "Fix Stat Panel"
|
||||
set hidden = TRUE
|
||||
|
||||
init_verbs()
|
||||
|
||||
/client/verb/fit_viewport()
|
||||
set name = "Fit Viewport"
|
||||
set category = "OOC.Client Settings" //CHOMPEdit
|
||||
@@ -282,3 +275,9 @@
|
||||
INVOKE_ASYNC(src, VERB_REF(fit_viewport))
|
||||
else //Delayed to avoid wingets from Login calls.
|
||||
addtimer(CALLBACK(src, VERB_REF(fit_viewport), 1 SECONDS))
|
||||
|
||||
/client/verb/fix_stat_panel()
|
||||
set name = "Fix Stat Panel"
|
||||
set hidden = TRUE
|
||||
|
||||
init_verbs()
|
||||
|
||||
@@ -234,28 +234,6 @@
|
||||
/obj/item/rig_module/proc/accepts_item(var/obj/item/input_device)
|
||||
return 0
|
||||
|
||||
/mob/living/carbon/human/Stat()
|
||||
. = ..()
|
||||
|
||||
if(. && istype(back,/obj/item/rig))
|
||||
var/obj/item/rig/R = back
|
||||
SetupStat(R)
|
||||
|
||||
else if(. && istype(belt,/obj/item/rig))
|
||||
var/obj/item/rig/R = belt
|
||||
SetupStat(R)
|
||||
|
||||
/mob/proc/SetupStat(var/obj/item/rig/R)
|
||||
if(R && !R.canremove && R.installed_modules.len && statpanel("Hardsuit Modules"))
|
||||
var/cell_status = R.cell ? "[R.cell.charge]/[R.cell.maxcharge]" : "ERROR"
|
||||
stat("Suit charge", cell_status)
|
||||
for(var/obj/item/rig_module/module in R.installed_modules)
|
||||
{
|
||||
for(var/stat_rig_module/SRM in module.stat_modules)
|
||||
if(SRM.CanUse())
|
||||
stat(SRM.module.interface_name,SRM)
|
||||
}
|
||||
|
||||
/stat_rig_module
|
||||
parent_type = /atom/movable
|
||||
var/module_mode = ""
|
||||
|
||||
@@ -46,13 +46,6 @@
|
||||
else
|
||||
integrated_ai.get_rig_stats = 0
|
||||
|
||||
/mob/living/Stat()
|
||||
. = ..()
|
||||
if(. && get_rig_stats)
|
||||
var/obj/item/rig/rig = get_rig()
|
||||
if(rig)
|
||||
SetupStat(rig)
|
||||
|
||||
/obj/item/rig_module/ai_container/proc/update_verb_holder()
|
||||
if(!verb_holder)
|
||||
verb_holder = new(src)
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
This means that this file can be unchecked, along with the other examine files, and can be removed entirely with no effort.
|
||||
*/
|
||||
|
||||
// # define EXAMINE_PANEL_PADDING " " //CHOMPRemove
|
||||
|
||||
/atom/
|
||||
var/description_info = null //Helpful blue text.
|
||||
@@ -34,7 +33,7 @@
|
||||
|
||||
// Quickly adds the boilerplate code to add an image and padding for the image.
|
||||
/proc/desc_panel_image(var/icon_state)
|
||||
return "[icon2html(description_icons[icon_state],usr)] " //CHOMPEdit
|
||||
return "[icon2html(description_icons[icon_state], usr)] "
|
||||
|
||||
/mob/living/get_description_fluff()
|
||||
if(flavor_text) //Get flavor text for the green text.
|
||||
@@ -50,53 +49,16 @@
|
||||
/client/var/description_holders[0]
|
||||
|
||||
/client/proc/update_description_holders(atom/A, update_antag_info=0)
|
||||
examine_icon = null //CHOMPEdit
|
||||
examine_icon = null
|
||||
description_holders["info"] = A.get_description_info()
|
||||
description_holders["fluff"] = A.get_description_fluff()
|
||||
description_holders["antag"] = (update_antag_info)? A.get_description_antag() : ""
|
||||
description_holders["interactions"] = A.get_description_interaction()
|
||||
|
||||
description_holders["name"] = "[A.name]"
|
||||
description_holders["icon"] = A //CHOMPEdit
|
||||
description_holders["icon"] = A
|
||||
description_holders["desc"] = A.desc
|
||||
|
||||
/* CHOMP Removal
|
||||
/mob/Stat()
|
||||
. = ..()
|
||||
if(client && statpanel("Examine"))
|
||||
var/description_holders = client.description_holders
|
||||
stat(null,"[description_holders["icon"]] <font size='5'>[description_holders["name"]]</font>") //The name, written in big letters.
|
||||
stat(null,"[description_holders["desc"]]") //the default examine text.
|
||||
|
||||
|
||||
var/color_i = "#084B8A"
|
||||
var/color_f = "#298A08"
|
||||
var/color_a = "#8A0808"
|
||||
/*
|
||||
The infowindow colours are set in code\modules\vchat\js\vchat.js file
|
||||
Unfortunately, I cannot think of a way to do this elegantly where there's this central define that we can easily track.
|
||||
As of 2023/08/05 13:10, the lightmode colour for vchat tabBackgroundColor is "none", this is also defined in interface\skin.dmf .
|
||||
The darkmode colour for vchat tabBackgroundColor is "#272727".
|
||||
Since it's possible that one day we'll have option to modify the user's preferred tabBackgroundColor
|
||||
I will assume the lightmode colour will be left untouched - therefore, we are checking for none.
|
||||
*/
|
||||
if(!(winget(src, "infowindow", "background-color") == "none"))
|
||||
color_i = "#709ec9d8"
|
||||
color_f = "#76d357"
|
||||
color_a = "#c94d4d"
|
||||
|
||||
|
||||
if(description_holders["info"])
|
||||
stat(null,"<font color=[color_i]><b>[description_holders["info"]]</b></font>") //Blue, informative text.
|
||||
if(description_holders["interactions"])
|
||||
for(var/line in description_holders["interactions"])
|
||||
stat(null, "<font color=[color_i]><b>[line]</b></font>")
|
||||
if(description_holders["fluff"])
|
||||
stat(null,"<font color=[color_f]><b>[description_holders["fluff"]]</b></font>") //Yellow, fluff-related text.
|
||||
if(description_holders["antag"])
|
||||
stat(null,"<font color=[color_a]><b>[description_holders["antag"]]</b></font>") //Red, malicious antag-related text
|
||||
*/
|
||||
|
||||
//override examinate verb to update description holders when things are examined
|
||||
//mob verbs are faster than object verbs. See http://www.byond.com/forum/?post=1326139&page=2#comment8198716 for why this isn't atom/verb/examine()
|
||||
/mob/verb/examinate(atom/A as mob|obj|turf in _validate_atom(A))
|
||||
@@ -125,7 +87,8 @@
|
||||
if(client)
|
||||
var/is_antag = ((mind && mind.special_role) || isobserver(src)) //ghosts don't have minds
|
||||
client.update_description_holders(A, is_antag)
|
||||
SSstatpanels.set_examine_tab(client) //CHOMPEdit
|
||||
SSstatpanels.set_examine_tab(client)
|
||||
|
||||
|
||||
/mob/verb/mob_examine()
|
||||
set name = "Mob Examine"
|
||||
@@ -201,5 +164,3 @@
|
||||
results = list("You were unable to examine that. Tell a developer!")
|
||||
to_chat(src, jointext(results, "<br>"))
|
||||
update_examine_panel(B)
|
||||
|
||||
// # undef EXAMINE_PANEL_PADDING //CHOMPRemove
|
||||
|
||||
@@ -36,11 +36,11 @@ var/list/mentor_verbs_default = list(
|
||||
|
||||
/client/proc/add_mentor_verbs()
|
||||
if(mentorholder)
|
||||
add_verb(src,mentor_verbs_default) //CHOMPEdit TGPanel
|
||||
add_verb(src, mentor_verbs_default)
|
||||
|
||||
/client/proc/remove_mentor_verbs()
|
||||
if(mentorholder)
|
||||
remove_verb(src,mentor_verbs_default) //CHOMPEdit TGPanel
|
||||
remove_verb(src, mentor_verbs_default)
|
||||
|
||||
/client/proc/make_mentor()
|
||||
set category = "Admin.Secrets" //CHOMPEdit
|
||||
|
||||
@@ -444,9 +444,9 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new)
|
||||
"Send to discord?", list("Admin-help!", "Still mentorhelp!", "Cancel"))
|
||||
if(choice == "Admin-help!")
|
||||
usr.client.adminhelp(msg)
|
||||
remove_verb(src,/client/verb/mentorhelp) //CHOMPEdit
|
||||
remove_verb(src, /client/verb/mentorhelp)
|
||||
spawn(1200)
|
||||
add_verb(src,/client/verb/mentorhelp ) // 2 minute cd to prevent abusing this to spam admins. //CHOMPEdit
|
||||
add_verb(src, /client/verb/mentorhelp) // 2 minute cd to prevent abusing this to spam admins.
|
||||
return
|
||||
else if(!choice || choice == "Cancel")
|
||||
return
|
||||
@@ -454,9 +454,9 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new)
|
||||
|
||||
|
||||
//remove out adminhelp verb temporarily to prevent spamming of admins.
|
||||
remove_verb(src, /client/verb/mentorhelp) //CHOMPEdit
|
||||
remove_verb(src, /client/verb/mentorhelp)
|
||||
spawn(600)
|
||||
add_verb(src, /client/verb/mentorhelp) //CHOMPEdit // 1 minute cool-down for mentorhelps
|
||||
add_verb(src, /client/verb/mentorhelp) // 1 minute cool-down for mentorhelps
|
||||
|
||||
feedback_add_details("admin_verb","Mentorhelp") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
if(current_mentorhelp)
|
||||
|
||||
@@ -207,8 +207,8 @@ Works together with spawning an observer, noted above.
|
||||
B.update()
|
||||
if(ghost.client)
|
||||
ghost.client.time_died_as_mouse = ghost.timeofdeath
|
||||
if(ghost.client && !ghost.client.holder && !CONFIG_GET(flag/antag_hud_allowed)) // For new ghosts we remove the verb from even showing up if it's not allowed. // CHOMPEdit
|
||||
remove_verb(ghost,/mob/observer/dead/verb/toggle_antagHUD ) // Poor guys, don't know what they are missing! //CHOMPEdit
|
||||
if(ghost.client && !ghost.client.holder && !CONFIG_GET(flag/antag_hud_allowed)) // For new ghosts we remove the verb from even showing up if it's not allowed.
|
||||
remove_verb(ghost, /mob/observer/dead/verb/toggle_antagHUD) // Poor guys, don't know what they are missing!
|
||||
return ghost
|
||||
|
||||
/*
|
||||
@@ -249,7 +249,6 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
/mob/observer/dead/can_use_hands() return 0
|
||||
/mob/observer/dead/is_active() return 0
|
||||
|
||||
//ChompEDIT START
|
||||
/mob/observer/dead/get_status_tab_items()
|
||||
. = ..()
|
||||
if(emergency_shuttle)
|
||||
@@ -257,7 +256,6 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
if(eta_status)
|
||||
. += ""
|
||||
. += "[eta_status]"
|
||||
//ChompEDIT END
|
||||
|
||||
/mob/observer/dead/verb/reenter_corpse()
|
||||
set category = "Ghost.Game" //CHOMPEdit
|
||||
@@ -821,8 +819,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
|
||||
/mob/observer/dead/proc/manifest(mob/user)
|
||||
is_manifest = TRUE
|
||||
add_verb(src,/mob/observer/dead/proc/toggle_visibility) //CHOMPEdit TGPanel
|
||||
add_verb(src,/mob/observer/dead/proc/ghost_whisper) //CHOMPEdit TGPanel
|
||||
add_verb(src, /mob/observer/dead/proc/toggle_visibility)
|
||||
add_verb(src, /mob/observer/dead/proc/ghost_whisper)
|
||||
to_chat(src, span_filter_notice("[span_purple("As you are now in the realm of the living, you can whisper to the living with the <b>Spectral Whisper</b> verb, inside the IC tab.")]"))
|
||||
if(plane != PLANE_WORLD)
|
||||
user.visible_message( \
|
||||
|
||||
@@ -33,7 +33,6 @@ var/list/holder_mob_icon_cache = list()
|
||||
held.reset_view(src)
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
//CHOMPEdit Start - Add status so that you can see where you are...
|
||||
/mob/living/get_status_tab_items()
|
||||
. = ..()
|
||||
if(. && istype(loc, /obj/item/holder))
|
||||
@@ -68,7 +67,6 @@ var/list/holder_mob_icon_cache = list()
|
||||
if (location != "")
|
||||
. += ""
|
||||
. += "Location: [location]"
|
||||
//CHOMPEdit End
|
||||
|
||||
/obj/item/holder/Entered(mob/held, atom/OldLoc)
|
||||
if(held_mob)
|
||||
|
||||
@@ -132,7 +132,7 @@
|
||||
/datum/language/proc/broadcast(var/mob/living/speaker,var/message,var/speaker_mask)
|
||||
log_say("(HIVE) [message]", speaker)
|
||||
|
||||
add_verb(speaker,/mob/proc/adjust_hive_range) //CHOMPEdit TGPanel
|
||||
add_verb(speaker, /mob/proc/adjust_hive_range)
|
||||
|
||||
if(!speaker_mask) speaker_mask = speaker.real_name
|
||||
message = "[get_spoken_verb(message)], \"[format_message(message, get_spoken_verb(message))]\""
|
||||
@@ -207,7 +207,7 @@
|
||||
languages.Add(new_language)
|
||||
//VOREStation Addition Start
|
||||
if(new_language.flags & HIVEMIND)
|
||||
add_verb(src,/mob/proc/adjust_hive_range) //CHOMPEdit TGPanel
|
||||
add_verb(src, /mob/proc/adjust_hive_range)
|
||||
//VOREStation Addition End
|
||||
|
||||
return 1
|
||||
|
||||
@@ -588,13 +588,13 @@
|
||||
/mob/living/bot/Login()
|
||||
no_vore = FALSE // ROBOT VORE
|
||||
init_vore() // ROBOT VORE
|
||||
add_verb(src,/mob/proc/insidePanel) //CHOMPEdit TGPanel
|
||||
add_verb(src, /mob/proc/insidePanel)
|
||||
|
||||
return ..()
|
||||
|
||||
/mob/living/bot/Logout()
|
||||
release_vore_contents()
|
||||
remove_verb(src,/mob/proc/insidePanel) //CHOMPEdit TGPanel
|
||||
remove_verb(src, /mob/proc/insidePanel)
|
||||
no_vore = TRUE
|
||||
devourable = FALSE
|
||||
feeding = FALSE
|
||||
|
||||
@@ -27,8 +27,8 @@
|
||||
|
||||
time_of_birth = world.time
|
||||
|
||||
add_verb(src,/mob/living/proc/ventcrawl) //CHOMPEdit TGPanel
|
||||
add_verb(src,/mob/living/proc/hide) //CHOMPEdit TGPanel
|
||||
add_verb(src, /mob/living/proc/ventcrawl)
|
||||
add_verb(src, /mob/living/proc/hide)
|
||||
|
||||
instance_num = rand(1, 1000)
|
||||
name = "[initial(name)] ([instance_num])"
|
||||
|
||||
@@ -54,7 +54,7 @@ var/list/_nymph_default_emotes = list(
|
||||
species = GLOB.all_species[SPECIES_DIONA]
|
||||
add_language(LANGUAGE_ROOTGLOBAL)
|
||||
add_language(LANGUAGE_GALCOM)
|
||||
add_verb(src,/mob/living/carbon/alien/diona/proc/merge) //CHOMPEdit TGPanel
|
||||
add_verb(src, /mob/living/carbon/alien/diona/proc/merge)
|
||||
|
||||
/mob/living/carbon/alien/diona/put_in_hands(var/obj/item/W) // No hands.
|
||||
W.loc = get_turf(src)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
return
|
||||
|
||||
if(istype(src.loc,/mob/living/carbon))
|
||||
remove_verb(src,/mob/living/carbon/alien/diona/proc/merge) //CHOMPEdit
|
||||
remove_verb(src, /mob/living/carbon/alien/diona/proc/merge)
|
||||
return
|
||||
|
||||
var/list/choices = list()
|
||||
@@ -35,8 +35,8 @@
|
||||
to_chat(H, "You feel your being twine with that of \the [src] as it merges with your biomass.")
|
||||
to_chat(src, "You feel your being twine with that of \the [H] as you merge with its biomass.")
|
||||
loc = H
|
||||
add_verb(src,/mob/living/carbon/alien/diona/proc/split) //CHOMPEdit TGPanel
|
||||
remove_verb(src,/mob/living/carbon/alien/diona/proc/merge) //CHOMPEdit TGPanel
|
||||
add_verb(src, /mob/living/carbon/alien/diona/proc/split)
|
||||
remove_verb(src, /mob/living/carbon/alien/diona/proc/merge)
|
||||
return 1
|
||||
|
||||
/mob/living/carbon/alien/diona/proc/split()
|
||||
@@ -49,7 +49,7 @@
|
||||
return
|
||||
|
||||
if(!(istype(src.loc,/mob/living/carbon)))
|
||||
remove_verb(src,/mob/living/carbon/alien/diona/proc/split) //CHOMPEdit
|
||||
remove_verb(src, /mob/living/carbon/alien/diona/proc/split)
|
||||
return
|
||||
|
||||
to_chat(src.loc, "You feel a pang of loss as [src] splits away from your biomass.")
|
||||
@@ -58,8 +58,8 @@
|
||||
var/mob/living/M = src.loc
|
||||
|
||||
src.loc = get_turf(src)
|
||||
remove_verb(src,/mob/living/carbon/alien/diona/proc/split) //CHOMPEdit
|
||||
add_verb(src,/mob/living/carbon/alien/diona/proc/merge) //CHOMPEdit
|
||||
remove_verb(src, /mob/living/carbon/alien/diona/proc/split)
|
||||
add_verb(src, /mob/living/carbon/alien/diona/proc/merge)
|
||||
|
||||
if(istype(M))
|
||||
for(var/atom/A in M.contents)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/mob/living/carbon/alien/diona/get_status_tab_items() //Specified where progression is at, doesn't work right for some things in carbon/alien //ChompEDIT - TGPanel
|
||||
/mob/living/carbon/alien/diona/get_status_tab_items() //Specified where progression is at, doesn't work right for some things in carbon/alien
|
||||
. = ..()
|
||||
if(.) //ChompEDIT - TGPanel
|
||||
if(.)
|
||||
. += ""
|
||||
. += "Diona Growth: [round(amount_grown)]/[max_grown]" //ChompEDIT - TGPanel
|
||||
. += "Diona Growth: [round(amount_grown)]/[max_grown]"
|
||||
|
||||
/mob/living/carbon/alien/diona/confirm_evolution()
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/mob/living/carbon/alien/larva/get_status_tab_items() //Specified where progression is at, doesn't work right for some things in carbon/alien //ChompEDIT - TGPanel
|
||||
/mob/living/carbon/alien/larva/get_status_tab_items() //Specified where progression stats come from, because for some reason it doesn't work right in carbon/alien
|
||||
. = ..()
|
||||
if(.) //ChompEDIT - TGPanel
|
||||
if(.)
|
||||
. += ""
|
||||
. += "Larva Growth: [round(amount_grown)]/[max_grown]" //ChompEDIT - TGPanel
|
||||
. += "Larva Growth: [round(amount_grown)]/[max_grown]"
|
||||
|
||||
/mob/living/carbon/alien/larva/confirm_evolution()
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
return
|
||||
|
||||
if(!adult_form)
|
||||
remove_verb(src,/mob/living/carbon/alien/verb/evolve) //CHOMPEdit TGPanel
|
||||
remove_verb(src, /mob/living/carbon/alien/verb/evolve)
|
||||
return
|
||||
|
||||
if(handcuffed || legcuffed)
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
|
||||
B.detatch()
|
||||
|
||||
remove_verb(src,/mob/living/carbon/proc/release_control) //CHOMPEdit TGPanel
|
||||
remove_verb(src,/mob/living/carbon/proc/punish_host) //CHOMPEdit TGPanel
|
||||
remove_verb(src,/mob/living/carbon/proc/spawn_larvae) //CHOMPEdit TGPanel
|
||||
remove_verb(src, /mob/living/carbon/proc/release_control)
|
||||
remove_verb(src, /mob/living/carbon/proc/punish_host)
|
||||
remove_verb(src, /mob/living/carbon/proc/spawn_larvae)
|
||||
|
||||
else
|
||||
to_chat(src, span_danger("ERROR NO BORER OR BRAINMOB DETECTED IN THIS MOB, THIS IS A BUG !"))
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
B.host_brain.name = "host brain"
|
||||
B.host_brain.real_name = "host brain"
|
||||
|
||||
remove_verb(src,/mob/living/carbon/proc/release_control) //CHOMPEdit TGPanel
|
||||
remove_verb(src, /mob/living/carbon/proc/release_control)
|
||||
|
||||
callHook("death", list(src, gibbed))
|
||||
|
||||
|
||||
@@ -68,7 +68,6 @@
|
||||
dna.real_name = real_name
|
||||
sync_organ_dna()
|
||||
|
||||
//verbs |= /mob/living/proc/toggle_selfsurgery //VOREStation Removal
|
||||
AddComponent(/datum/component/personal_crafting)
|
||||
|
||||
/mob/living/carbon/human/Destroy()
|
||||
@@ -83,7 +82,6 @@
|
||||
QDEL_NULL(vessel)
|
||||
return ..()
|
||||
|
||||
//CHOMPEdit Begin
|
||||
/mob/living/carbon/human/get_status_tab_items()
|
||||
. = ..()
|
||||
. += ""
|
||||
@@ -119,8 +117,41 @@
|
||||
. += "Genetic Damage Time: [mind.changeling.geneticdamage]"
|
||||
. += "Re-Adaptations: [mind.changeling.readapts]/[mind.changeling.max_readapts]"
|
||||
if(species)
|
||||
species.Stat(src)
|
||||
//CHOMPEdit End
|
||||
species.get_status_tab_items(src)
|
||||
|
||||
|
||||
/mob/proc/RigPanel(var/obj/item/rig/R)
|
||||
if(R && !R.canremove && R.installed_modules.len)
|
||||
var/list/L = list()
|
||||
var/cell_status = R.cell ? "[R.cell.charge]/[R.cell.maxcharge]" : "ERROR"
|
||||
L[++L.len] = list("Suit charge: [cell_status]", null, null, null, null)
|
||||
for(var/obj/item/rig_module/module in R.installed_modules)
|
||||
{
|
||||
for(var/stat_rig_module/SRM in module.stat_modules)
|
||||
if(SRM.CanUse())
|
||||
L[++L.len] = list(SRM.module.interface_name,null,null,SRM.name,REF(SRM))
|
||||
}
|
||||
misc_tabs["Hardsuit Modules"] = L
|
||||
|
||||
/mob/living/update_misc_tabs()
|
||||
..()
|
||||
if(get_rig_stats)
|
||||
var/obj/item/rig/rig = get_rig()
|
||||
if(rig)
|
||||
RigPanel(rig)
|
||||
|
||||
/mob/living/carbon/human/update_misc_tabs()
|
||||
..()
|
||||
if(species)
|
||||
species.update_misc_tabs(src)
|
||||
|
||||
if(istype(back,/obj/item/rig))
|
||||
var/obj/item/rig/R = back
|
||||
RigPanel(R)
|
||||
|
||||
else if(istype(belt,/obj/item/rig))
|
||||
var/obj/item/rig/R = belt
|
||||
RigPanel(R)
|
||||
|
||||
/mob/living/carbon/human/ex_act(severity)
|
||||
if(!blinded)
|
||||
@@ -850,7 +881,7 @@
|
||||
return
|
||||
|
||||
if(!(mMorph in mutations))
|
||||
remove_verb(src,/mob/living/carbon/human/proc/morph) //CHOMPEdit
|
||||
remove_verb(src, /mob/living/carbon/human/proc/morph)
|
||||
return
|
||||
|
||||
var/new_facial = input(usr, "Please select facial hair color.", "Character Generation",rgb(r_facial,g_facial,b_facial)) as color
|
||||
@@ -925,7 +956,7 @@
|
||||
return
|
||||
|
||||
if(!(mRemotetalk in src.mutations))
|
||||
remove_verb(src,/mob/living/carbon/human/proc/remotesay) //CHOMPEdit
|
||||
remove_verb(src, /mob/living/carbon/human/proc/remotesay)
|
||||
return
|
||||
var/list/creatures = list()
|
||||
for(var/mob/living/carbon/h in mob_list)
|
||||
@@ -956,11 +987,8 @@
|
||||
if(!(mRemote in src.mutations))
|
||||
remoteview_target = null
|
||||
reset_view(0)
|
||||
remove_verb(src,/mob/living/carbon/human/proc/remoteobserve) //CHOMPEdit
|
||||
return
|
||||
|
||||
remove_verb(src, /mob/living/carbon/human/proc/remoteobserve)
|
||||
if(client.eye != client.mob)
|
||||
remoteview_target = null
|
||||
reset_view(0)
|
||||
return
|
||||
|
||||
@@ -1091,7 +1119,7 @@
|
||||
blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
|
||||
hand_blood_color = blood_color
|
||||
update_bloodied()
|
||||
add_verb(src,/mob/living/carbon/human/proc/bloody_doodle) //CHOMPEdit TGPanel
|
||||
add_verb(src, /mob/living/carbon/human/proc/bloody_doodle)
|
||||
return 1 //we applied blood to the item
|
||||
|
||||
/mob/living/carbon/human/proc/get_full_print()
|
||||
@@ -1324,7 +1352,7 @@
|
||||
return 0 //something is terribly wrong
|
||||
|
||||
if (!bloody_hands)
|
||||
remove_verb(src,/mob/living/carbon/human/proc/bloody_doodle) //CHOMPEdit TGPanel
|
||||
remove_verb(src, /mob/living/carbon/human/proc/bloody_doodle)
|
||||
|
||||
if (src.gloves)
|
||||
to_chat(src, span_warning("Your [src.gloves] are getting in the way."))
|
||||
@@ -1694,7 +1722,7 @@
|
||||
/mob/living/carbon/human/examine_icon()
|
||||
var/icon/I = get_cached_examine_icon(src)
|
||||
if(!I)
|
||||
I = getFlatIcon(src, defdir = SOUTH, no_anim = TRUE, force_south = TRUE) //CHOMPEdit
|
||||
I = getFlatIcon(src, defdir = SOUTH, no_anim = TRUE, force_south = TRUE)
|
||||
set_cached_examine_icon(src, I, 50 SECONDS)
|
||||
return I
|
||||
|
||||
|
||||
@@ -73,13 +73,13 @@
|
||||
// Called in robotize(), replaced() and removed() to update our modular limb verbs.
|
||||
/mob/living/carbon/human/proc/refresh_modular_limb_verbs()
|
||||
if(length(get_modular_limbs(return_first_found = TRUE, validate_proc = /obj/item/organ/external/proc/can_attach_modular_limb_here)))
|
||||
add_verb(src,/mob/living/carbon/human/proc/attach_limb_verb) //CHOMPEdit TGPanel
|
||||
add_verb(src, /mob/living/carbon/human/proc/attach_limb_verb)
|
||||
else
|
||||
remove_verb(src,/mob/living/carbon/human/proc/attach_limb_verb) //CHOMPEdit TGPanel
|
||||
remove_verb(src, /mob/living/carbon/human/proc/attach_limb_verb)
|
||||
if(length(get_modular_limbs(return_first_found = TRUE, validate_proc = /obj/item/organ/external/proc/can_remove_modular_limb)))
|
||||
add_verb(src,/mob/living/carbon/human/proc/detach_limb_verb) //CHOMPEdit TGPanel
|
||||
add_verb(src, /mob/living/carbon/human/proc/detach_limb_verb)
|
||||
else
|
||||
remove_verb(src,/mob/living/carbon/human/proc/detach_limb_verb) //CHOMPEdit TGPanel
|
||||
remove_verb(src, /mob/living/carbon/human/proc/detach_limb_verb)
|
||||
|
||||
// Proc helper for attachment verb.
|
||||
/mob/living/carbon/human/proc/check_can_attach_modular_limb(var/obj/item/organ/external/E)
|
||||
|
||||
@@ -191,8 +191,8 @@
|
||||
qdel(Org)
|
||||
|
||||
// Purge the diona verbs.
|
||||
remove_verb(src,/mob/living/carbon/human/proc/diona_split_nymph) //CHOMPEdit TGPanel
|
||||
remove_verb(src,/mob/living/carbon/human/proc/regenerate) //CHOMPEdit TGPanel
|
||||
remove_verb(src, /mob/living/carbon/human/proc/diona_split_nymph)
|
||||
remove_verb(src, /mob/living/carbon/human/proc/regenerate)
|
||||
|
||||
for(var/obj/item/organ/external/E in organs) // Just fall apart.
|
||||
E.droplimb(TRUE)
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
H.ability_master = new /obj/screen/movable/ability_master/lleill(H)
|
||||
for(var/datum/power/lleill/P in lleill_ability_datums)
|
||||
if(!(P.verbpath in H.verbs))
|
||||
H.verbs += P.verbpath
|
||||
add_verb(H, P.verbpath)
|
||||
H.ability_master.add_lleill_ability(
|
||||
object_given = H,
|
||||
verb_given = P.verbpath,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user