mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-20 23:31:04 +00:00
Adds catch modifier support, track wild captures Adds support for capture modifiers: - These modifiers adjust the "effective run chance" of the mob, potentially making it easier or harder to capture a mob based on the total modifier - Attempting to capture a mob in melee (running up and smacking it with pda in hand) now grants a 20% capture bonus (reduces mob's effective run chance by 20) - Attempting to capture a mob at range (throwing the pda) does not grant a bonus - Support is in place for a client-based catch modifiers, to allow for possible things such as bonuses or penalties from things like "item cards" or achieving X number of captures. This is not currently planned for this PR Adds tracking of how many wild mobs you have captured to the game UI. Mobs from trading cards will not increase this value, only mob you captured from the wild will. - Bragging rights for now, but could be used for a future "milestone" system to earn bonuses More cleanup and fixes Thrown PDAs now properly trigger capture attempts Mobs now properly consider their type preferences for spawning (may need to up whitelist bonus weight) Mobs no longer will spawn in holodeck areas, since this results in them sometimes spawning on z2 in the holodeck source "templates" show_message replaced with audible_message Spawn area selection cleanup Mobs will no longer attempt to spawn in the derelict solars, constructionsite solars, or the unused /area/construction subtypes (the base type is used, just not the subtypes as far as I can tell) - Mobs will also avoid spawning on turfs that are not on the station z-level, in the event an area is mistakenly mapped onto additional z-levels or something
85 lines
3.0 KiB
Plaintext
85 lines
3.0 KiB
Plaintext
//TODO: rewrite and standardise all controller datums to the datum/controller type
|
|
//TODO: allow all controllers to be deleted for clean restarts (see WIP master controller stuff) - MC done - lighting done
|
|
|
|
|
|
/client/proc/restart_controller(controller in list("Master","Failsafe"))
|
|
set category = "Debug"
|
|
set name = "Restart Controller"
|
|
set desc = "Restart one of the various periodic loop controllers for the game (be careful!)"
|
|
|
|
if(!holder) return
|
|
usr = null
|
|
src = null
|
|
switch(controller)
|
|
if("Failsafe")
|
|
new /datum/controller/failsafe()
|
|
feedback_add_details("admin_verb","RFailsafe")
|
|
message_admins("Admin [key_name_admin(usr)] has restarted the [controller] controller.")
|
|
return
|
|
|
|
|
|
/client/proc/debug_controller(controller in list("Master","failsafe","Ticker","Air","Lighting","Jobs","Sun","Radio","Configuration","pAI", "Cameras","Garbage", "Transfer Controller","Event","Alarm","Scheduler","Nano","Vote","Mob Hunt Server"))
|
|
set category = "Debug"
|
|
set name = "Debug Controller"
|
|
set desc = "Debug the various periodic loop controllers for the game (be careful!)"
|
|
|
|
if(!holder) return
|
|
switch(controller)
|
|
if("Master")
|
|
debug_variables(master_controller)
|
|
feedback_add_details("admin_verb","DMC")
|
|
if("failsafe")
|
|
debug_variables(failsafe)
|
|
feedback_add_details("admin_verb", "dfailsafe")
|
|
if("Ticker")
|
|
debug_variables(ticker)
|
|
feedback_add_details("admin_verb","DTicker")
|
|
if("Air")
|
|
debug_variables(air_master)
|
|
feedback_add_details("admin_verb","DAir")
|
|
if("Lighting")
|
|
debug_variables(lighting_controller)
|
|
feedback_add_details("admin_verb","DLighting")
|
|
if("Jobs")
|
|
debug_variables(job_master)
|
|
feedback_add_details("admin_verb","DJobs")
|
|
if("Sun")
|
|
debug_variables(sun)
|
|
feedback_add_details("admin_verb","DSun")
|
|
if("Radio")
|
|
debug_variables(radio_controller)
|
|
feedback_add_details("admin_verb","DRadio")
|
|
if("Configuration")
|
|
debug_variables(config)
|
|
feedback_add_details("admin_verb","DConf")
|
|
if("pAI")
|
|
debug_variables(paiController)
|
|
feedback_add_details("admin_verb","DpAI")
|
|
if("Cameras")
|
|
debug_variables(cameranet)
|
|
feedback_add_details("admin_verb","DCameras")
|
|
if("Event")
|
|
debug_variables(event_manager)
|
|
feedback_add_details("admin_verb","DEvent")
|
|
if("Alarm")
|
|
debug_variables(alarm_manager)
|
|
feedback_add_details("admin_verb", "DAlarm")
|
|
if("Garbage")
|
|
debug_variables(garbageCollector)
|
|
feedback_add_details("admin_verb","DGarbage")
|
|
if("Scheduler")
|
|
debug_variables(processScheduler)
|
|
feedback_add_details("admin_verb","DprocessScheduler")
|
|
if("Nano")
|
|
debug_variables(nanomanager)
|
|
feedback_add_details("admin_verb","DNano")
|
|
if("Vote")
|
|
debug_variables(vote)
|
|
feedback_add_details("admin_verb","DVote")
|
|
if("Mob Hunt Server")
|
|
debug_variables(mob_hunt_server)
|
|
feedback_add_details("admin_verb","DMobHuntServer")
|
|
|
|
message_admins("Admin [key_name_admin(usr)] is debugging the [controller] controller.")
|
|
return
|