Rename all non-snake_case types. (#27268)

* refactor: Rename all non-snake_case types (not procs or vars (yet)).

* completely dynamic update script

* might help to include the data

* update aa's scuffed python

* oh

* set script PR number

* run updatepaths again

* Add other table updates with JSON columns

* bump SQL version

* just fucking end my life

* move JSON data
This commit is contained in:
warriorstar-orion
2024-11-30 19:08:45 +00:00
committed by GitHub
parent db4dda0fdf
commit 0ffa8303a7
180 changed files with 2492 additions and 1781 deletions
+2 -2
View File
@@ -415,7 +415,7 @@
if(isstorage(G.gift))
L += get_contents(G.gift)
for(var/obj/item/smallDelivery/D in Storage.return_inv()) //Check for package wrapped items
for(var/obj/item/small_delivery/D in Storage.return_inv()) //Check for package wrapped items
L += D.wrapped
if(isstorage(D.wrapped)) //this should never happen
L += get_contents(D.wrapped)
@@ -441,7 +441,7 @@
if(isstorage(G.gift))
L += get_contents(G.gift)
for(var/obj/item/smallDelivery/D in contents) //Check for package wrapped items
for(var/obj/item/small_delivery/D in contents) //Check for package wrapped items
L += D.wrapped
if(isstorage(D.wrapped)) //this should never happen
L += get_contents(D.wrapped)
+1 -1
View File
@@ -97,7 +97,7 @@
var/datum/language/default_language
var/datum/middleClickOverride/middleClickOverride = null
var/datum/middle_click_override/middleClickOverride = null
/// Famous last words -- if succumbing, what the user's last words were
var/last_words
+7 -7
View File
@@ -69,7 +69,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
//MALFUNCTION
var/datum/module_picker/malf_picker
var/datum/spell/ai_spell/choose_modules/modules_action
var/list/datum/AI_Module/current_modules = list()
var/list/datum/ai_module/current_modules = list()
var/can_dominate_mechs = FALSE
var/shunted = FALSE // TRUE if the AI is currently shunted. Used to differentiate between shunted and ghosted/braindead
@@ -104,7 +104,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
var/obj/machinery/doomsday_device/doomsday_device
var/obj/machinery/hologram/holopad/holo = null
var/mob/camera/aiEye/eyeobj
var/mob/camera/ai_eye/eyeobj
var/sprint = 10
var/cooldown = 0
var/acceleration = 1
@@ -115,7 +115,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
var/obj/machinery/camera/portable/builtInCamera
var/obj/structure/AIcore/deactivated/linked_core //For exosuit control
var/obj/structure/ai_core/deactivated/linked_core //For exosuit control
/// If our AI doesn't want to be the arrivals announcer, this gets set to FALSE.
var/announce_arrivals = TRUE
@@ -217,7 +217,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
if(!safety)//Only used by AIize() to successfully spawn an AI.
if(!B)//If there is no player/brain inside.
new/obj/structure/AIcore/deactivated(loc)//New empty terminal.
new/obj/structure/ai_core/deactivated(loc)//New empty terminal.
qdel(src)//Delete AI.
return
else
@@ -1322,7 +1322,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
to_chat(user, "<span class='warning'>Intelligence transfer aborted.</span>")
return
new /obj/structure/AIcore/deactivated(loc)//Spawns a deactivated terminal at AI location.
new /obj/structure/ai_core/deactivated(loc)//Spawns a deactivated terminal at AI location.
aiRestorePowerRoutine = 0//So the AI initially has power.
control_disabled = TRUE //Can't control things remotely if you're stuck in a card!
aiRadio.disabledAi = TRUE //No talking on the built-in radio for you either!
@@ -1389,7 +1389,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
///Removes all malfunction-related /datum/action's from the target AI.
/mob/living/silicon/ai/proc/remove_malf_abilities()
QDEL_NULL(modules_action)
for(var/datum/AI_Module/AM in current_modules)
for(var/datum/ai_module/AM in current_modules)
for(var/datum/action/A in actions)
if(istype(A, initial(AM.power_type)))
qdel(A)
@@ -1433,7 +1433,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
else
to_chat(src, "<span class='warning'>Target is not on or near any active cameras on the station.</span>")
/mob/living/silicon/ai/proc/camera_visibility(mob/camera/aiEye/moved_eye)
/mob/living/silicon/ai/proc/camera_visibility(mob/camera/ai_eye/moved_eye)
GLOB.cameranet.visibility(moved_eye, client, all_eyes)
/mob/living/silicon/ai/handle_fire()
@@ -44,7 +44,7 @@ GLOBAL_DATUM_INIT(cameranet, /datum/cameranet, new())
var/list/chunks_post_seen = list()
for(var/V in moved_eyes)
var/mob/camera/aiEye/eye = V
var/mob/camera/ai_eye/eye = V
if(C)
chunks_pre_seen |= eye.visibleCameraChunks
// 0xf = 15
@@ -76,7 +76,7 @@ GLOBAL_DATUM_INIT(cameranet, /datum/cameranet, new())
if(C)
for(var/V in other_eyes)
var/mob/camera/aiEye/eye = V
var/mob/camera/ai_eye/eye = V
chunks_post_seen |= eye.visibleCameraChunks
var/list/remove = chunks_pre_seen - chunks_post_seen
@@ -56,7 +56,7 @@
SScamera.queue(src)
// Add an AI eye to the chunk, then update if changed.
/datum/camerachunk/proc/add(mob/camera/aiEye/eye, add_images = TRUE)
/datum/camerachunk/proc/add(mob/camera/ai_eye/eye, add_images = TRUE)
if(add_images)
var/client/client = eye.GetViewerClient()
if(client)
@@ -67,11 +67,11 @@
if(changed)
SScamera.queue(src)
/datum/camerachunk/proc/aiEye_destroyed(mob/camera/aiEye/eye)
/datum/camerachunk/proc/aiEye_destroyed(mob/camera/ai_eye/eye)
remove(eye, FALSE)
// Remove an AI eye from the chunk, then update if changed.
/datum/camerachunk/proc/remove(mob/camera/aiEye/eye, remove_images = TRUE)
/datum/camerachunk/proc/remove(mob/camera/ai_eye/eye, remove_images = TRUE)
if(remove_images)
var/client/client = eye.GetViewerClient()
if(client)
@@ -134,7 +134,7 @@
obscured += t.obscured
images_to_add += t.obscured
for(var/mob/camera/aiEye/eye as anything in seenby)
for(var/mob/camera/ai_eye/eye as anything in seenby)
var/client/client = eye.GetViewerClient()
if(client)
client.images -= images_to_remove
@@ -3,7 +3,7 @@
// An invisible (no icon) mob that the AI controls to look around the station with.
// It streams chunks as it moves around, which will show it what the AI can and cannot see.
/mob/camera/aiEye
/mob/camera/ai_eye
name = "Inactive AI Eye"
icon = 'icons/mob/ai.dmi' //Allows ghosts to see what the AI is looking at.
@@ -23,7 +23,7 @@
// Use this when setting the aiEye's location.
// It will also stream the chunk that the new loc is in.
/mob/camera/aiEye/setLoc(T)
/mob/camera/ai_eye/setLoc(T)
if(ai)
if(!isturf(ai.loc))
return
@@ -39,26 +39,26 @@
var/obj/machinery/hologram/holopad/H = ai.current
H.move_hologram(ai, T)
/mob/camera/aiEye/Move()
/mob/camera/ai_eye/Move()
return 0
/mob/camera/aiEye/Process_Spacemove(movement_dir)
/mob/camera/ai_eye/Process_Spacemove(movement_dir)
// Nothing in space can stop us from moving.
return 1
/mob/camera/aiEye/proc/GetViewerClient()
/mob/camera/ai_eye/proc/GetViewerClient()
if(ai)
return ai.client
return null
/mob/camera/aiEye/proc/RemoveImages()
/mob/camera/ai_eye/proc/RemoveImages()
var/client/C = GetViewerClient()
if(C && use_static)
for(var/V in visibleCameraChunks)
var/datum/camerachunk/chunk = V
C.images -= chunk.obscured
/mob/camera/aiEye/Destroy()
/mob/camera/ai_eye/Destroy()
if(ai)
ai.all_eyes -= src
ai = null
@@ -131,7 +131,7 @@
/mob/living/silicon/ai/proc/create_eye()
if(eyeobj)
return
eyeobj = new /mob/camera/aiEye()
eyeobj = new /mob/camera/ai_eye()
all_eyes += eyeobj
eyeobj.ai = src
eyeobj.setLoc(loc)
@@ -146,7 +146,7 @@
acceleration = !acceleration
to_chat(usr, "Camera acceleration has been toggled [acceleration ? "on" : "off"].")
/mob/camera/aiEye/hear_say(list/message_pieces, verb = "says", italics = 0, mob/speaker = null, sound/speech_sound, sound_vol, sound_frequency, use_voice = TRUE)
/mob/camera/ai_eye/hear_say(list/message_pieces, verb = "says", italics = 0, mob/speaker = null, sound/speech_sound, sound_vol, sound_frequency, use_voice = TRUE)
if(relay_speech)
if(istype(ai))
ai.relay_speech(speaker, message_pieces, verb)
@@ -11,7 +11,7 @@ GLOBAL_LIST_EMPTY(empty_playable_ai_cores)
cryo_AI()
/mob/living/silicon/ai/proc/cryo_AI()
var/dead_aicore = new /obj/structure/AIcore/deactivated(loc)
var/dead_aicore = new /obj/structure/ai_core/deactivated(loc)
GLOB.empty_playable_ai_cores += dead_aicore
GLOB.global_announcer.autosay("[src] has been moved to intelligence storage.", "Artificial Intelligence Oversight", follow_target_override = dead_aicore)
@@ -67,7 +67,7 @@ GLOBAL_LIST_EMPTY(empty_playable_ai_cores)
CRASH("moveToEmptyCore called without any available cores")
// IsJobAvailable for AI checks that there is an empty core available in this list
var/obj/structure/AIcore/deactivated/C = GLOB.empty_playable_ai_cores[1]
var/obj/structure/ai_core/deactivated/C = GLOB.empty_playable_ai_cores[1]
GLOB.empty_playable_ai_cores -= C
forceMove(C.loc)
@@ -1,14 +1,14 @@
// Recruiting observers to play as pAIs
GLOBAL_DATUM_INIT(paiController, /datum/paiController, new) // Global handler for pAI candidates
GLOBAL_DATUM_INIT(paiController, /datum/pai_controller, new) // Global handler for pAI candidates
/datum/paiController
/datum/pai_controller
var/list/pai_candidates = list()
var/list/asked = list()
var/askDelay = 10 * 60 * 1 // One minute [ms * sec * min]
/datum/paiController/Topic(href, href_list[])
/datum/pai_controller/Topic(href, href_list[])
var/datum/pai_save/candidate = locateUID(href_list["candidate"])
@@ -115,7 +115,7 @@ GLOBAL_DATUM_INIT(paiController, /datum/paiController, new) // Global handler fo
return
recruitWindow(usr)
/datum/paiController/proc/recruitWindow(mob/M)
/datum/pai_controller/proc/recruitWindow(mob/M)
var/datum/pai_save/candidate = M.client.pai_save
var/dat = ""
@@ -234,7 +234,7 @@ GLOBAL_DATUM_INIT(paiController, /datum/paiController, new) // Global handler fo
M << browse(dat, "window=paiRecruit;size=580x580;")
/datum/paiController/proc/findPAI(obj/item/paicard/p, mob/user)
/datum/pai_controller/proc/findPAI(obj/item/paicard/p, mob/user)
requestRecruits(p, user)
var/list/available = list()
for(var/datum/pai_save/c in GLOB.paiController.pai_candidates)
@@ -349,7 +349,7 @@ GLOBAL_DATUM_INIT(paiController, /datum/paiController, new) // Global handler fo
user << browse(dat, "window=findPai")
/datum/paiController/proc/requestRecruits(obj/item/paicard/P, mob/user)
/datum/pai_controller/proc/requestRecruits(obj/item/paicard/P, mob/user)
for(var/mob/dead/observer/O in GLOB.player_list)
if(O.client && (ROLE_PAI in O.client.prefs.be_special))
if(player_old_enough_antag(O.client,ROLE_PAI))
@@ -357,7 +357,7 @@ GLOBAL_DATUM_INIT(paiController, /datum/paiController, new) // Global handler fo
to_chat(O, "<span class='boldnotice'>A pAI card activated by [user.real_name] is looking for personalities. (<a href='byond://?src=[O.UID()];jump=\ref[P]'>Teleport</a> | <a href='byond://?src=[UID()];signup=\ref[O]'>Sign Up</a>)</span>")
//question(O.client)
/datum/paiController/proc/check_recruit(mob/dead/observer/O)
/datum/pai_controller/proc/check_recruit(mob/dead/observer/O)
if(jobban_isbanned(O, ROLE_PAI) || jobban_isbanned(O, "nonhumandept"))
return 0
if(!player_old_enough_antag(O.client,ROLE_PAI))
@@ -370,7 +370,7 @@ GLOBAL_DATUM_INIT(paiController, /datum/paiController, new) // Global handler fo
return 1
return 0
/datum/paiController/proc/question(client/C)
/datum/pai_controller/proc/question(client/C)
spawn(0)
if(!C) return
asked.Add(C.key)
@@ -35,7 +35,7 @@
var/obj/item/matter_decompiler/decompiler = null
// What objects can drones bump into
var/static/list/allowed_bumpable_objects = list(/obj/machinery/door, /obj/machinery/recharge_station, /obj/machinery/disposal/deliveryChute,
var/static/list/allowed_bumpable_objects = list(/obj/machinery/door, /obj/machinery/recharge_station, /obj/machinery/disposal/delivery_chute,
/obj/machinery/teleport/hub, /obj/effect/portal, /obj/structure/transit_tube/station)
var/reboot_cooldown = 1 MINUTES
@@ -346,7 +346,7 @@
/obj/item/surgicaldrill,
/obj/item/bonesetter,
/obj/item/bonegel,
/obj/item/FixOVein,
/obj/item/fix_o_vein,
/obj/item/extinguisher/mini,
/obj/item/reagent_containers/glass/beaker/large,
/obj/item/reagent_containers/dropper,
@@ -847,7 +847,7 @@
/obj/item/surgicaldrill,
/obj/item/bonesetter,
/obj/item/bonegel,
/obj/item/FixOVein,
/obj/item/fix_o_vein,
/obj/item/card/emag,
/obj/item/crowbar/cyborg/red,
/obj/item/pinpointer/operative,
@@ -29,7 +29,7 @@
footstep_type = FOOTSTEP_MOB_CLAW
//RUNTIME IS ALIVE! SQUEEEEEEEE~
/mob/living/simple_animal/pet/cat/Runtime
/mob/living/simple_animal/pet/cat/runtime
name = "Runtime"
desc = "GCAT."
icon_state = "cat"
@@ -42,35 +42,35 @@
var/list/family = list()
var/list/children = list() //Actual mob instances of children
/mob/living/simple_animal/pet/cat/Runtime/Initialize(mapload)
/mob/living/simple_animal/pet/cat/runtime/Initialize(mapload)
. = ..()
SSpersistent_data.register(src)
/mob/living/simple_animal/pet/cat/Runtime/Destroy()
/mob/living/simple_animal/pet/cat/runtime/Destroy()
SSpersistent_data.registered_atoms -= src
return ..()
/mob/living/simple_animal/pet/cat/Runtime/persistent_load()
/mob/living/simple_animal/pet/cat/runtime/persistent_load()
read_memory()
deploy_the_cats()
/mob/living/simple_animal/pet/cat/Runtime/persistent_save()
/mob/living/simple_animal/pet/cat/runtime/persistent_save()
if(SEND_SIGNAL(src, COMSIG_LIVING_WRITE_MEMORY) & COMPONENT_DONT_WRITE_MEMORY)
return FALSE
write_memory(FALSE)
/mob/living/simple_animal/pet/cat/Runtime/make_babies()
/mob/living/simple_animal/pet/cat/runtime/make_babies()
var/mob/baby = ..()
if(baby)
children += baby
return baby
/mob/living/simple_animal/pet/cat/Runtime/death()
/mob/living/simple_animal/pet/cat/runtime/death()
if(can_die())
write_memory(TRUE)
return ..()
/mob/living/simple_animal/pet/cat/Runtime/proc/read_memory()
/mob/living/simple_animal/pet/cat/runtime/proc/read_memory()
var/savefile/S = new /savefile("data/npc_saves/Runtime.sav")
S["family"] >> family
@@ -78,7 +78,7 @@
family = list()
log_debug("Persistent data for [src] loaded (family: [family ? list2params(family) : "None"])")
/mob/living/simple_animal/pet/cat/Runtime/proc/write_memory(dead)
/mob/living/simple_animal/pet/cat/runtime/proc/write_memory(dead)
var/savefile/S = new /savefile("data/npc_saves/Runtime.sav")
family = list()
if(!dead)
@@ -92,7 +92,7 @@
S["family"] << family
log_debug("Persistent data for [src] saved (family: [family ? list2params(family) : "None"])")
/mob/living/simple_animal/pet/cat/Runtime/proc/deploy_the_cats()
/mob/living/simple_animal/pet/cat/runtime/proc/deploy_the_cats()
for(var/cat_type in family)
if(family[cat_type] > 0)
for(var/i in 1 to min(family[cat_type],100)) //Limits to about 500 cats, you wouldn't think this would be needed (BUT IT IS)
@@ -174,13 +174,13 @@
stop_automated_movement = TRUE
walk(src, movement_target, 0, 3)
/mob/living/simple_animal/pet/cat/Proc
/mob/living/simple_animal/pet/cat/proc_cat
name = "Proc"
gender = MALE
gold_core_spawnable = NO_SPAWN
unique_pet = TRUE
/mob/living/simple_animal/pet/cat/Var
/mob/living/simple_animal/pet/cat/var_cat
name = "Var"
desc = "Maintenance Cat!"
gold_core_spawnable = NO_SPAWN
@@ -197,7 +197,7 @@
pass_flags = PASSMOB
collar_type = "kitten"
/mob/living/simple_animal/pet/cat/Syndi
/mob/living/simple_animal/pet/cat/syndi
name = "SyndiCat"
desc = "It's a SyndiCat droid."
icon_state = "Syndicat"
@@ -213,11 +213,11 @@
melee_damage_lower = 5
melee_damage_upper = 15
/mob/living/simple_animal/pet/cat/Syndi/Initialize(mapload)
/mob/living/simple_animal/pet/cat/syndi/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_NOBREATH, SPECIES_TRAIT)
/mob/living/simple_animal/pet/cat/Syndi/npc_safe(mob/user)
/mob/living/simple_animal/pet/cat/syndi/npc_safe(mob/user)
if(GAMEMODE_IS_NUCLEAR)
return TRUE
return FALSE
@@ -46,7 +46,7 @@
return
//mining pet
/mob/living/simple_animal/cockroach/Brad
/mob/living/simple_animal/cockroach/brad
name = "Brad"
desc = "Lavaland's most resilient cockroach. Seeing this little guy walk through the wastes almost makes you wish for nuclear winter."
response_help = "carefully pets"
@@ -36,7 +36,7 @@
return TRUE
//COFFEE! SQUEEEEEEEEE!
/mob/living/simple_animal/crab/Coffee
/mob/living/simple_animal/crab/coffee
name = "Coffee"
real_name = "Coffee"
desc = "It's Coffee, the other pet!"
@@ -316,7 +316,7 @@
add_overlay(back_icon)
//IAN! SQUEEEEEEEEE~
/mob/living/simple_animal/pet/dog/corgi/Ian
/mob/living/simple_animal/pet/dog/corgi/ian
name = "Ian"
real_name = "Ian" //Intended to hold the name without altering it.
gender = MALE
@@ -332,19 +332,19 @@
var/record_age = 1
var/saved_head //path
/mob/living/simple_animal/pet/dog/corgi/Ian/Initialize(mapload)
/mob/living/simple_animal/pet/dog/corgi/ian/Initialize(mapload)
. = ..()
SSpersistent_data.register(src)
/mob/living/simple_animal/pet/dog/corgi/Ian/Destroy()
/mob/living/simple_animal/pet/dog/corgi/ian/Destroy()
SSpersistent_data.registered_atoms -= src
return ..()
/mob/living/simple_animal/pet/dog/corgi/Ian/death()
/mob/living/simple_animal/pet/dog/corgi/ian/death()
write_memory(TRUE)
..()
/mob/living/simple_animal/pet/dog/corgi/Ian/persistent_load()
/mob/living/simple_animal/pet/dog/corgi/ian/persistent_load()
read_memory()
if(age == 0)
var/turf/target = get_turf(loc)
@@ -365,12 +365,12 @@
desc = "At a ripe old age of [record_age], Ian's not as spry as he used to be, but he'll always be the HoP's beloved corgi." //RIP
turns_per_move = 20
/mob/living/simple_animal/pet/dog/corgi/Ian/persistent_save()
/mob/living/simple_animal/pet/dog/corgi/ian/persistent_save()
if(SEND_SIGNAL(src, COMSIG_LIVING_WRITE_MEMORY) & COMPONENT_DONT_WRITE_MEMORY)
return FALSE
write_memory(FALSE)
/mob/living/simple_animal/pet/dog/corgi/Ian/proc/read_memory()
/mob/living/simple_animal/pet/dog/corgi/ian/proc/read_memory()
if(fexists("data/npc_saves/Ian.sav")) //legacy compatability to convert old format to new
var/savefile/S = new /savefile("data/npc_saves/Ian.sav")
S["age"] >> age
@@ -393,7 +393,7 @@
place_on_head(new saved_head)
log_debug("Persistent data for [src] loaded (age: [age] | record_age: [record_age] | saved_head: [saved_head ? saved_head : "None"])")
/mob/living/simple_animal/pet/dog/corgi/Ian/proc/write_memory(dead)
/mob/living/simple_animal/pet/dog/corgi/ian/proc/write_memory(dead)
var/json_file = file("data/npc_saves/Ian.json")
var/list/file_data = list()
if(!dead)
@@ -414,7 +414,7 @@
WRITE_FILE(json_file, json_encode(file_data))
log_debug("Persistent data for [src] saved (age: [age] | record_age: [record_age] | saved_head: [saved_head ? saved_head : "None"])")
/mob/living/simple_animal/pet/dog/corgi/Ian/handle_automated_movement()
/mob/living/simple_animal/pet/dog/corgi/ian/handle_automated_movement()
. = ..()
//Feeding, chasing food, FOOOOODDDD
if(IS_HORIZONTAL(src) || buckled)
@@ -450,7 +450,7 @@
if(prob(1))
chasetail()
/mob/living/simple_animal/pet/dog/corgi/Ian/proc/move_to_target()
/mob/living/simple_animal/pet/dog/corgi/ian/proc/move_to_target()
stop_automated_movement = TRUE
step_to(src, movement_target, 1)
sleep(3)
@@ -470,7 +470,7 @@
else if(prob(30) && ishuman(movement_target.loc)) // mean hooman has stolen it
custom_emote(EMOTE_VISIBLE, "stares at [movement_target.loc]'s [movement_target] with a sad puppy-face.")
/mob/living/simple_animal/pet/dog/corgi/Ian/narsie_act()
/mob/living/simple_animal/pet/dog/corgi/ian/narsie_act()
playsound(src, 'sound/misc/demon_dies.ogg', 75, TRUE)
var/mob/living/simple_animal/pet/dog/corgi/narsie/N = new(loc)
N.setDir(dir)
@@ -538,7 +538,7 @@
return 1 //Void puppies can navigate space.
//LISA! SQUEEEEEEEEE~
/mob/living/simple_animal/pet/dog/corgi/Lisa
/mob/living/simple_animal/pet/dog/corgi/lisa
name = "Lisa"
real_name = "Lisa"
gender = FEMALE
@@ -554,11 +554,11 @@
strippable_inventory_slots = list(/datum/strippable_item/corgi_back, /datum/strippable_item/pet_collar) //Lisa already has a cute bow!
var/turns_since_scan = 0
/mob/living/simple_animal/pet/dog/corgi/Lisa/Life()
/mob/living/simple_animal/pet/dog/corgi/lisa/Life()
..()
make_babies()
/mob/living/simple_animal/pet/dog/corgi/Lisa/handle_automated_movement()
/mob/living/simple_animal/pet/dog/corgi/lisa/handle_automated_movement()
. = ..()
if(!IS_HORIZONTAL(src) && !buckled)
if(prob(1))
@@ -19,14 +19,14 @@
response_harm = "kicks"
//Captain fox
/mob/living/simple_animal/pet/dog/fox/Renault
/mob/living/simple_animal/pet/dog/fox/renault
name = "Renault"
desc = "Renault, the Captain's trustworthy fox. I wonder what it says?"
unique_pet = TRUE
gold_core_spawnable = NO_SPAWN
//Syndi fox
/mob/living/simple_animal/pet/dog/fox/Syndifox
/mob/living/simple_animal/pet/dog/fox/syndifox
name = "Syndifox"
desc = "Syndifox, the Syndicate's most respected mascot. I wonder what it says?"
icon_state = "Syndifox"
@@ -41,11 +41,11 @@
melee_damage_lower = 10
melee_damage_upper = 20
/mob/living/simple_animal/pet/dog/fox/Syndifox/Initialize(mapload)
/mob/living/simple_animal/pet/dog/fox/syndifox/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_NOBREATH, SPECIES_TRAIT)
/mob/living/simple_animal/pet/dog/fox/Syndifox/npc_safe(mob/user)
/mob/living/simple_animal/pet/dog/fox/syndifox/npc_safe(mob/user)
if(GAMEMODE_IS_NUCLEAR)
return TRUE
return FALSE
@@ -144,7 +144,7 @@
icon_state = "mouse_brown"
//TOM IS ALIVE! SQUEEEEEEEE~K :)
/mob/living/simple_animal/mouse/brown/Tom
/mob/living/simple_animal/mouse/brown/tom
name = "Tom"
real_name = "Tom"
response_help = "pets"
@@ -153,23 +153,23 @@
unique_pet = TRUE
gold_core_spawnable = NO_SPAWN
/mob/living/simple_animal/mouse/brown/Tom/update_desc()
/mob/living/simple_animal/mouse/brown/tom/update_desc()
. = ..()
desc = "Jerry the cat is not amused."
/mob/living/simple_animal/mouse/brown/Tom/Initialize(mapload)
/mob/living/simple_animal/mouse/brown/tom/Initialize(mapload)
. = ..()
// Tom fears no cable.
ADD_TRAIT(src, TRAIT_SHOCKIMMUNE, SPECIES_TRAIT)
/mob/living/simple_animal/mouse/white/Brain
/mob/living/simple_animal/mouse/white/brain
name = "Brain"
real_name = "Brain"
response_harm = "splats"
unique_pet = TRUE
gold_core_spawnable = NO_SPAWN
/mob/living/simple_animal/mouse/white/Brain/update_desc()
/mob/living/simple_animal/mouse/white/brain/update_desc()
. = ..()
desc = "Gee Virology, what are we going to do tonight? The same thing we do every night, try to take over the world!"
@@ -62,7 +62,7 @@
butcher_results = list(/obj/item/food/monstermeat/bearmeat = 5, /obj/item/clothing/head/bearpelt/polar = 1)
//SPACE BEARS! SQUEEEEEEEE~ OW! FUCK! IT BIT MY HAND OFF!!
/mob/living/simple_animal/hostile/bear/Hudson
/mob/living/simple_animal/hostile/bear/hudson
name = "Hudson"
desc = "Feared outlaw, this guy is one bad news bear." //I'm sorry...
icon_state = "combat_bear"
@@ -70,7 +70,7 @@
icon_dead = "combat_bear_dead"
butcher_results = list(/obj/item/food/monstermeat/bearmeat = 5, /obj/item/clothing/head/bearpelt/brown = 1)
/mob/living/simple_animal/hostile/bear/Hudson/Initialize(mapload)
/mob/living/simple_animal/hostile/bear/hudson/Initialize(mapload)
. = ..()
var/unbearable_pun = pick("He's unbearably cute.", "It looks like he is a bearer of bad news.", "Sadly, he is bearly able to comprehend puns.")
desc = "That's Hudson. " + unbearable_pun // I am not sorry for this.
@@ -649,7 +649,7 @@
/*
* Sub-types
*/
/mob/living/simple_animal/parrot/Poly
/mob/living/simple_animal/parrot/poly
name = "Poly"
desc = "Poly the Parrot. An expert on quantum cracker theory."
clean_speak = list(
@@ -679,13 +679,13 @@
gold_core_spawnable = NO_SPAWN
available_channels = list(":e")
/mob/living/simple_animal/parrot/Poly/Initialize(mapload)
/mob/living/simple_animal/parrot/poly/Initialize(mapload)
. = ..()
ears = new /obj/item/radio/headset/headset_eng(src)
clean_speak += "Danger! Crystal hyperstructure integrity faltering! Integrity: [rand(75, 99)]%" // Has to be here cause of the `rand()`.
/mob/living/simple_animal/parrot/Poly/npc_safe(mob/user) // Hello yes, I have universal speak and I follow people around and shout out antags
/mob/living/simple_animal/parrot/poly/npc_safe(mob/user) // Hello yes, I have universal speak and I follow people around and shout out antags
return FALSE
/mob/living/simple_animal/parrot/handle_message_mode(message_mode, list/message_pieces, verb, used_radios)
@@ -38,11 +38,11 @@
// Sprites by Travelling Merchant
/datum/sprite_accessory/head_accessory/kidan/kidan_Mantie_Long
/datum/sprite_accessory/head_accessory/kidan/kidan_mantie_long
name = "Mantie Long"
icon_state = "Mantie_Long"
/datum/sprite_accessory/head_accessory/kidan/kidan_Mantie_Curled
/datum/sprite_accessory/head_accessory/kidan/kidan_mantie_curled
name = "Mantie Curled"
icon_state = "Mantie_Curled"