Files
Paradise/code/controllers/verbs.dm
FalseIncarnate 6c4bce1eac Changed Mob Hunt Server to be an abstract controller
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
2016-09-09 02:20:57 -04:00

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