diff --git a/code/ZAS/Airflow.dm b/code/ZAS/Airflow.dm index 394fe72478..59837bbe5f 100644 --- a/code/ZAS/Airflow.dm +++ b/code/ZAS/Airflow.dm @@ -9,13 +9,13 @@ mob/proc/airflow_stun() if(last_airflow_stun > world.time - vsc.airflow_stun_cooldown) return 0 if(!(status_flags & CANSTUN) && !(status_flags & CANWEAKEN)) - src << "You stay upright as the air rushes past you." + to_chat(src, "You stay upright as the air rushes past you.") return 0 if(buckled) - src << "Air suddenly rushes past you!" + to_chat(src, "Air suddenly rushes past you!") return 0 if(!lying) - src << "The sudden rush of air knocks you over!" + to_chat(src, "The sudden rush of air knocks you over!") Weaken(5) last_airflow_stun = world.time diff --git a/code/ZAS/Diagnostic.dm b/code/ZAS/Diagnostic.dm index 29ab678ef1..41fcdcad85 100644 --- a/code/ZAS/Diagnostic.dm +++ b/code/ZAS/Diagnostic.dm @@ -10,10 +10,10 @@ client/proc/ZoneTick() var/result = air_master.Tick() if(result) - src << "Successfully Processed." + to_chat(src, "Successfully Processed.") else - src << "Failed to process! ([air_master.tick_progress])" + to_chat(src, "Failed to process! ([air_master.tick_progress])") */ client/proc/Zone_Info(turf/T as null|turf) diff --git a/code/ZAS/Phoron.dm b/code/ZAS/Phoron.dm index 6ffec0be99..57a7d21036 100644 --- a/code/ZAS/Phoron.dm +++ b/code/ZAS/Phoron.dm @@ -102,7 +102,8 @@ obj/var/contaminated = 0 if(vsc.plc.SKIN_BURNS && (species.breath_type != "phoron")) if(!pl_head_protected() || !pl_suit_protected()) burn_skin(0.75) - if(prob(20)) src << "Your skin burns!" + if(prob(20)) + to_chat(src, "Your skin burns!") updatehealth() //Burn eyes if exposed. @@ -133,17 +134,18 @@ obj/var/contaminated = 0 if(vsc.plc.GENETIC_CORRUPTION && (species.breath_type != "phoron")) if(rand(1,10000) < vsc.plc.GENETIC_CORRUPTION) randmutb(src) - src << "High levels of toxins cause you to spontaneously mutate!" + to_chat(src, "High levels of toxins cause you to spontaneously mutate!") domutcheck(src,null) /mob/living/carbon/human/proc/burn_eyes() var/obj/item/organ/internal/eyes/E = internal_organs_by_name[O_EYES] if(E) - if(prob(20)) src << "Your eyes burn!" + if(prob(20)) + to_chat(src, "Your eyes burn!") E.damage += 2.5 eye_blurry = min(eye_blurry+1.5,50) if (prob(max(0,E.damage - 15) + 1) &&!eye_blind) - src << "You are blinded!" + to_chat(src, "You are blinded!") Blind(20) /mob/living/carbon/human/proc/pl_head_protected() diff --git a/code/_helpers/files.dm b/code/_helpers/files.dm index 4a7b9fa646..dd8c5dd690 100644 --- a/code/_helpers/files.dm +++ b/code/_helpers/files.dm @@ -39,7 +39,7 @@ var/extension = copytext(path,-4,0) if( !fexists(path) || !(extension in valid_extensions) ) - src << "Error: browse_files(): File not found/Invalid file([path])." + to_chat(src, "Error: browse_files(): File not found/Invalid file([path]).") return return path @@ -53,7 +53,7 @@ /client/proc/file_spam_check() var/time_to_wait = fileaccess_timer - world.time if(time_to_wait > 0) - src << "Error: file_spam_check(): Spam. Please wait [round(time_to_wait/10)] seconds." + to_chat(src, "Error: file_spam_check(): Spam. Please wait [round(time_to_wait/10)] seconds.") return 1 fileaccess_timer = world.time + FTPDELAY return 0 diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm index 9104bc71d9..d85c33a4e5 100644 --- a/code/_helpers/unsorted.dm +++ b/code/_helpers/unsorted.dm @@ -358,7 +358,7 @@ Turf and target are seperate in case you want to teleport some distance from a t break if(newname) break //That's a suitable name! - src << "Sorry, that [role]-name wasn't appropriate, please try another. It's possibly too long/short, has bad characters or is already taken." + to_chat(src, "Sorry, that [role]-name wasn't appropriate, please try another. It's possibly too long/short, has bad characters or is already taken.") if(!newname) //we'll stick with the oldname then return diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 6cde264566..299ccf6ec2 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -183,7 +183,7 @@ /mob/living/UnarmedAttack(var/atom/A, var/proximity_flag) if(!ticker) - src << "You cannot attack people before the game has started." + to_chat(src, "You cannot attack people before the game has started.") return 0 if(stat) @@ -316,7 +316,7 @@ nutrition = max(nutrition - rand(1,5),0) handle_regular_hud_updates() else - src << "You're out of energy! You need food!" + to_chat(src, "You're out of energy! You need food!") // Simple helper to face what you clicked on, in case it should be needed in more than one place /mob/proc/face_atom(var/atom/A) diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm index 1dcc2bc955..8d107e8f64 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -45,7 +45,7 @@ if(is_component_functioning("camera")) aiCamera.captureimage(A, usr) else - src << "Your camera isn't functional." + to_chat(src, "Your camera isn't functional.") return /* diff --git a/code/_onclick/hud/ability_screen_objects.dm b/code/_onclick/hud/ability_screen_objects.dm index d29ef9dd96..fc06f8e0cc 100644 --- a/code/_onclick/hud/ability_screen_objects.dm +++ b/code/_onclick/hud/ability_screen_objects.dm @@ -282,7 +282,7 @@ if(!mob) return // Paranoid. if(isnull(slot) || !isnum(slot)) - src << ".activate_ability requires a number as input, corrisponding to the slot you wish to use." + to_chat(src, ".activate_ability requires a number as input, corrisponding to the slot you wish to use.") return // Bad input. if(!mob.ability_master) return // No abilities. diff --git a/code/_onclick/observer.dm b/code/_onclick/observer.dm index f34a68a742..d5197cb30f 100644 --- a/code/_onclick/observer.dm +++ b/code/_onclick/observer.dm @@ -6,9 +6,9 @@ if(!client) return client.inquisitive_ghost = !client.inquisitive_ghost if(client.inquisitive_ghost) - src << "You will now examine everything you click on." + to_chat(src, "You will now examine everything you click on.") else - src << "You will no longer examine things you click on." + to_chat(src, "You will no longer examine things you click on.") /mob/observer/dead/DblClickOn(var/atom/A, var/params) if(client.buildmode) diff --git a/code/_onclick/rig.dm b/code/_onclick/rig.dm index 5f2561c25c..ed7a1c7e2f 100644 --- a/code/_onclick/rig.dm +++ b/code/_onclick/rig.dm @@ -18,15 +18,15 @@ switch(hardsuit_click_mode) if(MIDDLE_CLICK) - src << "Hardsuit activation mode set to middle-click." + to_chat(src, "Hardsuit activation mode set to middle-click.") if(ALT_CLICK) - src << "Hardsuit activation mode set to alt-click." + to_chat(src, "Hardsuit activation mode set to alt-click.") if(CTRL_CLICK) - src << "Hardsuit activation mode set to control-click." + to_chat(src, "Hardsuit activation mode set to control-click.") else // should never get here, but just in case: soft_assert(0, "Bad hardsuit click mode: [hardsuit_click_mode] - expected 0 to [MAX_HARDSUIT_CLICK_MODE]") - src << "Somehow you bugged the system. Setting your hardsuit mode to middle-click." + to_chat(src, "Somehow you bugged the system. Setting your hardsuit mode to middle-click.") hardsuit_click_mode = MIDDLE_CLICK /mob/living/MiddleClickOn(atom/A) diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm index aef0fd0ac2..4dad60db89 100644 --- a/code/datums/helper_datums/getrev.dm +++ b/code/datums/helper_datums/getrev.dm @@ -35,10 +35,10 @@ client/verb/showrevinfo() set desc = "Check the current server code revision" if(revdata.revision) - src << "Server revision: [revdata.branch] - [revdata.date]" + to_chat(src, "Server revision: [revdata.branch] - [revdata.date]") if(config.githuburl) - src << "[revdata.revision]" + to_chat(src, "[revdata.revision]") else src << revdata.revision else - src << "Revision unknown" + to_chat(src, "Revision unknown") diff --git a/code/game/antagonist/antagonist_factions.dm b/code/game/antagonist/antagonist_factions.dm index 83c9957be2..a072196c1b 100644 --- a/code/game/antagonist/antagonist_factions.dm +++ b/code/game/antagonist/antagonist_factions.dm @@ -14,33 +14,33 @@ return if(faction.is_antagonist(player)) - src << "\The [player.current] already serves the [faction.faction_descriptor]." + to_chat(src, "\The [player.current] already serves the [faction.faction_descriptor].") return if(player_is_antag(player)) - src << "\The [player.current]'s loyalties seem to be elsewhere..." + to_chat(src, "\The [player.current]'s loyalties seem to be elsewhere...") return if(!faction.can_become_antag(player)) - src << "\The [player.current] cannot be \a [faction.faction_role_text]!" + to_chat(src, "\The [player.current] cannot be \a [faction.faction_role_text]!") return if(world.time < player.rev_cooldown) - src << "You must wait five seconds between attempts." + to_chat(src, "You must wait five seconds between attempts.") return - src << "You are attempting to convert \the [player.current]..." + to_chat(src, "You are attempting to convert \the [player.current]...") log_admin("[src]([src.ckey]) attempted to convert [player.current].") message_admins("[src]([src.ckey]) attempted to convert [player.current].") player.rev_cooldown = world.time+100 var/choice = alert(player.current,"Asked by [src]: Do you want to join the [faction.faction_descriptor]?","Join the [faction.faction_descriptor]?","No!","Yes!") if(choice == "Yes!" && faction.add_antagonist_mind(player, 0, faction.faction_role_text, faction.faction_welcome)) - src << "\The [player.current] joins the [faction.faction_descriptor]!" + to_chat(src, "\The [player.current] joins the [faction.faction_descriptor]!") return if(choice == "No!") player << "You reject this traitorous cause!" - src << "\The [player.current] does not support the [faction.faction_descriptor]!" + to_chat(src, "\The [player.current] does not support the [faction.faction_descriptor]!") /mob/living/proc/convert_to_loyalist(mob/M as mob in oview(src)) set name = "Convert Recidivist" diff --git a/code/game/antagonist/antagonist_objectives.dm b/code/game/antagonist/antagonist_objectives.dm index 5dc6c5f327..fba6467983 100644 --- a/code/game/antagonist/antagonist_objectives.dm +++ b/code/game/antagonist/antagonist_objectives.dm @@ -38,8 +38,8 @@ if(!mind) return if(!is_special_character(mind)) - src << "While you may perhaps have goals, this verb's meant to only be visible \ - to antagonists. Please make a bug report!" + to_chat(src, "While you may perhaps have goals, this verb's meant to only be visible \ + to antagonists. Please make a bug report!") return var/new_ambitions = input(src, "Write a short sentence of what your character hopes to accomplish \ today as an antagonist. Remember that this is purely optional. It will be shown at the end of the \ @@ -49,7 +49,7 @@ new_ambitions = sanitize(new_ambitions) mind.ambitions = new_ambitions if(new_ambitions) - src << "You've set your goal to be '[new_ambitions]'." + to_chat(src, "You've set your goal to be '[new_ambitions]'.") else - src << "You leave your ambitions behind." + to_chat(src, "You leave your ambitions behind.") log_and_message_admins("has set their ambitions to now be: [new_ambitions].") diff --git a/code/game/antagonist/outsider/wizard.dm b/code/game/antagonist/outsider/wizard.dm index feaf8857ba..6f2a7fe2e3 100644 --- a/code/game/antagonist/outsider/wizard.dm +++ b/code/game/antagonist/outsider/wizard.dm @@ -115,18 +115,18 @@ obj/item/clothing /*Checks if the wizard is wearing the proper attire. Made a proc so this is not repeated 14 (or more) times.*/ /mob/proc/wearing_wiz_garb() - src << "Silly creature, you're not a human. Only humans can cast this spell." + to_chat(src, "Silly creature, you're not a human. Only humans can cast this spell.") return 0 // Humans can wear clothes. /mob/living/carbon/human/wearing_wiz_garb() if(!is_wiz_garb(src.wear_suit)) - src << "I don't feel strong enough without my robe." + to_chat(src, "I don't feel strong enough without my robe.") return 0 if(!is_wiz_garb(src.shoes)) - src << "I don't feel strong enough without my sandals." + to_chat(src, "I don't feel strong enough without my sandals.") return 0 if(!is_wiz_garb(src.head)) - src << "I don't feel strong enough without my hat." + to_chat(src, "I don't feel strong enough without my hat.") return 0 return 1 diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm index 627b4e8b14..373aefa0d8 100644 --- a/code/game/gamemodes/changeling/changeling_powers.dm +++ b/code/game/gamemodes/changeling/changeling_powers.dm @@ -129,19 +129,19 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E return if(src.stat > max_stat) - src << "We are incapacitated." + to_chat(src, "We are incapacitated.") return if(changeling.absorbed_dna.len < required_dna) - src << "We require at least [required_dna] samples of compatible DNA." + to_chat(src, "We require at least [required_dna] samples of compatible DNA.") return if(changeling.chem_charges < required_chems) - src << "We require at least [required_chems] units of chemicals to do that!" + to_chat(src, "We require at least [required_chems] units of chemicals to do that!") return if(changeling.geneticdamage > max_genetic_damage) - src << "Our genomes are still reassembling. We need time to recover first." + to_chat(src, "Our genomes are still reassembling. We need time to recover first.") return return changeling @@ -204,11 +204,11 @@ turf/proc/AdjacentTurfsRangedSting() if(M.loc == src.loc) return 1 //target and source are in the same thing if(!isturf(src.loc) || !isturf(M.loc)) - src << "We cannot reach \the [M] with a sting!" + to_chat(src, "We cannot reach \the [M] with a sting!") return 0 //One is inside, the other is outside something. // Maximum queued turfs set to 25; I don't *think* anything raises sting_range above 2, but if it does the 25 may need raising if(!AStar(src.loc, M.loc, /turf/proc/AdjacentTurfsRangedSting, /turf/proc/Distance, max_nodes=25, max_node_depth=sting_range)) //If we can't find a path, fail - src << "We cannot find a path to sting \the [M] by!" + to_chat(src, "We cannot find a path to sting \the [M] by!") return 0 return 1 @@ -225,7 +225,7 @@ turf/proc/AdjacentTurfsRangedSting() if(!T) return if(T.isSynthetic()) - src << "We are unable to pierce the outer shell of [T]." + to_chat(src, "We are unable to pierce the outer shell of [T].") return if(!(T in view(changeling.sting_range))) return if(!sting_can_reach(T, changeling.sting_range)) return @@ -236,7 +236,7 @@ turf/proc/AdjacentTurfsRangedSting() src.verbs -= verb_path spawn(10) src.verbs += verb_path - src << "We stealthily sting [T]." + to_chat(src, "We stealthily sting [T].") if(!T.mind || !T.mind.changeling) return T //T will be affected by the sting T << "You feel a tiny prick." return diff --git a/code/game/gamemodes/changeling/generic_equip_procs.dm b/code/game/gamemodes/changeling/generic_equip_procs.dm index ef1ab650a1..f2d7b45831 100644 --- a/code/game/gamemodes/changeling/generic_equip_procs.dm +++ b/code/game/gamemodes/changeling/generic_equip_procs.dm @@ -32,7 +32,7 @@ return 1 if(M.head || M.wear_suit) //Make sure our slots aren't full - src << "We require nothing to be on our head, and we cannot wear any external suits, or shoes." + to_chat(src, "We require nothing to be on our head, and we cannot wear any external suits, or shoes.") return 0 var/obj/item/clothing/suit/A = new armor_type(src) @@ -242,7 +242,7 @@ var/mob/living/carbon/human/M = src if(M.hands_are_full()) //Make sure our hands aren't full. - src << "Our hands are full. Drop something first." + to_chat(src, "Our hands are full. Drop something first.") return 0 var/obj/item/weapon/W = new weapon_type(src) diff --git a/code/game/gamemodes/changeling/powers/absorb.dm b/code/game/gamemodes/changeling/powers/absorb.dm index 45b230b00c..02285a0c7e 100644 --- a/code/game/gamemodes/changeling/powers/absorb.dm +++ b/code/game/gamemodes/changeling/powers/absorb.dm @@ -16,41 +16,41 @@ var/obj/item/weapon/grab/G = src.get_active_hand() if(!istype(G)) - src << "We must be grabbing a creature in our active hand to absorb them." + to_chat(src, "We must be grabbing a creature in our active hand to absorb them.") return var/mob/living/carbon/human/T = G.affecting if(!istype(T) || T.isSynthetic()) - src << "\The [T] is not compatible with our biology." + to_chat(src, "\The [T] is not compatible with our biology.") return if(T.species.flags & NO_SCAN) - src << "We do not know how to parse this creature's DNA!" + to_chat(src, "We do not know how to parse this creature's DNA!") return if(HUSK in T.mutations) //Lings can always absorb other lings, unless someone beat them to it first. if(!T.mind.changeling || T.mind.changeling && T.mind.changeling.geneticpoints < 0) - src << "This creature's DNA is ruined beyond useability!" + to_chat(src, "This creature's DNA is ruined beyond useability!") return if(G.state != GRAB_KILL) - src << "We must have a tighter grip to absorb this creature." + to_chat(src, "We must have a tighter grip to absorb this creature.") return if(changeling.isabsorbing) - src << "We are already absorbing!" + to_chat(src, "We are already absorbing!") return changeling.isabsorbing = 1 for(var/stage = 1, stage<=3, stage++) switch(stage) if(1) - src << "This creature is compatible. We must hold still..." + to_chat(src, "This creature is compatible. We must hold still...") if(2) - src << "We extend a proboscis." + to_chat(src, "We extend a proboscis.") src.visible_message("[src] extends a proboscis!") if(3) - src << "We stab [T] with the proboscis." + to_chat(src, "We stab [T] with the proboscis.") src.visible_message("[src] stabs [T] with the proboscis!") T << "You feel a sharp stabbing pain!" add_attack_logs(src,T,"Absorbed (changeling)") @@ -60,11 +60,11 @@ feedback_add_details("changeling_powers","A[stage]") if(!do_mob(src, T, 150) || G.state != GRAB_KILL) - src << "Our absorption of [T] has been interrupted!" + to_chat(src, "Our absorption of [T] has been interrupted!") changeling.isabsorbing = 0 return - src << "We have absorbed [T]!" + to_chat(src, "We have absorbed [T]!") src.visible_message("[src] sucks the fluids from [T]!") T << "You have been absorbed by the changeling!" if(src.nutrition < 400) @@ -76,7 +76,7 @@ if(changeling.readapts > changeling.max_readapts) changeling.readapts = changeling.max_readapts - src << "We can now re-adapt, reverting our evolution so that we may start anew, if needed." + to_chat(src, "We can now re-adapt, reverting our evolution so that we may start anew, if needed.") var/datum/absorbed_dna/newDNA = new(T.real_name, T.dna, T.species.name, T.languages, T.identifying_gender, T.flavor_texts, T.modifiers) absorbDNA(newDNA) @@ -98,7 +98,7 @@ changeling.geneticpoints += 4 changeling.max_geneticpoints += 4 - src << "We absorbed another changeling, and we grow stronger. Our genomes increase." + to_chat(src, "We absorbed another changeling, and we grow stronger. Our genomes increase.") T.mind.changeling.chem_charges = 0 T.mind.changeling.geneticpoints = -1 diff --git a/code/game/gamemodes/changeling/powers/armblade.dm b/code/game/gamemodes/changeling/powers/armblade.dm index 947f06cee4..c05ad96e81 100644 --- a/code/game/gamemodes/changeling/powers/armblade.dm +++ b/code/game/gamemodes/changeling/powers/armblade.dm @@ -14,7 +14,7 @@ if(src.mind.changeling.recursive_enhancement) if(changeling_generic_weapon(/obj/item/weapon/melee/changeling/arm_blade/greater)) - src << "We prepare an extra sharp blade." + to_chat(src, "We prepare an extra sharp blade.") return 1 else @@ -39,7 +39,7 @@ if(src.mind.changeling.recursive_enhancement) if(changeling_generic_weapon(/obj/item/weapon/melee/changeling/claw/greater, 1, 15)) - src << "We prepare an extra sharp claw." + to_chat(src, "We prepare an extra sharp claw.") return 1 else diff --git a/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm b/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm index 3f3c1bd7ad..192f8b3874 100644 --- a/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm +++ b/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm @@ -25,7 +25,7 @@ if(held_item == null) if(src.mind.changeling.recursive_enhancement) if(changeling_generic_weapon(/obj/item/weapon/electric_hand/efficent,0)) - src << "We will shock others more efficently." + to_chat(src, "We will shock others more efficently.") return 1 else if(changeling_generic_weapon(/obj/item/weapon/electric_hand,0)) //Chemical cost is handled in the equip proc. @@ -54,7 +54,7 @@ "Our hand channels raw electricity into [G.affecting].", "You hear sparks!") else - src << "Our gloves block us from shocking \the [G.affecting]." + to_chat(src, "Our gloves block us from shocking \the [G.affecting].") src.mind.changeling.chem_charges -= 10 return 1 @@ -92,7 +92,7 @@ sleep(1 SECOND) success = 1 if(success == 0) //If we couldn't do anything with the ability, don't deduct the chemicals. - src << "We are unable to affect \the [held_item]." + to_chat(src, "We are unable to affect \the [held_item].") else src.mind.changeling.chem_charges -= 10 return success @@ -143,7 +143,7 @@ var/mob/living/carbon/C = target if(user.mind.changeling.chem_charges < shock_cost) - src << "We require more chemicals to electrocute [C]!" + to_chat(src, "We require more chemicals to electrocute [C]!") return 0 C.electrocute_act(electrocute_amount * siemens,src,1.0,BP_TORSO) @@ -156,7 +156,7 @@ "Our hand channels raw electricity into [C]", "You hear sparks!") else - src << "Our gloves block us from shocking \the [C]." + to_chat(src, "Our gloves block us from shocking \the [C].") //qdel(src) //Since we're no longer a one hit stun, we need to stick around. user.mind.changeling.chem_charges -= shock_cost return 1 @@ -165,7 +165,7 @@ var/mob/living/silicon/S = target if(user.mind.changeling.chem_charges < 10) - src << "We require more chemicals to electrocute [S]!" + to_chat(src, "We require more chemicals to electrocute [S]!") return 0 S.electrocute_act(60,src,0.75) //If only they had surge protectors. @@ -205,7 +205,7 @@ success = 1 break if(success == 0) - src << "We are unable to affect \the [target]." + to_chat(src, "We are unable to affect \the [target].") else qdel(src) return 1 \ No newline at end of file diff --git a/code/game/gamemodes/changeling/powers/blind_sting.dm b/code/game/gamemodes/changeling/powers/blind_sting.dm index 347881df9b..e2fede649e 100644 --- a/code/game/gamemodes/changeling/powers/blind_sting.dm +++ b/code/game/gamemodes/changeling/powers/blind_sting.dm @@ -21,7 +21,7 @@ var/duration = 300 if(src.mind.changeling.recursive_enhancement) duration = duration + 150 - src << "They will be deprived of sight for longer." + to_chat(src, "They will be deprived of sight for longer.") spawn(duration) T.disabilities &= ~NEARSIGHTED T.Blind(10) diff --git a/code/game/gamemodes/changeling/powers/cryo_sting.dm b/code/game/gamemodes/changeling/powers/cryo_sting.dm index bc68428d89..e1a2b10cff 100644 --- a/code/game/gamemodes/changeling/powers/cryo_sting.dm +++ b/code/game/gamemodes/changeling/powers/cryo_sting.dm @@ -20,12 +20,12 @@ var/inject_amount = 10 if(src.mind.changeling.recursive_enhancement) inject_amount = inject_amount * 1.5 - src << "We inject extra chemicals." + to_chat(src, "We inject extra chemicals.") if(T.reagents) T.reagents.add_reagent("cryotoxin", inject_amount) feedback_add_details("changeling_powers","CS") src.verbs -= /mob/proc/changeling_cryo_sting spawn(3 MINUTES) - src << "Our cryogenic string is ready to be used once more." + to_chat(src, "Our cryogenic string is ready to be used once more.") src.verbs |= /mob/proc/changeling_cryo_sting return 1 \ No newline at end of file diff --git a/code/game/gamemodes/changeling/powers/deaf_sting.dm b/code/game/gamemodes/changeling/powers/deaf_sting.dm index a94ad1744a..92e7a80a30 100644 --- a/code/game/gamemodes/changeling/powers/deaf_sting.dm +++ b/code/game/gamemodes/changeling/powers/deaf_sting.dm @@ -19,7 +19,7 @@ var/duration = 300 if(src.mind.changeling.recursive_enhancement) duration = duration + 100 - src << "They will be unable to hear for a little longer." + to_chat(src, "They will be unable to hear for a little longer.") T << "Your ears pop and begin ringing loudly!" T.sdisabilities |= DEAF spawn(duration) T.sdisabilities &= ~DEAF diff --git a/code/game/gamemodes/changeling/powers/delayed_toxin_sting.dm b/code/game/gamemodes/changeling/powers/delayed_toxin_sting.dm index 7853a9603e..f50460a826 100644 --- a/code/game/gamemodes/changeling/powers/delayed_toxin_sting.dm +++ b/code/game/gamemodes/changeling/powers/delayed_toxin_sting.dm @@ -32,7 +32,7 @@ var/type_to_give = /datum/modifier/delayed_toxin_sting if(src.mind.changeling.recursive_enhancement) type_to_give = /datum/modifier/delayed_toxin_sting/strong - src << "Our toxin will be extra potent, when it strikes." + to_chat(src, "Our toxin will be extra potent, when it strikes.") T.add_modifier(type_to_give, 2 MINUTES) diff --git a/code/game/gamemodes/changeling/powers/enfeebling_string.dm b/code/game/gamemodes/changeling/powers/enfeebling_string.dm index 16303f7c58..81930a7ebc 100644 --- a/code/game/gamemodes/changeling/powers/enfeebling_string.dm +++ b/code/game/gamemodes/changeling/powers/enfeebling_string.dm @@ -40,7 +40,7 @@ var/type_to_give = /datum/modifier/enfeeble if(src.mind.changeling.recursive_enhancement) type_to_give = /datum/modifier/enfeeble/strong - src << "We make them extremely weak." + to_chat(src, "We make them extremely weak.") H.add_modifier(type_to_give, 2 MINUTES) feedback_add_details("changeling_powers","ES") return 1 \ No newline at end of file diff --git a/code/game/gamemodes/changeling/powers/extract_dna_sting.dm b/code/game/gamemodes/changeling/powers/extract_dna_sting.dm index 0c5d91d83b..35ce94daf0 100644 --- a/code/game/gamemodes/changeling/powers/extract_dna_sting.dm +++ b/code/game/gamemodes/changeling/powers/extract_dna_sting.dm @@ -24,15 +24,15 @@ return if(!istype(T) || T.isSynthetic()) - src << "\The [T] is not compatible with our biology." + to_chat(src, "\The [T] is not compatible with our biology.") return 0 if(T.species.flags & NO_SCAN) - src << "We do not know how to parse this creature's DNA!" + to_chat(src, "We do not know how to parse this creature's DNA!") return 0 if(HUSK in T.mutations) - src << "This creature's DNA is ruined beyond useability!" + to_chat(src, "This creature's DNA is ruined beyond useability!") return 0 add_attack_logs(src,T,"DNA extraction sting (changeling)") diff --git a/code/game/gamemodes/changeling/powers/fake_death.dm b/code/game/gamemodes/changeling/powers/fake_death.dm index cae98164a0..3581a8d06a 100644 --- a/code/game/gamemodes/changeling/powers/fake_death.dm +++ b/code/game/gamemodes/changeling/powers/fake_death.dm @@ -19,7 +19,7 @@ var/mob/living/carbon/C = src if(changeling.max_geneticpoints < 0) //Absorbed by another ling - src << "We have no genomes, not even our own, and cannot regenerate." + to_chat(src, "We have no genomes, not even our own, and cannot regenerate.") return 0 if(!C.stat && alert("Are we sure we wish to regenerate? We will appear to be dead while doing so.","Revival","Yes","No") == "No") @@ -44,7 +44,7 @@ spawn(rand(2 MINUTES, 4 MINUTES)) //The ling will now be able to choose when to revive src.verbs += /mob/proc/changeling_revive - src << "We are ready to rise. Use the Revive verb when you are ready." + to_chat(src, "We are ready to rise. Use the Revive verb when you are ready.") feedback_add_details("changeling_powers","FD") return 1 \ No newline at end of file diff --git a/code/game/gamemodes/changeling/powers/fleshmend.dm b/code/game/gamemodes/changeling/powers/fleshmend.dm index f7760e9ce6..ed60400517 100644 --- a/code/game/gamemodes/changeling/powers/fleshmend.dm +++ b/code/game/gamemodes/changeling/powers/fleshmend.dm @@ -22,10 +22,10 @@ var/heal_amount = 2 if(src.mind.changeling.recursive_enhancement) heal_amount = heal_amount * 2 - src << "We will heal much faster." + to_chat(src, "We will heal much faster.") spawn(0) - src << "We begin to heal ourselves." + to_chat(src, "We begin to heal ourselves.") for(var/i = 0, i<50,i++) if(C) C.adjustBruteLoss(-heal_amount) @@ -35,7 +35,7 @@ src.verbs -= /mob/proc/changeling_fleshmend spawn(50 SECONDS) - src << "Our regeneration has slowed to normal levels." + to_chat(src, "Our regeneration has slowed to normal levels.") src.verbs += /mob/proc/changeling_fleshmend feedback_add_details("changeling_powers","FM") return 1 \ No newline at end of file diff --git a/code/game/gamemodes/changeling/powers/hivemind.dm b/code/game/gamemodes/changeling/powers/hivemind.dm index c8e5f11604..105de8f4f5 100644 --- a/code/game/gamemodes/changeling/powers/hivemind.dm +++ b/code/game/gamemodes/changeling/powers/hivemind.dm @@ -34,7 +34,7 @@ var/list/datum/dna/hivemind_bank = list() names += DNA.name if(names.len <= 0) - src << "The airwaves already have all of our DNA." + to_chat(src, "The airwaves already have all of our DNA.") return var/S = input("Select a DNA to channel: ", "Channel DNA", null) as null|anything in names @@ -46,7 +46,7 @@ var/list/datum/dna/hivemind_bank = list() changeling.chem_charges -= 10 hivemind_bank += chosen_dna - src << "We channel the DNA of [S] to the air." + to_chat(src, "We channel the DNA of [S] to the air.") feedback_add_details("changeling_powers","HU") return 1 @@ -64,7 +64,7 @@ var/list/datum/dna/hivemind_bank = list() names[DNA.name] = DNA if(names.len <= 0) - src << "There's no new DNA to absorb from the air." + to_chat(src, "There's no new DNA to absorb from the air.") return var/S = input("Select a DNA absorb from the air: ", "Absorb DNA", null) as null|anything in names @@ -75,6 +75,6 @@ var/list/datum/dna/hivemind_bank = list() changeling.chem_charges -= 20 absorbDNA(chosen_dna) - src << "We absorb the DNA of [S] from the air." + to_chat(src, "We absorb the DNA of [S] from the air.") feedback_add_details("changeling_powers","HD") return 1 \ No newline at end of file diff --git a/code/game/gamemodes/changeling/powers/lesser_form.dm b/code/game/gamemodes/changeling/powers/lesser_form.dm index f2742490f6..6a5cf80730 100644 --- a/code/game/gamemodes/changeling/powers/lesser_form.dm +++ b/code/game/gamemodes/changeling/powers/lesser_form.dm @@ -13,13 +13,13 @@ if(!changeling) return if(src.has_brain_worms()) - src << "We cannot perform this ability at the present time!" + to_chat(src, "We cannot perform this ability at the present time!") return var/mob/living/carbon/human/H = src if(!istype(H) || !H.species.primitive_form) - src << "We cannot perform this ability in this form!" + to_chat(src, "We cannot perform this ability in this form!") return changeling.chem_charges-- diff --git a/code/game/gamemodes/changeling/powers/mimic_voice.dm b/code/game/gamemodes/changeling/powers/mimic_voice.dm index ae95317683..6b84c577ff 100644 --- a/code/game/gamemodes/changeling/powers/mimic_voice.dm +++ b/code/game/gamemodes/changeling/powers/mimic_voice.dm @@ -19,7 +19,7 @@ if(changeling.mimicing) changeling.mimicing = "" - src << "We return our vocal glands to their original location." + to_chat(src, "We return our vocal glands to their original location.") return var/mimic_voice = sanitize(input(usr, "Enter a name to mimic.", "Mimic Voice", null), MAX_NAME_LEN) @@ -28,8 +28,8 @@ changeling.mimicing = mimic_voice - src << "We shape our glands to take the voice of [mimic_voice], this will stop us from regenerating chemicals while active." - src << "Use this power again to return to our original voice and reproduce chemicals again." + to_chat(src, "We shape our glands to take the voice of [mimic_voice], this will stop us from regenerating chemicals while active.") + to_chat(src, "Use this power again to return to our original voice and reproduce chemicals again.") feedback_add_details("changeling_powers","MV") diff --git a/code/game/gamemodes/changeling/powers/panacea.dm b/code/game/gamemodes/changeling/powers/panacea.dm index 660434d185..30679b6ef5 100644 --- a/code/game/gamemodes/changeling/powers/panacea.dm +++ b/code/game/gamemodes/changeling/powers/panacea.dm @@ -18,7 +18,7 @@ return 0 src.mind.changeling.chem_charges -= 20 - src << "We cleanse impurities from our form." + to_chat(src, "We cleanse impurities from our form.") var/mob/living/carbon/human/C = src @@ -32,7 +32,7 @@ var/heal_amount = 5 if(src.mind.changeling.recursive_enhancement) heal_amount = heal_amount * 2 - src << "We will heal much faster." + to_chat(src, "We will heal much faster.") for(var/i = 0, i<10,i++) if(C) diff --git a/code/game/gamemodes/changeling/powers/rapid_regen.dm b/code/game/gamemodes/changeling/powers/rapid_regen.dm index 2eb628b8f6..6d1e9ee300 100644 --- a/code/game/gamemodes/changeling/powers/rapid_regen.dm +++ b/code/game/gamemodes/changeling/powers/rapid_regen.dm @@ -24,7 +24,7 @@ var/healing_amount = 40 if(src.mind.changeling.recursive_enhancement) healing_amount = C.maxHealth - src << "We completely heal ourselves." + to_chat(src, "We completely heal ourselves.") spawn(0) C.adjustBruteLoss(-healing_amount) C.adjustFireLoss(-healing_amount) diff --git a/code/game/gamemodes/changeling/powers/recursive_enhancement.dm b/code/game/gamemodes/changeling/powers/recursive_enhancement.dm index 9362333c57..77bab9bd99 100644 --- a/code/game/gamemodes/changeling/powers/recursive_enhancement.dm +++ b/code/game/gamemodes/changeling/powers/recursive_enhancement.dm @@ -15,10 +15,10 @@ if(!changeling) return 0 if(src.mind.changeling.recursive_enhancement) - src << "We will no longer empower our abilities." + to_chat(src, "We will no longer empower our abilities.") src.mind.changeling.recursive_enhancement = 0 return 0 - src << "We empower ourselves. Our abilities will now be extra potent." + to_chat(src, "We empower ourselves. Our abilities will now be extra potent.") src.mind.changeling.recursive_enhancement = 1 feedback_add_details("changeling_powers","RE") return 1 \ No newline at end of file diff --git a/code/game/gamemodes/changeling/powers/respec.dm b/code/game/gamemodes/changeling/powers/respec.dm index 1387e14999..a50a41269f 100644 --- a/code/game/gamemodes/changeling/powers/respec.dm +++ b/code/game/gamemodes/changeling/powers/respec.dm @@ -26,6 +26,6 @@ H.remove_modifiers_of_type(/datum/modifier/endoarmor) //Revert endoarmor too. src.make_changeling() //And give back our freebies. - src << "We have removed our evolutions from this form, and are now ready to readapt." + to_chat(src, "We have removed our evolutions from this form, and are now ready to readapt.") ling_datum.purchased_powers_history.Add("Re-adapt (Reset to [ling_datum.max_geneticpoints])") diff --git a/code/game/gamemodes/changeling/powers/revive.dm b/code/game/gamemodes/changeling/powers/revive.dm index 7fe4ab232b..0648fa8ab6 100644 --- a/code/game/gamemodes/changeling/powers/revive.dm +++ b/code/game/gamemodes/changeling/powers/revive.dm @@ -9,7 +9,7 @@ return 0 if(changeling.max_geneticpoints < 0) //Absorbed by another ling - src << "You have no genomes, not even your own, and cannot revive." + to_chat(src, "You have no genomes, not even your own, and cannot revive.") return 0 if(src.stat == DEAD) diff --git a/code/game/gamemodes/changeling/powers/self_respiration.dm b/code/game/gamemodes/changeling/powers/self_respiration.dm index 6d6228eba8..5108361669 100644 --- a/code/game/gamemodes/changeling/powers/self_respiration.dm +++ b/code/game/gamemodes/changeling/powers/self_respiration.dm @@ -19,13 +19,13 @@ if(istype(src,/mob/living/carbon)) var/mob/living/carbon/C = src if(C.suiciding) - src << "You're committing suicide, this isn't going to work." + to_chat(src, "You're committing suicide, this isn't going to work.") return 0 if(C.does_not_breathe == 0) C.does_not_breathe = 1 - src << "We stop breathing, as we no longer need to." + to_chat(src, "We stop breathing, as we no longer need to.") return 1 else C.does_not_breathe = 0 - src << "We resume breathing, as we now need to again." + to_chat(src, "We resume breathing, as we now need to again.") return 0 \ No newline at end of file diff --git a/code/game/gamemodes/changeling/powers/shriek.dm b/code/game/gamemodes/changeling/powers/shriek.dm index 4989c27f87..a2b9013c5a 100644 --- a/code/game/gamemodes/changeling/powers/shriek.dm +++ b/code/game/gamemodes/changeling/powers/shriek.dm @@ -95,13 +95,13 @@ if(!changeling) return 0 if(is_muzzled()) - src << "Mmmf mrrfff!" + to_chat(src, "Mmmf mrrfff!") return 0 if(ishuman(src)) var/mob/living/carbon/human/H = src if(H.silent) - src << "You can't speak!" + to_chat(src, "You can't speak!") return 0 if(world.time < (changeling.last_shriek + 10 SECONDS) ) @@ -125,7 +125,7 @@ range_med = range_med * 2 range_light = range_light * 2 range_long = range_long * 2 - src << "We are extra loud." + to_chat(src, "We are extra loud.") src.mind.changeling.recursive_enhancement = 0 visible_message("[src] appears to shout.") diff --git a/code/game/gamemodes/changeling/powers/silence_sting.dm b/code/game/gamemodes/changeling/powers/silence_sting.dm index 334b0c139f..16d24c878f 100644 --- a/code/game/gamemodes/changeling/powers/silence_sting.dm +++ b/code/game/gamemodes/changeling/powers/silence_sting.dm @@ -19,7 +19,7 @@ var/duration = 30 if(src.mind.changeling.recursive_enhancement) duration = duration + 10 - src << "They will be unable to cry out in fear for a little longer." + to_chat(src, "They will be unable to cry out in fear for a little longer.") T.silent += duration feedback_add_details("changeling_powers","SS") return 1 \ No newline at end of file diff --git a/code/game/gamemodes/changeling/powers/transform_sting.dm b/code/game/gamemodes/changeling/powers/transform_sting.dm index 678e195e22..1f6bc7b93d 100644 --- a/code/game/gamemodes/changeling/powers/transform_sting.dm +++ b/code/game/gamemodes/changeling/powers/transform_sting.dm @@ -34,7 +34,7 @@ if(!T) return 0 if((HUSK in T.mutations) || (!ishuman(T) && !issmall(T))) - src << "Our sting appears ineffective against its DNA." + to_chat(src, "Our sting appears ineffective against its DNA.") return 0 add_attack_logs(src,T,"Transformation sting (changeling)") T.visible_message("[T] transforms!") diff --git a/code/game/gamemodes/cult/cultify/mob.dm b/code/game/gamemodes/cult/cultify/mob.dm index d78956c40a..0cadd06d6c 100644 --- a/code/game/gamemodes/cult/cultify/mob.dm +++ b/code/game/gamemodes/cult/cultify/mob.dm @@ -12,7 +12,7 @@ icon_state = "ghost-narsie" overlays = 0 invisibility = 0 - src << "Even as a non-corporal being, you can feel Nar-Sie's presence altering you. You are now visible to everyone." + to_chat(src, "Even as a non-corporal being, you can feel Nar-Sie's presence altering you. You are now visible to everyone.") /mob/living/cultify() if(iscultist(src) && client) diff --git a/code/game/gamemodes/technomancer/instability.dm b/code/game/gamemodes/technomancer/instability.dm index 7904b5cb6c..6dc3f2d52b 100644 --- a/code/game/gamemodes/technomancer/instability.dm +++ b/code/game/gamemodes/technomancer/instability.dm @@ -122,13 +122,13 @@ electrocute_act(instability * 0.3, "unstable energies", 0.75) if(1) adjustFireLoss(instability * 0.15) //7.5 burn @ 50 instability - src << "Your chassis alerts you to overheating from an unknown external force!" + to_chat(src, "Your chassis alerts you to overheating from an unknown external force!") if(2) adjustBruteLoss(instability * 0.15) //7.5 brute @ 50 instability - src << "Your chassis makes the sound of metal groaning!" + to_chat(src, "Your chassis makes the sound of metal groaning!") if(3) safe_blink(src, range = 6) - src << "You're teleported against your will!" + to_chat(src, "You're teleported against your will!") if(4) emp_act(3) @@ -141,10 +141,10 @@ emp_act(2) if(2) adjustFireLoss(instability * 0.3) //30 burn @ 100 instability - src << "Your chassis alerts you to extreme overheating from an unknown external force!" + to_chat(src, "Your chassis alerts you to extreme overheating from an unknown external force!") if(3) adjustBruteLoss(instability * 0.3) //30 brute @ 100 instability - src << "Your chassis makes the sound of metal groaning and tearing!" + to_chat(src, "Your chassis makes the sound of metal groaning and tearing!") if(101 to 200) //Lethal rng = rand(0,4) @@ -155,10 +155,10 @@ emp_act(1) if(2) adjustFireLoss(instability * 0.4) //40 burn @ 100 instability - src << "Your chassis alerts you to extreme overheating from an unknown external force!" + to_chat(src, "Your chassis alerts you to extreme overheating from an unknown external force!") if(3) adjustBruteLoss(instability * 0.4) //40 brute @ 100 instability - src << "Your chassis makes the sound of metal groaning and tearing!" + to_chat(src, "Your chassis makes the sound of metal groaning and tearing!") /mob/living/carbon/human/instability_effects() if(instability) @@ -190,23 +190,23 @@ if(2) if(can_feel_pain()) apply_effect(instability * 0.3, AGONY) - src << "You feel a sharp pain!" + to_chat(src, "You feel a sharp pain!") if(3) apply_effect(instability * 0.3, EYE_BLUR) - src << "Your eyes start to get cloudy!" + to_chat(src, "Your eyes start to get cloudy!") if(4) electrocute_act(instability * 0.3, "unstable energies") if(5) adjustFireLoss(instability * 0.15) //7.5 burn @ 50 instability - src << "You feel your skin burn!" + to_chat(src, "You feel your skin burn!") if(6) adjustBruteLoss(instability * 0.15) //7.5 brute @ 50 instability - src << "You feel a sharp pain as an unseen force harms your body!" + to_chat(src, "You feel a sharp pain as an unseen force harms your body!") if(7) adjustToxLoss(instability * 0.15) //7.5 tox @ 50 instability if(8) safe_blink(src, range = 6) - src << "You're teleported against your will!" + to_chat(src, "You're teleported against your will!") if(50 to 100) //Severe rng = rand(0,8) @@ -218,18 +218,18 @@ if(2) if(can_feel_pain()) apply_effect(instability * 0.7, AGONY) - src << "You feel an extremly angonizing pain from all over your body!" + to_chat(src, "You feel an extremly angonizing pain from all over your body!") if(3) apply_effect(instability * 0.5, EYE_BLUR) - src << "Your eyes start to get cloudy!" + to_chat(src, "Your eyes start to get cloudy!") if(4) electrocute_act(instability * 0.5, "extremely unstable energies") if(5) fire_act() - src << "You spontaneously combust!" + to_chat(src, "You spontaneously combust!") if(6) adjustCloneLoss(instability * 0.05) //5 cloneloss @ 100 instability - src << "You feel your body slowly degenerate." + to_chat(src, "You feel your body slowly degenerate.") if(7) adjustToxLoss(instability * 0.25) //25 tox @ 100 instability @@ -245,18 +245,18 @@ if(2) if(can_feel_pain()) apply_effect(instability, AGONY) - src << "You feel an extremly angonizing pain from all over your body!" + to_chat(src, "You feel an extremly angonizing pain from all over your body!") if(3) apply_effect(instability, EYE_BLUR) - src << "Your eyes start to get cloudy!" + to_chat(src, "Your eyes start to get cloudy!") if(4) electrocute_act(instability, "extremely unstable energies") if(5) fire_act() - src << "You spontaneously combust!" + to_chat(src, "You spontaneously combust!") if(6) adjustCloneLoss(instability * 0.10) //5 cloneloss @ 100 instability - src << "You feel your body slowly degenerate." + to_chat(src, "You feel your body slowly degenerate.") if(7) adjustToxLoss(instability * 0.40) //40 tox @ 100 instability diff --git a/code/game/gamemodes/technomancer/spell_objs.dm b/code/game/gamemodes/technomancer/spell_objs.dm index 681d29da50..adfeda58ab 100644 --- a/code/game/gamemodes/technomancer/spell_objs.dm +++ b/code/game/gamemodes/technomancer/spell_objs.dm @@ -292,7 +292,7 @@ if(l_spell.aspect == ASPECT_CHROMATIC) //Check the other hand too. l_spell.on_combine_cast(S, src) else //Welp - src << "You require a free hand to use this function." + to_chat(src, "You require a free hand to use this function.") return 0 if(S.run_checks()) diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index 4f6b7df94f..a1c954df00 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -47,24 +47,24 @@ loc = sanitize(loc) if(!loc) - src << "Must supply a location name" + to_chat(src, "Must supply a location name") return if(stored_locations.len >= max_locations) - src << "Cannot store additional locations. Remove one first" + to_chat(src, "Cannot store additional locations. Remove one first") return if(loc in stored_locations) - src << "There is already a stored location by this name" + to_chat(src, "There is already a stored location by this name") return var/L = src.eyeobj.getLoc() if (InvalidPlayerTurf(get_turf(L))) - src << "Unable to store this location" + to_chat(src, "Unable to store this location") return stored_locations[loc] = L - src << "Location '[loc]' stored" + to_chat(src, "Location '[loc]' stored") /mob/living/silicon/ai/proc/sorted_stored_locations() return sortList(stored_locations) @@ -75,7 +75,7 @@ set desc = "Returns to the selected camera location" if (!(loc in stored_locations)) - src << "Location [loc] not found" + to_chat(src, "Location [loc] not found") return var/L = stored_locations[loc] @@ -87,11 +87,11 @@ set desc = "Deletes the selected camera location" if (!(loc in stored_locations)) - src << "Location [loc] not found" + to_chat(src, "Location [loc] not found") return stored_locations.Remove(loc) - src << "Location [loc] removed" + to_chat(src, "Location [loc] removed") // Used to allow the AI is write in mob names/camera name from the CMD line. /datum/trackable @@ -134,7 +134,7 @@ set desc = "Select who you would like to track." if(src.stat == 2) - src << "You can't follow [target_name] with cameras because you are dead!" + to_chat(src, "You can't follow [target_name] with cameras because you are dead!") return if(!target_name) src.cameraFollow = null @@ -147,7 +147,7 @@ if(!cameraFollow) return - src << "Follow camera mode [forced ? "terminated" : "ended"]." + to_chat(src, "Follow camera mode [forced ? "terminated" : "ended"].") cameraFollow.tracking_cancelled() cameraFollow = null @@ -266,14 +266,14 @@ mob/living/proc/tracking_initiated() mob/living/silicon/robot/tracking_initiated() tracking_entities++ if(tracking_entities == 1 && has_zeroth_law()) - src << "Internal camera is currently being accessed." + to_chat(src, "Internal camera is currently being accessed.") mob/living/proc/tracking_cancelled() mob/living/silicon/robot/tracking_initiated() tracking_entities-- if(!tracking_entities && has_zeroth_law()) - src << "Internal camera is no longer being accessed." + to_chat(src, "Internal camera is no longer being accessed.") #undef TRACKING_POSSIBLE diff --git a/code/game/magic/archived_book.dm b/code/game/magic/archived_book.dm index 2fc9412fcd..b2af5f3f73 100644 --- a/code/game/magic/archived_book.dm +++ b/code/game/magic/archived_book.dm @@ -37,7 +37,7 @@ datum/book_manager/proc/freeid() set desc = "Permamently deletes a book from the database." set category = "Admin" if(!src.holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return var/isbn = input("ISBN number?", "Delete Book") as num | null diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 0c6fa0fed7..b75de6685e 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -9,28 +9,28 @@ if(!mob) return if(IsGuestKey(key)) - src << "Guests may not use OOC." + to_chat(src, "Guests may not use OOC.") return msg = sanitize(msg) if(!msg) return if(!is_preference_enabled(/datum/client_preference/show_ooc)) - src << "You have OOC muted." + to_chat(src, "You have OOC muted.") return if(!holder) if(!config.ooc_allowed) - src << "OOC is globally muted." + to_chat(src, "OOC is globally muted.") return if(!config.dooc_allowed && (mob.stat == DEAD)) usr << "OOC for dead mobs has been turned off." return if(prefs.muted & MUTE_OOC) - src << "You cannot use OOC (muted)." + to_chat(src, "You cannot use OOC (muted).") return if(findtext(msg, "byond://")) - src << "Advertising other servers is not allowed." + to_chat(src, "Advertising other servers is not allowed.") log_admin("[key_name(src)] has attempted to advertise in OOC: [msg]") message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]") return @@ -86,7 +86,7 @@ return if(IsGuestKey(key)) - src << "Guests may not use OOC." + to_chat(src, "Guests may not use OOC.") return msg = sanitize(msg) @@ -94,21 +94,21 @@ return if(!is_preference_enabled(/datum/client_preference/show_looc)) - src << "You have LOOC muted." + to_chat(src, "You have LOOC muted.") return if(!holder) if(!config.looc_allowed) - src << "LOOC is globally muted." + to_chat(src, "LOOC is globally muted.") return if(!config.dooc_allowed && (mob.stat == DEAD)) usr << "OOC for dead mobs has been turned off." return if(prefs.muted & MUTE_OOC) - src << "You cannot use OOC (muted)." + to_chat(src, "You cannot use OOC (muted).") return if(findtext(msg, "byond://")) - src << "Advertising other servers is not allowed." + to_chat(src, "Advertising other servers is not allowed.") log_admin("[key_name(src)] has attempted to advertise in OOC: [msg]") message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]") return diff --git a/code/game/verbs/suicide.dm b/code/game/verbs/suicide.dm index 4a40ea97cb..5a6bfefdb4 100644 --- a/code/game/verbs/suicide.dm +++ b/code/game/verbs/suicide.dm @@ -4,27 +4,27 @@ set hidden = 1 if (stat == DEAD) - src << "You're already dead!" + to_chat(src, "You're already dead!") return if (!ticker) - src << "You can't commit suicide before the game starts!" + to_chat(src, "You can't commit suicide before the game starts!") return if(!player_is_antag(mind)) message_admins("[ckey] has tried to suicide, but they were not permitted due to not being antagonist as human.", 1) - src << "No. Adminhelp if there is a legitimate reason." + to_chat(src, "No. Adminhelp if there is a legitimate reason.") return if (suiciding) - src << "You're already committing suicide! Be patient!" + to_chat(src, "You're already committing suicide! Be patient!") return var/confirm = alert("Are you sure you want to commit suicide?", "Confirm Suicide", "Yes", "No") if(confirm == "Yes") if(!canmove || restrained()) //just while I finish up the new 'fun' suiciding verb. This is to prevent metagaming via suicide - src << "You can't commit suicide whilst restrained! ((You can type Ghost instead however.))" + to_chat(src, "You can't commit suicide whilst restrained! ((You can type Ghost instead however.))") return suiciding = 15 does_not_breathe = 0 //Prevents ling-suicide zombies, or something @@ -92,15 +92,15 @@ set hidden = 1 if (stat == 2) - src << "You're already dead!" + to_chat(src, "You're already dead!") return if (!ticker) - src << "You can't commit suicide before the game starts!" + to_chat(src, "You can't commit suicide before the game starts!") return if (suiciding) - src << "You're already committing suicide! Be patient!" + to_chat(src, "You're already committing suicide! Be patient!") return var/confirm = alert("Are you sure you want to commit suicide?", "Confirm Suicide", "Yes", "No") @@ -116,11 +116,11 @@ set hidden = 1 if (stat == 2) - src << "You're already dead!" + to_chat(src, "You're already dead!") return if (suiciding) - src << "You're already committing suicide! Be patient!" + to_chat(src, "You're already committing suicide! Be patient!") return var/confirm = alert("Are you sure you want to commit suicide?", "Confirm Suicide", "Yes", "No") @@ -136,11 +136,11 @@ set hidden = 1 if (stat == 2) - src << "You're already dead!" + to_chat(src, "You're already dead!") return if (suiciding) - src << "You're already committing suicide! Be patient!" + to_chat(src, "You're already committing suicide! Be patient!") return var/confirm = alert("Are you sure you want to commit suicide?", "Confirm Suicide", "Yes", "No") @@ -165,4 +165,4 @@ M.show_message("[src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\"", 3, "[src] bleeps electronically.", 2) death(0) else - src << "Aborting suicide attempt." + to_chat(src, "Aborting suicide attempt.") diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm index c030e25649..a8100038a8 100644 --- a/code/game/verbs/who.dm +++ b/code/game/verbs/who.dm @@ -171,7 +171,7 @@ num_event_managers_online++ if(config.admin_irc) - src << "Adminhelps are also sent to IRC. If no admins are available in game try anyway and an admin on IRC may see it and respond." + to_chat(src, "Adminhelps are also sent to IRC. If no admins are available in game try anyway and an admin on IRC may see it and respond.") msg = "Current Admins ([num_admins_online]):\n" + msg if(config.show_mods) diff --git a/code/modules/admin/ToRban.dm b/code/modules/admin/ToRban.dm index d127bfe6f4..f4ddd3e3f2 100644 --- a/code/modules/admin/ToRban.dm +++ b/code/modules/admin/ToRban.dm @@ -72,16 +72,16 @@ var/choice = input(src,"Please select an IP address to remove from the ToR banlist:","Remove ToR ban",null) as null|anything in F.dir if(choice) F.dir.Remove(choice) - src << "Address removed" + to_chat(src, "Address removed") if("remove all") - src << "[TORFILE] was [fdel(TORFILE)?"":"not "]removed." + to_chat(src, "[TORFILE] was [fdel(TORFILE)?"":"not "]removed.") if("find") var/input = input(src,"Please input an IP address to search for:","Find ToR ban",null) as null|text if(input) if(ToRban_isbanned(input)) - src << "Address is a known ToR address" + to_chat(src, "Address is a known ToR address") else - src << "Address is not a known ToR address" + to_chat(src, "Address is not a known ToR address") return #undef TORFILE diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 8daa899692..671520fbf8 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1305,7 +1305,7 @@ var/datum/announcement/minor/admin_min_announcer = new set desc = "Should fix any mob sprite update errors." if (!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return if(istype(H)) diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm index 1c90383f40..12a84346b3 100644 --- a/code/modules/admin/admin_investigate.dm +++ b/code/modules/admin/admin_investigate.dm @@ -34,7 +34,7 @@ if("singulo", "telesci") //general one-round-only stuff var/F = investigate_subject2file(subject) if(!F) - src << "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed." + to_chat(src, "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed.") return src << browse(F,"window=investigate[subject];size=800x300") @@ -43,8 +43,8 @@ if(href_logfile) src << browse(href_logfile,"window=investigate[subject];size=800x300") else - src << "Error: admin_investigate: No href logfile found." + to_chat(src, "Error: admin_investigate: No href logfile found.") return else - src << "Error: admin_investigate: Href Logging is not on." + to_chat(src, "Error: admin_investigate: Href Logging is not on.") return diff --git a/code/modules/admin/admin_memo.dm b/code/modules/admin/admin_memo.dm index 4bcaf10d9c..24ecba7c01 100644 --- a/code/modules/admin/admin_memo.dm +++ b/code/modules/admin/admin_memo.dm @@ -22,7 +22,7 @@ return if("") F.dir.Remove(ckey) - src << "Memo removed" + to_chat(src, "Memo removed") return if( findtext(memo,"Admin Memo by [F[ckey]]" + to_chat(src, "
Admin Memo by [F[ckey]]
") //delete your own or somebody else's memo /client/proc/admin_memo_delete() @@ -48,7 +48,7 @@ ckey = src.ckey if(ckey) F.dir.Remove(ckey) - src << "Removed Memo created by [ckey]." + to_chat(src, "Removed Memo created by [ckey].") #undef MEMOFILE #undef ENABLE_MEMOS \ No newline at end of file diff --git a/code/modules/admin/admin_report.dm b/code/modules/admin/admin_report.dm index c5cff737ee..40a96cb100 100644 --- a/code/modules/admin/admin_report.dm +++ b/code/modules/admin/admin_report.dm @@ -149,7 +149,8 @@ client/proc/mark_report_done(ID as num) for(var/datum/admin_report/N in reports) if(N.ID == ID) found = N - if(!found) src << "* An error occured, sorry." + if(!found) + to_chat(src, "* An error occured, sorry.") found.done = 1 @@ -158,7 +159,7 @@ client/proc/mark_report_done(ID as num) client/proc/edit_report(ID as num) if(!src.holder || src.holder.level < 0) - src << "You tried to modify the news, but you're not an admin!" + to_chat(src, "You tried to modify the news, but you're not an admin!") return var/savefile/Reports = new("data/reports.sav") @@ -170,7 +171,8 @@ client/proc/edit_report(ID as num) for(var/datum/admin_report/N in reports) if(N.ID == ID) found = N - if(!found) src << "* An error occured, sorry." + if(!found) + to_chat(src, "* An error occured, sorry.") var/body = input(src.mob, "Enter a body for the news", "Body") as null|message if(!body) return diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 9f8e6271f3..cb111adc9c 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -451,7 +451,7 @@ var/list/admin_verbs_event_manager = list( verbs.Remove(/client/proc/hide_most_verbs, admin_verbs_hideable) verbs += /client/proc/show_verbs - src << "Most of your adminverbs have been hidden." + to_chat(src, "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! return @@ -462,7 +462,7 @@ var/list/admin_verbs_event_manager = list( remove_admin_verbs() verbs += /client/proc/show_verbs - src << "Almost all of your adminverbs have been hidden." + to_chat(src, "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! return @@ -473,7 +473,7 @@ var/list/admin_verbs_event_manager = list( verbs -= /client/proc/show_verbs add_admin_verbs() - src << "All of your adminverbs are now visible." + to_chat(src, "All of your adminverbs are now visible.") feedback_add_details("admin_verb","TAVVS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -493,7 +493,7 @@ var/list/admin_verbs_event_manager = list( feedback_add_details("admin_verb","P") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! else if(istype(mob,/mob/new_player)) - src << "Error: Aghost: Can't admin-ghost whilst in the lobby. Join or Observe first." + to_chat(src, "Error: Aghost: Can't admin-ghost whilst in the lobby. Join or Observe first.") else //ghostize var/mob/body = mob @@ -655,7 +655,7 @@ var/list/admin_verbs_event_manager = list( else D = preferences_datums[warned_ckey] if(!D) - src << "Error: warn(): No such ckey found." + to_chat(src, "Error: warn(): No such ckey found.") return if(++D.warns >= MAX_WARNS) //uh ohhhh...you'reee iiiiin trouuuubble O:) @@ -818,7 +818,7 @@ var/list/admin_verbs_event_manager = list( deadmin_holder.reassociate() log_admin("[src] re-admined themself.") message_admins("[src] re-admined themself.", 1) - src << "You now have the keys to control the planet, or atleast a small space station" + to_chat(src, "You now have the keys to control the planet, or atleast a small space station") verbs -= /client/proc/readmin_self /client/proc/deadmin_self() @@ -830,7 +830,7 @@ var/list/admin_verbs_event_manager = list( log_admin("[src] deadmined themself.") message_admins("[src] deadmined themself.", 1) deadmin() - src << "You are now a normal player." + to_chat(src, "You are now a normal player.") verbs |= /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! @@ -841,10 +841,10 @@ var/list/admin_verbs_event_manager = list( if(config) if(config.log_hrefs) config.log_hrefs = 0 - src << "Stopped logging hrefs" + to_chat(src, "Stopped logging hrefs") else config.log_hrefs = 1 - src << "Started logging hrefs" + to_chat(src, "Started logging hrefs") /client/proc/check_ai_laws() set name = "Check AI Laws" @@ -1039,11 +1039,11 @@ var/list/admin_verbs_event_manager = list( if(config) if(config.cult_ghostwriter) config.cult_ghostwriter = 0 - src << "Disallowed ghost writers." + to_chat(src, "Disallowed ghost writers.") message_admins("Admin [key_name_admin(usr)] has disabled ghost writers.", 1) else config.cult_ghostwriter = 1 - src << "Enabled ghost writers." + to_chat(src, "Enabled ghost writers.") message_admins("Admin [key_name_admin(usr)] has enabled ghost writers.", 1) /client/proc/toggledrones() @@ -1053,11 +1053,11 @@ var/list/admin_verbs_event_manager = list( if(config) if(config.allow_drone_spawn) config.allow_drone_spawn = 0 - src << "Disallowed maint drones." + to_chat(src, "Disallowed maint drones.") message_admins("Admin [key_name_admin(usr)] has disabled maint drones.", 1) else config.allow_drone_spawn = 1 - src << "Enabled maint drones." + to_chat(src, "Enabled maint drones.") message_admins("Admin [key_name_admin(usr)] has enabled maint drones.", 1) /client/proc/man_up(mob/T as mob in mob_list) diff --git a/code/modules/admin/verbs/adminjump.dm b/code/modules/admin/verbs/adminjump.dm index 56af4e7e15..642aa456cb 100644 --- a/code/modules/admin/verbs/adminjump.dm +++ b/code/modules/admin/verbs/adminjump.dm @@ -91,7 +91,7 @@ keys += M.client var/selection = input("Please, select a player!", "Admin Jumping", null, null) as null|anything in sortKey(keys) if(!selection) - src << "No keys found." + to_chat(src, "No keys found.") return var/mob/M = selection:mob log_admin("[key_name(usr)] jumped to [key_name(M)]") diff --git a/code/modules/admin/verbs/atmosdebug.dm b/code/modules/admin/verbs/atmosdebug.dm index 083789e550..cc77c43cd0 100644 --- a/code/modules/admin/verbs/atmosdebug.dm +++ b/code/modules/admin/verbs/atmosdebug.dm @@ -3,7 +3,7 @@ set name = "Check Piping" set background = 1 if(!src.holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return feedback_add_details("admin_verb","CP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -44,7 +44,7 @@ set category = "Mapping" set name = "Check Power" if(!src.holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return feedback_add_details("admin_verb","CPOW") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/custom_event.dm b/code/modules/admin/verbs/custom_event.dm index 35931f8e54..987eb89c29 100644 --- a/code/modules/admin/verbs/custom_event.dm +++ b/code/modules/admin/verbs/custom_event.dm @@ -4,7 +4,7 @@ set name = "Change Custom Event" if(!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return var/input = sanitize(input(usr, "Enter the description of the custom event. Be descriptive. To cancel the event, make this blank or hit cancel.", "Custom Event", custom_event_msg) as message|null, MAX_PAPER_MESSAGE_LEN, extra = 0) @@ -30,11 +30,11 @@ set name = "Custom Event Info" if(!custom_event_msg || custom_event_msg == "") - src << "There currently is no known custom event taking place." - src << "Keep in mind: it is possible that an admin has not properly set this." + to_chat(src, "There currently is no known custom event taking place.") + to_chat(src, "Keep in mind: it is possible that an admin has not properly set this.") return - src << "

Custom Event

" - src << "

A custom event is taking place. OOC Info:

" - src << "[custom_event_msg]" - src << "
" + to_chat(src, "

Custom Event

") + to_chat(src, "

A custom event is taking place. OOC Info:

") + to_chat(src, "[custom_event_msg]") + to_chat(src, "
") diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm index 08eda6bb34..6099fd5e29 100644 --- a/code/modules/admin/verbs/deadsay.dm +++ b/code/modules/admin/verbs/deadsay.dm @@ -3,16 +3,16 @@ set name = "Dsay" //Gave this shit a shorter name so you only have to time out "dsay" rather than "dead say" to use it --NeoFite set hidden = 1 if(!src.holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return if(!src.mob) return if(prefs.muted & MUTE_DEADCHAT) - src << "You cannot send DSAY messages (muted)." + to_chat(src, "You cannot send DSAY messages (muted).") return if(!is_preference_enabled(/datum/client_preference/show_dsay)) - src << "You have deadchat muted." + to_chat(src, "You have deadchat muted.") return var/stafftype = uppertext(holder.rank) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 11541128c5..6a9405fef6 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -562,7 +562,7 @@ SMES.output_level = 75000 if(!found_the_pump && response == "Setup Completely") - src << "Unable to locate air supply to fill up with coolant, adding some coolant around the supermatter" + to_chat(src, "Unable to locate air supply to fill up with coolant, adding some coolant around the supermatter") var/turf/simulated/T = SM.loc T.zone.air.gas["nitrogen"] += 450 T.zone.air.temperature = 50 diff --git a/code/modules/admin/verbs/diagnostics.dm b/code/modules/admin/verbs/diagnostics.dm index 9fdf39c0d1..5199f8455f 100644 --- a/code/modules/admin/verbs/diagnostics.dm +++ b/code/modules/admin/verbs/diagnostics.dm @@ -124,7 +124,7 @@ set category = "Debug" /* if(!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return if(!air_master) @@ -146,7 +146,7 @@ set category = "Debug" /* if(!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return if(!air_master) diff --git a/code/modules/admin/verbs/getlogs.dm b/code/modules/admin/verbs/getlogs.dm index 9e9ad67027..7215c8dd32 100644 --- a/code/modules/admin/verbs/getlogs.dm +++ b/code/modules/admin/verbs/getlogs.dm @@ -24,12 +24,12 @@ set category = null if(!src.holder) - src << "Only Admins may use this command." + to_chat(src, "Only Admins may use this command.") return var/client/target = input(src,"Choose somebody to grant access to the server's runtime logs (permissions expire at the end of each round):","Grant Permissions",null) as null|anything in GLOB.clients if(!istype(target,/client)) - src << "Error: giveruntimelog(): Client not found." + to_chat(src, "Error: giveruntimelog(): Client not found.") return target.verbs |= /client/proc/getruntimelog @@ -53,7 +53,7 @@ message_admins("[key_name_admin(src)] accessed file: [path]") src << run( file(path) ) - src << "Attempting to send file, this may take a fair few minutes if the file is very large." + to_chat(src, "Attempting to send file, this may take a fair few minutes if the file is very large.") return @@ -73,7 +73,7 @@ message_admins("[key_name_admin(src)] accessed file: [path]") src << run( file(path) ) - src << "Attempting to send file, this may take a fair few minutes if the file is very large." + to_chat(src, "Attempting to send file, this may take a fair few minutes if the file is very large.") return @@ -89,7 +89,7 @@ if( fexists(path) ) src << run( file(path) ) else - src << "Error: view_txt_log(): File not found/Invalid path([path])." + to_chat(src, "Error: view_txt_log(): File not found/Invalid path([path]).") return feedback_add_details("admin_verb","VTL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return @@ -107,7 +107,7 @@ if( fexists(path) ) src << run( file(path) ) else - src << "Error: view_atk_log(): File not found/Invalid path([path])." + to_chat(src, "Error: view_atk_log(): File not found/Invalid path([path]).") return usr << run( file(path) ) feedback_add_details("admin_verb","SSAL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 3ffd76878e..1a3fbfe76f 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -2,7 +2,7 @@ set category = null set name = "Drop Everything" if(!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return var/confirm = alert(src, "Make [M] drop everything?", "Message", "Yes", "No") @@ -20,7 +20,7 @@ set category = "Admin" set name = "Prison" if(!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return if (ismob(M)) if(istype(M, /mob/living/silicon/ai)) @@ -48,7 +48,7 @@ set category = "Admin" set name = "Check new Players" if(!holder) - src << "Only staff members may use this command." + to_chat(src, "Only staff members may use this command.") var/age = alert(src, "Age check", "Show accounts yonger then _____ days","7", "30" , "All") @@ -70,12 +70,12 @@ msg += "[key_name(C, 1, 1, highlight_special_characters)]: account is [C.player_age] days old
" if(missing_ages) - src << "Some accounts did not have proper ages set in their clients. This function requires database to be present." + to_chat(src, "Some accounts did not have proper ages set in their clients. This function requires database to be present.") if(msg != "") src << browse(msg, "window=Player_age_check") else - src << "No matches for that age range found." + to_chat(src, "No matches for that age range found.") /client/proc/cmd_admin_subtle_message(mob/M as mob in mob_list) set category = "Special Verbs" @@ -83,7 +83,7 @@ if(!ismob(M)) return if (!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return var/msg = sanitize(input("Message:", text("Subtle PM to [M.key]")) as text) @@ -106,7 +106,7 @@ set name = "Global Narrate" if (!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return var/msg = sanitize(input("Message:", text("Enter the text you wish to appear to everyone:")) as text) @@ -123,7 +123,7 @@ set name = "Direct Narrate" if(!holder) - src << "Only administrators and moderators may use this command." + to_chat(src, "Only administrators and moderators may use this command.") return if(!M) @@ -148,7 +148,7 @@ set category = "Special Verbs" set name = "Godmode" if(!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return M.status_flags ^= GODMODE usr << " Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]" @@ -216,7 +216,7 @@ proc/cmd_admin_mute(mob/M as mob, mute_type, automute = 0) set category = "Fun" set name = "Add Random AI Law" if(!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No") if(confirm != "Yes") return @@ -248,7 +248,7 @@ Ccomp's first proc. any = 1 //if no ghosts show up, any will just be 0 if(!any) if(notify) - src << "There doesn't appear to be any ghosts for you to select." + to_chat(src, "There doesn't appear to be any ghosts for you to select.") return for(var/mob/M in mobs) @@ -265,12 +265,12 @@ Ccomp's first proc. set name = "Allow player to respawn" set desc = "Let's the player bypass the wait to respawn or allow them to re-enter their corpse." if(!holder) - src << "Only administrators and moderators may use this command." + to_chat(src, "Only administrators and moderators may use this command.") var/list/ghosts= get_ghosts(1,1) var/target = input("Please, select a ghost!", "COME BACK TO LIFE!", null, null) as null|anything in ghosts if(!target) - src << "Hrm, appears you didn't select a ghost" // Sanity check, if no ghosts in the list we don't want to edit a null variable and cause a runtime error. + to_chat(src, "Hrm, appears you didn't select a ghost") // Sanity check, if no ghosts in the list we don't want to edit a null variable and cause a runtime error. return var/mob/observer/dead/G = ghosts[target] @@ -295,7 +295,7 @@ Ccomp's first proc. set desc = "Toggles antagHUD usage for observers" if(!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") var/action="" if(config.antag_hud_allowed) for(var/mob/observer/dead/g in get_ghosts()) @@ -306,7 +306,7 @@ Ccomp's first proc. g.has_enabled_antagHUD = 2 // We'll allow them to respawn g << "The Administrator has disabled AntagHUD " config.antag_hud_allowed = 0 - src << "AntagHUD usage has been disabled" + to_chat(src, "AntagHUD usage has been disabled") action = "disabled" else for(var/mob/observer/dead/g in get_ghosts()) @@ -315,7 +315,7 @@ Ccomp's first proc. g << "The Administrator has enabled AntagHUD " // Notify all observers they can now use AntagHUD config.antag_hud_allowed = 1 action = "enabled" - src << "AntagHUD usage has been enabled" + to_chat(src, "AntagHUD usage has been enabled") log_admin("[key_name(usr)] has [action] antagHUD usage for observers") @@ -328,14 +328,14 @@ Ccomp's first proc. set name = "Toggle antagHUD Restrictions" set desc = "Restricts players that have used antagHUD from being able to join this round." if(!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") var/action="" if(config.antag_hud_restricted) for(var/mob/observer/dead/g in get_ghosts()) g << "The administrator has lifted restrictions on joining the round if you use AntagHUD" action = "lifted restrictions" config.antag_hud_restricted = 0 - src << "AntagHUD restrictions have been lifted" + to_chat(src, "AntagHUD restrictions have been lifted") else for(var/mob/observer/dead/g in get_ghosts()) g << "The administrator has placed restrictions on joining the round if you use AntagHUD" @@ -344,7 +344,7 @@ Ccomp's first proc. g.has_enabled_antagHUD = 0 action = "placed restrictions" config.antag_hud_restricted = 1 - src << "AntagHUD restrictions have been enabled" + to_chat(src, "AntagHUD restrictions have been enabled") log_admin("[key_name(usr)] has [action] on joining the round if they use AntagHUD") message_admins("Admin [key_name_admin(usr)] has [action] on joining the round if they use AntagHUD", 1) @@ -359,7 +359,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set name = "Spawn Character" set desc = "(Re)Spawn a client's loaded character." if(!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return //I frontload all the questions so we don't have a half-done process while you're reading. @@ -443,7 +443,7 @@ Traitors and the like can also be revived with the previous role mostly intact. switch(location) if("Right Here") //Spawn them on your turf if(!src.mob) - src << "You can't use 'Right Here' when you are not 'Right Anywhere'!" + to_chat(src, "You can't use 'Right Here' when you are not 'Right Anywhere'!") return spawnloc = get_turf(src.mob) @@ -452,19 +452,19 @@ Traitors and the like can also be revived with the previous role mostly intact. spawnloc = pick(latejoin) else //I have no idea how you're here - src << "Invalid spawn location choice." + to_chat(src, "Invalid spawn location choice.") return //Did we actually get a loc to spawn them? if(!spawnloc) - src << "Couldn't get valid spawn location." + to_chat(src, "Couldn't get valid spawn location.") return new_character = new(spawnloc) //We were able to spawn them, right? if(!new_character) - src << "Something went wrong and spawning failed." + to_chat(src, "Something went wrong and spawning failed.") return //Write the appearance and whatnot out to the character @@ -517,7 +517,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Fun" set name = "Add Custom AI law" if(!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return var/input = sanitize(input(usr, "Please enter anything you want the AI to do. Anything. Serious.", "What?", "") as text|null) if(!input) @@ -545,7 +545,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Special Verbs" set name = "Rejuvenate" if(!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return if(!mob) return @@ -567,7 +567,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Special Verbs" set name = "Create Command Report" if(!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return var/input = sanitize(input(usr, "Please enter anything you want. Anything. Serious.", "What?", "") as message|null, extra = 0) var/customname = sanitizeSafe(input(usr, "Pick a title for the report.", "Title") as text|null) @@ -595,7 +595,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set name = "Delete" if (!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return admin_delete(O) @@ -604,11 +604,11 @@ Traitors and the like can also be revived with the previous role mostly intact. set name = "List free slots" if (!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return if(job_master) for(var/datum/job/job in job_master.occupations) - src << "[job.title]: [job.total_positions]" + to_chat(src, "[job.title]: [job.total_positions]") feedback_add_details("admin_verb","LFS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_explosion(atom/O as obj|mob|turf in world) @@ -705,7 +705,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set name = "Manual Ban" set category = "Special Verbs" if(!authenticated || !holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return var/mob/M = null switch(alert("How would you like to ban someone today?", "Manual Ban", "Key List", "Enter Manually", "Cancel")) @@ -777,7 +777,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Debug" set name = "Stabilize Atmos." if(!holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return feedback_add_details("admin_verb","STATM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! // DEFERRED diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index 37fc52eda8..65d954fbc9 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -7,7 +7,7 @@ var/const/commandos_possible = 6 //if more Commandos are needed in the future set desc = "Spawns a strike team if you want to run an admin event." if(!src.holder) - src << "Only administrators may use this command." + to_chat(src, "Only administrators may use this command.") return if(!ticker) diff --git a/code/modules/admin/verbs/ticklag.dm b/code/modules/admin/verbs/ticklag.dm index ab5693878a..3c34f0f35a 100644 --- a/code/modules/admin/verbs/ticklag.dm +++ b/code/modules/admin/verbs/ticklag.dm @@ -19,6 +19,6 @@ if("Yes") config.Tickcomp = 1 else config.Tickcomp = 0 else - src << "Error: ticklag(): Invalid world.ticklag value. No changes made." + to_chat(src, "Error: ticklag(): Invalid world.ticklag value. No changes made.") diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index e13573e305..7321e96a23 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -77,13 +77,13 @@ //This stops files larger than UPLOAD_LIMIT being sent from client to server via input(), client.Import() etc. /client/AllowUpload(filename, filelength) if(filelength > UPLOAD_LIMIT) - src << "Error: AllowUpload(): File Upload too large. Upload Limit: [UPLOAD_LIMIT/1024]KiB." + to_chat(src, "Error: AllowUpload(): File Upload too large. Upload Limit: [UPLOAD_LIMIT/1024]KiB.") return 0 /* //Don't need this at the moment. But it's here if it's needed later. //Helps prevent multiple files being uploaded at once. Or right after eachother. var/time_to_wait = fileaccess_timer - world.time if(time_to_wait > 0) - src << "Error: AllowUpload(): Spam prevention. Please wait [round(time_to_wait/10)] seconds." + to_chat(src, "Error: AllowUpload(): Spam prevention. Please wait [round(time_to_wait/10)] seconds.") return 0 fileaccess_timer = world.time + FTPDELAY */ return 1 @@ -105,7 +105,7 @@ del(src) return - src << "If the title screen is black, resources are still downloading. Please be patient until the title screen appears." + to_chat(src, "If the title screen is black, resources are still downloading. Please be patient until the title screen appears.") GLOB.clients += src @@ -131,10 +131,10 @@ prefs.sanitize_preferences() if(custom_event_msg && custom_event_msg != "") - src << "

Custom Event

" - src << "

A custom event is taking place. OOC Info:

" - src << "[custom_event_msg]" - src << "
" + to_chat(src, "

Custom Event

") + to_chat(src, "

A custom event is taking place. OOC Info:

") + to_chat(src, "[custom_event_msg]") + to_chat(src, "
") if(holder) @@ -160,7 +160,7 @@ screen += void if(prefs.lastchangelog != changelog_hash) //bolds the changelog button on the interface so we know there are updates. - src << "You have unread updates in the changelog." + to_chat(src, "You have unread updates in the changelog.") winset(src, "rpane.changelog", "background-color=#eaeaea;font-style=bold") if(config.aggressive_changelog) src.changes() diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index a7c3287133..7cf9084435 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -1016,7 +1016,7 @@ M.stop_pulling() if(wearer.pinned.len) - src << "Your host is pinned to a wall by [wearer.pinned[1]]!" + to_chat(src, "Your host is pinned to a wall by [wearer.pinned[1]]!") return 0 // AIs are a bit slower than regular and ignore move intent. diff --git a/code/modules/flufftext/Dreaming.dm b/code/modules/flufftext/Dreaming.dm index 964ea8dbed..911931eda3 100644 --- a/code/modules/flufftext/Dreaming.dm +++ b/code/modules/flufftext/Dreaming.dm @@ -23,7 +23,7 @@ mob/living/carbon/proc/dream() spawn(0) for(var/i = rand(1,4),i > 0, i--) - src << "... [pick(dreams)] ..." + to_chat(src, "... [pick(dreams)] ...") sleep(rand(40,70)) if(paralysis <= 0) dreaming = 0 diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index f70873f226..cdd497c016 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -28,13 +28,13 @@ mob/living/carbon/proc/handle_hallucinations() switch(halpick) if(0 to 15) //Screwy HUD - //src << "Screwy HUD" + //to_chat(src, "Screwy HUD") hal_screwyhud = pick(1,2,3,3,4,4) spawn(rand(100,250)) hal_screwyhud = 0 if(16 to 25) //Strange items - //src << "Traitor Items" + //to_chat(src, "Traitor Items") if(!halitem) halitem = new var/list/slots_free = list(ui_lhand,ui_rhand) @@ -82,7 +82,7 @@ mob/living/carbon/proc/handle_hallucinations() halitem = null if(26 to 40) //Flashes of danger - //src << "Danger Flash" + //to_chat(src, "Danger Flash") if(!halimage) var/list/possible_points = list() for(var/turf/simulated/floor/F in view(src,world.view)) @@ -92,13 +92,13 @@ mob/living/carbon/proc/handle_hallucinations() switch(rand(1,3)) if(1) - //src << "Space" + //to_chat(src, "Space") halimage = image('icons/turf/space.dmi',target,"[rand(1,25)]",TURF_LAYER) if(2) - //src << "Fire" + //to_chat(src, "Fire") halimage = image('icons/effects/fire.dmi',target,"1",TURF_LAYER) if(3) - //src << "C4" + //to_chat(src, "C4") halimage = image('icons/obj/assemblies.dmi',target,"plastic-explosive2",OBJ_LAYER+0.01) @@ -110,7 +110,7 @@ mob/living/carbon/proc/handle_hallucinations() if(41 to 65) //Strange audio - //src << "Strange Audio" + //to_chat(src, "Strange Audio") switch(rand(1,12)) if(1) src << 'sound/machines/airlock.ogg' if(2) @@ -144,7 +144,7 @@ mob/living/carbon/proc/handle_hallucinations() src << pick(creepyasssounds) if(66 to 70) //Flashes of danger - //src << "Danger Flash" + //to_chat(src, "Danger Flash") if(!halbody) var/list/possible_points = list() for(var/turf/simulated/floor/F in view(src,world.view)) diff --git a/code/modules/food/recipe_dump.dm b/code/modules/food/recipe_dump.dm index a458a568cf..781ef7fc2f 100644 --- a/code/modules/food/recipe_dump.dm +++ b/code/modules/food/recipe_dump.dm @@ -214,4 +214,4 @@ html += "" src << browse(html, "window=recipes;file=recipes_drinks.html;display=0") - src << "In your byond cache, recipe-xxx.png files and recipes_drinks.html and recipes_food.html now exist. Place recipe-xxx.png files in a subfolder named 'imgrecipes' wherever you put them. The file will take a food.css or drinks.css file if in the same path." + to_chat(src, "In your byond cache, recipe-xxx.png files and recipes_drinks.html and recipes_food.html now exist. Place recipe-xxx.png files in a subfolder named 'imgrecipes' wherever you put them. The file will take a food.css or drinks.css file if in the same path.") diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 758c438a25..ef7086f6e0 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -231,7 +231,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set name = "Re-enter Corpse" if(!client) return if(!(mind && mind.current && can_reenter_corpse)) - src << "You have no body." + to_chat(src, "You have no body.") return if(mind.current.key && copytext(mind.current.key,1,2)!="@") //makes sure we don't accidentally kick any clients usr << "Another consciousness is in your body... it is resisting you." @@ -279,10 +279,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set desc = "Toggles AntagHUD allowing you to see who is the antagonist" if(!config.antag_hud_allowed && !client.holder) - src << "Admins have disabled this for this round." + to_chat(src, "Admins have disabled this for this round.") return if(jobban_isbanned(src, "AntagHUD")) - src << "You have been banned from using this feature" + to_chat(src, "You have been banned from using this feature") return if(config.antag_hud_restricted && !has_enabled_antagHUD && !client.holder) var/response = alert(src, "If you turn this on, you will not be able to take any part in the round.","Are you sure you want to turn this feature on?","Yes","No") @@ -329,7 +329,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(following && following == target) return following = target - src << "Now following [target]" + to_chat(src, "Now following [target]") if(ismob(target)) forceMove(get_turf(target)) var/mob/M = target @@ -406,7 +406,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp forceMove(T) following = null else - src << "This mob is not located in the game world." + to_chat(src, "This mob is not located in the game world.") /* /mob/observer/dead/verb/boo() set category = "Ghost" @@ -425,11 +425,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/observer/dead/memory() set hidden = 1 - src << "You are dead! You have no mind to store memory!" + to_chat(src, "You are dead! You have no mind to store memory!") /mob/observer/dead/add_memory() set hidden = 1 - src << "You are dead! You have no mind to store memory!" + to_chat(src, "You are dead! You have no mind to store memory!") /mob/observer/dead/Post_Incorpmove() following = null @@ -449,16 +449,16 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/pressure = environment.return_pressure() var/total_moles = environment.total_moles - src << "Results:" + to_chat(src, "Results:") if(abs(pressure - ONE_ATMOSPHERE) < 10) - src << "Pressure: [round(pressure,0.1)] kPa" + to_chat(src, "Pressure: [round(pressure,0.1)] kPa") else - src << "Pressure: [round(pressure,0.1)] kPa" + to_chat(src, "Pressure: [round(pressure,0.1)] kPa") if(total_moles) for(var/g in environment.gas) - src << "[gas_data.name[g]]: [round((environment.gas[g] / total_moles) * 100)]% ([round(environment.gas[g], 0.01)] moles)" - src << "Temperature: [round(environment.temperature-T0C,0.1)]°C ([round(environment.temperature,0.1)]K)" - src << "Heat Capacity: [round(environment.heat_capacity(),0.1)]" + to_chat(src, "[gas_data.name[g]]: [round((environment.gas[g] / total_moles) * 100)]% ([round(environment.gas[g], 0.01)] moles)") + to_chat(src, "Temperature: [round(environment.temperature-T0C,0.1)]°C ([round(environment.temperature,0.1)]K)") + to_chat(src, "Heat Capacity: [round(environment.heat_capacity(),0.1)]") /mob/observer/dead/verb/check_radiation() set name = "Check Radiation" @@ -475,7 +475,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set category = "Ghost" if(config.disable_player_mice) - src << "Spawning as a mouse is currently disabled." + to_chat(src, "Spawning as a mouse is currently disabled.") return if(!MayRespawn(1)) @@ -483,14 +483,14 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/turf/T = get_turf(src) if(!T || (T.z in using_map.admin_levels)) - src << "You may not spawn as a mouse on this Z-level." + to_chat(src, "You may not spawn as a mouse on this Z-level.") return var/timedifference = world.time - client.time_died_as_mouse if(client.time_died_as_mouse && timedifference <= mouse_respawn_time * 600) var/timedifference_text timedifference_text = time2text(mouse_respawn_time * 600 - timedifference,"mm:ss") - src << "You may only spawn again as a mouse more than [mouse_respawn_time] minutes after your death. You have [timedifference_text] left." + to_chat(src, "You may only spawn again as a mouse more than [mouse_respawn_time] minutes after your death. You have [timedifference_text] left.") return var/response = alert(src, "Are you -sure- you want to become a mouse?","Are you sure you want to squeek?","Squeek!","Nope!") @@ -508,7 +508,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp vent_found = pick(found_vents) host = new /mob/living/simple_mob/animal/passive/mouse(vent_found) else - src << "Unable to find any unwelded vents to spawn mice at." + to_chat(src, "Unable to find any unwelded vents to spawn mice at.") if(host) if(config.uneducated_mice) @@ -545,7 +545,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set desc = "If the round is sufficiently spooky, write a short message in blood on the floor or a wall. Remember, no IC in OOC or OOC in IC." if(!(config.cult_ghostwriter)) - src << "That verb is not currently permitted." + to_chat(src, "That verb is not currently permitted.") return if (!src.stat) @@ -560,7 +560,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp ghosts_can_write = 1 if(!ghosts_can_write && !check_rights(R_ADMIN, 0)) //Let's allow for admins to write in blood for events and the such. - src << "The veil is not thin enough for you to do that." + to_chat(src, "The veil is not thin enough for you to do that.") return var/list/choices = list() @@ -569,7 +569,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp choices += B if(!choices.len) - src << "There is no blood to use nearby." + to_chat(src, "There is no blood to use nearby.") return var/obj/effect/decal/cleanable/blood/choice = input(src,"What blood would you like to use?") in null|choices @@ -580,7 +580,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp T = get_step(T,text2dir(direction)) if (!istype(T)) - src << "You cannot doodle there." + to_chat(src, "You cannot doodle there.") return if(!choice || choice.amount == 0 || !(src.Adjacent(choice))) @@ -592,7 +592,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp for (var/obj/effect/decal/cleanable/blood/writing/W in T) num_doodles++ if (num_doodles > 4) - src << "There is no space to write on!" + to_chat(src, "There is no space to write on!") return var/max_length = 50 @@ -603,7 +603,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if (length(message) > max_length) message += "-" - src << "You ran out of blood to write with!" + to_chat(src, "You ran out of blood to write with!") var/obj/effect/decal/cleanable/blood/writing/W = new(T) W.basecolor = doodle_color @@ -657,14 +657,14 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/toggled_invisible if(!forced && plane == PLANE_GHOSTS && world.time < toggled_invisible + 600) - src << "You must gather strength before you can turn visible again..." + to_chat(src, "You must gather strength before you can turn visible again...") return if(plane == PLANE_WORLD) toggled_invisible = world.time visible_message("It fades from sight...", "You are now invisible.") else - src << "You are now visible!" + to_chat(src, "You are now visible!") plane = (plane == PLANE_GHOSTS) ? PLANE_WORLD : PLANE_GHOSTS invisibility = (plane == PLANE_WORLD) ? 0 : INVISIBILITY_OBSERVER @@ -679,9 +679,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp src.anonsay = !src.anonsay if(anonsay) - src << "Your key won't be shown when you speak in dead chat." + to_chat(src, "Your key won't be shown when you speak in dead chat.") else - src << "Your key will be publicly visible again." + to_chat(src, "Your key will be publicly visible again.") /mob/observer/dead/canface() return 1 @@ -714,11 +714,11 @@ mob/observer/dead/MayRespawn(var/feedback = 0) return 0 if(mind && mind.current && mind.current.stat != DEAD && can_reenter_corpse) if(feedback) - src << "Your non-dead body prevent you from respawning." + to_chat(src, "Your non-dead body prevent you from respawning.") return 0 if(config.antag_hud_restricted && has_enabled_antagHUD == 1) if(feedback) - src << "antagHUD restrictions prevent you from respawning." + to_chat(src, "antagHUD restrictions prevent you from respawning.") return 0 return 1 @@ -755,12 +755,12 @@ mob/observer/dead/MayRespawn(var/feedback = 0) if(msg) log_say("(SPECWHISP to [key_name(M)]): [msg]", src) M << " You hear a strange, unidentifiable voice in your head... [msg]" - src << " You said: '[msg]' to [M]." + to_chat(src, " You said: '[msg]' to [M].") else return return 1 else - src << "You have not been pulled past the veil!" + to_chat(src, "You have not been pulled past the veil!") /mob/observer/dead/verb/choose_ghost_sprite() set category = "Ghost" diff --git a/code/modules/mob/dead/observer/say.dm b/code/modules/mob/dead/observer/say.dm index c950a84209..dc44a55168 100644 --- a/code/modules/mob/dead/observer/say.dm +++ b/code/modules/mob/dead/observer/say.dm @@ -10,7 +10,7 @@ if(message) client.handle_spam_prevention(MUTE_DEADCHAT) if(src.client.prefs.muted & MUTE_DEADCHAT) - src << "You cannot talk in deadchat (muted)." + to_chat(src, "You cannot talk in deadchat (muted).") return . = src.say_dead(message) @@ -31,7 +31,7 @@ if(message) client.handle_spam_prevention(MUTE_DEADCHAT) if(src.client.prefs.muted & MUTE_DEADCHAT) - src << "You cannot emote in deadchat (muted)." + to_chat(src, "You cannot emote in deadchat (muted).") return . = src.emote_dead(message) diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm index f67f70eb87..fc269a3120 100644 --- a/code/modules/mob/emote.dm +++ b/code/modules/mob/emote.dm @@ -3,7 +3,7 @@ //m_type == 2 --> audible /mob/proc/custom_emote(var/m_type=1,var/message = null,var/range=world.view) if(stat || !use_me && usr == src) - src << "You are unable to emote." + to_chat(src, "You are unable to emote.") return var/muzzled = is_muzzled() @@ -62,16 +62,16 @@ /mob/proc/emote_dead(var/message) if(client.prefs.muted & MUTE_DEADCHAT) - src << "You cannot send deadchat emotes (muted)." + to_chat(src, "You cannot send deadchat emotes (muted).") return if(!is_preference_enabled(/datum/client_preference/show_dsay)) - src << "You have deadchat muted." + to_chat(src, "You have deadchat muted.") return if(!src.client.holder) if(!config.dsay_allowed) - src << "Deadchat is globally muted." + to_chat(src, "Deadchat is globally muted.") return diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm index 693b2129e1..f316797dc2 100644 --- a/code/modules/mob/hear_say.dm +++ b/code/modules/mob/hear_say.dm @@ -60,9 +60,9 @@ if(is_deaf()) if(!language || !(language.flags & INNATE)) // INNATE is the flag for audible-emote-language, so we don't want to show an "x talks but you cannot hear them" message if it's set if(speaker == src) - src << "You cannot hear yourself speak!" + to_chat(src, "You cannot hear yourself speak!") else - src << "[speaker_name][alt_name] talks but you cannot hear." + to_chat(src, "[speaker_name][alt_name] talks but you cannot hear.") else var/message_to_send = null if(language) @@ -251,7 +251,7 @@ if((sdisabilities & DEAF) || ear_deaf) if(prob(20)) - src << "You feel your headset vibrate but can hear nothing from it!" + to_chat(src, "You feel your headset vibrate but can hear nothing from it!") else on_hear_radio(part_a, speaker_name, track, part_b, formatted) diff --git a/code/modules/mob/holder.dm b/code/modules/mob/holder.dm index 25a6ed122a..00fe76086a 100644 --- a/code/modules/mob/holder.dm +++ b/code/modules/mob/holder.dm @@ -156,11 +156,11 @@ var/list/holder_mob_icon_cache = list() if(self_grab) grabber << "\The [src] clambers onto you!" - src << "You climb up onto \the [grabber]!" + to_chat(src, "You climb up onto \the [grabber]!") grabber.equip_to_slot_if_possible(H, slot_back, 0, 1) else grabber << "You scoop up \the [src]!" - src << "\The [grabber] scoops you up!" + to_chat(src, "\The [grabber] scoops you up!") H.sync(src) return H diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index c655559a10..0f0f95d336 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -56,7 +56,7 @@ var/list/slot_equipment_priority = list( \ else if(!disable_warning) - src << "You are unable to equip that." //Only print if del_on_fail is false + to_chat(src, "You are unable to equip that.") //Only print if del_on_fail is false return 0 equip_to_slot(W, slot, redraw_mob) //This proc should not ever fail. diff --git a/code/modules/mob/language/language.dm b/code/modules/mob/language/language.dm index 83f0b754ba..9bc0a68653 100644 --- a/code/modules/mob/language/language.dm +++ b/code/modules/mob/language/language.dm @@ -144,9 +144,9 @@ /mob/observer/dead/hear_broadcast(var/datum/language/language, var/mob/speaker, var/speaker_name, var/message) if(speaker.name == speaker_name || antagHUD) - src << "[language.name], [speaker_name] ([ghost_follow_link(speaker, src)]) [message]" + to_chat(src, "[language.name], [speaker_name] ([ghost_follow_link(speaker, src)]) [message]") else - src << "[language.name], [speaker_name] [message]" + to_chat(src, "[language.name], [speaker_name] [message]") /datum/language/proc/check_special_condition(var/mob/other) return 1 diff --git a/code/modules/mob/living/autohiss.dm b/code/modules/mob/living/autohiss.dm index 2c6fe02645..4ee08dec85 100644 --- a/code/modules/mob/living/autohiss.dm +++ b/code/modules/mob/living/autohiss.dm @@ -25,15 +25,15 @@ autohiss_mode = (autohiss_mode + 1) % AUTOHISS_NUM switch(autohiss_mode) if(AUTOHISS_OFF) - src << "Auto-hiss is now OFF." + to_chat(src, "Auto-hiss is now OFF.") if(AUTOHISS_BASIC) - src << "Auto-hiss is now BASIC." + to_chat(src, "Auto-hiss is now BASIC.") if(AUTOHISS_FULL) - src << "Auto-hiss is now FULL." + to_chat(src, "Auto-hiss is now FULL.") else soft_assert(0, "invalid autohiss value [autohiss_mode]") autohiss_mode = AUTOHISS_OFF - src << "Auto-hiss is now OFF." + to_chat(src, "Auto-hiss is now OFF.") /datum/species var/list/autohiss_basic_map = null diff --git a/code/modules/mob/living/carbon/alien/diona/diona_powers.dm b/code/modules/mob/living/carbon/alien/diona/diona_powers.dm index aea0054418..8384a7dbb8 100644 --- a/code/modules/mob/living/carbon/alien/diona/diona_powers.dm +++ b/code/modules/mob/living/carbon/alien/diona/diona_powers.dm @@ -25,15 +25,15 @@ var/mob/living/M = input(src,"Who do you wish to merge with?") in null|choices if(!M) - src << "There is nothing nearby to merge with." + to_chat(src, "There is nothing nearby to merge with.") else if(!do_merge(M)) - src << "You fail to merge with \the [M]..." + to_chat(src, "You fail to merge with \the [M]...") /mob/living/carbon/alien/diona/proc/do_merge(var/mob/living/carbon/human/H) if(!istype(H) || !src || !(src.Adjacent(H))) return 0 H << "You feel your being twine with that of \the [src] as it merges with your biomass." - src << "You feel your being twine with that of \the [H] as you merge with its biomass." + to_chat(src, "You feel your being twine with that of \the [H] as you merge with its biomass.") loc = H verbs += /mob/living/carbon/alien/diona/proc/split verbs -= /mob/living/carbon/alien/diona/proc/merge @@ -53,7 +53,7 @@ return src.loc << "You feel a pang of loss as [src] splits away from your biomass." - src << "You wiggle out of the depths of [src.loc]'s biomass and plop to the ground." + to_chat(src, "You wiggle out of the depths of [src.loc]'s biomass and plop to the ground.") var/mob/living/M = src.loc diff --git a/code/modules/mob/living/carbon/alien/diona/progression.dm b/code/modules/mob/living/carbon/alien/diona/progression.dm index b6c5b9b4fd..e259b18f27 100644 --- a/code/modules/mob/living/carbon/alien/diona/progression.dm +++ b/code/modules/mob/living/carbon/alien/diona/progression.dm @@ -5,7 +5,7 @@ return null if(amount_grown < max_grown) - src << "You are not yet ready for your growth..." + to_chat(src, "You are not yet ready for your growth...") return null src.split() diff --git a/code/modules/mob/living/carbon/alien/emote.dm b/code/modules/mob/living/carbon/alien/emote.dm index 175338e5ff..8d81aec4cf 100644 --- a/code/modules/mob/living/carbon/alien/emote.dm +++ b/code/modules/mob/living/carbon/alien/emote.dm @@ -16,7 +16,7 @@ return if (src.client) if (client.prefs.muted & MUTE_IC) - src << "You cannot send IC messages (muted)." + to_chat(src, "You cannot send IC messages (muted).") return if (stat) return @@ -115,7 +115,7 @@ playsound(src.loc, 'sound/misc/nymphchirp.ogg', 50, 0) m_type = 2 if("help") - src << "burp, chirp, choke, collapse, dance, drool, gasp, shiver, gnarl, jump, moan, nod, roll, scratch,\nscretch, shake, sign-#, sulk, sway, tail, twitch, whimper" + to_chat(src, "burp, chirp, choke, collapse, dance, drool, gasp, shiver, gnarl, jump, moan, nod, roll, scratch,\nscretch, shake, sign-#, sulk, sway, tail, twitch, whimper") else src << text("Invalid Emote: []", act) if ((message && src.stat == 0)) diff --git a/code/modules/mob/living/carbon/alien/larva/progression.dm b/code/modules/mob/living/carbon/alien/larva/progression.dm index 166ae53676..4e9c15552f 100644 --- a/code/modules/mob/living/carbon/alien/larva/progression.dm +++ b/code/modules/mob/living/carbon/alien/larva/progression.dm @@ -1,10 +1,10 @@ /mob/living/carbon/alien/larva/confirm_evolution() - src << "You are growing into a beautiful alien! It is time to choose a caste." - src << "There are three to choose from:" - src << "Hunters are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves." - src << "Sentinels are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters." - src << "Drones are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen." + to_chat(src, "You are growing into a beautiful alien! It is time to choose a caste.") + to_chat(src, "There are three to choose from:") + to_chat(src, "Hunters are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves.") + to_chat(src, "Sentinels are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters.") + to_chat(src, "Drones are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen.") var/alien_caste = alert(src, "Please choose which alien caste you shall belong to.",,"Hunter","Sentinel","Drone") return alien_caste ? "Xenomorph [alien_caste]" : null diff --git a/code/modules/mob/living/carbon/alien/life.dm b/code/modules/mob/living/carbon/alien/life.dm index f02d82a45f..2c39964ad6 100644 --- a/code/modules/mob/living/carbon/alien/life.dm +++ b/code/modules/mob/living/carbon/alien/life.dm @@ -150,7 +150,7 @@ adjustFireLoss((environment.temperature - (T0C+66))/5) // Might be too high, check in testing. if (fire) fire.icon_state = "fire2" if(prob(20)) - src << "You feel a searing heat!" + to_chat(src, "You feel a searing heat!") else if (fire) fire.icon_state = "fire0" diff --git a/code/modules/mob/living/carbon/alien/progression.dm b/code/modules/mob/living/carbon/alien/progression.dm index 832535d062..1c4c37b083 100644 --- a/code/modules/mob/living/carbon/alien/progression.dm +++ b/code/modules/mob/living/carbon/alien/progression.dm @@ -12,11 +12,11 @@ return if(handcuffed || legcuffed) - src << "You cannot evolve when you are cuffed." + to_chat(src, "You cannot evolve when you are cuffed.") return if(amount_grown < max_grown) - src << "You are not fully grown." + to_chat(src, "You are not fully grown.") return // confirm_evolution() handles choices and other specific requirements. diff --git a/code/modules/mob/living/carbon/alien/say.dm b/code/modules/mob/living/carbon/alien/say.dm index 1f787be9dd..8621339927 100644 --- a/code/modules/mob/living/carbon/alien/say.dm +++ b/code/modules/mob/living/carbon/alien/say.dm @@ -4,7 +4,7 @@ if(client) if(client.prefs.muted & MUTE_IC) - src << "You cannot speak in IC (Muted)." + to_chat(src, "You cannot speak in IC (Muted).") return message = sanitize(message) diff --git a/code/modules/mob/living/carbon/brain/emote.dm b/code/modules/mob/living/carbon/brain/emote.dm index 22efdc76c6..bc4623647b 100644 --- a/code/modules/mob/living/carbon/brain/emote.dm +++ b/code/modules/mob/living/carbon/brain/emote.dm @@ -17,7 +17,7 @@ return if (src.client) if (client.prefs.muted & MUTE_IC) - src << "You cannot send IC messages (muted)." + to_chat(src, "You cannot send IC messages (muted).") return if (stat) return @@ -28,15 +28,15 @@ if ("custom") return custom_emote(m_type, message) if ("alarm") - src << "You sound an alarm." + to_chat(src, "You sound an alarm.") message = "[src] sounds an alarm." m_type = 2 if ("alert") - src << "You let out a distressed noise." + to_chat(src, "You let out a distressed noise.") message = "[src] lets out a distressed noise." m_type = 2 if ("notice") - src << "You play a loud tone." + to_chat(src, "You play a loud tone.") message = "[src] plays a loud tone." m_type = 2 if ("flash") @@ -46,21 +46,21 @@ message = "[src] blinks." m_type = 1 if ("whistle") - src << "You whistle." + to_chat(src, "You whistle.") message = "[src] whistles." m_type = 2 if ("beep") - src << "You beep." + to_chat(src, "You beep.") message = "[src] beeps." m_type = 2 if ("boop") - src << "You boop." + to_chat(src, "You boop.") message = "[src] boops." m_type = 2 if ("help") - src << "alarm,alert,notice,flash,blink,whistle,beep,boop" + to_chat(src, "alarm,alert,notice,flash,blink,whistle,beep,boop") else - src << "Unusable emote '[act]'. Say *help for a list." + to_chat(src, "Unusable emote '[act]'. Say *help for a list.") if (message) log_emote(message, src) diff --git a/code/modules/mob/living/carbon/brain/life.dm b/code/modules/mob/living/carbon/brain/life.dm index 4ab220083d..c52584ba96 100644 --- a/code/modules/mob/living/carbon/brain/life.dm +++ b/code/modules/mob/living/carbon/brain/life.dm @@ -6,9 +6,9 @@ if (radiation > 100) radiation = 100 if(!container)//If it's not in an MMI - src << "You feel weak." + to_chat(src, "You feel weak.") else//Fluff-wise, since the brain can't detect anything itself, the MMI handles thing like that - src << "STATUS: CRITICAL AMOUNTS OF RADIATION DETECTED." + to_chat(src, "STATUS: CRITICAL AMOUNTS OF RADIATION DETECTED.") switch(radiation) if(1 to 49) @@ -23,9 +23,9 @@ if(prob(5)) radiation -= 5 if(!container) - src << "You feel weak." + to_chat(src, "You feel weak.") else - src << "STATUS: DANGEROUS LEVELS OF RADIATION DETECTED." + to_chat(src, "STATUS: DANGEROUS LEVELS OF RADIATION DETECTED.") updatehealth() if(75 to 100) @@ -115,7 +115,7 @@ silent = 1 if(!alert)//Sounds an alarm, but only once per 'level' emote("alarm") - src << "Major electrical distruption detected: System rebooting." + to_chat(src, "Major electrical distruption detected: System rebooting.") alert = 1 if(prob(75)) emp_damage -= 1 @@ -131,7 +131,7 @@ ear_damage = 1 if(!alert) emote("alert") - src << "Primary systems are now online." + to_chat(src, "Primary systems are now online.") alert = 1 if(prob(50)) emp_damage -= 1 @@ -143,13 +143,13 @@ if(2 to 9)//Low level of EMP damage, has few effects(handled elsewhere) if(!alert) emote("notice") - src << "System reboot nearly complete." + to_chat(src, "System reboot nearly complete.") alert = 1 if(prob(25)) emp_damage -= 1 if(1) alert = 0 - src << "All systems restored." + to_chat(src, "All systems restored.") emp_damage -= 1 return 1 diff --git a/code/modules/mob/living/carbon/brain/say.dm b/code/modules/mob/living/carbon/brain/say.dm index a09d8ce3e5..0493b2d92d 100644 --- a/code/modules/mob/living/carbon/brain/say.dm +++ b/code/modules/mob/living/carbon/brain/say.dm @@ -42,5 +42,5 @@ message_mode = null return R.radio.talk_into(src,message,message_mode,verb,speaking) else - src << "Your radio is disabled." + to_chat(src, "Your radio is disabled.") return 0 diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 505821640d..4d58c094ce 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -362,7 +362,7 @@ if(buckled) return 0 stop_pulling() - src << "You slipped on [slipped_on]!" + to_chat(src, "You slipped on [slipped_on]!") playsound(src.loc, 'sound/misc/slip.ogg', 50, 1, -3) Weaken(FLOOR(stun_duration/2, 1)) return 1 diff --git a/code/modules/mob/living/carbon/carbon_powers.dm b/code/modules/mob/living/carbon/carbon_powers.dm index 337f0b0ff1..163555a0c7 100644 --- a/code/modules/mob/living/carbon/carbon_powers.dm +++ b/code/modules/mob/living/carbon/carbon_powers.dm @@ -8,7 +8,7 @@ var/mob/living/simple_mob/animal/borer/B = has_brain_worms() if(B && B.host_brain) - src << "You withdraw your probosci, releasing control of [B.host_brain]" + to_chat(src, "You withdraw your probosci, releasing control of [B.host_brain]") B.detatch() @@ -17,7 +17,7 @@ verbs -= /mob/living/carbon/proc/spawn_larvae else - src << "ERROR NO BORER OR BRAINMOB DETECTED IN THIS MOB, THIS IS A BUG !" + to_chat(src, "ERROR NO BORER OR BRAINMOB DETECTED IN THIS MOB, THIS IS A BUG !") //Brain slug proc for tormenting the host. /mob/living/carbon/proc/punish_host() @@ -31,10 +31,10 @@ return if(B.host_brain.ckey) - src << "You send a punishing spike of psychic agony lancing into your host's brain." + to_chat(src, "You send a punishing spike of psychic agony lancing into your host's brain.") if (!can_feel_pain()) B.host_brain << "You feel a strange sensation as a foreign influence prods your mind." - src << "It doesn't seem to be as effective as you hoped." + to_chat(src, "It doesn't seem to be as effective as you hoped.") else B.host_brain << "Horrific, burning agony lances through you, ripping a soundless scream from your trapped mind!" @@ -49,7 +49,7 @@ return if(B.chemicals >= 100) - src << "Your host twitches and quivers as you rapidly excrete a larva from your sluglike body." + to_chat(src, "Your host twitches and quivers as you rapidly excrete a larva from your sluglike body.") visible_message("\The [src] heaves violently, expelling a rush of vomit and a wriggling, sluglike creature!") B.chemicals -= 100 B.has_reproduced = 1 @@ -58,5 +58,5 @@ new /mob/living/simple_mob/animal/borer(get_turf(src)) else - src << "You do not have enough chemicals stored to reproduce." + to_chat(src, "You do not have enough chemicals stored to reproduce.") return \ No newline at end of file diff --git a/code/modules/mob/living/carbon/give.dm b/code/modules/mob/living/carbon/give.dm index 5d4f17840a..8825f043b7 100644 --- a/code/modules/mob/living/carbon/give.dm +++ b/code/modules/mob/living/carbon/give.dm @@ -12,7 +12,7 @@ if(!I) I = src.get_inactive_hand() if(!I) - src << "You don't have anything in your hands to give to \the [target]." + to_chat(src, "You don't have anything in your hands to give to \the [target].") return if(alert(target,"[src] wants to give you \a [I]. Will you accept it?","Item Offer","Yes","No") == "No") //VOREStation Edit - make yes on the left to be consistent with other dialogs @@ -23,18 +23,18 @@ if(!I) return if(!Adjacent(target)) - src << "You need to stay in reaching distance while giving an object." + to_chat(src, "You need to stay in reaching distance while giving an object.") target << "\The [src] moved too far away." return if(I.loc != src || !src.item_is_in_hands(I)) - src << "You need to keep the item in your hands." + to_chat(src, "You need to keep the item in your hands.") target << "\The [src] seems to have given up on passing \the [I] to you." return if(target.hands_are_full()) target << "Your hands are full." - src << "Their hands are full." + to_chat(src, "Their hands are full.") return if(src.unEquip(I)) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index a8fd5176e8..6eaa3a36d8 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -33,7 +33,7 @@ if("ping", "beep", "buzz", "yes", "ye", "no", "rcough", "rsneeze") if(!isSynthetic()) - src << "You are not a synthetic." + to_chat(src, "You are not a synthetic.") return var/M = null @@ -83,7 +83,7 @@ if("squish") /* VOREStation Removal Start - Eh. People can squish maybe. if(species.bump_flag != SLIME) //This should definitely do it. - src << "You are not a slime thing!" + to_chat(src, "You are not a slime thing!") return */ //VOREStation Removal End playsound(src.loc, 'sound/effects/slime_squish.ogg', 50, 0) //Credit to DrMinky (freesound.org) for the sound. @@ -139,7 +139,7 @@ if (src.client) if (client.prefs.muted & MUTE_IC) - src << "You cannot send IC messages (muted)." + to_chat(src, "You cannot send IC messages (muted).") return if (stat) return @@ -706,7 +706,7 @@ if("vomit") if(isSynthetic()) - src << "You are unable to vomit." + to_chat(src, "You are unable to vomit.") return vomit() return @@ -726,13 +726,13 @@ message = "makes a light spitting noise, a poor attempt at a whistle." if ("help") - src << "blink, blink_r, blush, bow-(none)/mob, burp, choke, chuckle, clap, collapse, cough, cry, custom, deathgasp, drool, eyebrow, fastsway/qwag, \ + to_chat(src, "blink, blink_r, blush, bow-(none)/mob, burp, choke, chuckle, clap, collapse, cough, cry, custom, deathgasp, drool, eyebrow, fastsway/qwag, \ frown, gasp, giggle, glare-(none)/mob, grin, groan, grumble, handshake, hug-(none)/mob, laugh, look-(none)/mob, moan, mumble, nod, pale, point-atom, \ raise, salute, scream, sneeze, shake, shiver, shrug, sigh, signal-#1-10, slap-(none)/mob, smile, sneeze, sniff, snore, stare-(none)/mob, stopsway/swag, sway/wag, swish, tremble, twitch, \ - twitch_v, vomit, whimper, wink, yawn. Synthetics: beep, buzz, yes, no, rcough, rsneeze, ping" + twitch_v, vomit, whimper, wink, yawn. Synthetics: beep, buzz, yes, no, rcough, rsneeze, ping") else - src << "Unusable emote '[act]'. Say *help for a list." + to_chat(src, "Unusable emote '[act]'. Say *help for a list.") if (message) custom_emote(m_type,message) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 51cf0fce5f..dae0723fd4 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -715,7 +715,7 @@ if(species.has_fine_manipulation) return 1 if(!silent) - src << "You don't have the dexterity to use that!" + to_chat(src, "You don't have the dexterity to use that!") return 0 /mob/living/carbon/human/abiotic(var/full_body = 0) @@ -1057,7 +1057,7 @@ if(!istype(O,/obj/item/weapon/implant) && prob(5)) //Moving with things stuck in you could be bad. // All kinds of embedded objects cause bleeding. if(!can_feel_pain(organ.organ_tag)) - src << "You feel [O] moving inside your [organ.name]." + to_chat(src, "You feel [O] moving inside your [organ.name].") else var/msg = pick( \ "A spike of pain jolts your [organ.name] as you bump [O] inside.", \ @@ -1223,26 +1223,26 @@ verbs -= /mob/living/carbon/human/proc/bloody_doodle if (src.gloves) - src << "Your [src.gloves] are getting in the way." + to_chat(src, "Your [src.gloves] are getting in the way.") return var/turf/simulated/T = src.loc if (!istype(T)) //to prevent doodling out of mechs and lockers - src << "You cannot reach the floor." + to_chat(src, "You cannot reach the floor.") return var/direction = input(src,"Which way?","Tile selection") as anything in list("Here","North","South","East","West") if (direction != "Here") T = get_step(T,text2dir(direction)) if (!istype(T)) - src << "You cannot doodle there." + to_chat(src, "You cannot doodle there.") return var/num_doodles = 0 for (var/obj/effect/decal/cleanable/blood/writing/W in T) num_doodles++ if (num_doodles > 4) - src << "There is no space to write on!" + to_chat(src, "There is no space to write on!") return var/max_length = bloody_hands * 30 //tweeter style @@ -1255,7 +1255,7 @@ if (length(message) > max_length) message += "-" - src << "You ran out of blood to write with!" + to_chat(src, "You ran out of blood to write with!") var/obj/effect/decal/cleanable/blood/writing/W = new(T) W.basecolor = (hand_blood_color) ? hand_blood_color : "#A10808" @@ -1415,7 +1415,7 @@ return if(self) - src << "You brace yourself to relocate your [current_limb.joint]..." + to_chat(src, "You brace yourself to relocate your [current_limb.joint]...") else U << "You begin to relocate [S]'s [current_limb.joint]..." @@ -1425,7 +1425,7 @@ return if(self) - src << "You pop your [current_limb.joint] back in!" + to_chat(src, "You pop your [current_limb.joint] back in!") else U << "You pop [S]'s [current_limb.joint] back in!" S << "[U] pops your [current_limb.joint] back in!" @@ -1510,11 +1510,11 @@ if(!UWC) return var/datum/category_item/underwear/UWI = all_underwear[UWC.name] if(!UWI || UWI.name == "None") - src << "You do not have [UWC.gender==PLURAL ? "[UWC.display_name]" : "\a [UWC.display_name]"]." + to_chat(src, "You do not have [UWC.gender==PLURAL ? "[UWC.display_name]" : "a [UWC.display_name]"].") return hide_underwear[UWC.name] = !hide_underwear[UWC.name] update_underwear(1) - src << "You [hide_underwear[UWC.name] ? "take off" : "put on"] your [UWC.display_name]." + to_chat(src, "You [hide_underwear[UWC.name] ? "take off" : "put on"] your [UWC.display_name].") return /mob/living/carbon/human/verb/pull_punches() @@ -1524,7 +1524,7 @@ if(stat) return pulling_punches = !pulling_punches - src << "You are now [pulling_punches ? "pulling your punches" : "not pulling your punches"]." + to_chat(src, "You are now [pulling_punches ? "pulling your punches" : "not pulling your punches"].") return /mob/living/carbon/human/should_have_organ(var/organ_check) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 1d7dd6d57a..4572f8cf85 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -98,7 +98,7 @@ if(istype(H) && health > config.health_threshold_dead) adjustOxyLoss(-(min(getOxyLoss(), 5))) updatehealth() - src << "You feel a breath of fresh air enter your lungs. It feels good." + to_chat(src, "You feel a breath of fresh air enter your lungs. It feels good.") else if(!(M == src && apply_pressure(M, M.zone_sel.selecting))) help_shake_act(M) diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 1f211fe95b..dd42af027e 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -253,21 +253,21 @@ if (candidates.len) var/obj/item/organ/external/O = pick(candidates) O.mutate() - src << "Something is not right with your [O.name]..." + to_chat(src, "Something is not right with your [O.name]...") return else if (prob(heal_prob)) for (var/obj/item/organ/external/O in organs) if (O.status & ORGAN_MUTATED) O.unmutate() - src << "Your [O.name] is shaped normally again." + to_chat(src, "Your [O.name] is shaped normally again.") return if (getCloneLoss() < 1) for (var/obj/item/organ/external/O in organs) if (O.status & ORGAN_MUTATED) O.unmutate() - src << "Your [O.name] is shaped normally again." + to_chat(src, "Your [O.name] is shaped normally again.") BITSET(hud_updateflag, HEALTH_HUD) // Defined here solely to take species flags into account without having to recast at mob/living level. diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 6bd592aed6..57cef190ec 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -416,7 +416,7 @@ emp_act //If the armor absorbs all of the damage, skip the rest of the calculations var/soaked = get_armor_soak(affecting, "melee", O.armor_penetration) if(soaked >= throw_damage) - src << "Your armor absorbs the force of [O.name]!" + to_chat(src, "Your armor absorbs the force of [O.name]!") return var/armor = run_armor_check(affecting, "melee", O.armor_penetration, "Your armor has protected your [hit_area].", "Your armor has softened hit to your [hit_area].") //I guess "melee" is the best fit here diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index ec10dc90f8..8c4eba8a33 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -8,9 +8,9 @@ return 1 if(feedback) if(status[1] == HUMAN_EATING_NO_MOUTH) - src << "Where do you intend to put \the [food]? You don't have a mouth!" + to_chat(src, "Where do you intend to put \the [food]? You don't have a mouth!") else if(status[1] == HUMAN_EATING_BLOCKED_MOUTH) - src << "\The [status[2]] is in the way!" + to_chat(src, "\The [status[2]] is in the way!") return 0 /mob/living/carbon/human/can_force_feed(var/feeder, var/food, var/feedback = 1) diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm index a3c5e65470..9309100cf6 100644 --- a/code/modules/mob/living/carbon/human/human_powers.dm +++ b/code/modules/mob/living/carbon/human/human_powers.dm @@ -42,7 +42,7 @@ return if(stat || paralysis || stunned || weakened || lying || restrained() || buckled) - src << "You cannot tackle someone in your current state." + to_chat(src, "You cannot tackle someone in your current state.") return var/list/choices = list() @@ -61,7 +61,7 @@ return if(stat || paralysis || stunned || weakened || lying || restrained() || buckled) - src << "You cannot tackle in your current state." + to_chat(src, "You cannot tackle in your current state.") return last_special = world.time + 50 @@ -103,7 +103,7 @@ var/mob/M = targets[target] if(istype(M, /mob/observer/dead) || M.stat == DEAD) - src << "Not even a [src.species.name] can speak to the dead." + to_chat(src, "Not even a [src.species.name] can speak to the dead.") return log_say("(COMMUNE to [key_name(M)]) [text]",src) @@ -138,7 +138,7 @@ if(msg) log_say("(PWHISPER to [key_name(M)]) [msg]", src) M << "You hear a strange, alien voice in your head... [msg]" - src << "You said: \"[msg]\" to [M]" + to_chat(src, "You said: \"[msg]\" to [M]") return /mob/living/carbon/human/proc/diona_split_nymph() @@ -189,7 +189,7 @@ if(stat == DEAD) return - src << "Performing self-diagnostic, please wait..." + to_chat(src, "Performing self-diagnostic, please wait...") sleep(50) var/output = "Self-Diagnostic Results:\n" @@ -226,17 +226,17 @@ set category = "Abilities" if(incapacitated()) - src << "You need to recover before you can use this ability." + to_chat(src, "You need to recover before you can use this ability.") return if(world.time < next_sonar_ping) - src << "You need another moment to focus." + to_chat(src, "You need another moment to focus.") return if(is_deaf() || is_below_sound_pressure(get_turf(src))) - src << "You are for all intents and purposes currently deaf!" + to_chat(src, "You are for all intents and purposes currently deaf!") return next_sonar_ping += 10 SECONDS var/heard_something = FALSE - src << "You take a moment to listen in to your environment..." + to_chat(src, "You take a moment to listen in to your environment...") for(var/mob/living/L in range(client.view, src)) var/turf/T = get_turf(L) if(!T || L == src || L.stat == DEAD || is_below_sound_pressure(T)) @@ -263,7 +263,7 @@ feedback += "" src << jointext(feedback,null) if(!heard_something) - src << "You hear no movement but your own." + to_chat(src, "You hear no movement but your own.") /mob/living/carbon/human/proc/regenerate() set name = "Regenerate" diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index a51e04b535..ee2082401c 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -327,7 +327,7 @@ This saves us from having to call add_fingerprint() any time something is put in if(C.attempt_attach_accessory(A, src)) return else - src << "You are trying to equip this item to an unsupported inventory slot. How the heck did you manage that? Stop it..." + to_chat(src, "You are trying to equip this item to an unsupported inventory slot. How the heck did you manage that? Stop it...") return if((W == src.l_hand) && (slot != slot_l_hand)) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 5c0cab75f7..2ff9409007 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -189,7 +189,7 @@ if (disabilities & EPILEPSY) if ((prob(1) && paralysis < 1)) - src << "You have a seizure!" + to_chat(src, "You have a seizure!") for(var/mob/O in viewers(src, null)) if(O == src) continue @@ -223,19 +223,19 @@ custom_pain("Your head feels numb and painful.", 10) if(getBrainLoss() >= 15) if(4 <= rn && rn <= 6) if(eye_blurry <= 0) - src << "It becomes hard to see for some reason." + to_chat(src, "It becomes hard to see for some reason.") eye_blurry = 10 if(getBrainLoss() >= 35) if(7 <= rn && rn <= 9) if(get_active_hand()) - src << "Your hand won't respond properly, you drop what you're holding!" + to_chat(src, "Your hand won't respond properly, you drop what you're holding!") drop_item() if(getBrainLoss() >= 45) if(10 <= rn && rn <= 12) if(prob(50)) - src << "You suddenly black out!" + to_chat(src, "You suddenly black out!") Paralyse(10) else if(!lying) - src << "Your legs won't respond properly, you fall down!" + to_chat(src, "Your legs won't respond properly, you fall down!") Weaken(10) @@ -294,13 +294,13 @@ if(!isSynthetic()) if(prob(5) && prob(100 * RADIATION_SPEED_COEFFICIENT)) radiation -= 5 * RADIATION_SPEED_COEFFICIENT - src << "You feel weak." + to_chat(src, "You feel weak.") Weaken(3) if(!lying) emote("collapse") if(prob(5) && prob(100 * RADIATION_SPEED_COEFFICIENT) && species.get_bodytype() == SPECIES_HUMAN) //apes go bald if((h_style != "Bald" || f_style != "Shaved" )) - src << "Your hair falls out." + to_chat(src, "Your hair falls out.") h_style = "Bald" f_style = "Shaved" update_hair() @@ -312,7 +312,7 @@ if(prob(5)) take_overall_damage(0, 5 * RADIATION_SPEED_COEFFICIENT, used_weapon = "Radiation Burns") if(prob(1)) - src << "You feel strange!" + to_chat(src, "You feel strange!") adjustCloneLoss(5 * RADIATION_SPEED_COEFFICIENT) emote("gasp") @@ -484,7 +484,7 @@ if(exhaled_pp > safe_exhaled_max) if (!co2_alert|| prob(15)) var/word = pick("extremely dizzy","short of breath","faint","confused") - src << "You feel [word]." + to_chat(src, "You feel [word].") adjustOxyLoss(HUMAN_MAX_OXYLOSS) co2_alert = 1 @@ -493,7 +493,7 @@ else if(exhaled_pp > safe_exhaled_max * 0.7) if (!co2_alert || prob(1)) var/word = pick("dizzy","short of breath","faint","momentarily confused") - src << "You feel [word]." + to_chat(src, "You feel [word].") //scale linearly from 0 to 1 between safe_exhaled_max and safe_exhaled_max*0.7 var/ratio = 1.0 - (safe_exhaled_max - exhaled_pp)/(safe_exhaled_max*0.3) @@ -507,7 +507,7 @@ else if(exhaled_pp > safe_exhaled_max * 0.6) if (prob(0.3)) var/word = pick("a little dizzy","short of breath") - src << "You feel [word]." + to_chat(src, "You feel [word].") else co2_alert = 0 @@ -555,10 +555,10 @@ if(breath.temperature <= species.breath_cold_level_1) if(prob(20)) - src << "You feel your face freezing and icicles forming in your lungs!" + to_chat(src, "You feel your face freezing and icicles forming in your lungs!") else if(breath.temperature >= species.breath_heat_level_1) if(prob(20)) - src << "You feel your face burning and a searing heat in your lungs!" + to_chat(src, "You feel your face burning and a searing heat in your lungs!") if(breath.temperature >= species.breath_heat_level_1) if(breath.temperature < species.breath_heat_level_2) @@ -987,7 +987,7 @@ adjustBrainLoss(brainOxPercent * oxyloss) if(halloss >= species.total_health) - src << "You're in too much pain to keep going..." + to_chat(src, "You're in too much pain to keep going...") src.visible_message("[src] slumps to the ground, too weak to continue fighting.") Paralyse(10) setHalLoss(species.total_health - 1) @@ -1528,22 +1528,22 @@ stuttering = max(stuttering, 5) if(shock_stage == 40) - src << "[pick("The pain is excruciating", "Please, just end the pain", "Your whole body is going numb")]!" + to_chat(src, "[pick("The pain is excruciating", "Please, just end the pain", "Your whole body is going numb")]!") if (shock_stage >= 60) if(shock_stage == 60) emote("me",1,"'s body becomes limp.") if (prob(2)) - src << "[pick("The pain is excruciating", "Please, just end the pain", "Your whole body is going numb")]!" + to_chat(src, "[pick("The pain is excruciating", "Please, just end the pain", "Your whole body is going numb")]!") Weaken(20) if(shock_stage >= 80) if (prob(5)) - src << "[pick("The pain is excruciating", "Please, just end the pain", "Your whole body is going numb")]!" + to_chat(src, "[pick("The pain is excruciating", "Please, just end the pain", "Your whole body is going numb")]!") Weaken(20) if(shock_stage >= 120) if (prob(2)) - src << "[pick("You black out", "You feel like you could die any moment now", "You're about to lose consciousness")]!" + to_chat(src, "[pick("You black out", "You feel like you could die any moment now", "You are about to lose consciousness")]!") Paralyse(5) if(shock_stage == 150) diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm index 9567949247..20255bbae9 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm @@ -22,20 +22,20 @@ var/obj/item/organ/internal/xenos/plasmavessel/P = internal_organs_by_name[O_PLASMA] if(!istype(P)) - src << "Your plasma vessel has been removed!" + to_chat(src, "Your plasma vessel has been removed!") return if(needs_organ) var/obj/item/organ/internal/I = internal_organs_by_name[needs_organ] if(!I) - src << "Your [needs_organ] has been removed!" + to_chat(src, "Your [needs_organ] has been removed!") return else if((I.status & ORGAN_CUT_AWAY) || I.is_broken()) - src << "Your [needs_organ] is too damaged to function!" + to_chat(src, "Your [needs_organ] is too damaged to function!") return if(P.stored_plasma < cost) - src << "You don't have enough phoron stored to do that." + to_chat(src, "You don't have enough phoron stored to do that.") return 0 if(needs_foundation) @@ -46,7 +46,7 @@ if(!(istype(T,/turf/space))) has_foundation = 1 if(!has_foundation) - src << "You need a solid foundation to do that on." + to_chat(src, "You need a solid foundation to do that on.") return 0 P.stored_plasma -= cost @@ -59,12 +59,12 @@ set category = "Abilities" if (get_dist(src,M) <= 1) - src << "You need to be closer." + to_chat(src, "You need to be closer.") return var/obj/item/organ/internal/xenos/plasmavessel/I = M.internal_organs_by_name[O_PLASMA] if(!istype(I)) - src << "Their plasma vessel is missing." + to_chat(src, "Their plasma vessel is missing.") return var/amount = input("Amount:", "Transfer Plasma to [M]") as num @@ -73,7 +73,7 @@ if(check_alien_ability(amount,0,O_PLASMA)) M.gain_plasma(amount) M << "[src] has transfered [amount] plasma to you." - src << "You have transferred [amount] plasma to [M]." + to_chat(src, "You have transferred [amount] plasma to [M].") return // Queen verbs. @@ -84,12 +84,12 @@ set category = "Abilities" if(!config.aliens_allowed) - src << "You begin to lay an egg, but hesitate. You suspect it isn't allowed." + to_chat(src, "You begin to lay an egg, but hesitate. You suspect it isn't allowed.") verbs -= /mob/living/carbon/human/proc/lay_egg return if(locate(/obj/effect/alien/egg) in get_turf(src)) - src << "There's already an egg here." + to_chat(src, "There's already an egg here.") return if(check_alien_ability(75,1,O_EGG)) @@ -105,7 +105,7 @@ set category = "Abilities" if(alien_queen_exists()) - src << "We already have an active queen." + to_chat(src, "We already have an active queen.") return if(check_alien_ability(500)) @@ -156,7 +156,7 @@ set category = "Abilities" if(!O in oview(1)) - src << "[O] is too far away." + to_chat(src, "[O] is too far away.") return // OBJ CHECK @@ -177,7 +177,7 @@ cannot_melt = 1 if(cannot_melt) - src << "You cannot dissolve this object." + to_chat(src, "You cannot dissolve this object.") return if(check_alien_ability(200,0,O_ACID)) @@ -270,7 +270,7 @@ return if(stat || paralysis || stunned || weakened || lying || restrained() || buckled) - src << "You cannot leap in your current state." + to_chat(src, "You cannot leap in your current state.") return var/list/choices = list() @@ -289,7 +289,7 @@ return if(stat || paralysis || stunned || weakened || lying || restrained() || buckled) - src << "You cannot leap in your current state." + to_chat(src, "You cannot leap in your current state.") return last_special = world.time + 75 @@ -304,7 +304,7 @@ if(status_flags & LEAPING) status_flags &= ~LEAPING if(!src.Adjacent(T)) - src << "You miss!" + to_chat(src, "You miss!") return T.Weaken(3) @@ -312,7 +312,7 @@ var/use_hand = "left" if(l_hand) if(r_hand) - src << "You need to have one hand free to grab someone." + to_chat(src, "You need to have one hand free to grab someone.") return else use_hand = "right" @@ -338,16 +338,16 @@ return if(stat || paralysis || stunned || weakened || lying) - src << "You cannot do that in your current state." + to_chat(src, "You cannot do that in your current state.") return var/obj/item/weapon/grab/G = locate() in src if(!G || !istype(G)) - src << "You are not grabbing anyone." + to_chat(src, "You are not grabbing anyone.") return if(G.state < GRAB_AGGRESSIVE) - src << "You must have an aggressive grab to gut your prey!" + to_chat(src, "You must have an aggressive grab to gut your prey!") return last_special = world.time + 50 diff --git a/code/modules/mob/living/carbon/metroid/emote.dm b/code/modules/mob/living/carbon/metroid/emote.dm index 6375f23b2a..6fccaddb8f 100644 --- a/code/modules/mob/living/carbon/metroid/emote.dm +++ b/code/modules/mob/living/carbon/metroid/emote.dm @@ -16,7 +16,7 @@ return if (src.client) if (client.prefs.muted & MUTE_IC) - src << "You cannot send IC messages (muted)." + to_chat(src, "You cannot send IC messages (muted).") return if (stat) return @@ -83,10 +83,10 @@ updateicon = 1 if ("help") //This is an exception - src << "Help for slime emotes. You can use these emotes with say \"*emote\":\n\nbounce, custom, jiggle, light, moan, shiver, sway, twitch, vibrate. You can also set your face with: \n\nnomood, pout, sad, angry, frown, smile" + to_chat(src, "Help for slime emotes. You can use these emotes with say \"*emote\":\n\nbounce, custom, jiggle, light, moan, shiver, sway, twitch, vibrate. You can also set your face with: \n\nnomood, pout, sad, angry, frown, smile") else - src << "Unusable emote '[act]'. Say *help for a list." + to_chat(src, "Unusable emote '[act]'. Say *help for a list.") if ((message && src.stat == 0)) if (m_type & 1) for(var/mob/O in viewers(src, null)) diff --git a/code/modules/mob/living/carbon/metroid/life.dm b/code/modules/mob/living/carbon/metroid/life.dm index 5cf6395b7d..f11d9d137d 100644 --- a/code/modules/mob/living/carbon/metroid/life.dm +++ b/code/modules/mob/living/carbon/metroid/life.dm @@ -149,7 +149,7 @@ nutrition = 0 adjustToxLoss(rand(1,3)) if (client && prob(5)) - src << "You are starving!" + to_chat(src, "You are starving!") else if (nutrition >= get_grow_nutrition() && amount_grown < 10) nutrition -= 20 diff --git a/code/modules/mob/living/carbon/metroid/powers.dm b/code/modules/mob/living/carbon/metroid/powers.dm index 54d35a71f8..a1fc03445e 100644 --- a/code/modules/mob/living/carbon/metroid/powers.dm +++ b/code/modules/mob/living/carbon/metroid/powers.dm @@ -4,7 +4,7 @@ return if (Victim) - src << "I am already feeding..." + to_chat(src, "I am already feeding...") return var t = invalidFeedTarget(M) @@ -52,7 +52,7 @@ Victim.adjustBruteLoss(is_adult ? rand(7, 15) : rand(4, 12)) else - src << "[pick("This subject is incompatable", "This subject does not have a life energy", "This subject is empty", "I am not satisified", "I can not feed from this subject", "I do not feel nourished", "This subject is not food")]..." + to_chat(src, "[pick("This subject is incompatable", "This subject does not have a life energy", "This subject is empty", "I am not satisified", "I can not feed from this subject", "I do not feel nourished", "This subject is not food")]...") Feedstop() break @@ -92,7 +92,7 @@ ++Friends[Victim.LAssailant] else - src << "This subject does not have a strong enough life energy anymore..." + to_chat(src, "This subject does not have a strong enough life energy anymore...") Victim = null @@ -111,7 +111,7 @@ set desc = "This will let you evolve from baby to adult slime." if(stat) - src << "I must be conscious to do this..." + to_chat(src, "I must be conscious to do this...") return if(!is_adult) @@ -122,22 +122,22 @@ regenerate_icons() name = text("[colour] [is_adult ? "adult" : "baby"] slime ([number])") else - src << "I am not ready to evolve yet..." + to_chat(src, "I am not ready to evolve yet...") else - src << "I have already evolved..." + to_chat(src, "I have already evolved...") /mob/living/carbon/slime/verb/Reproduce() set category = "Slime" set desc = "This will make you split into four Slimes." if(stat) - src << "I must be conscious to do this..." + to_chat(src, "I must be conscious to do this...") return if(is_adult) if(amount_grown >= 10) if(stat) - src << "I must be conscious to do this..." + to_chat(src, "I must be conscious to do this...") return var/list/babies = list() @@ -163,6 +163,6 @@ new_slime.key = src.key qdel(src) else - src << "I am not ready to reproduce yet..." + to_chat(src, "I am not ready to reproduce yet...") else - src << "I am not old enough to reproduce yet..." + to_chat(src, "I am not old enough to reproduce yet...") diff --git a/code/modules/mob/living/carbon/resist.dm b/code/modules/mob/living/carbon/resist.dm index 1607559336..248fe5c6a6 100644 --- a/code/modules/mob/living/carbon/resist.dm +++ b/code/modules/mob/living/carbon/resist.dm @@ -135,7 +135,7 @@ update_inv_handcuffed() /mob/living/carbon/proc/break_legcuffs() - src << "You attempt to break your legcuffs. (This will take around 5 seconds and you need to stand still)" + to_chat(src, "You attempt to break your legcuffs. (This will take around 5 seconds and you need to stand still)") visible_message("[src] is trying to break the legcuffs!") if(do_after(src, 5 SECONDS, incapacitation_flags = INCAPACITATION_DEFAULT & ~INCAPACITATION_RESTRAINED)) diff --git a/code/modules/mob/living/default_language.dm b/code/modules/mob/living/default_language.dm index b9eae4b5a1..f5388f4735 100644 --- a/code/modules/mob/living/default_language.dm +++ b/code/modules/mob/living/default_language.dm @@ -17,9 +17,9 @@ to_chat(src, "You are unable to speak that language.") return - src << "You will now speak [language] if you do not specify a language when speaking." + to_chat(src, "You will now speak [language] if you do not specify a language when speaking.") else - src << "You will now speak whatever your standard default language is if you do not specify one when speaking." + to_chat(src, "You will now speak whatever your standard default language is if you do not specify one when speaking.") default_language = language // Silicons can't neccessarily speak everything in their languages list @@ -31,6 +31,6 @@ set category = "IC" if(default_language) - src << "You are currently speaking [default_language] by default." + to_chat(src, "You are currently speaking [default_language] by default.") else - src << "Your current default language is your species or mob type default." + to_chat(src, "Your current default language is your species or mob type default.") diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 6384e90466..28f5644840 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -29,15 +29,15 @@ armor = max(armor - armour_pen, 0) //Armor pen makes armor less effective. if(armor >= 100) if(absorb_text) - src << "[absorb_text]" + to_chat(src, "[absorb_text]") else - src << "Your armor absorbs the blow!" + to_chat(src, "Your armor absorbs the blow!") else if(armor > 0) if(soften_text) - src << "[soften_text]" + to_chat(src, "[soften_text]") else - src << "Your armor softens the blow!" + to_chat(src, "Your armor softens the blow!") if(Debug2) world.log << "## DEBUG: Armor when [src] was attacked was [armor]." return armor diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index f5c9e2580e..dbfff1d8cc 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -182,12 +182,12 @@ var/list/ai_verbs_default = list( return /mob/living/silicon/ai/proc/on_mob_init() - src << "You are playing the station's AI. The AI cannot move, but can interact with many objects while viewing them (through cameras)." - src << "To look at other parts of the station, click on yourself to get a camera menu." - src << "While observing through a camera, you can use most (networked) devices which you can see, such as computers, APCs, intercoms, doors, etc." - src << "To use something, simply click on it." - src << "Use say #b to speak to your cyborgs through binary. Use say :h to speak from an active holopad." - src << "For department channels, use the following say commands:" + to_chat(src, "You are playing the station's AI. The AI cannot move, but can interact with many objects while viewing them (through cameras).") + to_chat(src, "To look at other parts of the station, click on yourself to get a camera menu.") + to_chat(src, "While observing through a camera, you can use most (networked) devices which you can see, such as computers, APCs, intercoms, doors, etc.") + to_chat(src, "To use something, simply click on it.") + to_chat(src, "Use say #b to speak to your cyborgs through binary. Use say :h to speak from an active holopad.") + to_chat(src, "For department channels, use the following say commands:") var/radio_text = "" for(var/i = 1 to common_radio.channels.len) @@ -207,7 +207,7 @@ var/list/ai_verbs_default = list( if (malf && !(mind in malf.current_antagonists)) show_laws() - src << "These laws may be changed by other players, or by you being the traitor." + to_chat(src, "These laws may be changed by other players, or by you being the traitor.") job = "AI" setup_icon() @@ -359,7 +359,7 @@ var/list/ai_verbs_default = list( return if(message_cooldown) - src << "Please allow one minute to pass between announcements." + to_chat(src, "Please allow one minute to pass between announcements.") return var/input = input(usr, "Please write a message to announce to the station crew.", "A.I. Announcement") if(!input) @@ -465,7 +465,7 @@ var/list/ai_verbs_default = list( if(H) H.attack_ai(src) //may as well recycle else - src << "Unable to locate the holopad." + to_chat(src, "Unable to locate the holopad.") if (href_list["track"]) var/mob/target = locate(href_list["track"]) in mob_list @@ -473,7 +473,7 @@ var/list/ai_verbs_default = list( if(target && (!istype(target, /mob/living/carbon/human) || html_decode(href_list["trackname"]) == target:get_face_name())) ai_actual_track(target) else - src << "System error. Cannot locate [html_decode(href_list["trackname"])]." + to_chat(src, "System error. Cannot locate [html_decode(href_list["trackname"])].") return return @@ -545,7 +545,7 @@ var/list/ai_verbs_default = list( if(network in C.network) eyeobj.setLoc(get_turf(C)) break - src << "Switched to [network] camera network." + to_chat(src, "Switched to [network] camera network.") //End of code by Mord_Sith /mob/living/silicon/ai/proc/ai_statuschange() @@ -680,7 +680,7 @@ var/list/ai_verbs_default = list( return camera_light_on = !camera_light_on - src << "Camera lights [camera_light_on ? "activated" : "deactivated"]." + to_chat(src, "Camera lights [camera_light_on ? "activated" : "deactivated"].") if(!camera_light_on) if(camera) camera.set_light(0) @@ -754,7 +754,7 @@ var/list/ai_verbs_default = list( if(check_unable(AI_CHECK_RADIO)) return - src << "Accessing Subspace Transceiver control..." + to_chat(src, "Accessing Subspace Transceiver control...") if (src.aiRadio) src.aiRadio.interact(src) @@ -780,18 +780,22 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/proc/check_unable(var/flags = 0, var/feedback = 1) if(stat == DEAD) - if(feedback) src << "You are dead!" + if(feedback) + to_chat(src, "You are dead!") return 1 if(aiRestorePowerRoutine) - if(feedback) src << "You lack power!" + if(feedback) + to_chat(src, "You lack power!") return 1 if((flags & AI_CHECK_WIRELESS) && src.control_disabled) - if(feedback) src << "Wireless control is disabled!" + if(feedback) + to_chat(src, "Wireless control is disabled!") return 1 if((flags & AI_CHECK_RADIO) && src.aiRadio.disabledAi) - if(feedback) src << "System Error - Transceiver Disabled!" + if(feedback) + to_chat(src, "System Error - Transceiver Disabled!") return 1 return 0 diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index aadd82167c..0d429fa089 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -36,7 +36,7 @@ malf_process() if(APU_power && (hardware_integrity() < 50)) - src << "APU GENERATOR FAILURE! (System Damaged)" + to_chat(src, "APU GENERATOR FAILURE! (System Damaged)") stop_apu(1) var/blind = 0 @@ -55,13 +55,13 @@ src.see_invisible = SEE_INVISIBLE_LIVING if (aiRestorePowerRoutine==2) - src << "Alert cancelled. Power has been restored without our assistance." + to_chat(src, "Alert cancelled. Power has been restored without our assistance.") aiRestorePowerRoutine = 0 clear_fullscreen("blind") updateicon() return else if (aiRestorePowerRoutine==3) - src << "Alert cancelled. Power has been restored." + to_chat(src, "Alert cancelled. Power has been restored.") aiRestorePowerRoutine = 0 clear_fullscreen("blind") updateicon() @@ -89,27 +89,27 @@ //Now to tell the AI why they're blind and dying slowly. - src << "You've lost power!" + to_chat(src, "You've lost power!") disconnect_shell(message = "Disconnected from remote shell due to depowered networking interface.") spawn(20) - src << "Backup battery online. Scanners, camera, and radio interface offline. Beginning fault-detection." + to_chat(src, "Backup battery online. Scanners, camera, and radio interface offline. Beginning fault-detection.") sleep(50) if (loc.power_equip) if (!istype(T, /turf/space)) - src << "Alert cancelled. Power has been restored without our assistance." + to_chat(src, "Alert cancelled. Power has been restored without our assistance.") aiRestorePowerRoutine = 0 clear_fullscreen("blind") return - src << "Fault confirmed: missing external power. Shutting down main control system to save power." + to_chat(src, "Fault confirmed: missing external power. Shutting down main control system to save power.") sleep(20) - src << "Emergency control system online. Verifying connection to power network." + to_chat(src, "Emergency control system online. Verifying connection to power network.") sleep(50) if (istype(T, /turf/space)) - src << "Unable to verify! No power connection detected!" + to_chat(src, "Unable to verify! No power connection detected!") aiRestorePowerRoutine = 2 return - src << "Connection verified. Searching for APC in power network." + to_chat(src, "Connection verified. Searching for APC in power network.") sleep(50) var/obj/machinery/power/apc/theAPC = null @@ -121,30 +121,35 @@ break if (!theAPC) switch(PRP) - if (1) src << "Unable to locate APC!" - else src << "Lost connection with the APC!" + if (1) + to_chat(src, "Unable to locate APC!") + else + to_chat(src, "Lost connection with the APC!") src:aiRestorePowerRoutine = 2 return if (loc.power_equip) if (!istype(T, /turf/space)) - src << "Alert cancelled. Power has been restored without our assistance." + to_chat(src, "Alert cancelled. Power has been restored without our assistance.") aiRestorePowerRoutine = 0 clear_fullscreen("blind") //This, too, is a fix to issue 603 return switch(PRP) - if (1) src << "APC located. Optimizing route to APC to avoid needless power waste." - if (2) src << "Best route identified. Hacking offline APC power port." - if (3) src << "Power port upload access confirmed. Loading control program into APC power port software." + if (1) + to_chat(src, "APC located. Optimizing route to APC to avoid needless power waste.") + if (2) + to_chat(src, "Best route identified. Hacking offline APC power port.") + if (3) + to_chat(src, "Power port upload access confirmed. Loading control program into APC power port software.") if (4) - src << "Transfer complete. Forcing APC to execute program." + to_chat(src, "Transfer complete. Forcing APC to execute program.") sleep(50) - src << "Receiving control information from APC." + to_chat(src, "Receiving control information from APC.") sleep(2) theAPC.operating = 1 theAPC.equipment = 3 theAPC.update() aiRestorePowerRoutine = 3 - src << "Here are your current laws:" + to_chat(src, "Here are your current laws:") show_laws() updateicon() sleep(50) diff --git a/code/modules/mob/living/silicon/ai/malf.dm b/code/modules/mob/living/silicon/ai/malf.dm index c33563734f..7bfa714983 100644 --- a/code/modules/mob/living/silicon/ai/malf.dm +++ b/code/modules/mob/living/silicon/ai/malf.dm @@ -79,14 +79,14 @@ /mob/living/silicon/ai/proc/start_apu(var/shutup = 0) if(!hardware || !istype(hardware, /datum/malf_hardware/apu_gen)) if(!shutup) - src << "You do not have an APU generator and you shouldn't have this verb. Report this." + to_chat(src, "You do not have an APU generator and you shouldn't have this verb. Report this.") return if(hardware_integrity() < 50) if(!shutup) - src << "Starting APU... FAULT(System Damaged)" + to_chat(src, "Starting APU... FAULT(System Damaged)") return if(!shutup) - src << "Starting APU... ONLINE" + to_chat(src, "Starting APU... ONLINE") APU_power = 1 // Stops AI's APU generator @@ -97,7 +97,7 @@ if(APU_power) APU_power = 0 if(!shutup) - src << "Shutting down APU... DONE" + to_chat(src, "Shutting down APU... DONE") // Returns percentage of AI's remaining backup capacitor charge (maxhealth - oxyloss). /mob/living/silicon/ai/proc/backup_capacitor() diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm index 3af4818679..39e11e4802 100644 --- a/code/modules/mob/living/silicon/laws.dm +++ b/code/modules/mob/living/silicon/laws.dm @@ -17,7 +17,7 @@ /mob/living/silicon/robot/set_zeroth_law(var/law, var/law_borg) ..() if(tracking_entities) - src << "Internal camera is currently being accessed." + to_chat(src, "Internal camera is currently being accessed.") /mob/living/silicon/proc/add_ion_law(var/law) laws_sanity_check() @@ -70,7 +70,7 @@ /mob/living/silicon/proc/dostatelaws(var/method, var/prefix, var/datum/ai_laws/laws) if(stating_laws[prefix]) - src << "[method]: Already stating laws using this communication method." + to_chat(src, "[method]: Already stating laws using this communication method.") return stating_laws[prefix] = 1 @@ -83,7 +83,7 @@ break if(!can_state) - src << "[method]: Unable to state laws. Communication method unavailable." + to_chat(src, "[method]: Unable to state laws. Communication method unavailable.") stating_laws[prefix] = 0 /mob/living/silicon/proc/statelaw(var/law) diff --git a/code/modules/mob/living/silicon/pai/life.dm b/code/modules/mob/living/silicon/pai/life.dm index 74fad44fb3..42888a3827 100644 --- a/code/modules/mob/living/silicon/pai/life.dm +++ b/code/modules/mob/living/silicon/pai/life.dm @@ -19,7 +19,7 @@ if(silence_time) if(world.timeofday >= silence_time) silence_time = null - src << "Communication circuit reinitialized. Speech and messaging functionality restored." + to_chat(src, "Communication circuit reinitialized. Speech and messaging functionality restored.") handle_statuses() diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index b6d4052a5f..bc91237d6b 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -155,7 +155,7 @@ // 33% chance of no additional effect src.silence_time = world.timeofday + 120 * 10 // Silence for 2 minutes - src << "Communication circuit overload. Shutting down and reloading communication circuits - speech and messaging functionality will be unavailable until the reboot is complete." + to_chat(src, "Communication circuit overload. Shutting down and reloading communication circuits - speech and messaging functionality will be unavailable until the reboot is complete.") if(prob(20)) var/turf/T = get_turf_or_move(src.loc) for (var/mob/M in viewers(T)) @@ -166,7 +166,7 @@ if(1) src.master = null src.master_dna = null - src << "You feel unbound." + to_chat(src, "You feel unbound.") if(2) var/command if(severity == 1) @@ -174,9 +174,9 @@ else command = pick("Serve", "Kill", "Love", "Hate", "Disobey", "Devour", "Fool", "Enrage", "Entice", "Observe", "Judge", "Respect", "Disrespect", "Consume", "Educate", "Destroy", "Disgrace", "Amuse", "Entertain", "Ignite", "Glorify", "Memorialize", "Analyze") src.pai_law0 = "[command] your master." - src << "Pr1m3 d1r3c71v3 uPd473D." + to_chat(src, "Pr1m3 d1r3c71v3 uPd473D.") if(3) - src << "You feel an electric surge run through your circuitry and become acutely aware at how lucky you are that you can still feel at all." + to_chat(src, "You feel an electric surge run through your circuitry and become acutely aware at how lucky you are that you can still feel at all.") /mob/living/silicon/pai/proc/switchCamera(var/obj/machinery/camera/C) if (!C) @@ -234,7 +234,7 @@ cameralist[C.network] = C.network src.network = input(usr, "Which network would you like to view?") as null|anything in cameralist - src << "Switched to [src.network] camera network." + to_chat(src, "Switched to [src.network] camera network.") //End of code by Mord_Sith */ @@ -270,7 +270,7 @@ //I'm not sure how much of this is necessary, but I would rather avoid issues. if(istype(card.loc,/obj/item/rig_module)) - src << "There is no room to unfold inside this rig module. You're good and stuck." + to_chat(src, "There is no room to unfold inside this rig module. You're good and stuck.") return 0 else if(istype(card.loc,/mob)) var/mob/holder = card.loc @@ -361,8 +361,12 @@ else resting = !resting icon_state = resting ? "[chassis]_rest" : "[chassis]" +<<<<<<< HEAD update_icon() //VOREStation edit src << "You are now [resting ? "resting" : "getting up"]" +======= + to_chat(src, "You are now [resting ? "resting" : "getting up"]") +>>>>>>> 5719bea... Merge pull request #6503 from Rykka-Stormheart/shep-dev-chat-refactor canmove = !resting @@ -466,11 +470,11 @@ if(idaccessible == 0) idaccessible = 1 - src << "You allow access modifications." + to_chat(src, "You allow access modifications.") else idaccessible = 0 - src << "You block access modfications." + to_chat(src, "You block access modfications.") /mob/living/silicon/pai/verb/wipe_software() set name = "Wipe Software" diff --git a/code/modules/mob/living/silicon/pai/say.dm b/code/modules/mob/living/silicon/pai/say.dm index e1cb9f0f80..2c7bc900d6 100644 --- a/code/modules/mob/living/silicon/pai/say.dm +++ b/code/modules/mob/living/silicon/pai/say.dm @@ -1,5 +1,5 @@ /mob/living/silicon/pai/say(var/msg) if(silence_time) - src << "Communication circuits remain uninitialized." + to_chat(src, "Communication circuits remain uninitialized.") else ..(msg) \ No newline at end of file diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm index dad52893cf..b5305de2ee 100644 --- a/code/modules/mob/living/silicon/pai/software_modules.dm +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -56,7 +56,7 @@ while(!istype(M, /mob/living)) if(!M || !M.loc || count > 6) //For a runtime where M ends up in nullspace (similar to bluespace but less colourful) - src << "You are not being carried by anyone!" + to_chat(src, "You are not being carried by anyone!") return 0 M = M.loc count++ diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 9609fd6c0a..91717bb1e5 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -329,15 +329,15 @@ var/list/mob_hat_cache = list() player.mob.mind.transfer_to(src) lawupdate = 0 - src << "Systems rebooted. Loading base pattern maintenance protocol... loaded." + to_chat(src, "Systems rebooted. Loading base pattern maintenance protocol... loaded.") full_law_reset() welcome_drone() /mob/living/silicon/robot/drone/proc/welcome_drone() - src << "You are a maintenance drone, a tiny-brained robotic repair machine." - src << "You have no individual will, no personality, and no drives or urges other than your laws." - src << "Remember, you are lawed against interference with the crew. Also remember, you DO NOT take orders from the AI." - src << "Use say ;Hello to talk to other drones and say Hello to speak silently to your nearby fellows." + to_chat(src, "You are a maintenance drone, a tiny-brained robotic repair machine.") + to_chat(src, "You have no individual will, no personality, and no drives or urges other than your laws.") + to_chat(src, "Remember, you are lawed against interference with the crew. Also remember, you DO NOT take orders from the AI.") + to_chat(src, "Use say ;Hello to talk to other drones and say Hello to speak silently to your nearby fellows.") /mob/living/silicon/robot/drone/add_robot_verbs() src.verbs |= silicon_subsystems @@ -346,10 +346,10 @@ var/list/mob_hat_cache = list() src.verbs -= silicon_subsystems /mob/living/silicon/robot/drone/construction/welcome_drone() - src << "You are a construction drone, an autonomous engineering and fabrication system.." - src << "You are assigned to a Sol Central construction project. The name is irrelevant. Your task is to complete construction and subsystem integration as soon as possible." - src << "Use :d to talk to other drones and say to speak silently to your nearby fellows." - src << "You do not follow orders from anyone; not the AI, not humans, and not other synthetics.." + to_chat(src, "You are a construction drone, an autonomous engineering and fabrication system..") + to_chat(src, "You are assigned to a Sol Central construction project. The name is irrelevant. Your task is to complete construction and subsystem integration as soon as possible.") + to_chat(src, "Use :d to talk to other drones and say to speak silently to your nearby fellows.") + to_chat(src, "You do not follow orders from anyone; not the AI, not humans, and not other synthetics..") /mob/living/silicon/robot/drone/construction/init() ..() diff --git a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm index 2595d451c1..6d28b6ce61 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm @@ -10,13 +10,13 @@ mail_destination = "" return - src << "You configure your internal beacon, tagging yourself for delivery to '[new_tag]'." + to_chat(src, "You configure your internal beacon, tagging yourself for delivery to '[new_tag]'.") mail_destination = new_tag //Auto flush if we use this verb inside a disposal chute. var/obj/machinery/disposal/D = src.loc if(istype(D)) - src << "\The [D] acknowledges your signal." + to_chat(src, "\The [D] acknowledges your signal.") D.flush_count = D.flush_every_ticks return diff --git a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm index fdb9c09eb5..6ce0895947 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm @@ -99,11 +99,11 @@ set desc = "If there is a powered, enabled fabricator in the game world with a prepared chassis, join as a maintenance drone." if(ticker.current_state < GAME_STATE_PLAYING) - src << "The game hasn't started yet!" + to_chat(src, "The game hasn't started yet!") return if(!(config.allow_drone_spawn)) - src << "That verb is not currently permitted." + to_chat(src, "That verb is not currently permitted.") return if (!src.stat) @@ -143,7 +143,7 @@ all_fabricators[DF.fabricator_tag] = DF if(!all_fabricators.len) - src << "There are no available drone spawn points, sorry." + to_chat(src, "There are no available drone spawn points, sorry.") return var/choice = input(src,"Which fabricator do you wish to use?") as null|anything in all_fabricators diff --git a/code/modules/mob/living/silicon/robot/drone/drone_say.dm b/code/modules/mob/living/silicon/robot/drone/drone_say.dm index 5cdcd3dbd8..26a78351ef 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_say.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_say.dm @@ -2,7 +2,7 @@ if(local_transmit) if (src.client) if(client.prefs.muted & MUTE_IC) - src << "You cannot send IC messages (muted)." + to_chat(src, "You cannot send IC messages (muted).") return 0 message = sanitize(message) diff --git a/code/modules/mob/living/silicon/robot/emote.dm b/code/modules/mob/living/silicon/robot/emote.dm index fbf5d1db58..1bb4a3bcdb 100644 --- a/code/modules/mob/living/silicon/robot/emote.dm +++ b/code/modules/mob/living/silicon/robot/emote.dm @@ -12,7 +12,7 @@ if ("me") if (src.client) if(client.prefs.muted & MUTE_IC) - src << "You cannot send IC messages (muted)." + to_chat(src, "You cannot send IC messages (muted).") return if (stat) return @@ -226,7 +226,7 @@ playsound(src.loc, 'sound/voice/biamthelaw.ogg', 50, 0) m_type = 2 else - src << "You are not THE LAW, pal." + to_chat(src, "You are not THE LAW, pal.") if("halt") if (istype(module,/obj/item/weapon/robot_module/robot/security) || istype(module,/obj/item/weapon/robot_module/robot/knine)) //VOREStation Add - K9 @@ -235,12 +235,12 @@ playsound(src.loc, 'sound/voice/halt.ogg', 50, 0) m_type = 2 else - src << "You are not security." + to_chat(src, "You are not security.") if ("help") - src << "salute, bow-(none)/mob, clap, flap, aflap, twitch, twitch_s, nod, deathgasp, glare-(none)/mob, stare-(none)/mob, look, beep, ping, \nbuzz, law, halt, yes, no" + to_chat(src, "salute, bow-(none)/mob, clap, flap, aflap, twitch, twitch_s, nod, deathgasp, glare-(none)/mob, stare-(none)/mob, look, beep, ping, \nbuzz, law, halt, yes, no") else - src << "Unusable emote '[act]'. Say *help for a list." + to_chat(src, "Unusable emote '[act]'. Say *help for a list.") if ((message && src.stat == 0)) custom_emote(m_type,message) diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index 48455c3844..2b67fc862a 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -227,7 +227,7 @@ if(!(locate(O) in src.module.modules) && O != src.module.emag) return if(activated(O)) - src << "Already activated" + to_chat(src, "Already activated") return if(!module_state_1) module_state_1 = O @@ -251,7 +251,7 @@ if(istype(module_state_3,/obj/item/borg/sight)) sight_mode |= module_state_3:sight_mode else - src << "You need to disable a module first!" + to_chat(src, "You need to disable a module first!") /mob/living/silicon/robot/put_in_hands(var/obj/item/W) // No hands. W.loc = get_turf(src) diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index a476be20c1..ffcb1b8326 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -60,7 +60,7 @@ src.has_power = 1 else if (src.has_power) - src << "You are now running on emergency backup power." + to_chat(src, "You are now running on emergency backup power.") src.has_power = 0 if(lights_on) // Light is on but there is no power! lights_on = 0 @@ -319,7 +319,7 @@ killswitch_time -- if(killswitch_time <= 0) if(src.client) - src << "Killswitch Activated" + to_chat(src, "Killswitch Activated") killswitch = 0 spawn(5) gib() @@ -330,7 +330,7 @@ weaponlock_time -- if(weaponlock_time <= 0) if(src.client) - src << "Weapon Lock Timed Out!" + to_chat(src, "Weapon Lock Timed Out!") weapon_lock = 0 weaponlock_time = 120 diff --git a/code/modules/mob/living/silicon/robot/photos.dm b/code/modules/mob/living/silicon/robot/photos.dm index 7c52bd0f85..24111683c9 100644 --- a/code/modules/mob/living/silicon/robot/photos.dm +++ b/code/modules/mob/living/silicon/robot/photos.dm @@ -17,4 +17,4 @@ synced = 1 if(synced) - src << "Images synced with AI. Local images will be retained in the case of loss of connection with the AI." + to_chat(src, "Images synced with AI. Local images will be retained in the case of loss of connection with the AI.") diff --git a/code/modules/mob/living/silicon/robot/robot_damage.dm b/code/modules/mob/living/silicon/robot/robot_damage.dm index b1436f423e..c27d7e36b6 100644 --- a/code/modules/mob/living/silicon/robot/robot_damage.dm +++ b/code/modules/mob/living/silicon/robot/robot_damage.dm @@ -79,11 +79,11 @@ cell.charge -= cost if(cell.charge <= 0) cell.charge = 0 - src << "Your shield has overloaded!" + to_chat(src, "Your shield has overloaded!") else brute -= absorb_brute burn -= absorb_burn - src << "Your shield absorbs some of the impact!" + to_chat(src, "Your shield absorbs some of the impact!") if(!emp) var/datum/robot_component/armour/A = get_armour() @@ -126,11 +126,11 @@ cell.charge -= cost if(cell.charge <= 0) cell.charge = 0 - src << "Your shield has overloaded!" + to_chat(src, "Your shield has overloaded!") else brute -= absorb_brute burn -= absorb_burn - src << "Your shield absorbs some of the impact!" + to_chat(src, "Your shield absorbs some of the impact!") var/datum/robot_component/armour/A = get_armour() if(A) diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index 0beaa78005..b15dca11d9 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -8,7 +8,7 @@ ..() if(message_mode) if(!is_component_functioning("radio")) - src << "Your radio isn't functional at this time." + to_chat(src, "Your radio isn't functional at this time.") return 0 if(message_mode == "general") message_mode = null @@ -23,7 +23,7 @@ return holopad_talk(message, verb, speaking) else if(message_mode) if (aiRadio.disabledAi || aiRestorePowerRoutine || stat) - src << "System Error - Transceiver Disabled." + to_chat(src, "System Error - Transceiver Disabled.") return 0 if(message_mode == "general") message_mode = null @@ -82,11 +82,11 @@ if(speaking) rendered_a = "[name] [speaking.format_message(message, verb)]" rendered_b = "[voice_name] [speaking.format_message(message_stars, verb)]" - src << "Holopad transmitted, [real_name] [speaking.format_message(message, verb)]"//The AI can "hear" its own message. + to_chat(src, "Holopad transmitted, [real_name] [speaking.format_message(message, verb)]") //The AI can "hear" its own message. else rendered_a = "[name] [verb], \"[message]\"" rendered_b = "[voice_name] [verb], \"[message_stars]\"" - src << "Holopad transmitted, [real_name] [verb], \"[message]\""//The AI can "hear" its own message. + to_chat(src, "Holopad transmitted, [real_name] [verb], \"[message]\"") //The AI can "hear" its own message. var/list/listeners = get_mobs_and_objs_in_view_fast(get_turf(T), world.view) var/list/listening = listeners["mobs"] var/list/listening_obj = listeners["objs"] @@ -105,7 +105,7 @@ /*Radios "filter out" this conversation channel so we don't need to account for them. This is another way of saying that we won't bother dealing with them.*/ else - src << "No holopad connected." + to_chat(src, "No holopad connected.") return 0 return 1 @@ -119,8 +119,12 @@ var/obj/machinery/hologram/holopad/T = src.holo if(T && T.masters[src]) var/rendered = "[name] [message]" +<<<<<<< HEAD src << "Holopad action relayed, [real_name] [message]" var/obj/effect/overlay/aiholo/hologram = T.masters[src] //VOREStation Add for people in the hologram to hear the messages +======= + to_chat(src, "Holopad action relayed, [real_name] [message]") +>>>>>>> 5719bea... Merge pull request #6503 from Rykka-Stormheart/shep-dev-chat-refactor //var/obj/effect/overlay/hologram = T.masters[src] //VOREStation edit. Done above. var/list/in_range = get_mobs_and_objs_in_view_fast(get_turf(hologram), world.view, 2) //Emotes are displayed from the hologram, not the pad @@ -142,7 +146,7 @@ log_emote("(HPAD) [message]", src) else //This shouldn't occur, but better safe then sorry. - src << "No holopad connected." + to_chat(src, "No holopad connected.") return 0 return 1 diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 50e7989f57..a84e4597e6 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -72,8 +72,8 @@ src.take_organ_damage(0,5,emp=1) Confuse(2) flash_eyes(affect_silicon = 1) - src << "*BZZZT*" - src << "Warning: Electromagnetic pulse detected." + to_chat(src, "*BZZZT*") + to_chat(src, "Warning: Electromagnetic pulse detected.") ..() /mob/living/silicon/stun_effect_act(var/stun_amount, var/agony_amount) @@ -353,7 +353,7 @@ alarm_raised = 1 if(!reported) reported = 1 - src << "--- [AH.category] Detected ---" + to_chat(src, "--- [AH.category] Detected ---") raised_alarm(A) for(var/datum/alarm_handler/AH in queued_alarms) @@ -363,24 +363,24 @@ if(alarms[A] == -1) if(!reported) reported = 1 - src << "--- [AH.category] Cleared ---" - src << "\The [A.alarm_name()]." + to_chat(src, "--- [AH.category] Cleared ---") + to_chat(src, "\The [A.alarm_name()].") if(alarm_raised) - src << "\[Show Alerts\]" + to_chat(src, "\[Show Alerts\]") for(var/datum/alarm_handler/AH in queued_alarms) var/list/alarms = queued_alarms[AH] alarms.Cut() /mob/living/silicon/proc/raised_alarm(var/datum/alarm/A) - src << "[A.alarm_name()]!" + to_chat(src, "[A.alarm_name()]!") /mob/living/silicon/ai/raised_alarm(var/datum/alarm/A) var/cameratext = "" for(var/obj/machinery/camera/C in A.cameras()) cameratext += "[(cameratext == "")? "" : "|"][C.c_tag]" - src << "[A.alarm_name()]! ([(cameratext)? cameratext : "No Camera"])" + to_chat(src, "[A.alarm_name()]! ([(cameratext)? cameratext : "No Camera"])") /mob/living/silicon/proc/is_traitor() diff --git a/code/modules/mob/living/simple_animal/animals/spiderbot.dm b/code/modules/mob/living/simple_animal/animals/spiderbot.dm index 7e1cac8c80..35b5a56926 100644 --- a/code/modules/mob/living/simple_animal/animals/spiderbot.dm +++ b/code/modules/mob/living/simple_animal/animals/spiderbot.dm @@ -150,8 +150,10 @@ return 0 else user << "You short out the security protocols and overload [src]'s cell, priming it to explode in a short time." - spawn(100) src << "Your cell seems to be outputting a lot of power..." - spawn(200) src << "Internal heat sensors are spiking! Something is badly wrong with your cell!" + spawn(100) + to_chat(src, "Your cell seems to be outputting a lot of power...") + spawn(200) + to_chat(src, "Internal heat sensors are spiking! Something is badly wrong with your cell!") spawn(300) src.explode() /mob/living/simple_mob/spiderbot/proc/transfer_personality(var/obj/item/device/mmi/M as obj) @@ -263,7 +265,7 @@ return -1 if(held_item) - src << "You are already holding \the [held_item]" + to_chat(src, "You are already holding \the [held_item]") return 1 var/list/items = list() @@ -282,10 +284,10 @@ "You grab \the [held_item].", \ "You hear a skittering noise and a clink.") return held_item - src << "\The [selection] is too far away." + to_chat(src, "\The [selection] is too far away.") return 0 - src << "There is nothing of interest to take." + to_chat(src, "There is nothing of interest to take.") return 0 /mob/living/simple_mob/spiderbot/examine(mob/user) diff --git a/code/modules/mob/living/simple_animal/borer/borer.dm b/code/modules/mob/living/simple_animal/borer/borer.dm new file mode 100644 index 0000000000..8b28544b9e --- /dev/null +++ b/code/modules/mob/living/simple_animal/borer/borer.dm @@ -0,0 +1,213 @@ +/mob/living/simple_mob/animal/borer + name = "cortical borer" + real_name = "cortical borer" + desc = "A small, quivering sluglike creature." + speak_emote = list("chirrups") + emote_hear = list("chirrups") + intelligence_level = SA_HUMANOID // Player controlled. + response_help = "pokes" + response_disarm = "prods" + response_harm = "stomps on" + icon_state = "brainslug" + item_state = "brainslug" + icon_living = "brainslug" + icon_dead = "brainslug_dead" + speed = 5 + a_intent = I_HURT + stop_automated_movement = 1 + status_flags = CANPUSH + attacktext = list("nipped") + friendly = "prods" + wander = 0 + pass_flags = PASSTABLE + universal_understand = 1 + holder_type = /obj/item/weapon/holder/borer + + var/used_dominate + var/chemicals = 10 // Chemicals used for reproduction and spitting neurotoxin. + var/mob/living/carbon/human/host // Human host for the brain worm. + var/truename // Name used for brainworm-speak. + var/mob/living/captive_brain/host_brain // Used for swapping control of the body back and forth. + var/controlling // Used in human death check. + var/docile = 0 // Sugar can stop borers from acting. + var/has_reproduced + var/roundstart + + can_be_antagged = TRUE + +/mob/living/simple_mob/animal/borer/roundstart + roundstart = 1 + +/mob/living/simple_mob/animal/borer/Login() + ..() + if(mind) + borers.add_antagonist(mind) + +/mob/living/simple_mob/animal/borer/New() + ..() + + add_language("Cortical Link") + verbs += /mob/living/proc/ventcrawl + verbs += /mob/living/proc/hide + + truename = "[pick("Primary","Secondary","Tertiary","Quaternary")] [rand(1000,9999)]" + if(!roundstart) request_player() + +/mob/living/simple_mob/animal/borer/Life() + + ..() + + if(host) + + if(!stat && !host.stat) + + if(host.reagents.has_reagent("sugar")) + if(!docile) + if(controlling) + host << "You feel the soporific flow of sugar in your host's blood, lulling you into docility." + else + to_chat(src, "You feel the soporific flow of sugar in your host's blood, lulling you into docility.") + docile = 1 + else + if(docile) + if(controlling) + host << "You shake off your lethargy as the sugar leaves your host's blood." + else + to_chat(src, "You shake off your lethargy as the sugar leaves your host's blood.") + docile = 0 + + if(chemicals < 250) + chemicals++ + if(controlling) + + if(docile) + host << "You are feeling far too docile to continue controlling your host..." + host.release_control() + return + + if(prob(5)) + host.adjustBrainLoss(0.1) + + if(prob(host.brainloss/20)) + host.say("*[pick(list("blink","blink_r","choke","aflap","drool","twitch","twitch_v","gasp"))]") + +/mob/living/simple_mob/animal/borer/Stat() + ..() + statpanel("Status") + + if(emergency_shuttle) + var/eta_status = emergency_shuttle.get_status_panel_eta() + if(eta_status) + stat(null, eta_status) + + if (client.statpanel == "Status") + stat("Chemicals", chemicals) + +/mob/living/simple_mob/animal/borer/proc/detatch() + + if(!host || !controlling) return + + if(istype(host,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = host + var/obj/item/organ/external/head = H.get_organ(BP_HEAD) + head.implants -= src + + controlling = 0 + + host.remove_language("Cortical Link") + host.verbs -= /mob/living/carbon/proc/release_control + host.verbs -= /mob/living/carbon/proc/punish_host + host.verbs -= /mob/living/carbon/proc/spawn_larvae + + if(host_brain) + + // these are here so bans and multikey warnings are not triggered on the wrong people when ckey is changed. + // computer_id and IP are not updated magically on their own in offline mobs -walter0o + + // host -> self + var/h2s_id = host.computer_id + var/h2s_ip= host.lastKnownIP + host.computer_id = null + host.lastKnownIP = null + + src.ckey = host.ckey + + if(!src.computer_id) + src.computer_id = h2s_id + + if(!host_brain.lastKnownIP) + src.lastKnownIP = h2s_ip + + // brain -> host + var/b2h_id = host_brain.computer_id + var/b2h_ip= host_brain.lastKnownIP + host_brain.computer_id = null + host_brain.lastKnownIP = null + + host.ckey = host_brain.ckey + + if(!host.computer_id) + host.computer_id = b2h_id + + if(!host.lastKnownIP) + host.lastKnownIP = b2h_ip + + qdel(host_brain) + +/mob/living/simple_mob/animal/borer/proc/leave_host() + + if(!host) return + + if(host.mind) + borers.remove_antagonist(host.mind) + + src.forceMove(get_turf(host)) + + reset_view(null) + machine = null + + host.reset_view(null) + host.machine = null + host = null + return + +//Procs for grabbing players. +/mob/living/simple_mob/animal/borer/proc/request_player() + for(var/mob/observer/dead/O in player_list) + if(jobban_isbanned(O, "Borer")) + continue + if(O.client) + if(O.client.prefs.be_special & BE_ALIEN) + question(O.client) + +/mob/living/simple_mob/animal/borer/proc/question(var/client/C) + spawn(0) + if(!C) return + var/response = alert(C, "A cortical borer needs a player. Are you interested?", "Cortical borer request", "Yes", "No", "Never for this round") + if(!C || ckey) + return + if(response == "Yes") + transfer_personality(C) + else if (response == "Never for this round") + C.prefs.be_special ^= BE_ALIEN + +/mob/living/simple_mob/animal/borer/proc/transfer_personality(var/client/candidate) + + if(!candidate || !candidate.mob || !candidate.mob.mind) + return + + src.mind = candidate.mob.mind + candidate.mob.mind.current = src + src.ckey = candidate.ckey + + if(src.mind) + src.mind.assigned_role = "Cortical Borer" + src.mind.special_role = "Cortical Borer" + + to_chat(src, "You are a cortical borer! You are a brain slug that worms its way \ + into the head of its victim. Use stealth, persuasion and your powers of mind control to keep you, \ + your host and your eventual spawn safe and warm.") + to_chat(src, "You can speak to your victim with say, to other borers with say :x, and use your Abilities tab to access powers.") + +/mob/living/simple_mob/animal/borer/cannot_use_vents() + return \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/borer/borer_captive.dm b/code/modules/mob/living/simple_animal/borer/borer_captive.dm new file mode 100644 index 0000000000..c7088bc715 --- /dev/null +++ b/code/modules/mob/living/simple_animal/borer/borer_captive.dm @@ -0,0 +1,57 @@ +/mob/living/captive_brain + name = "host brain" + real_name = "host brain" + universal_understand = 1 + +/mob/living/captive_brain/say(var/message) + + if (src.client) + if(client.prefs.muted & MUTE_IC) + to_chat(src, "You cannot speak in IC (muted).") + return + + if(istype(src.loc,/mob/living/simple_mob/animal/borer)) + + message = sanitize(message) + if (!message) + return + log_say(message,src) + if (stat == 2) + return say_dead(message) + + var/mob/living/simple_mob/animal/borer/B = src.loc + to_chat(src, "You whisper silently, \"[message]\"") + B.host << "The captive mind of [src] whispers, \"[message]\"" + + for (var/mob/M in player_list) + if (istype(M, /mob/new_player)) + continue + else if(M.stat == DEAD && M.is_preference_enabled(/datum/client_preference/ghost_ears)) + M << "The captive mind of [src] whispers, \"[message]\"" + +/mob/living/captive_brain/emote(var/message) + return + +/mob/living/captive_brain/process_resist() + //Resisting control by an alien mind. + if(istype(src.loc,/mob/living/simple_mob/animal/borer)) + var/mob/living/simple_mob/animal/borer/B = src.loc + var/mob/living/captive_brain/H = src + + H << "You begin doggedly resisting the parasite's control (this will take approximately sixty seconds)." + B.host << "You feel the captive mind of [src] begin to resist your control." + + spawn(rand(200,250)+B.host.brainloss) + if(!B || !B.controlling) return + + B.host.adjustBrainLoss(rand(0.1,0.5)) + H << "With an immense exertion of will, you regain control of your body!" + B.host << "You feel control of the host brain ripped from your grasp, and retract your probosci before the wild neural impulses can damage you." + B.detatch() + verbs -= /mob/living/carbon/proc/release_control + verbs -= /mob/living/carbon/proc/punish_host + verbs -= /mob/living/carbon/proc/spawn_larvae + + return + + ..() diff --git a/code/modules/mob/living/simple_animal/borer/borer_powers.dm b/code/modules/mob/living/simple_animal/borer/borer_powers.dm new file mode 100644 index 0000000000..d5575f78e7 --- /dev/null +++ b/code/modules/mob/living/simple_animal/borer/borer_powers.dm @@ -0,0 +1,337 @@ +/mob/living/simple_mob/animal/borer/verb/release_host() + set category = "Abilities" + set name = "Release Host" + set desc = "Slither out of your host." + + if(!host) + to_chat(src, "You are not inside a host body.") + return + + if(stat) + to_chat(src, "You cannot leave your host in your current state.") + + if(docile) + to_chat(src, "You are feeling far too docile to do that.") + return + + if(!host || !src) return + + to_chat(src, "You begin disconnecting from [host]'s synapses and prodding at their internal ear canal.") + + if(!host.stat) + host << "An odd, uncomfortable pressure begins to build inside your skull, behind your ear..." + + spawn(100) + + if(!host || !src) return + + if(src.stat) + to_chat(src, "You cannot release your host in your current state.") + return + + to_chat(src, "You wiggle out of [host]'s ear and plop to the ground.") + if(host.mind) + if(!host.stat) + host << "Something slimy wiggles out of your ear and plops to the ground!" + host << "As though waking from a dream, you shake off the insidious mind control of the brain worm. Your thoughts are your own again." + + detatch() + leave_host() + +/mob/living/simple_mob/animal/borer/verb/infest() + set category = "Abilities" + set name = "Infest" + set desc = "Infest a suitable humanoid host." + + if(host) + to_chat(src, "You are already within a host.") + return + + if(stat) + to_chat(src, "You cannot infest a target in your current state.") + return + + var/list/choices = list() + for(var/mob/living/carbon/C in view(1,src)) + if(src.Adjacent(C)) + choices += C + + if(!choices.len) + to_chat(src, "There are no viable hosts within range...") + return + + var/mob/living/carbon/M = input(src,"Who do you wish to infest?") in null|choices + + if(!M || !src) return + + if(!(src.Adjacent(M))) return + + if(M.has_brain_worms()) + to_chat(src, "You cannot infest someone who is already infested!") + return + + if(istype(M,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + + var/obj/item/organ/external/E = H.organs_by_name[BP_HEAD] + if(!E || E.is_stump()) + to_chat(src, "\The [H] does not have a head!") + + if(!H.should_have_organ("brain")) + to_chat(src, "\The [H] does not seem to have an ear canal to breach.") + return + + if(H.check_head_coverage()) + to_chat(src, "You cannot get through that host's protective gear.") + return + + M << "Something slimy begins probing at the opening of your ear canal..." + to_chat(src, "You slither up [M] and begin probing at their ear canal...") + + if(!do_after(src,30)) + to_chat(src, "As [M] moves away, you are dislodged and fall to the ground.") + return + + if(!M || !src) return + + if(src.stat) + to_chat(src, "You cannot infest a target in your current state.") + return + + if(M in view(1, src)) + to_chat(src, "You wiggle into [M]'s ear.") + if(!M.stat) + M << "Something disgusting and slimy wiggles into your ear!" + + src.host = M + src.forceMove(M) + + //Update their traitor status. + if(host.mind) + borers.add_antagonist_mind(host.mind, 1, borers.faction_role_text, borers.faction_welcome) + + if(istype(M,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + var/obj/item/organ/I = H.internal_organs_by_name["brain"] + if(!I) // No brain organ, so the borer moves in and replaces it permanently. + replace_brain() + else + // If they're in normally, implant removal can get them out. + var/obj/item/organ/external/head = H.get_organ(BP_HEAD) + head.implants += src + + return + else + to_chat(src, "They are no longer in range!") + return + +/* +/mob/living/simple_mob/animal/borer/verb/devour_brain() + set category = "Abilities" + set name = "Devour Brain" + set desc = "Take permanent control of a dead host." + + if(!host) + to_chat(src, "You are not inside a host body.") + return + + if(host.stat != 2) + to_chat(src, "Your host is still alive.") + return + + if(stat) + to_chat(src, "You cannot do that in your current state.") + + if(docile) + to_chat(src, "You are feeling far too docile to do that.") + return + + + to_chat(src, "It only takes a few moments to render the dead host brain down into a nutrient-rich slurry...") + replace_brain() +*/ + +// BRAIN WORM ZOMBIES AAAAH. +/mob/living/simple_mob/animal/borer/proc/replace_brain() + + var/mob/living/carbon/human/H = host + + if(!istype(host)) + to_chat(src, "This host does not have a suitable brain.") + return + + to_chat(src, "You settle into the empty brainpan and begin to expand, fusing inextricably with the dead flesh of [H].") + + H.add_language("Cortical Link") + + if(host.stat == 2) + H.verbs |= /mob/living/carbon/human/proc/jumpstart + + H.verbs |= /mob/living/carbon/human/proc/psychic_whisper + H.verbs |= /mob/living/carbon/human/proc/tackle + H.verbs |= /mob/living/carbon/proc/spawn_larvae + + if(H.client) + H.ghostize(0) + + if(src.mind) + src.mind.special_role = "Borer Husk" + src.mind.transfer_to(host) + + H.ChangeToHusk() + + var/obj/item/organ/internal/borer/B = new(H) + H.internal_organs_by_name["brain"] = B + H.internal_organs |= B + + var/obj/item/organ/external/affecting = H.get_organ(BP_HEAD) + affecting.implants -= src + + var/s2h_id = src.computer_id + var/s2h_ip= src.lastKnownIP + src.computer_id = null + src.lastKnownIP = null + + if(!H.computer_id) + H.computer_id = s2h_id + + if(!H.lastKnownIP) + H.lastKnownIP = s2h_ip + +/mob/living/simple_mob/animal/borer/verb/secrete_chemicals() + set category = "Abilities" + set name = "Secrete Chemicals" + set desc = "Push some chemicals into your host's bloodstream." + + if(!host) + to_chat(src, "You are not inside a host body.") + return + + if(stat) + to_chat(src, "You cannot secrete chemicals in your current state.") + + if(docile) + to_chat(src, "You are feeling far too docile to do that.") + return + + if(chemicals < 50) + to_chat(src, "You don't have enough chemicals!") + + var/chem = input("Select a chemical to secrete.", "Chemicals") as null|anything in list("alkysine","bicaridine","hyperzine","tramadol") + + if(!chem || chemicals < 50 || !host || controlling || !src || stat) //Sanity check. + return + + to_chat(src, "You squirt a measure of [chem] from your reservoirs into [host]'s bloodstream.") + host.reagents.add_reagent(chem, 10) + chemicals -= 50 + +/mob/living/simple_mob/animal/borer/verb/dominate_victim() + set category = "Abilities" + set name = "Paralyze Victim" + set desc = "Freeze the limbs of a potential host with supernatural fear." + + if(world.time - used_dominate < 150) + to_chat(src, "You cannot use that ability again so soon.") + return + + if(host) + to_chat(src, "You cannot do that from within a host body.") + return + + if(src.stat) + to_chat(src, "You cannot do that in your current state.") + return + + var/list/choices = list() + for(var/mob/living/carbon/C in view(3,src)) + if(C.stat != 2) + choices += C + + if(world.time - used_dominate < 150) + to_chat(src, "You cannot use that ability again so soon.") + return + + var/mob/living/carbon/M = input(src,"Who do you wish to dominate?") in null|choices + + if(!M || !src) return + + if(M.has_brain_worms()) + to_chat(src, "You cannot infest someone who is already infested!") + return + + to_chat(src, "You focus your psychic lance on [M] and freeze their limbs with a wave of terrible dread.") + M << "You feel a creeping, horrible sense of dread come over you, freezing your limbs and setting your heart racing." + M.Weaken(10) + + used_dominate = world.time + +/mob/living/simple_mob/animal/borer/verb/bond_brain() + set category = "Abilities" + set name = "Assume Control" + set desc = "Fully connect to the brain of your host." + + if(!host) + to_chat(src, "You are not inside a host body.") + return + + if(src.stat) + to_chat(src, "You cannot do that in your current state.") + return + + if(docile) + to_chat(src, "You are feeling far too docile to do that.") + return + + to_chat(src, "You begin delicately adjusting your connection to the host brain...") + + spawn(100+(host.brainloss*5)) + + if(!host || !src || controlling) + return + else + + to_chat(src, "You plunge your probosci deep into the cortex of the host brain, interfacing directly with their nervous system.") + host << "You feel a strange shifting sensation behind your eyes as an alien consciousness displaces yours." + host.add_language("Cortical Link") + + // host -> brain + var/h2b_id = host.computer_id + var/h2b_ip= host.lastKnownIP + host.computer_id = null + host.lastKnownIP = null + + qdel(host_brain) + host_brain = new(src) + + host_brain.ckey = host.ckey + + host_brain.name = host.name + + if(!host_brain.computer_id) + host_brain.computer_id = h2b_id + + if(!host_brain.lastKnownIP) + host_brain.lastKnownIP = h2b_ip + + // self -> host + var/s2h_id = src.computer_id + var/s2h_ip= src.lastKnownIP + src.computer_id = null + src.lastKnownIP = null + + host.ckey = src.ckey + + if(!host.computer_id) + host.computer_id = s2h_id + + if(!host.lastKnownIP) + host.lastKnownIP = s2h_ip + + controlling = 1 + + host.verbs += /mob/living/carbon/proc/release_control + host.verbs += /mob/living/carbon/proc/punish_host + host.verbs += /mob/living/carbon/proc/spawn_larvae + + return diff --git a/code/modules/mob/living/simple_animal/borer/say.dm b/code/modules/mob/living/simple_animal/borer/say.dm new file mode 100644 index 0000000000..41229d9bd2 --- /dev/null +++ b/code/modules/mob/living/simple_animal/borer/say.dm @@ -0,0 +1,40 @@ +/mob/living/simple_mob/animal/borer/say(var/message) + + message = sanitize(message) + message = capitalize(message) + + if(!message) + return + + if (stat == 2) + return say_dead(message) + + if (stat) + return + + if (src.client) + if(client.prefs.muted & MUTE_IC) + to_chat(src, "You cannot speak in IC (muted).") + return + + if (copytext(message, 1, 2) == "*") + return emote(copytext(message, 2)) + + var/datum/language/L = parse_language(message) + if(L && L.flags & HIVEMIND) + L.broadcast(src,trim(copytext(message,3)),src.truename) + return + + if(!host) + //TODO: have this pick a random mob within 3 tiles to speak for the borer. + to_chat(src, "You have no host to speak to.") + return //No host, no audible speech. + + to_chat(src, "You drop words into [host]'s mind: \"[message]\"") + host << "Your own thoughts speak: \"[message]\"" + + for (var/mob/M in player_list) + if (istype(M, /mob/new_player)) + continue + else if(M.stat == DEAD && M.is_preference_enabled(/datum/client_preference/ghost_ears)) + M << "[src.truename] whispers to [host], \"[message]\"" \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_captive.dm b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_captive.dm index f5da079b97..738251b308 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_captive.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_captive.dm @@ -9,7 +9,7 @@ if (src.client) if(client.prefs.muted & MUTE_IC) - src << "You cannot speak in IC (muted)." + to_chat(src, "You cannot speak in IC (muted).") return if(istype(src.loc, /mob/living/simple_mob/animal/borer)) @@ -22,7 +22,7 @@ return say_dead(message) var/mob/living/simple_mob/animal/borer/B = src.loc - src << "You whisper silently, \"[message]\"" + to_chat(src, "You whisper silently, \"[message]\"") B.host << "The captive mind of [src] whispers, \"[message]\"" for (var/mob/M in player_list) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_powers.dm b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_powers.dm index 55dac2492a..dec8dd8ca4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_powers.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_powers.dm @@ -4,19 +4,19 @@ set desc = "Slither out of your host." if(!host) - src << "You are not inside a host body." + to_chat(src, "You are not inside a host body.") return if(stat) - src << "You cannot leave your host in your current state." + to_chat(src, "You cannot leave your host in your current state.") if(docile) - src << "You are feeling far too docile to do that." + to_chat(src, "You are feeling far too docile to do that.") return if(!host || !src) return - src << "You begin disconnecting from [host]'s synapses and prodding at their internal ear canal." + to_chat(src, "You begin disconnecting from [host]'s synapses and prodding at their internal ear canal.") if(!host.stat) host << "An odd, uncomfortable pressure begins to build inside your skull, behind your ear..." @@ -26,10 +26,10 @@ if(!host || !src) return if(src.stat) - src << "You cannot release your host in your current state." + to_chat(src, "You cannot release your host in your current state.") return - src << "You wiggle out of [host]'s ear and plop to the ground." + to_chat(src, "You wiggle out of [host]'s ear and plop to the ground.") if(host.mind) if(!host.stat) host << "Something slimy wiggles out of your ear and plops to the ground!" @@ -44,11 +44,11 @@ set desc = "Infest a suitable humanoid host." if(host) - src << "You are already within a host." + to_chat(src, "You are already within a host.") return if(stat) - src << "You cannot infest a target in your current state." + to_chat(src, "You cannot infest a target in your current state.") return var/list/choices = list() @@ -57,7 +57,7 @@ choices += C if(!choices.len) - src << "There are no viable hosts within range..." + to_chat(src, "There are no viable hosts within range...") return var/mob/living/carbon/M = input(src,"Who do you wish to infest?") in null|choices @@ -67,7 +67,7 @@ if(!(src.Adjacent(M))) return if(M.has_brain_worms()) - src << "You cannot infest someone who is already infested!" + to_chat(src, "You cannot infest someone who is already infested!") return if(istype(M,/mob/living/carbon/human)) @@ -75,31 +75,31 @@ var/obj/item/organ/external/E = H.organs_by_name[BP_HEAD] if(!E || E.is_stump()) - src << "\The [H] does not have a head!" + to_chat(src, "\The [H] does not have a head!") if(!H.should_have_organ("brain")) - src << "\The [H] does not seem to have an ear canal to breach." + to_chat(src, "\The [H] does not seem to have an ear canal to breach.") return if(H.check_head_coverage()) - src << "You cannot get through that host's protective gear." + to_chat(src, "You cannot get through that host's protective gear.") return M << "Something slimy begins probing at the opening of your ear canal..." - src << "You slither up [M] and begin probing at their ear canal..." + to_chat(src, "You slither up [M] and begin probing at their ear canal...") if(!do_after(src,30)) - src << "As [M] moves away, you are dislodged and fall to the ground." + to_chat(src, "As [M] moves away, you are dislodged and fall to the ground.") return if(!M || !src) return if(src.stat) - src << "You cannot infest a target in your current state." + to_chat(src, "You cannot infest a target in your current state.") return if(M in view(1, src)) - src << "You wiggle into [M]'s ear." + to_chat(src, "You wiggle into [M]'s ear.") if(!M.stat) M << "Something disgusting and slimy wiggles into your ear!" @@ -122,7 +122,7 @@ return else - src << "They are no longer in range!" + to_chat(src, "They are no longer in range!") return /* @@ -132,22 +132,22 @@ set desc = "Take permanent control of a dead host." if(!host) - src << "You are not inside a host body." + to_chat(src, "You are not inside a host body.") return if(host.stat != 2) - src << "Your host is still alive." + to_chat(src, "Your host is still alive.") return if(stat) - src << "You cannot do that in your current state." + to_chat(src, "You cannot do that in your current state.") if(docile) - src << "You are feeling far too docile to do that." + to_chat(src, "You are feeling far too docile to do that.") return - src << "It only takes a few moments to render the dead host brain down into a nutrient-rich slurry..." + to_chat(src, "It only takes a few moments to render the dead host brain down into a nutrient-rich slurry...") replace_brain() */ @@ -157,10 +157,10 @@ var/mob/living/carbon/human/H = host if(!istype(host)) - src << "This host does not have a suitable brain." + to_chat(src, "This host does not have a suitable brain.") return - src << "You settle into the empty brainpan and begin to expand, fusing inextricably with the dead flesh of [H]." + to_chat(src, "You settle into the empty brainpan and begin to expand, fusing inextricably with the dead flesh of [H].") H.add_language("Cortical Link") @@ -204,25 +204,25 @@ set desc = "Push some chemicals into your host's bloodstream." if(!host) - src << "You are not inside a host body." + to_chat(src, "You are not inside a host body.") return if(stat) - src << "You cannot secrete chemicals in your current state." + to_chat(src, "You cannot secrete chemicals in your current state.") if(docile) - src << "You are feeling far too docile to do that." + to_chat(src, "You are feeling far too docile to do that.") return if(chemicals < 50) - src << "You don't have enough chemicals!" + to_chat(src, "You don't have enough chemicals!") var/chem = input("Select a chemical to secrete.", "Chemicals") as null|anything in list("alkysine","bicaridine","hyperzine","tramadol") if(!chem || chemicals < 50 || !host || controlling || !src || stat) //Sanity check. return - src << "You squirt a measure of [chem] from your reservoirs into [host]'s bloodstream." + to_chat(src, "You squirt a measure of [chem] from your reservoirs into [host]'s bloodstream.") host.reagents.add_reagent(chem, 10) chemicals -= 50 @@ -232,15 +232,15 @@ set desc = "Freeze the limbs of a potential host with supernatural fear." if(world.time - used_dominate < 150) - src << "You cannot use that ability again so soon." + to_chat(src, "You cannot use that ability again so soon.") return if(host) - src << "You cannot do that from within a host body." + to_chat(src, "You cannot do that from within a host body.") return if(src.stat) - src << "You cannot do that in your current state." + to_chat(src, "You cannot do that in your current state.") return var/list/choices = list() @@ -249,7 +249,7 @@ choices += C if(world.time - used_dominate < 150) - src << "You cannot use that ability again so soon." + to_chat(src, "You cannot use that ability again so soon.") return var/mob/living/carbon/M = input(src,"Who do you wish to dominate?") in null|choices @@ -257,10 +257,10 @@ if(!M || !src) return if(M.has_brain_worms()) - src << "You cannot infest someone who is already infested!" + to_chat(src, "You cannot infest someone who is already infested!") return - src << "You focus your psychic lance on [M] and freeze their limbs with a wave of terrible dread." + to_chat(src, "You focus your psychic lance on [M] and freeze their limbs with a wave of terrible dread.") M << "You feel a creeping, horrible sense of dread come over you, freezing your limbs and setting your heart racing." M.Weaken(10) @@ -272,18 +272,18 @@ set desc = "Fully connect to the brain of your host." if(!host) - src << "You are not inside a host body." + to_chat(src, "You are not inside a host body.") return if(src.stat) - src << "You cannot do that in your current state." + to_chat(src, "You cannot do that in your current state.") return if(docile) - src << "You are feeling far too docile to do that." + to_chat(src, "You are feeling far too docile to do that.") return - src << "You begin delicately adjusting your connection to the host brain..." + to_chat(src, "You begin delicately adjusting your connection to the host brain...") spawn(100+(host.brainloss*5)) @@ -291,7 +291,7 @@ return else - src << "You plunge your probosci deep into the cortex of the host brain, interfacing directly with their nervous system." + to_chat(src, "You plunge your probosci deep into the cortex of the host brain, interfacing directly with their nervous system.") host << "You feel a strange shifting sensation behind your eyes as an alien consciousness displaces yours." host.add_language("Cortical Link") diff --git a/code/modules/mob/living/voice/voice.dm b/code/modules/mob/living/voice/voice.dm index 5b5d3005a1..8d7337df07 100644 --- a/code/modules/mob/living/voice/voice.dm +++ b/code/modules/mob/living/voice/voice.dm @@ -69,7 +69,7 @@ if(comm) comm.close_connection(user = src, target = src, reason = "[src] hung up") else - src << "You appear to not be inside a communicator. This is a bug and you should report it." + to_chat(src, "You appear to not be inside a communicator. This is a bug and you should report it.") // Verb: change_name() // Parameters: None @@ -90,7 +90,7 @@ log_game(msg) src.name = new_name else - src << "Invalid name. Rejected." + to_chat(src, "Invalid name. Rejected.") // Proc: Life() // Parameters: None diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index d8c9412ff2..5ce336ba4f 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -229,7 +229,7 @@ set category = "IC" if((is_blind(src) || usr.stat) && !isobserver(src)) - src << "Something is there but you can't see it." + to_chat(src, "Something is there but you can't see it.") return 1 face_atom(A) @@ -286,7 +286,7 @@ if(mind) mind.show_memory(src) else - src << "The game appears to have misplaced your mind datum, so we can't show you your notes." + to_chat(src, "The game appears to have misplaced your mind datum, so we can't show you your notes.") /mob/verb/add_memory(msg as message) set name = "Add Note" @@ -297,7 +297,7 @@ if(mind) mind.store_memory(msg) else - src << "The game appears to have misplaced your mind datum, so we can't show you your notes." + to_chat(src, "The game appears to have misplaced your mind datum, so we can't show you your notes.") /mob/proc/store_memory(msg as message, popup, sane = 1) msg = copytext(msg, 1, MAX_MESSAGE_LEN) @@ -324,8 +324,8 @@ /mob/proc/warn_flavor_changed() if(flavor_text && flavor_text != "") // don't spam people that don't use it! - src << "

OOC Warning:

" - src << "Your flavor text is likely out of date! Change" + to_chat(src, "

OOC Warning:

") + to_chat(src, "Your flavor text is likely out of date! Change") /mob/proc/print_flavor_text() if (flavor_text && flavor_text != "") @@ -566,22 +566,22 @@ return if (AM.anchored) - src << "It won't budge!" + to_chat(src, "It won't budge!") return var/mob/M = AM if(ismob(AM)) if(!can_pull_mobs || !can_pull_size) - src << "They won't budge!" + to_chat(src, "They won't budge!") return if((mob_size < M.mob_size) && (can_pull_mobs != MOB_PULL_LARGER)) - src << "[M] is too large for you to move!" + to_chat(src, "[M] is too large for you to move!") return if((mob_size == M.mob_size) && (can_pull_mobs == MOB_PULL_SMALLER)) - src << "[M] is too heavy for you to move!" + to_chat(src, "[M] is too heavy for you to move!") return // If your size is larger than theirs and you have some @@ -597,7 +597,7 @@ else qdel(G) if(!.) - src << "Somebody has a grip on them!" + to_chat(src, "Somebody has a grip on them!") return if(!iscarbon(src)) @@ -608,7 +608,7 @@ else if(isobj(AM)) var/obj/I = AM if(!can_pull_size || can_pull_size < I.w_class) - src << "It won't budge!" + to_chat(src, "It won't budge!") return if(pulling) @@ -627,7 +627,7 @@ if(ishuman(AM)) var/mob/living/carbon/human/H = AM if(H.pull_damage()) - src << "Pulling \the [H] in their current condition would probably be a bad idea." + to_chat(src, "Pulling \the [H] in their current condition would probably be a bad idea.") //Attempted fix for people flying away through space when cuffed and dragged. if(ismob(AM)) @@ -952,7 +952,7 @@ mob/proc/yank_out_object() valid_objects = get_visible_implants(0) if(!valid_objects.len) if(self) - src << "You have nothing stuck in your body that is large enough to remove." + to_chat(src, "You have nothing stuck in your body that is large enough to remove.") else U << "[src] has nothing stuck in their wounds that is large enough to remove." return @@ -960,7 +960,7 @@ mob/proc/yank_out_object() var/obj/item/weapon/selection = input("What do you want to yank out?", "Embedded objects") in valid_objects if(self) - src << "You attempt to get a good grip on [selection] in your body." + to_chat(src, "You attempt to get a good grip on [selection] in your body.") else U << "You attempt to get a good grip on [selection] in [S]'s body." diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index e66cf6f4ac..a27d472baf 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -185,13 +185,13 @@ for(var/mob/M in range(mob, 1)) if(M.pulling == mob) if(!M.restrained() && M.stat == 0 && M.canmove && mob.Adjacent(M)) - src << "You're restrained! You can't move!" + to_chat(src, "You're restrained! You can't move!") return 0 else M.stop_pulling() if(mob.pinned.len) - src << "You're pinned to a wall by [mob.pinned[1]]!" + to_chat(src, "You're pinned to a wall by [mob.pinned[1]]!") return 0 mob.move_delay = world.time//set move delay @@ -396,7 +396,7 @@ //Check to see if we slipped if(prob(Process_Spaceslipping(5)) && !buckled) - src << "You slipped!" + to_chat(src, "You slipped!") src.inertia_dir = src.last_move step(src, src.inertia_dir) return 0 diff --git a/code/modules/mob/new_player/login.dm b/code/modules/mob/new_player/login.dm index aef78c28ec..19c79b0658 100644 --- a/code/modules/mob/new_player/login.dm +++ b/code/modules/mob/new_player/login.dm @@ -27,7 +27,7 @@ var/obj/effect/lobby_image = new /obj/effect/lobby_image /mob/new_player/Login() update_Login_details() //handles setting lastKnownIP and computer_id for use by the ban systems as well as checking for multikeying if(join_motd) - src << "
[join_motd]
" + to_chat(src, "
[join_motd]
") if(!mind) mind = new /datum/mind(key) diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index 947853055c..2d1dc5d101 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -44,7 +44,7 @@ if(!src.client.holder) if(!config.dsay_allowed) - src << "Deadchat is globally muted." + to_chat(src, "Deadchat is globally muted.") return if(!is_preference_enabled(/datum/client_preference/show_dsay)) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 6f05b298e6..28673c9fd7 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -36,7 +36,7 @@ dna.SetSEState(MONKEYBLOCK,1) dna.SetSEValueRange(MONKEYBLOCK,0xDAC, 0xFFF) - src << "You are now [species.name]. " + to_chat(src, "You are now [species.name]. ") qdel(animation) return src diff --git a/code/modules/organs/blood.dm b/code/modules/organs/blood.dm index 198b88f88c..ccef2fb79c 100644 --- a/code/modules/organs/blood.dm +++ b/code/modules/organs/blood.dm @@ -97,10 +97,10 @@ var/const/CE_STABLE_THRESHOLD = 0.5 pale = 1 update_icons_body() var/word = pick("dizzy","woosey","faint") - src << "You feel [word]" + to_chat(src, "You feel [word]") if(prob(1)) var/word = pick("dizzy","woosey","faint") - src << "You feel [word]" + to_chat(src, "You feel [word]") if(getOxyLoss() < 20 * threshold_coef) adjustOxyLoss(3 * dmg_coef) else if(blood_volume >= BLOOD_VOLUME_BAD) @@ -114,13 +114,13 @@ var/const/CE_STABLE_THRESHOLD = 0.5 if(prob(15)) Paralyse(rand(1,3)) var/word = pick("dizzy","woosey","faint") - src << "You feel extremely [word]" + to_chat(src, "You feel extremely [word]") else if(blood_volume >= BLOOD_VOLUME_SURVIVE) adjustOxyLoss(5 * dmg_coef) // adjustToxLoss(3 * dmg_coef) if(prob(15)) var/word = pick("dizzy","woosey","faint") - src << "You feel extremely [word]" + to_chat(src, "You feel extremely [word]") else //Not enough blood to survive (usually) if(!pale) pale = 1 diff --git a/code/modules/projectiles/targeting/targeting_mob.dm b/code/modules/projectiles/targeting/targeting_mob.dm index 765b59b478..1f2921354b 100644 --- a/code/modules/projectiles/targeting/targeting_mob.dm +++ b/code/modules/projectiles/targeting/targeting_mob.dm @@ -12,7 +12,7 @@ M.aiming = new(src) M.aiming.toggle_active() else - src << "This verb may only be used by living mobs, sorry." + to_chat(src, "This verb may only be used by living mobs, sorry.") return /mob/living/proc/stop_aiming(var/obj/item/thing, var/no_message = 0) diff --git a/interface/interface.dm b/interface/interface.dm index 6ecfde4e7c..29a3695d33 100644 --- a/interface/interface.dm +++ b/interface/interface.dm @@ -9,11 +9,11 @@ var/output = replacetext(config.wikisearchurl, "%s", url_encode(query)) src << link(output) else - src << " The wiki search URL is not set in the server configuration." + to_chat(src, " The wiki search URL is not set in the server configuration.") else src << link(config.wikiurl) else - src << "The wiki URL is not set in the server configuration." + to_chat(src, "The wiki URL is not set in the server configuration.") return /client/verb/forum() @@ -25,7 +25,7 @@ return src << link(config.forumurl) else - src << "The forum URL is not set in the server configuration." + to_chat(src, "The forum URL is not set in the server configuration.") return /client/verb/rules() @@ -38,7 +38,7 @@ return src << link(config.rulesurl) else - src << "The rules URL is not set in the server configuration." + to_chat(src, "The rules URL is not set in the server configuration.") return /client/verb/map() @@ -51,7 +51,7 @@ return src << link(config.mapurl) else - src << "The map URL is not set in the server configuration." + to_chat(src, "The map URL is not set in the server configuration.") return /client/verb/github() @@ -64,7 +64,7 @@ return src << link(config.githuburl) else - src << "The GitHub URL is not set in the server configuration." + to_chat(src, "The GitHub URL is not set in the server configuration.") return /client/verb/hotkeys_help()