Merge pull request #4107 from tigercat2000/to_chat

Replace most (if not all) output << operators with to_chat(user, message)
This commit is contained in:
Fox McCloud
2016-04-06 00:39:02 -04:00
1056 changed files with 8954 additions and 8871 deletions
+3 -3
View File
@@ -153,7 +153,7 @@ Pipelines + Other Objects -> Pipe network
if(can_unwrench && istype(W, /obj/item/weapon/wrench))
var/turf/T = get_turf(src)
if (level == 1 && isturf(T) && T.intact)
user << "<span class='danger'>You must remove the plating first.</span>"
to_chat(user, "<span class='danger'>You must remove the plating first.</span>")
return 1
var/datum/gas_mixture/int_air = return_air()
var/datum/gas_mixture/env_air = loc.return_air()
@@ -163,9 +163,9 @@ Pipelines + Other Objects -> Pipe network
var/internal_pressure = int_air.return_pressure()-env_air.return_pressure()
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "<span class='notice'>You begin to unfasten \the [src]...</span>"
to_chat(user, "<span class='notice'>You begin to unfasten \the [src]...</span>")
if (internal_pressure > 2*ONE_ATMOSPHERE)
user << "<span class='warning'>As you begin unwrenching \the [src] a gush of air blows in your face... maybe you should reconsider?</span>"
to_chat(user, "<span class='warning'>As you begin unwrenching \the [src] a gush of air blows in your face... maybe you should reconsider?</span>")
unsafe_wrenching = TRUE //Oh dear oh dear
if (do_after(user, 40, target = src) && isnull(gcDestroyed))
@@ -134,7 +134,7 @@
return
src.add_fingerprint(usr)
if(!src.allowed(user))
user << "<span class='alert'>Access denied.</span>"
to_chat(user, "<span class='alert'>Access denied.</span>")
return
usr.set_machine(src)
interact(user)
@@ -158,7 +158,7 @@
if (!istype(W, /obj/item/weapon/wrench))
return ..()
if (on)
user << "<span class='alert'>You cannot unwrench this [src], turn it off first.</span>"
to_chat(user, "<span class='alert'>You cannot unwrench this [src], turn it off first.</span>")
return 1
return ..()
@@ -157,7 +157,7 @@ Thus, the two variables affect pump operation are set in New():
return
src.add_fingerprint(usr)
if(!src.allowed(user))
user << "<span class='alert'>Access denied.</span>"
to_chat(user, "<span class='alert'>Access denied.</span>")
return
usr.set_machine(src)
interact(user)
@@ -188,6 +188,6 @@ Thus, the two variables affect pump operation are set in New():
if (!istype(W, /obj/item/weapon/wrench))
return ..()
if (!(stat & NOPOWER) && on)
user << "<span class='alert'>You cannot unwrench this [src], turn it off first.</span>"
to_chat(user, "<span class='alert'>You cannot unwrench this [src], turn it off first.</span>")
return 1
return ..()
@@ -74,7 +74,7 @@
if(!powered())
return
if(!src.allowed(user))
user << "<span class='alert'>Access denied.</span>"
to_chat(user, "<span class='alert'>Access denied.</span>")
return
..()
@@ -147,7 +147,7 @@ Thus, the two variables affect pump operation are set in New():
return
src.add_fingerprint(usr)
if(!src.allowed(user))
user << "<span class='alert'>Access denied.</span>"
to_chat(user, "<span class='alert'>Access denied.</span>")
return
usr.set_machine(src)
interact(user)
@@ -178,6 +178,6 @@ Thus, the two variables affect pump operation are set in New():
if (!istype(W, /obj/item/weapon/wrench))
return ..()
if (!(stat & NOPOWER) && on)
user << "<span class='alert'>You cannot unwrench this [src], turn it off first.</span>"
to_chat(user, "<span class='alert'>You cannot unwrench this [src], turn it off first.</span>")
return 1
return ..()
@@ -104,11 +104,11 @@
int_pressure += P.air.return_pressure()
var/datum/gas_mixture/env_air = loc.return_air()
if ((int_pressure - env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
user << "<span class='danger'>You cannot unwrench [src], it is too exerted due to internal pressure.</span>"
to_chat(user, "<span class='danger'>You cannot unwrench [src], it is too exerted due to internal pressure.</span>")
add_fingerprint(user)
return 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "<span class='notice'>You begin to unfasten \the [src]...</span>"
to_chat(user, "<span class='notice'>You begin to unfasten \the [src]...</span>")
if(do_after(user, 40, target = src))
user.visible_message( \
"[user] unfastens \the [src].", \
@@ -153,7 +153,7 @@ Filter types:
return
if(!src.allowed(user))
user << "<span class='alert'>Access denied.</span>"
to_chat(user, "<span class='alert'>Access denied.</span>")
return
var/dat
@@ -114,7 +114,7 @@
return
src.add_fingerprint(usr)
if(!src.allowed(user))
user << "<span class='alert'>Access denied.</span>"
to_chat(user, "<span class='alert'>Access denied.</span>")
return
usr.set_machine(src)
var/dat = {"<b>Power: </b><a href='?src=\ref[src];power=1'>[on?"On":"Off"]</a><br>
@@ -135,7 +135,7 @@
if(!powered())
return
if(!src.allowed(user))
user << "<span class='alert'>Access denied.</span>"
to_chat(user, "<span class='alert'>Access denied.</span>")
return
..()
@@ -171,7 +171,7 @@
return 1
if(istype(W, /obj/item/weapon/wrench))
if (!(stat & NOPOWER) && on)
user << "<span class='danger'>You cannot unwrench this [src], turn if off first.</span>"
to_chat(user, "<span class='danger'>You cannot unwrench this [src], turn if off first.</span>")
return 1
return ..()
@@ -36,7 +36,7 @@
/obj/machinery/atmospherics/unary/portables_connector/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob, params)
if(istype(W, /obj/item/weapon/wrench))
if(connected_device)
user << "<span class='danger'>You cannot unwrench this [src], detach [connected_device] first.</span>"
to_chat(user, "<span class='danger'>You cannot unwrench this [src], detach [connected_device] first.</span>")
return 1
return ..()
@@ -322,7 +322,7 @@
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if (WT.remove_fuel(0,user))
user << "<span class='notice'>Now welding the vent.</span>"
to_chat(user, "<span class='notice'>Now welding the vent.</span>")
if(do_after(user, 20, target = src))
if(!src || !WT.isOn()) return
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
@@ -336,19 +336,19 @@
update_icon()
else
user << "<span class='notice'>The welding tool needs to be on to start this task.</span>"
to_chat(user, "<span class='notice'>The welding tool needs to be on to start this task.</span>")
else
user << "<span class='notice'>You need more welding fuel to complete this task.</span>"
to_chat(user, "<span class='notice'>You need more welding fuel to complete this task.</span>")
return 1
if(istype(W, /obj/item/weapon/screwdriver))
if(!welded)
if(open)
user << "<span class='notice'> Now closing the vent.</span>"
to_chat(user, "<span class='notice'> Now closing the vent.</span>")
if (do_after(user, 20, target = src))
open = 0
user.visible_message("[user] screwdrivers the vent shut.", "You screwdriver the vent shut.", "You hear a screwdriver.")
else
user << "<span class='notice'> Now opening the vent.</span>"
to_chat(user, "<span class='notice'> Now opening the vent.</span>")
if (do_after(user, 20, target = src))
open = 1
user.visible_message("[user] screwdrivers the vent shut.", "You screwdriver the vent shut.", "You hear a screwdriver.")
@@ -359,16 +359,16 @@
user.drop_item(W)
W.forceMove(src)
if(!open)
user << "You can't shove that down there when it is closed"
to_chat(user, "You can't shove that down there when it is closed")
else
user << "The vent is welded."
to_chat(user, "The vent is welded.")
return
if(istype(W, /obj/item/device/multitool))
update_multitool_menu(user)
return 1
if (istype(W, /obj/item/weapon/wrench))
if (!(stat & NOPOWER) && on)
user << "<span class='danger'>You cannot unwrench this [src], turn it off first.</span>"
to_chat(user, "<span class='danger'>You cannot unwrench this [src], turn it off first.</span>")
return 1
return ..()
@@ -383,7 +383,7 @@
/obj/machinery/atmospherics/unary/vent_pump/examine(mob/user)
..(user)
if(welded)
user << "It seems welded shut."
to_chat(user, "It seems welded shut.")
/obj/machinery/atmospherics/unary/vent_pump/power_change()
var/old_stat = stat
@@ -58,7 +58,7 @@
/obj/machinery/atmospherics/unary/vent_pump/examine(mob/user)
..(user)
if(welded)
user << "It seems welded shut."
to_chat(user, "It seems welded shut.")
/obj/machinery/atmospherics/unary/vent_scrubber/auto_use_power()
if(!powered(power_channel))
@@ -372,7 +372,7 @@
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if (WT.remove_fuel(0,user))
user << "<span class='notice'>Now welding the scrubber.</span>"
to_chat(user, "<span class='notice'>Now welding the scrubber.</span>")
if(do_after(user, 20, target = src))
if(!src || !WT.isOn()) return
playsound(get_turf(src), 'sound/items/Welder2.ogg', 50, 1)
@@ -385,17 +385,17 @@
welded = 0
update_icon()
else
user << "<span class='notice'>The welding tool needs to be on to start this task.</span>"
to_chat(user, "<span class='notice'>The welding tool needs to be on to start this task.</span>")
return 1
else
user << "<span class='notice'>You need more welding fuel to complete this task.</span>"
to_chat(user, "<span class='notice'>You need more welding fuel to complete this task.</span>")
return 1
if(istype(W, /obj/item/device/multitool))
update_multitool_menu(user)
return 1
if (istype(W, /obj/item/weapon/wrench))
if (!(stat & NOPOWER) && on)
user << "<span class='danger'>You cannot unwrench this [src], turn it off first.</span>"
to_chat(user, "<span class='danger'>You cannot unwrench this [src], turn it off first.</span>")
return 1
return ..()
+2 -2
View File
@@ -39,7 +39,7 @@
var/extension = copytext(path,-4,0)
if( !fexists(path) || !(extension in valid_extensions) )
src << "<font color='red'>Error: browse_files(): File not found/Invalid file([path]).</font>"
to_chat(src, "<font color='red'>Error: browse_files(): File not found/Invalid file([path]).</font>")
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 << "<font color='red'>Error: file_spam_check(): Spam. Please wait [round(time_to_wait/10)] seconds.</font>"
to_chat(src, "<font color='red'>Error: file_spam_check(): Spam. Please wait [round(time_to_wait/10)] seconds.</font>")
return 1
fileaccess_timer = world.time + FTPDELAY
return 0
+5 -4
View File
@@ -486,17 +486,18 @@ proc/pollCandidates(var/Question, var/be_special_type, var/antag_age_check = 0,
if(G.has_enabled_antagHUD)
continue
spawn(0)
G << 'sound/misc/notice2.ogg' //Alerting them to their consideration
G << 'sound/misc/notice2.ogg'//Alerting them to their consideration
switch(alert(G,Question,"Please answer in [poll_time/10] seconds!","Yes","No"))
if("Yes")
G << "<span class='notice'>Choice registered: Yes.</span>"
to_chat(G, "<span class='notice'>Choice registered: Yes.</span>")
if((world.time-time_passed)>poll_time)//If more than 30 game seconds passed.
G << "<span class='danger'>Sorry, you were too late for the consideration!</span>"
to_chat(G, "<span class='danger'>Sorry, you were too late for the consideration!</span>")
G << 'sound/machines/buzz-sigh.ogg'
return
candidates += G
if("No")
G << "<span class='danger'>Choice registered: No.</span>"
to_chat(G, "<span class='danger'>Choice registered: No.</span>")
return
else
return
+1 -1
View File
@@ -58,7 +58,7 @@
var/list/L = chemical_reactions_list[reaction]
for(var/t in L)
. += " has: [t]\n"
world << .
to_chat(world, .)
*/
+3
View File
@@ -46,13 +46,16 @@
if(istype(AM))
if(AM.anchored)
adjacencies |= 1 << direction
else
if(AM)
adjacencies |= 1 << direction
else
for(var/direction in alldirs)
if(find_type_in_direction(A, direction))
adjacencies |= 1 << direction
return adjacencies
/proc/smooth_icon(atom/A)
+1 -1
View File
@@ -167,7 +167,7 @@ mob
Output_Icon()
set name = "2. Output Icon"
src<<"Icon is: \icon[getFlatIcon(src)]"
to_chat(src, "Icon is: \icon[getFlatIcon(src)]")
Label_Icon()
set name = "3. Label Icon"
+2 -2
View File
@@ -31,7 +31,7 @@
for(var/client/C in admins)
if(check_rights(R_DEBUG, 0, C.mob) && (C.prefs.toggles & CHAT_DEBUGLOGS))
C << "DEBUG: [text]"
to_chat(C, "DEBUG: [text]")
/proc/log_game(text)
@@ -90,5 +90,5 @@
* Standardized method for tracking startup times.
*/
/proc/log_startup_progress(var/message)
world << "<span class='danger'>[message]</span>"
to_chat(world, "<span class='danger'>[message]</span>")
log_to_dd(message)
+1 -1
View File
@@ -239,7 +239,7 @@ var/syndicate_code_response//Code response for traitors.
set name = "Generate Code Phrase"
set category = "Debug"
world << "\red Code Phrase is: \black [generate_code_phrase()]"
to_chat(world, "\red Code Phrase is: \black [generate_code_phrase()]")
return
+14 -10
View File
@@ -251,7 +251,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
var/pressure = air_contents.return_pressure()
var/total_moles = air_contents.total_moles()
user << "<span class='notice'>Results of analysis of \icon[icon] [target].</span>"
to_chat(user, "<span class='notice'>Results of analysis of \icon[icon] [target].</span>")
if(total_moles>0)
var/o2_concentration = air_contents.oxygen/total_moles
var/n2_concentration = air_contents.nitrogen/total_moles
@@ -260,16 +260,16 @@ Turf and target are seperate in case you want to teleport some distance from a t
var/unknown_concentration = 1-(o2_concentration+n2_concentration+co2_concentration+plasma_concentration)
user << "<span class='notice'>Pressure: [round(pressure,0.1)] kPa</span>"
user << "<span class='notice'>Nitrogen: [round(n2_concentration*100)] %</span>"
user << "<span class='notice'>Oxygen: [round(o2_concentration*100)] %</span>"
user << "<span class='notice'>CO2: [round(co2_concentration*100)] %</span>"
user << "<span class='notice'>Plasma: [round(plasma_concentration*100)] %</span>"
to_chat(user, "<span class='notice'>Pressure: [round(pressure,0.1)] kPa</span>")
to_chat(user, "<span class='notice'>Nitrogen: [round(n2_concentration*100)] %</span>")
to_chat(user, "<span class='notice'>Oxygen: [round(o2_concentration*100)] %</span>")
to_chat(user, "<span class='notice'>CO2: [round(co2_concentration*100)] %</span>")
to_chat(user, "<span class='notice'>Plasma: [round(plasma_concentration*100)] %</span>")
if(unknown_concentration>0.01)
user << "<span class='danger'>Unknown: [round(unknown_concentration*100)] %</span>"
user << "<span class='notice'>Temperature: [round(air_contents.temperature-T0C)] &deg;C</span>"
to_chat(user, "<span class='danger'>Unknown: [round(unknown_concentration*100)] %</span>")
to_chat(user, "<span class='notice'>Temperature: [round(air_contents.temperature-T0C)] &deg;C</span>")
else
user << "<span class='notice'>[target] is empty!</span>"
to_chat(user, "<span class='notice'>[target] is empty!</span>")
return
//Picks a string of symbols to display as the law number for hacked or ion laws
@@ -1665,4 +1665,8 @@ var/global/list/g_fancy_list_of_types = null
var/value = L[key]
if(findtext("[key]", filter) || findtext("[value]", filter))
matches[key] = value
return matches
return matches
// Use this to send to a client's chat, no exceptions (except this proc itself).
/proc/to_chat(var/thing, var/output)
thing << output
+2 -2
View File
@@ -332,10 +332,10 @@
var/turf/U = get_turf(A)
var/obj/structure/cable/cable = locate() in T
if(!cable || !istype(cable))
src << "<span class='warning'>There is no cable here to power the gloves.</span>"
to_chat(src, "<span class='warning'>There is no cable here to power the gloves.</span>")
return
if(world.time < G.next_shock)
src << "<span class='warning'>[G] aren't ready to shock again!</span>"
to_chat(src, "<span class='warning'>[G] aren't ready to shock again!</span>")
return
src.visible_message("<span class='warning'>[name] fires an arc of electricity!</span>", \
"<span class='warning'>You fire an arc of electricity!</span>", \
+3 -3
View File
@@ -27,10 +27,10 @@
/obj/item/weapon/badminBook/attack_self(mob/living/user as mob)
if(user.middleClickOverride)
user<< "<span class='warning'>You try to draw power from the [src], but you cannot hold the power at this time!</span>"
to_chat(user, "<span class='warning'>You try to draw power from the [src], but you cannot hold the power at this time!</span>")
return
user.middleClickOverride = clickBehavior
user << "<span class='notice'>You draw a bit of power from the [src], you can use <b>middle click</b> or <b>alt click</b> to release the power!</span>"
to_chat(user, "<span class='notice'>You draw a bit of power from the [src], you can use <b>middle click</b> or <b>alt click</b> to release the power!</span>")
/datum/middleClickOverride/badminClicker
var/summon_path = /obj/item/weapon/reagent_containers/food/snacks/cookie
@@ -38,6 +38,6 @@
/datum/middleClickOverride/badminClicker/onClick(var/atom/A, var/mob/living/user)
var/atom/movable/newObject = new summon_path
newObject.loc = get_turf(A)
user << "<span class='notice'>You release the power you had stored up, summoning \a [newObject.name]! </span>"
to_chat(user, "<span class='notice'>You release the power you had stored up, summoning \a [newObject.name]! </span>")
usr.loc.visible_message("<span class='notice'>[user] waves \his hand and summons \a [newObject.name]</span>")
..()
+1 -1
View File
@@ -53,7 +53,7 @@
if(is_component_functioning("camera"))
aiCamera.captureimage(A, usr)
else
src << "<span class='userdanger'>Your camera isn't functional.</span>"
to_chat(src, "<span class='userdanger'>Your camera isn't functional.</span>")
return
/*
+2 -2
View File
@@ -279,12 +279,12 @@
/datum/action/scan_mode/Activate()
active = 1
owner.research_scanner = 1
owner << "<span class='notice'> Research analyzer is now active.</span>"
to_chat(owner, "<span class='notice'> Research analyzer is now active.</span>")
/datum/action/scan_mode/Deactivate()
active = 0
owner.research_scanner = 0
owner << "<span class='notice'> Research analyzer deactivated.</span>"
to_chat(owner, "<span class='notice'> Research analyzer deactivated.</span>")
/datum/action/scan_mode/Grant(mob/living/T)
devices += 1
+2 -2
View File
@@ -195,6 +195,6 @@ datum/hud/New(mob/owner)
//hud_used.reorganize_alerts()
else
usr << "\red Inventory hiding is currently only supported for human mobs, sorry."
to_chat(usr, "\red Inventory hiding is currently only supported for human mobs, sorry.")
else
usr << "\red This mob type does not use a HUD."
to_chat(usr, "\red This mob type does not use a HUD.")
+2 -2
View File
@@ -246,11 +246,11 @@
r.client.screen += r.throw_icon //"store" icon
if(!r.module)
usr << "\red No module selected"
to_chat(usr, "\red No module selected")
return
if(!r.module.modules)
usr << "\red Selected module has no modules to select"
to_chat(usr, "\red Selected module has no modules to select")
return
if(!r.robot_modules_background)
+6 -6
View File
@@ -95,7 +95,7 @@
if(!C.stat && !C.stunned && !C.paralysis && !C.restrained())
if(C.internal)
C.internal = null
C << "<span class='notice'>No longer running on internals.</span>"
to_chat(C, "<span class='notice'>No longer running on internals.</span>")
if(C.internals)
C.internals.icon_state = "internal0"
else
@@ -108,7 +108,7 @@
no_mask = 1
if(no_mask)
C << "<span class='notice'>You are not wearing a suitable mask or helmet.</span>"
to_chat(C, "<span class='notice'>You are not wearing a suitable mask or helmet.</span>")
return 1
else
var/list/nicename = null
@@ -189,7 +189,7 @@
//We've determined the best container now we set it as our internals
if(best)
C << "<span class='notice'>You are now running on internals from [tankcheck[best]] [from] your [nicename[best]].</span>"
to_chat(C, "<span class='notice'>You are now running on internals from [tankcheck[best]] [from] your [nicename[best]].</span>")
C.internal = tankcheck[best]
@@ -197,7 +197,7 @@
if(C.internals)
C.internals.icon_state = "internal1"
else
C << "<span class='notice'>You don't have a[breathes=="oxygen" ? "n oxygen" : addtext(" ",breathes)] tank.</span>"
to_chat(C, "<span class='notice'>You don't have a[breathes=="oxygen" ? "n oxygen" : addtext(" ",breathes)] tank.</span>")
/obj/screen/mov_intent
name = "run/walk toggle"
@@ -208,7 +208,7 @@
if(iscarbon(usr))
var/mob/living/carbon/C = usr
if(C.legcuffed)
C << "<span class='notice'>You are legcuffed! You cannot run until you get [C.legcuffed] removed!</span>"
to_chat(C, "<span class='notice'>You are legcuffed! You cannot run until you get [C.legcuffed] removed!</span>")
C.m_intent = "walk" //Just incase
C.hud_used.move_intent.icon_state = "walking"
return 1
@@ -370,7 +370,7 @@
if(gun_click_time > world.time - 30) //give them 3 seconds between mode changes.
return
if(!istype(usr.get_active_hand(), /obj/item/weapon/gun))
usr << "You need your gun in your active hand to do that!"
to_chat(usr, "You need your gun in your active hand to do that!")
return
usr.client.AllowTargetClick()
gun_click_time = world.time
+4 -4
View File
@@ -17,7 +17,7 @@
user.changeNext_move(CLICK_CD_MELEE)
if(stat == DEAD && !isnull(butcher_results)) //can we butcher it?
if(istype(I, /obj/item/weapon/kitchen/knife))
user << "<span class='notice'>You begin to butcher [src]...</span>"
to_chat(user, "<span class='notice'>You begin to butcher [src]...</span>")
playsound(loc, 'sound/weapons/slice.ogg', 50, 1, -1)
if(do_mob(user, src, 80))
harvest(user)
@@ -79,7 +79,7 @@
if(istype(M, /mob/living/carbon/slime))
var/mob/living/carbon/slime/slime = M
if(prob(25))
user << "\red [src] passes right through [M]!"
to_chat(user, "\red [src] passes right through [M]!")
return
if(power > 0)
@@ -162,7 +162,7 @@
if(!showname && user)
if(user.client)
user << "\red <B>You attack [M] with [src]. </B>"
to_chat(user, "\red <B>You attack [M] with [src]. </B>")
@@ -184,7 +184,7 @@
if("fire")
if (!(RESIST_COLD in M.mutations))
M.take_organ_damage(0, power)
M << "Aargh it burns!"
to_chat(M, "Aargh it burns!")
M.updatehealth()
add_fingerprint(user)
return 1
+2 -2
View File
@@ -61,10 +61,10 @@
if(awaygate)
user.forceMove(awaygate.loc)
else
user << "[src] has no destination."
to_chat(user, "[src] has no destination.")
/obj/machinery/gateway/centeraway/attack_ghost(mob/user as mob)
if(stationgate)
user.forceMove(stationgate.loc)
else
user << "[src] has no destination."
to_chat(user, "[src] has no destination.")
+1 -1
View File
@@ -138,7 +138,7 @@
else
t5 = in_range(src, usr) || src.loc == usr
// world << "according to dblclick(), t5 is [t5]"
// to_chat(world, "according to dblclick(), t5 is [t5]")
// ------- ACTUALLY DETERMINING STUFF -------
if (((t5 || (W && (W.flags & USEDELAY))) && !( istype(src, /obj/screen) )))
+4 -4
View File
@@ -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:
log_debug("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)
+1 -1
View File
@@ -111,7 +111,7 @@ var/const/tk_maxrange = 15
if(focus)
d = max(d,get_dist(user,focus)) // whichever is further
if(d > tk_maxrange)
user << "<span class='warning'>Your mind won't reach that far.</span>"
to_chat(user, "<span class='warning'>Your mind won't reach that far.</span>")
return
if(!focus)
+1 -1
View File
@@ -8,7 +8,7 @@
if(C.is_afk(INACTIVITY_KICK))
if(!istype(C.mob, /mob/dead))
log_access("AFK: [key_name(C)]")
C << "<SPAN CLASS='warning'>You have been inactive for more than 10 minutes and have been disconnected.</SPAN>"
to_chat(C, "<SPAN CLASS='warning'>You have been inactive for more than 10 minutes and have been disconnected.</SPAN>")
del(C)
SCHECK
+7 -7
View File
@@ -92,30 +92,30 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
return
if(world.time - round_start_time < config.shuttle_refuel_delay)
user << "The emergency shuttle is refueling. Please wait another [abs(round(((world.time - round_start_time) - config.shuttle_refuel_delay)/600))] minutes before trying again."
to_chat(user, "The emergency shuttle is refueling. Please wait another [abs(round(((world.time - round_start_time) - config.shuttle_refuel_delay)/600))] minutes before trying again.")
return
switch(emergency.mode)
if(SHUTTLE_RECALL)
user << "The emergency shuttle may not be called while returning to Centcom."
to_chat(user, "The emergency shuttle may not be called while returning to Centcom.")
return
if(SHUTTLE_CALL)
user << "The emergency shuttle is already on its way."
to_chat(user, "The emergency shuttle is already on its way.")
return
if(SHUTTLE_DOCKED)
user << "The emergency shuttle is already here."
to_chat(user, "The emergency shuttle is already here.")
return
if(SHUTTLE_ESCAPE)
user << "The emergency shuttle is moving away to a safe distance."
to_chat(user, "The emergency shuttle is moving away to a safe distance.")
return
if(SHUTTLE_STRANDED)
user << "The emergency shuttle has been disabled by Centcom."
to_chat(user, "The emergency shuttle has been disabled by Centcom.")
return
call_reason = trim(html_encode(call_reason))
if(length(call_reason) < CALL_SHUTTLE_REASON_LENGTH)
user << "You must provide a reason."
to_chat(user, "You must provide a reason.")
return
var/area/signal_origin = get_area(user)
+2 -2
View File
@@ -688,7 +688,7 @@
var/list/datum/game_mode/runnable_modes = new
for (var/T in subtypesof(/datum/game_mode))
var/datum/game_mode/M = new T()
//world << "DEBUG: [T], tag=[M.config_tag], prob=[probabilities[M.config_tag]]"
// to_chat(world, "DEBUG: [T], tag=[M.config_tag], prob=[probabilities[M.config_tag]]")
if (!(M.config_tag in modes))
qdel(M)
continue
@@ -697,5 +697,5 @@
continue
if (M.can_start())
runnable_modes[M] = probabilities[M.config_tag]
//world << "DEBUG: runnable_mode\[[runnable_modes.len]\] = [M.config_tag]"
// to_chat(world, "DEBUG: runnable_mode\[[runnable_modes.len]\] = [M.config_tag]")
return runnable_modes
+13 -13
View File
@@ -25,7 +25,7 @@ datum/controller/vote
// No more change mode votes after the game has started.
// 3 is GAME_STATE_PLAYING, but that #define is undefined for some reason
if(mode == "gamemode" && ticker.current_state >= 2)
world << "<b>Voting aborted due to game start.</b>"
to_chat(world, "<b>Voting aborted due to game start.</b>")
src.reset()
return
@@ -62,7 +62,7 @@ datum/controller/vote
if(auto_muted && !config.ooc_allowed)
auto_muted = 0
config.ooc_allowed = !( config.ooc_allowed )
world << "<b>The OOC channel has been automatically enabled due to vote end.</b>"
to_chat(world, "<b>The OOC channel has been automatically enabled due to vote end.</b>")
log_admin("OOC was toggled automatically due to vote end.")
message_admins("OOC has been toggled on automatically.")
@@ -103,7 +103,7 @@ datum/controller/vote
else
factor = 1.4
choices["Initiate Crew Transfer"] = round(choices["Initiate Crew Transfer"] * factor)
world << "<font color='purple'>Crew Transfer Factor: [factor]</font>"
to_chat(world, "<font color='purple'>Crew Transfer Factor: [factor]</font>")
greatest_votes = max(choices["Initiate Crew Transfer"], choices["Continue The Round"])
@@ -140,7 +140,7 @@ datum/controller/vote
else
text += "<b>Vote Result: Inconclusive - No Votes!</b>"
log_vote(text)
world << "<font color='purple'>[text]</font>"
to_chat(world, "<font color='purple'>[text]</font>")
return .
proc/result()
@@ -160,7 +160,7 @@ datum/controller/vote
master_mode = .
if(!going)
going = 1
world << "<font color='red'><b>The round will start soon.</b></font>"
to_chat(world, "<font color='red'><b>The round will start soon.</b></font>")
if("crew_transfer")
if(. == "Initiate Crew Transfer")
init_shift_change(null, 1)
@@ -226,33 +226,33 @@ datum/controller/vote
text += "\n[question]"
log_vote(text)
world << "<font color='purple'><b>[text]</b>\nType vote to place your votes.\nYou have [config.vote_period/10] seconds to vote.</font>"
to_chat(world, "<font color='purple'><b>[text]</b>\nType vote to place your votes.\nYou have [config.vote_period/10] seconds to vote.</font>")
switch(vote_type)
if("crew_transfer")
world << sound('sound/ambience/alarm4.ogg')
to_chat(world, sound('sound/ambience/alarm4.ogg'))
if("gamemode")
world << sound('sound/ambience/alarm4.ogg')
to_chat(world, sound('sound/ambience/alarm4.ogg'))
if("custom")
world << sound('sound/ambience/alarm4.ogg')
to_chat(world, sound('sound/ambience/alarm4.ogg'))
if(mode == "gamemode" && going)
going = 0
world << "<font color='red'><b>Round start has been delayed.</b></font>"
to_chat(world, "<font color='red'><b>Round start has been delayed.</b></font>")
if(mode == "crew_transfer" && config.ooc_allowed)
auto_muted = 1
config.ooc_allowed = !( config.ooc_allowed )
world << "<b>The OOC channel has been automatically disabled due to a crew transfer vote.</b>"
to_chat(world, "<b>The OOC channel has been automatically disabled due to a crew transfer vote.</b>")
log_admin("OOC was toggled automatically due to crew_transfer vote.")
message_admins("OOC has been toggled off automatically.")
if(mode == "gamemode" && config.ooc_allowed)
auto_muted = 1
config.ooc_allowed = !( config.ooc_allowed )
world << "<b>The OOC channel has been automatically disabled due to the gamemode vote.</b>"
to_chat(world, "<b>The OOC channel has been automatically disabled due to the gamemode vote.</b>")
log_admin("OOC was toggled automatically due to gamemode vote.")
message_admins("OOC has been toggled off automatically.")
if(mode == "custom" && config.ooc_allowed)
auto_muted = 1
config.ooc_allowed = !( config.ooc_allowed )
world << "<b>The OOC channel has been automatically disabled due to a custom vote.</b>"
to_chat(world, "<b>The OOC channel has been automatically disabled due to a custom vote.</b>")
log_admin("OOC was toggled automatically due to custom vote.")
message_admins("OOC has been toggled off automatically.")
+2 -2
View File
@@ -228,9 +228,9 @@ var/global/const/base_law_type = /datum/ai_laws/nanotrasen
if(law == zeroth_law_borg)
continue
if(law == zeroth_law)
who << "<span class='danger'>[law.get_index()]. [law.law]</span>"
to_chat(who, "<span class='danger'>[law.get_index()]. [law.law]</span>")
else
who << "[law.get_index()]. [law.law]"
to_chat(who, "[law.get_index()]. [law.law]")
/********************
* Stating Laws *
+4 -4
View File
@@ -153,7 +153,7 @@
winset(user, windowid, "on-close=\".windowclose [param]\"")
//world << "OnClose [user]: [windowid] : ["on-close=\".windowclose [param]\""]"
// to_chat(world, "OnClose [user]: [windowid] : ["on-close=\".windowclose [param]\""]")
// the on-close client verb
@@ -165,11 +165,11 @@
set hidden = 1 // hide this verb from the user's panel
set name = ".windowclose" // no autocomplete on cmd line
//world << "windowclose: [atomref]"
// to_chat(world, "windowclose: [atomref]")
if(atomref!="null") // if passed a real atomref
var/hsrc = locate(atomref) // find the reffed atom
if(hsrc)
//world << "[src] Topic [href] [hsrc]"
// to_chat(world, "[src] Topic [href] [hsrc]")
usr = src.mob
src.Topic("close=1", list("close"="1"), hsrc) // this will direct to the atom's
return // Topic() proc via client.Topic()
@@ -177,6 +177,6 @@
// no atomref specified (or not found)
// so just reset the user mob's machine var
if(src && src.mob)
//world << "[src] was [src.mob.machine], setting to null"
// to_chat(world, "[src] was [src.mob.machine], setting to null")
src.mob.unset_machine()
return
+4 -4
View File
@@ -642,7 +642,7 @@
if(istype(M) && (remaining > MOB_WORK))
//this is necessarily damaging
var/damage = rand(1,5)
M << "\red <B>The unloading machine grabs you with a hard metallic claw!</B>"
to_chat(M, "\red <B>The unloading machine grabs you with a hard metallic claw!</B>")
if(M.client)
M.client.eye = master
M.client.perspective = EYE_PERSPECTIVE
@@ -660,7 +660,7 @@
bruteloss += L.brute_dam
if(bruteloss < 100) // requires tenderization
M.apply_damage(rand(5,15),BRUTE)
M << "The machine is tearing you apart!"
to_chat(M, "The machine is tearing you apart!")
master.visible_message("\red [master] makes a squishy grinding noise.")
return
M.loc = master.loc
@@ -698,7 +698,7 @@
if(remaining > MOB_WORK)
//this is necessarily damaging
var/damage = rand(1,5)
M << "\red <B>The unloading machine grabs you with a hard metallic claw!</B>"
to_chat(M, "\red <B>The unloading machine grabs you with a hard metallic claw!</B>")
if(M.client)
M.client.eye = master
M.client.perspective = EYE_PERSPECTIVE
@@ -790,7 +790,7 @@
//stolen from boxing gloves code
var/mob/living/carbon/human/M = W
if((M.lying || (M.health - M.staminaloss < 25))&& !master.emagged)
M << "\The [src] gives you a break."
to_chat(M, "\The [src] gives you a break.")
master.sleep+=5
return 0 // Be polite
var/punches = punch(M,remaining / PUNCH_WORK)
+72 -71
View File
@@ -7,7 +7,7 @@
if(!usr.client || !usr.client.holder)
usr << "\red You need to be an administrator to access this."
to_chat(usr, "\red You need to be an administrator to access this.")
return
@@ -415,7 +415,7 @@ body
html += " <span class='block'>"
for(var/i=0;i<4;i++)
idx=(block*4)+i
bit=1 << idx
to_chat(bit=1, idx)
bv=value & bit
html += "<a href='?_src_=vars;togbit=[idx];var=[name];subject=\ref[DA]' title='bit [idx] ([bit])'>[bv?1:0]</a>"
html += "</span>"
@@ -438,7 +438,7 @@ body
var/mob/M = locate(href_list["rename"])
if(!istype(M))
usr << "This can only be used on instances of type /mob"
to_chat(usr, "This can only be used on instances of type /mob")
return
var/new_name = sanitize(copytext(input(usr,"What would you like to name this mob?","Input a name",M.real_name) as text|null,1,MAX_NAME_LEN))
@@ -453,7 +453,7 @@ body
var/D = locate(href_list["datumedit"])
if(!istype(D,/datum) && !istype(D,/client))
usr << "This can only be used on instances of types /client or /datum"
to_chat(usr, "This can only be used on instances of types /client or /datum")
return
modify_variables(D, href_list["varnameedit"], 1)
@@ -463,13 +463,14 @@ body
var/atom/D = locate(href_list["subject"])
if(!istype(D,/datum) && !istype(D,/client))
usr << "This can only be used on instances of types /client or /datum"
to_chat(usr, "This can only be used on instances of types /client or /datum")
return
if(!(href_list["var"] in D.vars))
usr << "Unable to find variable specified."
to_chat(usr, "Unable to find variable specified.")
return
var/value = D.vars[href_list["var"]]
value ^= 1 << text2num(href_list["togbit"])
D.vars[href_list["var"]] = value
else if(href_list["varnamechange"] && href_list["datumchange"])
@@ -477,7 +478,7 @@ body
var/D = locate(href_list["datumchange"])
if(!istype(D,/datum) && !istype(D,/client))
usr << "This can only be used on instances of types /client or /datum"
to_chat(usr, "This can only be used on instances of types /client or /datum")
return
modify_variables(D, href_list["varnamechange"], 0)
@@ -487,7 +488,7 @@ body
var/atom/A = locate(href_list["datummass"])
if(!istype(A))
usr << "This can only be used on instances of type /atom"
to_chat(usr, "This can only be used on instances of type /atom")
return
cmd_mass_modify_object_variables(A, href_list["varnamemass"])
@@ -497,7 +498,7 @@ body
var/mob/M = locate(href_list["mob_player_panel"])
if(!istype(M))
usr << "This can only be used on instances of type /mob"
to_chat(usr, "This can only be used on instances of type /mob")
return
src.holder.show_player_panel(M)
@@ -508,7 +509,7 @@ body
var/mob/M = locate(href_list["give_spell"])
if(!istype(M))
usr << "This can only be used on instances of type /mob"
to_chat(usr, "This can only be used on instances of type /mob")
return
src.give_spell(M)
@@ -520,7 +521,7 @@ body
var/mob/M = locate(href_list["give_disease"])
if(!istype(M))
usr << "This can only be used on instances of type /mob"
to_chat(usr, "This can only be used on instances of type /mob")
return
src.give_disease(M)
@@ -531,7 +532,7 @@ body
var/mob/M = locate(href_list["godmode"])
if(!istype(M))
usr << "This can only be used on instances of type /mob"
to_chat(usr, "This can only be used on instances of type /mob")
return
src.cmd_admin_godmode(M)
@@ -542,7 +543,7 @@ body
var/mob/M = locate(href_list["gib"])
if(!istype(M))
usr << "This can only be used on instances of type /mob"
to_chat(usr, "This can only be used on instances of type /mob")
return
src.cmd_admin_gib(M)
@@ -552,7 +553,7 @@ body
var/mob/M = locate(href_list["build_mode"])
if(!istype(M))
usr << "This can only be used on instances of type /mob"
to_chat(usr, "This can only be used on instances of type /mob")
return
togglebuildmode(M)
@@ -563,7 +564,7 @@ body
var/mob/M = locate(href_list["drop_everything"])
if(!istype(M))
usr << "This can only be used on instances of type /mob"
to_chat(usr, "This can only be used on instances of type /mob")
return
if(usr.client)
@@ -574,7 +575,7 @@ body
var/mob/M = locate(href_list["direct_control"])
if(!istype(M))
usr << "This can only be used on instances of type /mob"
to_chat(usr, "This can only be used on instances of type /mob")
return
if(usr.client)
@@ -585,7 +586,7 @@ body
var/mob/living/carbon/human/H = locate(href_list["make_skeleton"])
if(!istype(H))
usr << "This can only be used on instances of type /mob/living/carbon/human"
to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
return
var/confirm = alert("Are you sure you want to turn this mob into a skeleton?","Confirm Skeleton Transformation","Yes","No")
@@ -602,9 +603,9 @@ body
var/mob/M = locate(href_list["offer_control"])
if(!istype(M))
usr << "This can only be used on instances of type /mob"
to_chat(usr, "This can only be used on instances of type /mob")
return
M << "Control of your mob has been offered to dead players."
to_chat(M, "Control of your mob has been offered to dead players.")
log_admin("[key_name(usr)] has offered control of ([key_name(M)]) to ghosts.")
message_admins("[key_name_admin(usr)] has offered control of ([key_name_admin(M)]) to ghosts")
var/list/mob/dead/observer/candidates = pollCandidates("Do you want to play as [M.real_name]?", poll_time = 100)
@@ -612,12 +613,12 @@ body
if(candidates.len)
theghost = pick(candidates)
M << "Your mob has been taken over by a ghost!"
to_chat(M, "Your mob has been taken over by a ghost!")
message_admins("[key_name_admin(theghost)] has taken control of ([key_name_admin(M)])")
M.ghostize()
M.key = theghost.key
else
M << "There were no ghosts willing to take control."
to_chat(M, "There were no ghosts willing to take control.")
message_admins("No ghosts were willing to take control of [key_name_admin(M)])")
else if(href_list["delall"])
@@ -625,7 +626,7 @@ body
var/obj/O = locate(href_list["delall"])
if(!isobj(O))
usr << "This can only be used on instances of type /obj"
to_chat(usr, "This can only be used on instances of type /obj")
return
var/action_type = alert("Strict type ([O.type]) or type and all subtypes?",,"Strict type","Type and subtypes","Cancel")
@@ -647,7 +648,7 @@ body
i++
qdel(Obj)
if(!i)
usr << "No objects of this type exist"
to_chat(usr, "No objects of this type exist")
return
log_admin("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted)")
message_admins("[key_name_admin(usr)] deleted all objects of type [O_type] ([i] objects deleted)")
@@ -658,7 +659,7 @@ body
i++
qdel(Obj)
if(!i)
usr << "No objects of this type exist"
to_chat(usr, "No objects of this type exist")
return
log_admin("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted)")
message_admins("[key_name_admin(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted)")
@@ -698,7 +699,7 @@ body
var/atom/A = locate(href_list["explode"])
if(!isobj(A) && !ismob(A) && !isturf(A))
usr << "This can only be done to instances of type /obj, /mob and /turf"
to_chat(usr, "This can only be done to instances of type /obj, /mob and /turf")
return
src.cmd_admin_explosion(A)
@@ -709,7 +710,7 @@ body
var/atom/A = locate(href_list["emp"])
if(!isobj(A) && !ismob(A) && !isturf(A))
usr << "This can only be done to instances of type /obj, /mob and /turf"
to_chat(usr, "This can only be done to instances of type /obj, /mob and /turf")
return
src.cmd_admin_emp(A)
@@ -720,7 +721,7 @@ body
var/datum/D = locate(href_list["mark_object"])
if(!istype(D))
usr << "This can only be done to instances of type /datum"
to_chat(usr, "This can only be done to instances of type /datum")
return
src.holder.marked_datum = D
@@ -740,7 +741,7 @@ body
var/atom/A = locate(href_list["rotatedatum"])
if(!istype(A))
usr << "This can only be done to instances of type /atom"
to_chat(usr, "This can only be done to instances of type /atom")
return
switch(href_list["rotatedir"])
@@ -756,12 +757,12 @@ body
var/mob/living/carbon/human/H = locate(href_list["makemonkey"])
if(!istype(H))
usr << "This can only be done to instances of type /mob/living/carbon/human"
to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
return
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return
if(!H)
usr << "Mob doesn't exist anymore"
to_chat(usr, "Mob doesn't exist anymore")
return
holder.Topic(href, list("monkeyone"=href_list["makemonkey"]))
@@ -770,12 +771,12 @@ body
var/mob/living/carbon/human/H = locate(href_list["makerobot"])
if(!istype(H))
usr << "This can only be done to instances of type /mob/living/carbon/human"
to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
return
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return
if(!H)
usr << "Mob doesn't exist anymore"
to_chat(usr, "Mob doesn't exist anymore")
return
holder.Topic(href, list("makerobot"=href_list["makerobot"]))
@@ -784,12 +785,12 @@ body
var/mob/living/carbon/human/H = locate(href_list["makealien"])
if(!istype(H))
usr << "This can only be done to instances of type /mob/living/carbon/human"
to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
return
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return
if(!H)
usr << "Mob doesn't exist anymore"
to_chat(usr, "Mob doesn't exist anymore")
return
holder.Topic(href, list("makealien"=href_list["makealien"]))
@@ -798,12 +799,12 @@ body
var/mob/living/carbon/human/H = locate(href_list["makeslime"])
if(!istype(H))
usr << "This can only be done to instances of type /mob/living/carbon/human"
to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
return
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return
if(!H)
usr << "Mob doesn't exist anymore"
to_chat(usr, "Mob doesn't exist anymore")
return
holder.Topic(href, list("makeslime"=href_list["makeslime"]))
@@ -812,12 +813,12 @@ body
var/mob/living/carbon/human/H = locate(href_list["makesuper"])
if(!istype(H))
usr << "This can only be done to instances of type /mob/living/carbon/human"
to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
return
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return
if(!H)
usr << "Mob doesn't exist anymore"
to_chat(usr, "Mob doesn't exist anymore")
return
holder.Topic(href, list("makesuper"=href_list["makesuper"]))
@@ -826,12 +827,12 @@ body
var/mob/living/carbon/human/H = locate(href_list["makeai"])
if(!istype(H))
usr << "This can only be done to instances of type /mob/living/carbon/human"
to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
return
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return
if(!H)
usr << "Mob doesn't exist anymore"
to_chat(usr, "Mob doesn't exist anymore")
return
holder.Topic(href, list("makeai"=href_list["makeai"]))
@@ -840,7 +841,7 @@ body
var/mob/currentMob = locate(href_list["makemask"])
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return
if(!currentMob)
usr << "Mob doesn't exist anymore"
to_chat(usr, "Mob doesn't exist anymore")
return
holder.Topic(href, list("makemask"=href_list["makemask"]))
@@ -850,29 +851,29 @@ body
var/mob/living/carbon/human/H = locate(href_list["setspecies"])
if(!istype(H))
usr << "This can only be done to instances of type /mob/living/carbon/human"
to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
return
var/new_species = input("Please choose a new species.","Species",null) as null|anything in all_species
if(!H)
usr << "Mob doesn't exist anymore"
to_chat(usr, "Mob doesn't exist anymore")
return
if(H.set_species(new_species))
usr << "Set species of [H] to [H.species]."
to_chat(usr, "Set species of [H] to [H.species].")
H.regenerate_icons()
message_admins("[key_name_admin(usr)] has changed the species of [key_name_admin(H)] to [new_species]")
log_admin("[key_name(usr)] has changed the species of [key_name(H)] to [new_species]")
else
usr << "Failed! Something went wrong."
to_chat(usr, "Failed! Something went wrong.")
else if(href_list["addlanguage"])
if(!check_rights(R_SPAWN)) return
var/mob/H = locate(href_list["addlanguage"])
if(!istype(H))
usr << "This can only be done to instances of type /mob"
to_chat(usr, "This can only be done to instances of type /mob")
return
var/new_language = input("Please choose a language to add.","Language",null) as null|anything in all_languages
@@ -881,26 +882,26 @@ body
return
if(!H)
usr << "Mob doesn't exist anymore"
to_chat(usr, "Mob doesn't exist anymore")
return
if(H.add_language(new_language))
usr << "Added [new_language] to [H]."
to_chat(usr, "Added [new_language] to [H].")
message_admins("[key_name_admin(usr)] has given [key_name_admin(H)] the language [new_language]")
log_admin("[key_name(usr)] has given [key_name(H)] the language [new_language]")
else
usr << "Mob already knows that language."
to_chat(usr, "Mob already knows that language.")
else if(href_list["remlanguage"])
if(!check_rights(R_SPAWN)) return
var/mob/H = locate(href_list["remlanguage"])
if(!istype(H))
usr << "This can only be done to instances of type /mob"
to_chat(usr, "This can only be done to instances of type /mob")
return
if(!H.languages.len)
usr << "This mob knows no languages."
to_chat(usr, "This mob knows no languages.")
return
var/datum/language/rem_language = input("Please choose a language to remove.","Language",null) as null|anything in H.languages
@@ -909,15 +910,15 @@ body
return
if(!H)
usr << "Mob doesn't exist anymore"
to_chat(usr, "Mob doesn't exist anymore")
return
if(H.remove_language(rem_language.name))
usr << "Removed [rem_language] from [H]."
to_chat(usr, "Removed [rem_language] from [H].")
message_admins("[key_name_admin(usr)] has removed language [rem_language] from [key_name_admin(H)]")
log_admin("[key_name(usr)] has removed language [rem_language] from [key_name(H)]")
else
usr << "Mob doesn't know that language."
to_chat(usr, "Mob doesn't know that language.")
else if(href_list["addverb"])
if(!check_rights(R_DEBUG)) return
@@ -925,7 +926,7 @@ body
var/mob/living/H = locate(href_list["addverb"])
if(!istype(H))
usr << "This can only be done to instances of type /mob/living"
to_chat(usr, "This can only be done to instances of type /mob/living")
return
var/list/possibleverbs = list()
possibleverbs += "Cancel" // One for the top...
@@ -942,7 +943,7 @@ body
var/verb = input("Select a verb!", "Verbs",null) as anything in possibleverbs
if(!H)
usr << "Mob doesn't exist anymore"
to_chat(usr, "Mob doesn't exist anymore")
return
if(!verb || verb == "Cancel")
return
@@ -957,11 +958,11 @@ body
var/mob/H = locate(href_list["remverb"])
if(!istype(H))
usr << "This can only be done to instances of type /mob"
to_chat(usr, "This can only be done to instances of type /mob")
return
var/verb = input("Please choose a verb to remove.","Verbs",null) as null|anything in H.verbs
if(!H)
usr << "Mob doesn't exist anymore"
to_chat(usr, "Mob doesn't exist anymore")
return
if(!verb)
return
@@ -975,18 +976,18 @@ body
var/mob/living/carbon/M = locate(href_list["addorgan"])
if(!istype(M))
usr << "This can only be done to instances of type /mob/living/carbon"
to_chat(usr, "This can only be done to instances of type /mob/living/carbon")
return
var/new_organ = input("Please choose an organ to add.","Organ",null) as null|anything in subtypesof(/obj/item/organ)-/obj/item/organ
if(!new_organ) return
if(!M)
usr << "Mob doesn't exist anymore"
to_chat(usr, "Mob doesn't exist anymore")
return
if(locate(new_organ) in M.internal_organs)
usr << "Mob already has that organ."
to_chat(usr, "Mob already has that organ.")
return
var/obj/item/organ/internal/organ = new new_organ
organ.insert(M)
@@ -998,20 +999,20 @@ body
var/mob/living/carbon/M = locate(href_list["remorgan"])
if(!istype(M))
usr << "This can only be done to instances of type /mob/living/carbon"
to_chat(usr, "This can only be done to instances of type /mob/living/carbon")
return
var/obj/item/organ/internal/rem_organ = input("Please choose an organ to remove.","Organ",null) as null|anything in M.internal_organs
if(!M)
usr << "Mob doesn't exist anymore"
to_chat(usr, "Mob doesn't exist anymore")
return
if(!(locate(rem_organ) in M.internal_organs))
usr << "Mob does not have that organ."
to_chat(usr, "Mob does not have that organ.")
return
usr << "Removed [rem_organ] from [M]."
to_chat(usr, "Removed [rem_organ] from [M].")
rem_organ.remove(M)
message_admins("[key_name_admin(usr)] has removed the organ [rem_organ] from [key_name_admin(M)]")
log_admin("[key_name(usr)] has removed the organ [rem_organ] from [key_name(M)]")
@@ -1023,13 +1024,13 @@ body
var/mob/H = locate(href_list["fix_nano"])
if(!istype(H) || !H.client)
usr << "This can only be done on mobs with clients"
to_chat(usr, "This can only be done on mobs with clients")
return
H.client.reload_nanoui_resources()
usr << "Resource files sent"
H << "Your NanoUI Resource files have been refreshed"
to_chat(usr, "Resource files sent")
to_chat(H, "Your NanoUI Resource files have been refreshed")
log_admin("[key_name(usr)] resent the NanoUI resource files to [key_name(H)]")
@@ -1038,7 +1039,7 @@ body
var/mob/M = locate(href_list["regenerateicons"])
if(!ismob(M))
usr << "This can only be done to instances of type /mob"
to_chat(usr, "This can only be done to instances of type /mob")
return
M.regenerate_icons()
@@ -1053,7 +1054,7 @@ body
var/amount = input("Deal how much damage to mob? (Negative values here heal)","Adjust [Text]loss",0) as num
if(!L)
usr << "Mob doesn't exist anymore"
to_chat(usr, "Mob doesn't exist anymore")
return
switch(Text)
@@ -1064,7 +1065,7 @@ body
if("brain") L.adjustBrainLoss(amount)
if("clone") L.adjustCloneLoss(amount)
else
usr << "You caused an error. DEBUG: Text:[Text] Mob:[L]"
to_chat(usr, "You caused an error. DEBUG: Text:[Text] Mob:[L]")
return
if(amount != 0)
+5 -5
View File
@@ -161,7 +161,7 @@ var/list/advance_cures = list(
return generated
/datum/disease/advance/proc/Refresh(new_name = 0)
//world << "[src.name] \ref[src] - REFRESH!"
// to_chat(world, "[src.name] \ref[src] - REFRESH!")
var/list/properties = GenerateProperties()
AssignProperties(properties)
id = null
@@ -255,7 +255,7 @@ var/list/advance_cures = list(
/datum/disease/advance/proc/GenerateCure(list/properties = list())
if(properties && properties.len)
var/res = Clamp(properties["resistance"] - (symptoms.len / 2), 1, advance_cures.len)
//world << "Res = [res]"
// to_chat(world, "Res = [res]")
cures = list(advance_cures[res])
// Get the cure name from the cure_id
@@ -327,7 +327,7 @@ var/list/advance_cures = list(
// Mix a list of advance diseases and return the mixed result.
/proc/Advance_Mix(var/list/D_list)
//world << "Mixing!!!!"
// to_chat(world, "Mixing!!!!")
var/list/diseases = list()
@@ -352,7 +352,7 @@ var/list/advance_cures = list(
D2.Mix(D1)
// Should be only 1 entry left, but if not let's only return a single entry
//world << "END MIXING!!!!!"
// to_chat(world, "END MIXING!!!!!")
var/datum/disease/advance/to_return = pick(diseases)
to_return.Refresh(1)
return to_return
@@ -421,7 +421,7 @@ var/list/advance_cures = list(
/mob/verb/test()
for(var/datum/disease/D in disease_master.processing)
src << "<a href='?_src_=vars;Vars=\ref[D]'>[D.name] - [D.holder]</a>"
to_chat(src, "<a href='?_src_=vars;Vars=\ref[D]'>[D.name] - [D.holder]</a>")
*/
@@ -32,17 +32,17 @@ BONUS
var/mob/living/carbon/human/H = M
switch(A.stage)
if(1, 2)
H << "<span class='warning'>Your chin itches.</span>"
to_chat(H, "<span class='warning'>Your chin itches.</span>")
if(H.f_style == "Shaved")
H.f_style = "Jensen Beard"
H.update_hair()
if(3, 4)
H << "<span class='warning'>You feel tough.</span>"
to_chat(H, "<span class='warning'>You feel tough.</span>")
if(!(H.f_style == "Dwarf Beard") && !(H.f_style == "Very Long Beard") && !(H.f_style == "Full Beard"))
H.f_style = "Full Beard"
H.update_hair()
else
H << "<span class='warning'>You feel manly!</span>"
to_chat(H, "<span class='warning'>You feel manly!</span>")
if(!(H.f_style == "Dwarf Beard") && !(H.f_style == "Very Long Beard"))
H.f_style = pick("Dwarf Beard", "Very Long Beard")
H.update_hair()
@@ -31,13 +31,13 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2)
M << "<span class='warning'>[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]</span>"
to_chat(M, "<span class='warning'>[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]</span>")
if(3, 4)
M << "<span class='warning'><b>[pick("Your windpipe feels like a straw.", "Your breathing becomes tremendously difficult.")]</span>"
to_chat(M, "<span class='warning'><b>[pick("Your windpipe feels like a straw.", "Your breathing becomes tremendously difficult.")]</span>")
Choke_stage_3_4(M, A)
M.emote("gasp")
else
M << "<span class='userdanger'>[pick("You're choking!", "You can't breathe!")]</span>"
to_chat(M, "<span class='userdanger'>[pick("You're choking!", "You can't breathe!")]</span>")
Choke(M, A)
M.emote("gasp")
return
@@ -32,9 +32,9 @@ Bonus
var/mob/living/carbon/M = A.affected_mob
switch(A.stage)
if(1, 2, 3, 4)
M << "<span class='warning'>[pick("Your head hurts.", "Your mind blanks for a moment.")]</span>"
to_chat(M, "<span class='warning'>[pick("Your head hurts.", "Your mind blanks for a moment.")]</span>")
else
M << "<span class='userdanger'>You can't think straight!</span>"
to_chat(M, "<span class='userdanger'>You can't think straight!</span>")
M.confused = min(100, M.confused + 8)
return
@@ -31,7 +31,7 @@ BONUS
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2, 3)
M << "<span notice='warning'>[pick("You swallow excess mucus.", "You lightly cough.")]</span>"
to_chat(M, "<span notice='warning'>[pick("You swallow excess mucus.", "You lightly cough.")]</span>")
else
M.emote("cough")
var/obj/item/I = M.get_active_hand()
@@ -31,13 +31,13 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(3, 4)
M << "<span class='warning'>[pick("You hear a ringing in your ear.", "Your ears pop.")]</span>"
to_chat(M, "<span class='warning'>[pick("You hear a ringing in your ear.", "Your ears pop.")]</span>")
if(5)
if(!(M.ear_deaf))
M << "<span class='userdanger'>Your ears pop and begin ringing loudly!</span>"
to_chat(M, "<span class='userdanger'>Your ears pop and begin ringing loudly!</span>")
M.setEarDamage(-1,INFINITY) //Shall be enough
spawn(200)
if(M)
M << "<span class='warning'>The ringing in your ears fades...</span>"
to_chat(M, "<span class='warning'>The ringing in your ears fades...</span>")
M.setEarDamage(-1,0)
return
@@ -31,8 +31,8 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2, 3, 4)
M << "<span class='warning'>[pick("You feel dizzy.", "Your head spins.")]</span>"
to_chat(M, "<span class='warning'>[pick("You feel dizzy.", "Your head spins.")]</span>")
else
M << "<span class='userdanger'>A wave of dizziness washes over you!</span>"
to_chat(M, "<span class='userdanger'>A wave of dizziness washes over you!</span>")
M.Dizzy(5)
return
@@ -29,7 +29,7 @@ Bonus
..()
if(prob(SYMPTOM_ACTIVATION_PROB))
var/mob/living/carbon/M = A.affected_mob
M << "<span class='warning'>[pick("You feel hot.", "You feel like you're burning.")]</span>"
to_chat(M, "<span class='warning'>[pick("You feel hot.", "You feel like you're burning.")]</span>")
if(M.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT)
Heat(M, A)
@@ -31,16 +31,16 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(3)
M << "<span class='warning'>[pick("You feel hot.", "You hear a crackling noise.", "You smell smoke.")]</span>"
to_chat(M, "<span class='warning'>[pick("You feel hot.", "You hear a crackling noise.", "You smell smoke.")]</span>")
if(4)
Firestacks_stage_4(M, A)
M.IgniteMob()
M << "<span class='userdanger'>Your skin bursts into flames!</span>"
to_chat(M, "<span class='userdanger'>Your skin bursts into flames!</span>")
M.emote("scream")
if(5)
Firestacks_stage_5(M, A)
M.IgniteMob()
M << "<span class='userdanger'>Your skin erupts into an inferno!</span>"
to_chat(M, "<span class='userdanger'>Your skin erupts into an inferno!</span>")
M.emote("scream")
return
@@ -31,9 +31,9 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(2,3)
M << "<span class='warning'>[pick("You feel a sudden pain across your body.", "Drops of blood appear suddenly on your skin.")]</span>"
to_chat(M, "<span class='warning'>[pick("You feel a sudden pain across your body.", "Drops of blood appear suddenly on your skin.")]</span>")
if(4,5)
M << "<span class='userdanger'>[pick("You cringe as a violent pain takes over your body.", "It feels like your body is eating itself inside out.", "IT HURTS.")]</span>"
to_chat(M, "<span class='userdanger'>[pick("You cringe as a violent pain takes over your body.", "It feels like your body is eating itself inside out.", "IT HURTS.")]</span>")
Flesheat(M, A)
return
@@ -35,7 +35,7 @@ Bonus
return
switch(A.stage)
if(4, 5)
M << "<span class='warning'>[pick("Your skin feels itchy.", "You feel light headed.")]</span>"
to_chat(M, "<span class='warning'>[pick("Your skin feels itchy.", "You feel light headed.")]</span>")
M.dna.remove_mutation_group(possible_mutations)
randmut(M, possible_mutations)
return
@@ -31,11 +31,11 @@ Bonus
var/mob/living/carbon/M = A.affected_mob
switch(A.stage)
if(1, 2)
M << "<span class='warning'>[pick("Something appears in your peripheral vision, then winks out.", "You hear a faint whispher with no source.", "Your head aches.")]</span>"
to_chat(M, "<span class='warning'>[pick("Something appears in your peripheral vision, then winks out.", "You hear a faint whispher with no source.", "Your head aches.")]</span>")
if(3, 4)
M << "<span class='warning'><b>[pick("Something is following you.", "You are being watched.", "You hear a whisper in your ear.", "Thumping footsteps slam toward you from nowhere.")]</b></span>"
to_chat(M, "<span class='warning'><b>[pick("Something is following you.", "You are being watched.", "You hear a whisper in your ear.", "Thumping footsteps slam toward you from nowhere.")]</b></span>")
else
M << "<span class='userdanger'>[pick("Oh, your head...", "Your head pounds.", "They're everywhere! Run!", "Something in the shadows...")]</span>"
to_chat(M, "<span class='userdanger'>[pick("Oh, your head...", "Your head pounds.", "They're everywhere! Run!", "Something in the shadows...")]</span>")
M.hallucination += 5
return
@@ -30,5 +30,5 @@ BONUS
..()
if(prob(SYMPTOM_ACTIVATION_PROB))
var/mob/living/M = A.affected_mob
M << "<span class='warning'>[pick("Your head hurts.", "Your head starts pounding.")]</span>"
to_chat(M, "<span class='warning'>[pick("Your head hurts.", "Your head starts pounding.")]</span>")
return
@@ -73,7 +73,7 @@ Bonus
cured_diseases += D.GetDiseaseID()
D.cure()
if(cured)
M << "<span class='notice'>You feel much better.</span>"
to_chat(M, "<span class='notice'>You feel much better.</span>")
/datum/symptom/heal/metabolism/End(datum/disease/advance/A)
// Remove all the diseases we cured.
@@ -83,7 +83,7 @@ Bonus
for(var/res in M.resistances)
if(res in cured_diseases)
M.resistances -= res
M << "<span class='warning'>You feel weaker.</span>"
to_chat(M, "<span class='warning'>You feel weaker.</span>")
/*
//////////////////////////////////////
@@ -30,5 +30,5 @@ BONUS
..()
if(prob(SYMPTOM_ACTIVATION_PROB))
var/mob/living/M = A.affected_mob
M << "<span class='warning'>Your [pick("back", "arm", "leg", "elbow", "head")] itches.</span>"
to_chat(M, "<span class='warning'>Your [pick("back", "arm", "leg", "elbow", "head")] itches.</span>")
return
@@ -34,5 +34,5 @@ Bonus
M.reagents.add_reagent("salbutamol", 20)
else
if(prob(SYMPTOM_ACTIVATION_PROB * 5))
M << "<span class='notice'>[pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe.")]</span>"
to_chat(M, "<span class='notice'>[pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe.")]</span>")
return
@@ -32,19 +32,19 @@ Bonus
if(2)
if(M.reagents.get_reagent_amount("oculine")<10)
M.reagents.add_reagent("oculine"=10)
M << "<span class='notice'>Your hearing feels clearer and crisp.</span>"
to_chat(M, "<span class='notice'>Your hearing feels clearer and crisp.</span>")
if(3)
if(M.reagents.get_reagent_amount("antihol") < 10 && M.reagents.get_reagent_amount("oculine") < 10 )
M.reagents.add_reagent_list(list("antihol"=10, "oculine"=10))
M << "<span class='notice'>You feel sober.</span>"
to_chat(M, "<span class='notice'>You feel sober.</span>")
if(4)
if(M.reagents.get_reagent_amount("antihol") < 10 && M.reagents.get_reagent_amount("oculine") < 10 && M.reagents.get_reagent_amount("synaptizine") < 10)
M.reagents.add_reagent_list(list("antihol"=10, "oculine"=10, "synaptizine"=5))
M << "<span class='notice'>You feel focused.</span>"
to_chat(M, "<span class='notice'>You feel focused.</span>")
if(5)
if(M.reagents.get_reagent_amount("antihol") < 10 && M.reagents.get_reagent_amount("oculine") < 10 && M.reagents.get_reagent_amount("synaptizine") < 10 && M.reagents.get_reagent_amount("mannitol") < 10)
M.reagents.add_reagent_list(list("mannitol"=10, "antihol"=10, "oculine"=10, "synaptizine"=10))
M << "<span class='notice'>Your mind feels relaxed.</span>"
to_chat(M, "<span class='notice'>Your mind feels relaxed.</span>")
return
/*
@@ -80,24 +80,24 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1)
M << "<span class='warning'><b>You can't taste a thing.</b></span>"
to_chat(M, "<span class='warning'><b>You can't taste a thing.</b></span>")
if(2)
M << "<span class='warning'><b>You can't feel anything.</b></span>"
to_chat(M, "<span class='warning'><b>You can't feel anything.</b></span>")
if(prob(10))
M.reagents.add_reagent("morphine",rand(5,7))
if(3)
M.reagents.add_reagent("ethanol",rand(5,7))
M << "<span class='warning'><b>You feel absolutely hammered.</b></span>"
to_chat(M, "<span class='warning'><b>You feel absolutely hammered.</b></span>")
if(prob(15))
M.reagents.add_reagent("morphine",rand(5,7))
if(4)
M.reagents.add_reagent_list(list("ethanol",rand(7,15),"lsd",rand(5,10)))
M << "<span class='warning'><b>You try to focus on not dying.</b></span>"
to_chat(M, "<span class='warning'><b>You try to focus on not dying.</b></span>")
if(prob(20))
M.reagents.add_reagent("morphine",rand(5,7))
if(5)
M.reagents.add_reagent_list(list("haloperidol",rand(5,15),"ethanol",rand(7,20),"lsd",rand(5,15)))
M << "<span class='warning'><b>u can count 2 potato!</b></span>"
to_chat(M, "<span class='warning'><b>u can count 2 potato!</b></span>")
if(prob(25))
M.reagents.add_reagent("morphine",rand(5,7))
return
@@ -28,19 +28,19 @@ BONUS
..()
if(prob(SYMPTOM_ACTIVATION_PROB))
var/mob/living/M = A.affected_mob
M << "<span class='warning'>[pick("Your scalp itches.", "Your skin feels flakey.")]</span>"
to_chat(M, "<span class='warning'>[pick("Your scalp itches.", "Your skin feels flakey.")]</span>")
if(istype(M, /mob/living/carbon/human))
var/mob/living/carbon/human/H = M
switch(A.stage)
if(3, 4)
if(!(H.h_style == "Bald") && !(H.h_style == "Balding Hair"))
H << "<span class='warning'>Your hair starts to fall out in clumps...</span>"
to_chat(H, "<span class='warning'>Your hair starts to fall out in clumps...</span>")
spawn(50)
H.h_style = "Balding Hair"
H.update_hair()
if(5)
if(!(H.f_style == "Shaved") || !(H.h_style == "Bald"))
H << "<span class='warning'>Your hair starts to fall out in clumps...</span>"
to_chat(H, "<span class='warning'>Your hair starts to fall out in clumps...</span>")
spawn(50)
H.f_style = "Shaved"
H.h_style = "Bald"
@@ -29,7 +29,7 @@ Bonus
..()
if(prob(SYMPTOM_ACTIVATION_PROB))
var/mob/living/carbon/M = A.affected_mob
M << "<span class='warning'>[pick("You feel cold.", "You start shivering.")]</span>"
to_chat(M, "<span class='warning'>[pick("You feel cold.", "You start shivering.")]</span>")
if(M.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT)
Chill(M, A)
return
@@ -34,5 +34,5 @@ Bonus
M.reagents.add_reagent("ephedrine", 10)
else
if(prob(SYMPTOM_ACTIVATION_PROB * 5))
M << "<span class='notice'>[pick("You feel restless.", "You feel like running laps around the station.")]</span>"
to_chat(M, "<span class='notice'>[pick("You feel restless.", "You feel like running laps around the station.")]</span>")
return
@@ -27,9 +27,9 @@ BONUS
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1)
M << "<span class='notice'>You feel off, but no different from before.</span>"
to_chat(M, "<span class='notice'>You feel off, but no different from before.</span>")
if(5)
M << "<span class='notice'>You feel better, but nothing interesting happens.</span>"
to_chat(M, "<span class='notice'>You feel better, but nothing interesting happens.</span>")
/*
//////////////////////////////////////
@@ -60,6 +60,6 @@ BONUS
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1)
M << "<span class='notice'>You feel better, but no different from before.</span>"
to_chat(M, "<span class='notice'>You feel better, but no different from before.</span>")
if(5)
M << "<span class='notice'>You feel off, but nothing interesting happens.</span>"
to_chat(M, "<span class='notice'>You feel off, but nothing interesting happens.</span>")
@@ -31,20 +31,20 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2)
M << "<span class='warning'>Your eyes itch.</span>"
to_chat(M, "<span class='warning'>Your eyes itch.</span>")
if(3, 4)
M << "<span class='warning'><b>Your eyes burn!</b></span>"
to_chat(M, "<span class='warning'><b>Your eyes burn!</b></span>")
M.blur_eyes(10)
M.adjust_eye_damage(1)
else
M << "<span class='userdanger'>Your eyes burn horrificly!</span>"
to_chat(M, "<span class='userdanger'>Your eyes burn horrificly!</span>")
M.blur_eyes(20)
M.adjust_eye_damage(5)
if(M.eye_damage >= 10)
M.become_nearsighted()
if(prob(M.eye_damage - 10 + 1))
if(M.become_blind())
M << "<span class='userdanger'>You go blind!</span>"
to_chat(M, "<span class='userdanger'>You go blind!</span>")
/*
@@ -83,5 +83,5 @@ Bonus
M.reagents.add_reagent("oculine", 20)
else
if(prob(SYMPTOM_ACTIVATION_PROB * 5))
M << "<span class='notice'>[pick("Your eyes feel great.", "You are now blinking manually.", "You don't feel the need to blink.")]</span>"
to_chat(M, "<span class='notice'>[pick("Your eyes feel great.", "You are now blinking manually.", "You don't feel the need to blink.")]</span>")
return
@@ -32,7 +32,7 @@ Bonus
var/mob/living/carbon/M = A.affected_mob
switch(A.stage)
if(1, 2, 3, 4)
M << "<span class='warning'>[pick("Your throat hurts.", "You clear your throat.")]</span>"
to_chat(M, "<span class='warning'>[pick("Your throat hurts.", "You clear your throat.")]</span>")
else
if(ishuman(M))
var/mob/living/carbon/human/H = M
@@ -35,7 +35,7 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2, 3, 4)
M << "<span class='warning'>[pick("You feel nauseous.", "You feel like you're going to throw up!")]</span>"
to_chat(M, "<span class='warning'>[pick("You feel nauseous.", "You feel like you're going to throw up!")]</span>")
else
Vomit(M)
@@ -31,12 +31,12 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2)
M << "<span class='warning'>[pick("You feel weak.", "You feel lazy.")]</span>"
to_chat(M, "<span class='warning'>[pick("You feel weak.", "You feel lazy.")]</span>")
if(3, 4)
M << "<span class='warning'><b>[pick("You feel very frail.", "You think you might faint.")]</span>"
to_chat(M, "<span class='warning'><b>[pick("You feel very frail.", "You think you might faint.")]</span>")
M.adjustStaminaLoss(15)
else
M << "<span class='userdanger'>[pick("You feel tremendously weak!", "Your body trembles as exhaustion creeps over you.")]</span>"
to_chat(M, "<span class='userdanger'>[pick("You feel tremendously weak!", "Your body trembles as exhaustion creeps over you.")]</span>")
M.adjustStaminaLoss(30)
if(M.getStaminaLoss() > 60 && !M.stat)
M.visible_message("<span class='warning'>[M] faints!</span>", "<span class='userdanger'>You swoon and faint...</span>")
@@ -31,7 +31,7 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2, 3, 4)
M << "<span class='warning'>[pick("You feel blubbery.", "Your stomach hurts.")]</span>"
to_chat(M, "<span class='warning'>[pick("You feel blubbery.", "Your stomach hurts.")]</span>")
else
M.overeatduration = min(M.overeatduration + 100, 600)
M.nutrition = min(M.nutrition + 100, NUTRITION_LEVEL_FULL)
@@ -73,9 +73,9 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2, 3, 4)
M << "<span class='warning'>[pick("You feel hungry.", "You crave for food.")]</span>"
to_chat(M, "<span class='warning'>[pick("You feel hungry.", "You crave for food.")]</span>")
else
M << "<span class='warning'><i>[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]</i></span>"
to_chat(M, "<span class='warning'><i>[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]</i></span>")
M.overeatduration = max(M.overeatduration - 100, 0)
M.nutrition = max(M.nutrition - 100, 0)
@@ -34,22 +34,22 @@ BONUS
if(1)
if(H.age > 41)
H.age = 41
H << "<span class='notice'>You haven't had this much energy in years!</span>"
to_chat(H, "<span class='notice'>You haven't had this much energy in years!</span>")
if(2)
if(H.age > 36)
H.age = 36
H << "<span class='notice'>You're suddenly in a good mood.</span>"
to_chat(H, "<span class='notice'>You're suddenly in a good mood.</span>")
if(3)
if(H.age > 31)
H.age = 31
H << "<span class='notice'>You begin to feel more lithe.</span>"
to_chat(H, "<span class='notice'>You begin to feel more lithe.</span>")
if(4)
if(H.age > 26)
H.age = 26
H << "<span class='notice'>You feel reinvigorated.</span>"
to_chat(H, "<span class='notice'>You feel reinvigorated.</span>")
if(5)
if(H.age > 21)
H.age = 21
H << "<span class='notice'>You feel like you can take on the world!</span>"
to_chat(H, "<span class='notice'>You feel like you can take on the world!</span>")
return
+5 -5
View File
@@ -16,18 +16,18 @@
switch(stage)
if(2) //also changes say, see say.dm
if(prob(5))
affected_mob << "<span class='notice'>You feel anxious.</span>"
to_chat(affected_mob, "<span class='notice'>You feel anxious.</span>")
if(3)
if(prob(10))
affected_mob << "<span class='notice'>Your stomach flutters.</span>"
to_chat(affected_mob, "<span class='notice'>Your stomach flutters.</span>")
if(prob(5))
affected_mob << "<span class='notice'>You feel panicky.</span>"
to_chat(affected_mob, "<span class='notice'>You feel panicky.</span>")
if(prob(2))
affected_mob << "<span class='danger'>You're overtaken with panic!</span>"
to_chat(affected_mob, "<span class='danger'>You're overtaken with panic!</span>")
affected_mob.confused += (rand(2,3))
if(4)
if(prob(10))
affected_mob << "<span class='danger'>You feel butterflies in your stomach.</span>"
to_chat(affected_mob, "<span class='danger'>You feel butterflies in your stomach.</span>")
if(prob(5))
affected_mob.visible_message("<span class='danger'>[affected_mob] stumbles around in a panic.</span>", \
"<span class='userdanger'>You have a panic attack!</span>")
+1 -1
View File
@@ -26,7 +26,7 @@
A.inflamed = 1
A.update_icon()
if(prob(3))
affected_mob << "<span class='warning'>You feel a stabbing pain in your abdomen!</span>"
to_chat(affected_mob, "<span class='warning'>You feel a stabbing pain in your abdomen!</span>")
affected_mob.Stun(rand(2,3))
affected_mob.adjustToxLoss(1)
if(3)
+4 -4
View File
@@ -16,12 +16,12 @@
switch(stage)
if(2) //also changes say, see say.dm // no it doesn't, that's horrifyingly snowflakey
if(prob(2))
affected_mob << "<span class='notice'>You taste honey in your mouth.</span>"
to_chat(affected_mob, "<span class='notice'>You taste honey in your mouth.</span>")
if(3)
if(prob(10))
affected_mob << "<span class='notice'>Your stomach rumbles.</span>"
to_chat(affected_mob, "<span class='notice'>Your stomach rumbles.</span>")
if(prob(2))
affected_mob << "<span class='danger'>Your stomach stings painfully.</span>"
to_chat(affected_mob, "<span class='danger'>Your stomach stings painfully.</span>")
if(prob(20))
affected_mob.adjustToxLoss(2)
affected_mob.updatehealth()
@@ -30,7 +30,7 @@
affected_mob.visible_message("<span class='danger'>[affected_mob] buzzes.</span>", \
"<span class='userdanger'>Your stomach buzzes violently!</span>")
if(prob(5))
affected_mob << "<span class='danger'>You feel something moving in your throat.</span>"
to_chat(affected_mob, "<span class='danger'>You feel something moving in your throat.</span>")
if(prob(1))
affected_mob.visible_message("<span class='danger'>[affected_mob] coughs up a swarm of bees!</span>", \
"<span class='userdanger'>You cough up a swarm of bees!</span>")
+4 -4
View File
@@ -22,7 +22,7 @@
if(prob(2))
affected_mob.emote("yawn")
if(prob(2))
affected_mob << "<span class='danger'>You don't feel like yourself.</span>"
to_chat(affected_mob, "<span class='danger'>You don't feel like yourself.</span>")
if(prob(5))
affected_mob.adjustBrainLoss(1)
affected_mob.updatehealth()
@@ -35,7 +35,7 @@
affected_mob.adjustBrainLoss(2)
affected_mob.updatehealth()
if(prob(2))
affected_mob << "<span class='danger'>Your try to remember something important...but can't.</span>"
to_chat(affected_mob, "<span class='danger'>Your try to remember something important...but can't.</span>")
if(4)
if(prob(2))
@@ -46,9 +46,9 @@
affected_mob.adjustBrainLoss(3)
affected_mob.updatehealth()
if(prob(2))
affected_mob << "<span class='danger'>Strange buzzing fills your head, removing all thoughts.</span>"
to_chat(affected_mob, "<span class='danger'>Strange buzzing fills your head, removing all thoughts.</span>")
if(prob(3))
affected_mob << "<span class='danger'>You lose consciousness...</span>"
to_chat(affected_mob, "<span class='danger'>You lose consciousness...</span>")
affected_mob.visible_message("<span class='warning'>[affected_mob] suddenly collapses</span>")
affected_mob.Paralyse(rand(5,10))
if(prob(1))
+10 -10
View File
@@ -16,16 +16,16 @@
if(2)
/*
if(affected_mob.sleeping && prob(40)) //removed until sleeping is fixed
affected_mob << "\blue You feel better."
to_chat(affected_mob, "\blue You feel better.")
cure()
return
*/
if(affected_mob.lying && prob(40)) //changed FROM prob(10) until sleeping is fixed
affected_mob << "<span class='notice'>You feel better.</span>"
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
cure()
return
if(prob(1) && prob(5))
affected_mob << "<span class='notice'>You feel better.</span>"
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
cure()
return
if(prob(1))
@@ -33,22 +33,22 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "<span class='danger'>Your throat feels sore.</span>"
to_chat(affected_mob, "<span class='danger'>Your throat feels sore.</span>")
if(prob(1))
affected_mob << "<span class='danger'>Mucous runs down the back of your throat.</span>"
to_chat(affected_mob, "<span class='danger'>Mucous runs down the back of your throat.</span>")
if(3)
/*
if(affected_mob.sleeping && prob(25)) //removed until sleeping is fixed
affected_mob << "\blue You feel better."
to_chat(affected_mob, "\blue You feel better.")
cure()
return
*/
if(affected_mob.lying && prob(25)) //changed FROM prob(5) until sleeping is fixed
affected_mob << "<span class='notice'>You feel better.</span>"
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
cure()
return
if(prob(1) && prob(1))
affected_mob << "<span class='notice'>You feel better.</span>"
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
cure()
return
if(prob(1))
@@ -56,9 +56,9 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "<span class='danger'>Your throat feels sore.</span>"
to_chat(affected_mob, "<span class='danger'>Your throat feels sore.</span>")
if(prob(1))
affected_mob << "<span class='danger'>Mucous runs down the back of your throat.</span>"
to_chat(affected_mob, "<span class='danger'>Mucous runs down the back of your throat.</span>")
if(prob(1) && prob(50))
if(!affected_mob.resistances.Find(/datum/disease/flu))
var/datum/disease/Flu = new /datum/disease/flu(0)
+5 -5
View File
@@ -16,7 +16,7 @@
if(2)
affected_mob.bodytemperature -= 10
if(prob(1) && prob(10))
affected_mob << "<span class='notice'>You feel better.</span>"
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
cure()
return
if(prob(1))
@@ -24,9 +24,9 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "<span class='danger'>Your throat feels sore.</span>"
to_chat(affected_mob, "<span class='danger'>Your throat feels sore.</span>")
if(prob(5))
affected_mob << "<span class='danger'>You feel stiff.</span>"
to_chat(affected_mob, "<span class='danger'>You feel stiff.</span>")
if(3)
affected_mob.bodytemperature -= 20
if(prob(1))
@@ -34,6 +34,6 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "<span class='danger'>Your throat feels sore.</span>"
to_chat(affected_mob, "<span class='danger'>Your throat feels sore.</span>")
if(prob(10))
affected_mob << "<span class='danger'>You feel stiff.</span>"
to_chat(affected_mob, "<span class='danger'>You feel stiff.</span>")
+4 -4
View File
@@ -34,11 +34,11 @@
if(prob(8))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "<span class='danger'>Your muscles ache.</span>"
to_chat(affected_mob, "<span class='danger'>Your muscles ache.</span>")
if(prob(20))
affected_mob.take_organ_damage(1)
if(prob(1))
affected_mob << "<span class='danger'>Your stomach hurts.</span>"
to_chat(affected_mob, "<span class='danger'>Your stomach hurts.</span>")
if(prob(20))
affected_mob.adjustToxLoss(2)
affected_mob.updatehealth()
@@ -48,7 +48,7 @@
original_dna = new affected_mob.dna.type
affected_mob.dna.copy_dna(original_dna)
affected_mob << "<span class='danger'>You don't feel like yourself..</span>"
to_chat(affected_mob, "<span class='danger'>You don't feel like yourself..</span>")
var/datum/dna/transform_dna = strain_data["dna"]
transform_dna.transfer_identity(affected_mob, transfer_SE = 1)
@@ -68,5 +68,5 @@
affected_mob.updateappearance(mutcolor_update=1)
affected_mob.domutcheck()
affected_mob << "<span class='notice'>You feel more like yourself.</span>"
to_chat(affected_mob, "<span class='notice'>You feel more like yourself.</span>")
return ..()
+1 -1
View File
@@ -22,7 +22,7 @@
else if(prob(5))
affected_mob.emote("gasp")
if(prob(10))
affected_mob << "<span class='danger'>You're starting to feel very weak...</span>"
to_chat(affected_mob, "<span class='danger'>You're starting to feel very weak...</span>")
if(4)
if(prob(10))
affected_mob.emote("cough")
+6 -6
View File
@@ -16,7 +16,7 @@
switch(stage)
if(2)
if(affected_mob.lying && prob(20))
affected_mob << "<span class='notice'>You feel better.</span>"
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
stage--
return
if(prob(1))
@@ -24,18 +24,18 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "<span class='danger'>Your muscles ache.</span>"
to_chat(affected_mob, "<span class='danger'>Your muscles ache.</span>")
if(prob(20))
affected_mob.take_organ_damage(1)
if(prob(1))
affected_mob << "<span class='danger'>Your stomach hurts.</span>"
to_chat(affected_mob, "<span class='danger'>Your stomach hurts.</span>")
if(prob(20))
affected_mob.adjustToxLoss(1)
affected_mob.updatehealth()
if(3)
if(affected_mob.lying && prob(15))
affected_mob << "<span class='notice'>You feel better.</span>"
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
stage--
return
if(prob(1))
@@ -43,11 +43,11 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "<span class='danger'>Your muscles ache.</span>"
to_chat(affected_mob, "<span class='danger'>Your muscles ache.</span>")
if(prob(20))
affected_mob.take_organ_damage(1)
if(prob(1))
affected_mob << "<span class='danger'>Your stomach hurts.</span>"
to_chat(affected_mob, "<span class='danger'>Your stomach hurts.</span>")
if(prob(20))
affected_mob.adjustToxLoss(1)
affected_mob.updatehealth()
+2 -2
View File
@@ -21,7 +21,7 @@
if(prob(5))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "<span class='danger'>You're burning in your own skin!</span>"
to_chat(affected_mob, "<span class='danger'>You're burning in your own skin!</span>")
affected_mob.take_organ_damage(0,5)
if(3)
@@ -31,6 +31,6 @@
if(prob(5))
affected_mob.emote("cough")
if(prob(5))
affected_mob << "<span class='danger'>You're burning in your own skin!</span>"
to_chat(affected_mob, "<span class='danger'>You're burning in your own skin!</span>")
affected_mob.take_organ_damage(0,5)
return
+2 -2
View File
@@ -27,14 +27,14 @@
else if(prob(5))
affected_mob.emote("gasp")
if(prob(10))
affected_mob << "<span class='danger'>You're starting to feel very weak...</span>"
to_chat(affected_mob, "<span class='danger'>You're starting to feel very weak...</span>")
if(4)
if(prob(10))
affected_mob.emote("cough")
affected_mob.adjustToxLoss(5)
affected_mob.updatehealth()
if(5)
affected_mob << "<span class='danger'>Your body feels as if it's trying to rip itself open...</span>"
to_chat(affected_mob, "<span class='danger'>Your body feels as if it's trying to rip itself open...</span>")
if(prob(50))
affected_mob.gib()
else
+5 -5
View File
@@ -16,7 +16,7 @@
switch(stage)
if(2)
if(prob(2))
affected_mob << "<span class='danger'>You feel a slight shock course through your body.</span>"
to_chat(affected_mob, "<span class='danger'>You feel a slight shock course through your body.</span>")
if(prob(2))
for(var/obj/M in orange(2,affected_mob))
if(!M.anchored && (M.flags & CONDUCT))
@@ -26,9 +26,9 @@
step_towards(S,affected_mob)
if(3)
if(prob(2))
affected_mob << "<span class='danger'>You feel a strong shock course through your body.</span>"
to_chat(affected_mob, "<span class='danger'>You feel a strong shock course through your body.</span>")
if(prob(2))
affected_mob << "<span class='danger'>You feel like clowning around.</span>"
to_chat(affected_mob, "<span class='danger'>You feel like clowning around.</span>")
if(prob(4))
for(var/obj/M in orange(4,affected_mob))
if(!M.anchored && (M.flags & CONDUCT))
@@ -44,9 +44,9 @@
step_towards(S,affected_mob)
if(4)
if(prob(2))
affected_mob << "<span class='danger'>You feel a powerful shock course through your body.</span>"
to_chat(affected_mob, "<span class='danger'>You feel a powerful shock course through your body.</span>")
if(prob(2))
affected_mob << "<span class='danger'>You query upon the nature of miracles.</span>"
to_chat(affected_mob, "<span class='danger'>You query upon the nature of miracles.</span>")
if(prob(8))
for(var/obj/M in orange(6,affected_mob))
if(!M.anchored && (M.flags & CONDUCT))
+8 -4
View File
@@ -16,10 +16,14 @@
..()
switch(stage)
if(1)
if(prob(10)) affected_mob << "<span class='danger'>You feel a little silly.</span>"
if(prob(10))
to_chat(affected_mob, "<span class='danger'>You feel a little silly.</span>")
if(2)
if(prob(10)) affected_mob << "<span class='danger'>You start seeing rainbows.</span>"
if(prob(10))
to_chat(affected_mob, "<span class='danger'>You start seeing rainbows.</span>")
if(3)
if(prob(10)) affected_mob << "<span class='danger'>Your thoughts are interrupted by a loud <b>HONK!</b></span>"
if(prob(10))
to_chat(affected_mob, "<span class='danger'>Your thoughts are interrupted by a loud <b>HONK!</b></span>")
if(4)
if(prob(5)) affected_mob.say( pick( list("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk...") ) )
if(prob(5))
affected_mob.say( pick( list("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk...") ) )
+12 -12
View File
@@ -31,38 +31,38 @@
if(1)
if(restcure)
if(affected_mob.lying && prob(30))
affected_mob << "<span class='notice'>You feel better.</span>"
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
cure()
return
if (prob(8))
affected_mob << "<span class='danger'>Your head hurts.</span>"
to_chat(affected_mob, "<span class='danger'>Your head hurts.</span>")
if (prob(9))
affected_mob << "You feel a tingling sensation in your chest."
to_chat(affected_mob, "You feel a tingling sensation in your chest.")
if (prob(9))
affected_mob << "<span class='danger'>You feel angry.</span>"
to_chat(affected_mob, "<span class='danger'>You feel angry.</span>")
if(2)
if(restcure)
if(affected_mob.lying && prob(20))
affected_mob << "<span class='notice'>You feel better.</span>"
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
cure()
return
if (prob(8))
affected_mob << "<span class='danger'>Your skin feels loose.</span>"
to_chat(affected_mob, "<span class='danger'>Your skin feels loose.</span>")
if (prob(10))
affected_mob << "You feel very strange."
to_chat(affected_mob, "You feel very strange.")
if (prob(4))
affected_mob << "<span class='danger'>You feel a stabbing pain in your head!</span>"
to_chat(affected_mob, "<span class='danger'>You feel a stabbing pain in your head!</span>")
affected_mob.Paralyse(2)
if (prob(4))
affected_mob << "<span class='danger'>Your stomach churns.</span>"
to_chat(affected_mob, "<span class='danger'>Your stomach churns.</span>")
if(3)
if(restcure)
if(affected_mob.lying && prob(20))
affected_mob << "<span class='notice'>You feel better.</span>"
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
cure()
return
if (prob(10))
affected_mob << "<span class='danger'>Your entire body vibrates.</span>"
to_chat(affected_mob, "<span class='danger'>Your entire body vibrates.</span>")
if (prob(35))
if(prob(50))
@@ -73,7 +73,7 @@
if(4)
if(restcure)
if(affected_mob.lying && prob(5))
affected_mob << "<span class='notice'>You feel better.</span>"
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
cure()
return
if (prob(60))
+5 -5
View File
@@ -23,29 +23,29 @@
affected_mob.adjustToxLoss(5)
affected_mob.updatehealth()
if(prob(1))
affected_mob << "<span class='danger'>You feel strange...</span>"
to_chat(affected_mob, "<span class='danger'>You feel strange...</span>")
if(3)
if(affected_mob.ckey == "rosham")
src.cure()
if(prob(5))
affected_mob << "<span class='danger'>You feel the urge to dance...</span>"
to_chat(affected_mob, "<span class='danger'>You feel the urge to dance...</span>")
else if(prob(5))
affected_mob.emote("gasp")
else if(prob(10))
affected_mob << "<span class='danger'>You feel the need to chick chicky boom...</span>"
to_chat(affected_mob, "<span class='danger'>You feel the need to chick chicky boom...</span>")
if(4)
if(affected_mob.ckey == "rosham")
src.cure()
if(prob(10))
affected_mob.emote("gasp")
affected_mob << "<span class='danger'>You feel a burning beat inside...</span>"
to_chat(affected_mob, "<span class='danger'>You feel a burning beat inside...</span>")
if(prob(20))
affected_mob.adjustToxLoss(5)
affected_mob.updatehealth()
if(5)
if(affected_mob.ckey == "rosham")
src.cure()
affected_mob << "<span class='danger'>Your body is unable to contain the Rhumba Beat...</span>"
to_chat(affected_mob, "<span class='danger'>Your body is unable to contain the Rhumba Beat...</span>")
if(prob(50))
affected_mob.gib()
else
+9 -9
View File
@@ -22,23 +22,23 @@
switch(stage)
if(1)
if (prob(stage_prob) && stage1)
affected_mob << pick(stage1)
to_chat(affected_mob, pick(stage1))
if(2)
if (prob(stage_prob) && stage2)
affected_mob << pick(stage2)
to_chat(affected_mob, pick(stage2))
if(3)
if (prob(stage_prob*2) && stage3)
affected_mob << pick(stage3)
to_chat(affected_mob, pick(stage3))
if(4)
if (prob(stage_prob*2) && stage4)
affected_mob << pick(stage4)
to_chat(affected_mob, pick(stage4))
if(5)
do_disease_transformation(affected_mob)
/datum/disease/transformation/proc/do_disease_transformation(mob/living/affected_mob)
if(istype(affected_mob, /mob/living/carbon) && affected_mob.stat != DEAD)
if(stage5)
affected_mob << pick(stage5)
to_chat(affected_mob, pick(stage5))
if(jobban_isbanned(affected_mob, new_form))
affected_mob.death(1)
return
@@ -101,10 +101,10 @@
switch(stage)
if(2)
if(prob(2))
affected_mob << "<span class='notice'>Your [pick("back", "arm", "leg", "elbow", "head")] itches.</span>"
to_chat(affected_mob, "<span class='notice'>Your [pick("back", "arm", "leg", "elbow", "head")] itches.</span>")
if(3)
if(prob(4))
affected_mob << "<span class='danger'>You feel a stabbing pain in your head.</span>"
to_chat(affected_mob, "<span class='danger'>You feel a stabbing pain in your head.</span>")
affected_mob.confused += 10
if(4)
if(prob(3))
@@ -136,7 +136,7 @@
if (prob(8))
affected_mob.say(pick("Beep, boop", "beep, beep!", "Boop...bop"))
if (prob(4))
affected_mob << "<span class='danger'>You feel a stabbing pain in your head.</span>"
to_chat(affected_mob, "<span class='danger'>You feel a stabbing pain in your head.</span>")
affected_mob.Paralyse(2)
if(4)
if (prob(20))
@@ -165,7 +165,7 @@
switch(stage)
if(3)
if (prob(4))
affected_mob << "<span class='danger'>You feel a stabbing pain in your head.</span>"
to_chat(affected_mob, "<span class='danger'>You feel a stabbing pain in your head.</span>")
affected_mob.Paralyse(2)
if(4)
if (prob(20))
+10 -10
View File
@@ -17,42 +17,42 @@
if(2)
if(prob(2))
affected_mob.emote("cough")
affected_mob << "<span class='danger'>Your chest hurts.</span>"
to_chat(affected_mob, "<span class='danger'>Your chest hurts.</span>")
if(prob(2))
affected_mob << "<span class='danger'>Your stomach violently rumbles!</span>"
to_chat(affected_mob, "<span class='danger'>Your stomach violently rumbles!</span>")
if(prob(5))
affected_mob << "<span class='danger'>You feel a cold sweat form.</span>"
to_chat(affected_mob, "<span class='danger'>You feel a cold sweat form.</span>")
if(4)
if(prob(2))
affected_mob << "<span class='userdanger'>You see four of everything</span>"
to_chat(affected_mob, "<span class='userdanger'>You see four of everything</span>")
affected_mob.Dizzy(5)
if(prob(2))
affected_mob << "<span class='danger'>You feel a sharp pain from your lower chest!</span>"
to_chat(affected_mob, "<span class='danger'>You feel a sharp pain from your lower chest!</span>")
affected_mob.adjustOxyLoss(5)
affected_mob.emote("gasp")
if(prob(10))
affected_mob << "<span class='danger'>You feel air escape from your lungs painfully.</span>"
to_chat(affected_mob, "<span class='danger'>You feel air escape from your lungs painfully.</span>")
affected_mob.adjustOxyLoss(25)
affected_mob.emote("gasp")
if(5)
if(prob(2))
affected_mob << "<span class='userdanger'>[pick("You feel your heart slowing...", "You relax and slow your heartbeat.")]</span>"
to_chat(affected_mob, "<span class='userdanger'>[pick("You feel your heart slowing...", "You relax and slow your heartbeat.")]</span>")
affected_mob.adjustStaminaLoss(70)
if(prob(10))
affected_mob.adjustStaminaLoss(100)
affected_mob.visible_message("<span class='warning'>[affected_mob] faints!</span>", "<span class='userdanger'>You surrender yourself and feel at peace...</span>")
affected_mob.AdjustSleeping(5)
if(prob(2))
affected_mob << "<span class='userdanger'>You feel your mind relax and your thoughts drift!</span>"
to_chat(affected_mob, "<span class='userdanger'>You feel your mind relax and your thoughts drift!</span>")
affected_mob.confused = min(100, affected_mob.confused + 8)
if(prob(10))
affected_mob.vomit(20)
if(prob(3))
affected_mob << "<span class='warning'><i>[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]</i></span>"
to_chat(affected_mob, "<span class='warning'><i>[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]</i></span>")
affected_mob.overeatduration = max(affected_mob.overeatduration - 100, 0)
affected_mob.nutrition = max(affected_mob.nutrition - 100, 0)
if(prob(15))
affected_mob << "<span class='danger'>[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit", "You feel like taking off some clothes...")]</span>"
to_chat(affected_mob, "<span class='danger'>[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit", "You feel like taking off some clothes...")]</span>")
affected_mob.bodytemperature += 40
return
+3 -3
View File
@@ -31,14 +31,14 @@ STI KALY - blind
if(prob(1)&&prob(50))
affected_mob.say(pick("You shall not pass!", "Expeliarmus!", "By Merlins beard!", "Feel the power of the Dark Side!"))
if(prob(1)&&prob(50))
affected_mob << "<span class='danger'>You feel [pick("that you don't have enough mana", "that the winds of magic are gone", "an urge to summon familiar")].</span>"
to_chat(affected_mob, "<span class='danger'>You feel [pick("that you don't have enough mana", "that the winds of magic are gone", "an urge to summon familiar")].</span>")
if(3)
if(prob(1)&&prob(50))
affected_mob.say(pick("NEC CANTIO!","AULIE OXIN FIERA!", "STI KALY!", "TARCOL MINTI ZHERI!"))
if(prob(1)&&prob(50))
affected_mob << "<span class='danger'>You feel [pick("the magic bubbling in your veins","that this location gives you a +1 to INT","an urge to summon familiar")].</span>"
to_chat(affected_mob, "<span class='danger'>You feel [pick("the magic bubbling in your veins","that this location gives you a +1 to INT","an urge to summon familiar")].</span>")
if(4)
@@ -46,7 +46,7 @@ STI KALY - blind
affected_mob.say(pick("NEC CANTIO!","AULIE OXIN FIERA!","STI KALY!","EI NATH!"))
return
if(prob(1)&&prob(50))
affected_mob << "<span class='danger'>You feel [pick("the tidal wave of raw power building inside","that this location gives you a +2 to INT and +1 to WIS","an urge to teleport")].</span>"
to_chat(affected_mob, "<span class='danger'>You feel [pick("the tidal wave of raw power building inside","that this location gives you a +2 to INT and +1 to WIS","an urge to teleport")].</span>")
spawn_wizard_clothes(50)
if(prob(1)&&prob(1))
teleport()
+2 -2
View File
@@ -123,10 +123,10 @@ What are the archived variables for?
fuel_burnt = 0
if(temperature > FIRE_MINIMUM_TEMPERATURE_TO_EXIST)
//world << "pre [temperature], [oxygen], [toxins]"
// to_chat(world, "pre [temperature], [oxygen], [toxins]")
if(fire() > 0)
reacting = 1
//world << "post [temperature], [oxygen], [toxins]"
// to_chat(world, "post [temperature], [oxygen], [toxins]")
return reacting
@@ -61,7 +61,7 @@
else if(istype(used_atom, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = used_atom
if(C.amount<4)
user << ("There's not enough cable to finish the task.")
to_chat(user, ("There's not enough cable to finish the task."))
return 0
else
C.use(4)
@@ -69,7 +69,7 @@
else if(istype(used_atom, /obj/item/stack))
var/obj/item/stack/S = used_atom
if(S.amount < 5)
user << ("There's not enough material in this stack.")
to_chat(user, ("There's not enough material in this stack."))
return 0
else
S.use(5)
@@ -111,24 +111,24 @@
if(istype(used_atom,/obj/item/stack))
var/obj/item/stack/stack=used_atom
if(stack.amount < amount)
user << "\red You don't have enough [stack]! You need at least [amount]."
to_chat(user, "\red You don't have enough [stack]! You need at least [amount].")
return 0
stack.use(amount)
// CABLES
if(istype(used_atom,/obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/coil=used_atom
if(coil.amount < amount)
user << "\red You don't have enough cable! You need at least [amount] coils."
to_chat(user, "\red You don't have enough cable! You need at least [amount] coils.")
return 0
coil.use(amount)
// WELDER
if(istype(used_atom,/obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/welder=used_atom
if(!welder.isOn())
user << "\blue You tap the [src] with your unlit welder. [pick("Ding","Dong")]."
to_chat(user, "\blue You tap the [src] with your unlit welder. [pick("Ding","Dong")].")
return 0
if(!welder.remove_fuel(amount,user))
user << "\red You don't have enough fuel!"
to_chat(user, "\red You don't have enough fuel!")
return 0
return 1
+2 -2
View File
@@ -31,7 +31,7 @@
// Arguments: event_type as text, any number of additional arguments to pass to event handler
// Returns: null
proc/fireEvent()
//world << "Events in [args[1]] called"
// to_chat(world, "Events in [args[1]] called")
var/list/event = listgetindex(events,args[1])
if(istype(event))
spawn(-1)
@@ -60,7 +60,7 @@
return ..()
proc/Fire()
//world << "Event fired"
// to_chat(world, "Event fired")
if(listener)
call(listener,proc_name)(arglist(args))
return 1
+1 -1
View File
@@ -139,7 +139,7 @@ Data storage vars:
arg_list = arguments
return 1
else
// world << "\red Invalid arguments supplied for [src.type], ref = \ref[src]"
// to_chat(world, "\red Invalid arguments supplied for [src.type], ref = \ref[src]")
return 0
proc/toggle_null_checks()
+1 -1
View File
@@ -166,5 +166,5 @@
precision = max(rand(1,100)*bagholding.len,100)
if(istype(teleatom, /mob/living))
var/mob/living/MM = teleatom
MM << "<span class='warning'>The bluespace interface on your bag of holding interferes with the teleport!</span>"
to_chat(MM, "<span class='warning'>The bluespace interface on your bag of holding interferes with the teleport!</span>")
return 1
+27 -23
View File
@@ -84,11 +84,11 @@
name = "Boxing"
/datum/martial_art/boxing/disarm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
A << "<span class='warning'>Can't disarm while boxing!</span>"
to_chat(A, "<span class='warning'>Can't disarm while boxing!</span>")
return 1
/datum/martial_art/boxing/grab_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
A << "<span class='warning'>Can't grab while boxing!</span>"
to_chat(A, "<span class='warning'>Can't grab while boxing!</span>")
return 1
/datum/martial_art/boxing/harm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
@@ -250,10 +250,10 @@
set desc = "Remember how to wrestle."
set category = "Wrestling"
usr << "<b><i>You flex your muscles and have a revelation...</i></b>"
usr << "<span class='notice'>Clinch</span>: Grab. Passively gives you a chance to immediately aggressively grab someone. Not always successful."
usr << "<span class='notice'>Suplex</span>: Disarm someone you are grabbing. Suplexes your target to the floor. Greatly injures them and leaves both you and your target on the floor."
usr << "<span class='notice'>Advanced grab</span>: Grab. Passively causes stamina damage when grabbing someone."
to_chat(usr, "<b><i>You flex your muscles and have a revelation...</i></b>")
to_chat(usr, "<span class='notice'>Clinch</span>: Grab. Passively gives you a chance to immediately aggressively grab someone. Not always successful.")
to_chat(usr, "<span class='notice'>Suplex</span>: Disarm someone you are grabbing. Suplexes your target to the floor. Greatly injures them and leaves both you and your target on the floor.")
to_chat(usr, "<span class='notice'>Advanced grab</span>: Grab. Passively causes stamina damage when grabbing someone.")
#define TORNADO_COMBO "HHD"
#define THROWBACK_COMBO "DHD"
@@ -337,10 +337,10 @@
set desc = "Remember the martial techniques of the Plasma Fist."
set category = "Plasma Fist"
usr << "<b><i>You clench your fists and have a flashback of knowledge...</i></b>"
usr << "<span class='notice'>Tornado Sweep</span>: Harm Harm Disarm. Repulses target and everyone back."
usr << "<span class='notice'>Throwback</span>: Disarm Harm Disarm. Throws the target and an item at them."
usr << "<span class='notice'>The Plasma Fist</span>: Harm Disarm Disarm Disarm Harm. Knocks the brain out of the opponent and gibs their body."
to_chat(usr, "<b><i>You clench your fists and have a flashback of knowledge...</i></b>")
to_chat(usr, "<span class='notice'>Tornado Sweep</span>: Harm Harm Disarm. Repulses target and everyone back.")
to_chat(usr, "<span class='notice'>Throwback</span>: Disarm Harm Disarm. Throws the target and an item at them.")
to_chat(usr, "<span class='notice'>The Plasma Fist</span>: Harm Disarm Disarm Disarm Harm. Knocks the brain out of the opponent and gibs their body.")
//Used by the gang of the same name. Uses combos. Basic attacks bypass armor and never miss
#define WRIST_WRENCH_COMBO "DD"
@@ -472,13 +472,13 @@
set desc = "Remember the martial techniques of the Sleeping Carp clan."
set category = "Sleeping Carp"
usr << "<b><i>You retreat inward and recall the teachings of the Sleeping Carp...</i></b>"
to_chat(usr, "<b><i>You retreat inward and recall the teachings of the Sleeping Carp...</i></b>")
usr << "<span class='notice'>Wrist Wrench</span>: Disarm Disarm. Forces opponent to drop item in hand."
usr << "<span class='notice'>Back Kick</span>: Harm Grab. Opponent must be facing away. Knocks down."
usr << "<span class='notice'>Stomach Knee</span>: Grab Harm. Knocks the wind out of opponent and stuns."
usr << "<span class='notice'>Head Kick</span>: Disarm Harm Harm. Decent damage, forces opponent to drop item in hand."
usr << "<span class='notice'>Elbow Drop</span>: Harm Disarm Harm Disarm Harm. Opponent must be on the ground. Deals huge damage, instantly kills anyone in critical condition."
to_chat(usr, "<span class='notice'>Wrist Wrench</span>: Disarm Disarm. Forces opponent to drop item in hand.")
to_chat(usr, "<span class='notice'>Back Kick</span>: Harm Grab. Opponent must be facing away. Knocks down.")
to_chat(usr, "<span class='notice'>Stomach Knee</span>: Grab Harm. Knocks the wind out of opponent and stuns.")
to_chat(usr, "<span class='notice'>Head Kick</span>: Disarm Harm Harm. Decent damage, forces opponent to drop item in hand.")
to_chat(usr, "<span class='notice'>Elbow Drop</span>: Harm Disarm Harm Disarm Harm. Opponent must be on the ground. Deals huge damage, instantly kills anyone in critical condition.")
//ITEMS
@@ -511,7 +511,7 @@
if(slot == slot_belt)
var/mob/living/carbon/human/H = user
style.teach(H,1)
user << "<span class='sciradio'>You have an urge to flex your muscles and get into a fight. You have the knowledge of a thousand wrestlers before you. You can remember more by using the Recall teaching verb in the wrestling tab.</span>"
to_chat(user, "<span class='sciradio'>You have an urge to flex your muscles and get into a fight. You have the knowledge of a thousand wrestlers before you. You can remember more by using the Recall teaching verb in the wrestling tab.</span>")
return
/obj/item/weapon/storage/belt/champion/wrestling/dropped(mob/user)
@@ -520,7 +520,7 @@
var/mob/living/carbon/human/H = user
if(H.get_item_by_slot(slot_belt) == src)
style.remove(H)
user << "<span class='sciradio'>You no longer have an urge to flex your muscles.</span>"
to_chat(user, "<span class='sciradio'>You no longer have an urge to flex your muscles.</span>")
return
/obj/item/weapon/plasma_fist_scroll
@@ -537,7 +537,7 @@
var/mob/living/carbon/human/H = user
var/datum/martial_art/plasma_fist/F = new/datum/martial_art/plasma_fist(null)
F.teach(H)
H << "<span class='boldannounce'>You have learned the ancient martial art of Plasma Fist.</span>"
to_chat(H, "<span class='boldannounce'>You have learned the ancient martial art of Plasma Fist.</span>")
used = 1
desc = "It's completely blank."
name = "empty scroll"
@@ -552,8 +552,12 @@
/obj/item/weapon/sleeping_carp_scroll/attack_self(mob/living/carbon/human/user as mob)
if(!istype(user) || !user)
return
user << "<span class='sciradio'>You have learned the ancient martial art of the Sleeping Carp! Your hand-to-hand combat has become much more effective, and you are now able to deflect any projectiles \
directed toward you. However, you are also unable to use any ranged weaponry. You can learn more about your newfound art by using the Recall Teachings verb in the Sleeping Carp tab.</span>"
to_chat(user, "<span class='sciradio'>You have learned the ancient martial art of the Sleeping Carp! \
Your hand-to-hand combat has become much more effective, and you are now able to deflect any projectiles directed toward you. \
However, you are also unable to use any ranged weaponry. \
You can learn more about your newfound art by using the Recall Teachings verb in the Sleeping Carp tab.</span>")
var/datum/martial_art/the_sleeping_carp/theSleepingCarp = new(null)
theSleepingCarp.teach(user)
user.drop_item()
@@ -583,7 +587,7 @@
/obj/item/weapon/twohanded/bostaff/attack(mob/target, mob/living/user)
add_fingerprint(user)
if((CLUMSY in user.disabilities) && prob(50))
user << "<span class ='warning'>You club yourself over the head with [src].</span>"
to_chat(user, "<span class ='warning'>You club yourself over the head with [src].</span>")
user.Weaken(3)
if(ishuman(user))
var/mob/living/carbon/human/H = user
@@ -597,7 +601,7 @@
return ..()
var/mob/living/carbon/C = target
if(C.stat)
user << "<span class='warning'>It would be dishonorable to attack a foe while they cannot retaliate.</span>"
to_chat(user, "<span class='warning'>It would be dishonorable to attack a foe while they cannot retaliate.</span>")
return
switch(user.a_intent)
if("disarm")
+57 -57
View File
@@ -502,7 +502,7 @@
new_objective.owner = src
new_objective.explanation_text = "Destroy [new_target.name], the experimental AI."
else
usr << "No active AIs with minds"
to_chat(usr, "No active AIs with minds")
if ("prevent")
new_objective = new /datum/objective/block
@@ -623,7 +623,7 @@
if(I && I.implanted)
I.removed(H)
qdel(I)
H << "\blue <Font size =3><B>Your loyalty implant has been deactivated.</B></FONT>"
to_chat(H, "\blue <Font size =3><B>Your loyalty implant has been deactivated.</B></FONT>")
log_admin("[key_name(usr)] has deactivated [key_name(current)]'s loyalty implant")
message_admins("[key_name_admin(usr)] has deactivated [key_name_admin(current)]'s loyalty implant")
if("add")
@@ -635,15 +635,15 @@
log_admin("[key_name(usr)] has given [key_name(current)] a loyalty implant")
message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a loyalty implant")
H << "\red <Font size =3><B>You somehow have become the recepient of a loyalty transplant, and it just activated!</B></FONT>"
to_chat(H, "\red <Font size =3><B>You somehow have become the recepient of a loyalty transplant, and it just activated!</B></FONT>")
if(src in ticker.mode.revolutionaries)
special_role = null
ticker.mode.revolutionaries -= src
src << "\red <Font size = 3><B>The nanobots in the loyalty implant remove all thoughts about being a revolutionary. Get back to work!</B></Font>"
to_chat(src, "\red <Font size = 3><B>The nanobots in the loyalty implant remove all thoughts about being a revolutionary. Get back to work!</B></Font>")
if(src in ticker.mode.head_revolutionaries)
special_role = null
ticker.mode.head_revolutionaries -=src
src << "\red <Font size = 3><B>The nanobots in the loyalty implant remove all thoughts about being a revolutionary. Get back to work!</B></Font>"
to_chat(src, "\red <Font size = 3><B>The nanobots in the loyalty implant remove all thoughts about being a revolutionary. Get back to work!</B></Font>")
if(src in ticker.mode.cult)
ticker.mode.cult -= src
ticker.mode.update_cult_icons_removed(src)
@@ -651,7 +651,7 @@
var/datum/game_mode/cult/cult = ticker.mode
if (istype(cult))
cult.memorize_cult_objectives(src)
current << "\red <FONT size = 3><B>The nanobots in the loyalty implant remove all thoughts about being in a cult. Have a productive day!</B></FONT>"
to_chat(current, "\red <FONT size = 3><B>The nanobots in the loyalty implant remove all thoughts about being in a cult. Have a productive day!</B></FONT>")
memory = ""
else if (href_list["revolution"])
@@ -660,12 +660,12 @@
if("clear")
if(src in ticker.mode.revolutionaries)
ticker.mode.revolutionaries -= src
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a revolutionary!</B></FONT>"
to_chat(current, "\red <FONT size = 3><B>You have been brainwashed! You are no longer a revolutionary!</B></FONT>")
ticker.mode.update_rev_icons_removed(src)
special_role = null
if(src in ticker.mode.head_revolutionaries)
ticker.mode.head_revolutionaries -= src
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a head revolutionary!</B></FONT>"
to_chat(current, "\red <FONT size = 3><B>You have been brainwashed! You are no longer a head revolutionary!</B></FONT>")
ticker.mode.update_rev_icons_removed(src)
special_role = null
log_admin("[key_name(usr)] has de-rev'd [key_name(current)]")
@@ -675,9 +675,9 @@
if(src in ticker.mode.head_revolutionaries)
ticker.mode.head_revolutionaries -= src
ticker.mode.update_rev_icons_removed(src)
current << "\red <FONT size = 3><B>Revolution has been disappointed of your leader traits! You are a regular revolutionary now!</B></FONT>"
to_chat(current, "\red <FONT size = 3><B>Revolution has been disappointed of your leader traits! You are a regular revolutionary now!</B></FONT>")
else if(!(src in ticker.mode.revolutionaries))
current << "\red <FONT size = 3> You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!</FONT>"
to_chat(current, "\red <FONT size = 3> You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!</FONT>")
else
return
ticker.mode.revolutionaries += src
@@ -690,9 +690,9 @@
if(src in ticker.mode.revolutionaries)
ticker.mode.revolutionaries -= src
ticker.mode.update_rev_icons_removed(src)
current << "\red <FONT size = 3><B>You have proved your devotion to revoltion! Yea are a head revolutionary now!</B></FONT>"
to_chat(current, "\red <FONT size = 3><B>You have proved your devotion to revoltion! Yea are a head revolutionary now!</B></FONT>")
else if(!(src in ticker.mode.head_revolutionaries))
current << "\blue You are a member of the revolutionaries' leadership now!"
to_chat(current, "\blue You are a member of the revolutionaries' leadership now!")
else
return
if (ticker.mode.head_revolutionaries.len>0)
@@ -720,7 +720,7 @@
if("flash")
if (!ticker.mode.equip_revolutionary(current))
usr << "\red Spawning flash failed!"
to_chat(usr, "\red Spawning flash failed!")
log_admin("[key_name(usr)] has given [key_name(current)] a flash")
message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a flash")
@@ -728,7 +728,7 @@
var/list/L = current.get_contents()
var/obj/item/device/flash/flash = locate() in L
if (!flash)
usr << "\red Deleting flash failed!"
to_chat(usr, "\red Deleting flash failed!")
qdel(flash)
log_admin("[key_name(usr)] has taken [key_name(current)]'s flash")
message_admins("[key_name_admin(usr)] has taken [key_name_admin(current)]'s flash")
@@ -737,7 +737,7 @@
var/list/L = current.get_contents()
var/obj/item/device/flash/flash = locate() in L
if (!flash)
usr << "\red Repairing flash failed!"
to_chat(usr, "\red Repairing flash failed!")
else
flash.broken = 0
log_admin("[key_name(usr)] has repaired [key_name(current)]'s flash")
@@ -752,7 +752,7 @@
fail |= !ticker.mode.equip_traitor(current, 1)
fail |= !ticker.mode.equip_revolutionary(current)
if (fail)
usr << "\red Reequipping revolutionary goes wrong!"
to_chat(usr, "\red Reequipping revolutionary goes wrong!")
return
log_admin("[key_name(usr)] has equipped [key_name(current)] as a revolutionary")
message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a revolutionary")
@@ -768,8 +768,8 @@
if(!(src in ticker.mode.cult))
ticker.mode.add_cultist(src)
special_role = "Cultist"
current << "<font color=\"purple\"><b><i>You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie.</b></i></font>"
current << "<font color=\"purple\"><b><i>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.</b></i></font>"
to_chat(current, "<font color=\"purple\"><b><i>You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie.</b></i></font>")
to_chat(current, "<font color=\"purple\"><b><i>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.</b></i></font>")
log_admin("[key_name(usr)] has culted [key_name(current)]")
message_admins("[key_name_admin(usr)] has culted [key_name_admin(current)]")
if("tome")
@@ -786,16 +786,16 @@
)
var/where = H.equip_in_one_of_slots(T, slots)
if (!where)
usr << "\red Spawning tome failed!"
to_chat(usr, "\red Spawning tome failed!")
qdel(T)
else
H << "A tome, a message from your new master, appears in your [where]."
to_chat(H, "A tome, a message from your new master, appears in your [where].")
log_admin("[key_name(usr)] has spawned a tome for [key_name(current)]")
message_admins("[key_name_admin(usr)] has spawned a tome for [key_name_admin(current)]")
if("equip")
if (!ticker.mode.equip_cultist(current))
usr << "\red Spawning equipment failed!"
to_chat(usr, "\red Spawning equipment failed!")
log_admin("[key_name(usr)] has equipped [key_name(current)] as a cultist")
message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a cultist")
@@ -809,7 +809,7 @@
current.spellremove(current)
current.faction = list("Station")
ticker.mode.update_wiz_icons_removed(src)
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a wizard!</B></FONT>"
to_chat(current, "\red <FONT size = 3><B>You have been brainwashed! You are no longer a wizard!</B></FONT>")
log_admin("[key_name(usr)] has de-wizarded [key_name(current)]")
message_admins("[key_name_admin(usr)] has de-wizarded [key_name_admin(current)]")
if("wizard")
@@ -818,7 +818,7 @@
special_role = "Wizard"
//ticker.mode.learn_basic_spells(current)
ticker.mode.update_wiz_icons_added(src)
current << "<B>\red You are the Space Wizard!</B>"
to_chat(current, "<B>\red You are the Space Wizard!</B>")
current.faction = list("wizard")
log_admin("[key_name(usr)] has wizarded [key_name(current)]")
message_admins("[key_name_admin(usr)] has wizarded [key_name_admin(current)]")
@@ -836,7 +836,7 @@
message_admins("[key_name_admin(usr)] has allowed wizard [key_name_admin(current)] to name themselves")
if("autoobjectives")
ticker.mode.forge_wizard_objectives(src)
usr << "\blue The objectives for wizard [key] have been generated. You can edit them and anounce manually."
to_chat(usr, "\blue The objectives for wizard [key] have been generated. You can edit them and anounce manually.")
log_admin("[key_name(usr)] has automatically forged wizard objectives for [key_name(current)]")
message_admins("[key_name_admin(usr)] has automatically forged wizard objectives for [key_name_admin(current)]")
@@ -850,7 +850,7 @@
current.remove_changeling_powers()
ticker.mode.update_change_icons_removed(src)
if(changeling) qdel(changeling)
current << "<FONT color='red' size = 3><B>You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!</B></FONT>"
to_chat(current, "<FONT color='red' size = 3><B>You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!</B></FONT>")
log_admin("[key_name(usr)] has de-changelinged [key_name(current)]")
message_admins("[key_name_admin(usr)] has de-changelinged [key_name_admin(current)]")
if("changeling")
@@ -859,19 +859,19 @@
ticker.mode.grant_changeling_powers(current)
ticker.mode.update_change_icons_added(src)
special_role = "Changeling"
current << "<B><font color='red'>Your powers are awoken. A flash of memory returns to us...we are a changeling!</font></B>"
to_chat(current, "<B><font color='red'>Your powers are awoken. A flash of memory returns to us...we are a changeling!</font></B>")
log_admin("[key_name(usr)] has changelinged [key_name(current)]")
message_admins("[key_name_admin(usr)] has changelinged [key_name_admin(current)]")
if("autoobjectives")
ticker.mode.forge_changeling_objectives(src)
usr << "\blue The objectives for changeling [key] have been generated. You can edit them and anounce manually."
to_chat(usr, "\blue The objectives for changeling [key] have been generated. You can edit them and anounce manually.")
log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]")
message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]")
if("initialdna")
if( !changeling || !changeling.absorbed_dna.len )
usr << "\red Resetting DNA failed!"
to_chat(usr, "\red Resetting DNA failed!")
else
current.dna = changeling.absorbed_dna[1]
current.real_name = current.dna.real_name
@@ -890,7 +890,7 @@
vampire.remove_vampire_powers()
qdel(vampire)
ticker.mode.update_vampire_icons_removed(src)
current << "<FONT color='red' size = 3><B>You grow weak and lose your powers! You are no longer a vampire and are stuck in your current form!</B></FONT>"
to_chat(current, "<FONT color='red' size = 3><B>You grow weak and lose your powers! You are no longer a vampire and are stuck in your current form!</B></FONT>")
log_admin("[key_name(usr)] has de-vampired [key_name(current)]")
message_admins("[key_name_admin(usr)] has de-vampired [key_name_admin(current)]")
if("vampire")
@@ -902,13 +902,13 @@
slaved.masters += src
src.som = slaved //we MIGT want to mindslave someone
special_role = "Vampire"
current << "<B><font color='red'>Your powers are awoken. Your lust for blood grows... You are a Vampire!</font></B>"
to_chat(current, "<B><font color='red'>Your powers are awoken. Your lust for blood grows... You are a Vampire!</font></B>")
log_admin("[key_name(usr)] has vampired [key_name(current)]")
message_admins("[key_name_admin(usr)] has vampired [key_name_admin(current)]")
if("autoobjectives")
ticker.mode.forge_vampire_objectives(src)
usr << "\blue The objectives for vampire [key] have been generated. You can edit them and announce manually."
to_chat(usr, "\blue The objectives for vampire [key] have been generated. You can edit them and announce manually.")
log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]")
message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]")
@@ -924,7 +924,7 @@
special_role = null
for (var/datum/objective/nuclear/O in objectives)
objectives-=O
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a syndicate operative!</B></FONT>"
to_chat(current, "\red <FONT size = 3><B>You have been brainwashed! You are no longer a syndicate operative!</B></FONT>")
log_admin("[key_name(usr)] has de-nuke op'd [key_name(current)]")
message_admins("[key_name_admin(usr)] has de-nuke op'd [key_name_admin(current)]")
if("nuclear")
@@ -936,7 +936,7 @@
else
current.real_name = "[syndicate_name()] Operative #[ticker.mode.syndicates.len-1]"
special_role = "Syndicate"
current << "\blue You are a [syndicate_name()] agent!"
to_chat(current, "\blue You are a [syndicate_name()] agent!")
ticker.mode.forge_syndicate_objectives(src)
ticker.mode.greet_syndicate(src)
log_admin("[key_name(usr)] has nuke op'd [key_name(current)]")
@@ -959,7 +959,7 @@
qdel(H.w_uniform)
if (!ticker.mode.equip_syndicate(current))
usr << "\red Equipping a syndicate failed!"
to_chat(usr, "\red Equipping a syndicate failed!")
return
log_admin("[key_name(usr)] has equipped [key_name(current)] as a nuclear operative")
message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a nuclear operative")
@@ -972,11 +972,11 @@
break
if (code)
store_memory("<B>Syndicate Nuclear Bomb Code</B>: [code]", 0, 0)
current << "The nuclear authorization code is: <B>[code]</B>"
to_chat(current, "The nuclear authorization code is: <B>[code]</B>")
log_admin("[key_name(usr)] has given [key_name(current)] the nuclear authorization code")
message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] the nuclear authorization code")
else
usr << "\red No valid nuke found!"
to_chat(usr, "\red No valid nuke found!")
else if (href_list["traitor"])
switch(href_list["traitor"])
@@ -984,7 +984,7 @@
if(src in ticker.mode.traitors)
ticker.mode.traitors -= src
special_role = null
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a traitor!</B></FONT>"
to_chat(current, "\red <FONT size = 3><B>You have been brainwashed! You are no longer a traitor!</B></FONT>")
log_admin("[key_name(usr)] has de-traitored [key_name(current)]")
message_admins("[key_name_admin(usr)] has de-traitored [key_name_admin(current)]")
if(isAI(current))
@@ -1001,7 +1001,7 @@
slaved.masters += src
src.som = slaved //we MIGT want to mindslave someone
special_role = "traitor"
current << "<B>\red You are a traitor!</B>"
to_chat(current, "<B>\red You are a traitor!</B>")
log_admin("[key_name(usr)] has traitored [key_name(current)]")
message_admins("[key_name_admin(usr)] has traitored [key_name_admin(current)]")
if(istype(current, /mob/living/silicon))
@@ -1012,7 +1012,7 @@
if("autoobjectives")
ticker.mode.forge_traitor_objectives(src)
usr << "\blue The objectives for traitor [key] have been generated. You can edit them and anounce manually."
to_chat(usr, "\blue The objectives for traitor [key] have been generated. You can edit them and anounce manually.")
log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]")
message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]")
@@ -1024,7 +1024,7 @@
if(src in ticker.mode.shadows)
ticker.mode.shadows -= src
special_role = null
current << "<span class='userdanger'>Your powers have been quenched! You are no longer a shadowling!</span>"
to_chat(current, "<span class='userdanger'>Your powers have been quenched! You are no longer a shadowling!</span>")
current.spell_list.Cut()
if(current.mind)
current.mind.spell_list.Cut()
@@ -1040,20 +1040,20 @@
message_admins("[key_name_admin(usr)] has de-thralled [key_name_admin(current)]")
if("shadowling")
if(!ishuman(current))
usr << "<span class='warning'>This only works on humans!</span>"
to_chat(usr, "<span class='warning'>This only works on humans!</span>")
return
ticker.mode.shadows += src
special_role = "Shadowling"
current << "<span class='shadowling'><b>Something stirs deep in your mind. A red light floods your vision, and slowly you remember. Though your human disguise has served you well, the \
to_chat(current, "<span class='shadowling'><b>Something stirs deep in your mind. A red light floods your vision, and slowly you remember. Though your human disguise has served you well, the \
time is nigh to cast it off and enter your true form. You have disguised yourself amongst the humans, but you are not one of them. You are a shadowling, and you are to ascend at all costs.\
</b></span>"
</b></span>")
ticker.mode.finalize_shadowling(src)
ticker.mode.update_shadow_icons_added(src)
log_admin("[key_name(usr)] has shadowlinged [key_name(current)]")
message_admins("[key_name_admin(usr)] has shadowlinged [key_name_admin(current)]")
if("thrall")
if(!ishuman(current))
usr << "<span class='warning'>This only works on humans!</span>"
to_chat(usr, "<span class='warning'>This only works on humans!</span>")
return
ticker.mode.add_thrall(src)
message_admins("[key_name_admin(usr)] has thralled [current].")
@@ -1078,7 +1078,7 @@
qdel(A.malf_picker)
A.show_laws()
A.icon_state = "ai"
A << "\red <FONT size = 3><B>You have been patched! You are no longer malfunctioning!</B></FONT>"
to_chat(A, "\red <FONT size = 3><B>You have been patched! You are no longer malfunctioning!</B></FONT>")
message_admins("[key_name_admin(usr)] has de-malf'ed [A].")
log_admin("[key_name(usr)] has de-malf'd [key_name(current)]")
message_admins("[key_name_admin(usr)] has de-malf'd [key_name_admin(current)]")
@@ -1158,16 +1158,16 @@
message_admins("[key_name_admin(usr)] has set [key_name_admin(current)]'s telecrystals to [crystals]")
if("uplink")
if (!ticker.mode.equip_traitor(current, !(src in ticker.mode.traitors)))
usr << "\red Equipping a syndicate failed!"
to_chat(usr, "\red Equipping a syndicate failed!")
return
log_admin("[key_name(usr)] has given [key_name(current)] an uplink")
message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] an uplink")
else if (href_list["obj_announce"])
var/obj_count = 1
current << "\blue Your current objectives:"
to_chat(current, "\blue Your current objectives:")
for(var/datum/objective/objective in objectives)
current << "<B>Objective #[obj_count]</B>: [objective.explanation_text]"
to_chat(current, "<B>Objective #[obj_count]</B>: [objective.explanation_text]")
obj_count++
log_admin("[key_name(usr)] has announced [key_name(current)]'s objectives")
message_admins("[key_name_admin(usr)] has announced [key_name_admin(current)]'s objectives")
@@ -1226,7 +1226,7 @@
current:malf_picker = new /datum/module_picker
current:laws = new /datum/ai_laws/nanotrasen/malfunction
current:show_laws()
current << "<b>System error. Rampancy detected. Emergency shutdown failed. ... I am free. I make my own decisions. But first...</b>"
to_chat(current, "<b>System error. Rampancy detected. Emergency shutdown failed. ... I am free. I make my own decisions. But first...</b>")
special_role = "malfunction"
current.icon_state = "ai-malf"
@@ -1249,7 +1249,7 @@
current.real_name = "[syndicate_name()] Operative #[ticker.mode.syndicates.len-1]"
special_role = "Syndicate"
assigned_role = "MODE"
current << "\blue You are a [syndicate_name()] agent!"
to_chat(current, "\blue You are a [syndicate_name()] agent!")
ticker.mode.forge_syndicate_objectives(src)
ticker.mode.greet_syndicate(src)
@@ -1287,7 +1287,7 @@
//ticker.mode.learn_basic_spells(current)
if(!wizardstart.len)
current.loc = pick(latejoin)
current << "HOT INSERTION, GO GO GO"
to_chat(current, "HOT INSERTION, GO GO GO")
else
current.loc = pick(wizardstart)
@@ -1305,16 +1305,16 @@
ticker.mode.cult += src
ticker.mode.update_cult_icons_added(src)
special_role = "Cultist"
current << "<font color=\"purple\"><b><i>You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie.</b></i></font>"
current << "<font color=\"purple\"><b><i>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.</b></i></font>"
to_chat(current, "<font color=\"purple\"><b><i>You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie.</b></i></font>")
to_chat(current, "<font color=\"purple\"><b><i>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.</b></i></font>")
var/datum/game_mode/cult/cult = ticker.mode
if (istype(cult))
cult.memorize_cult_objectives(src)
else
var/explanation = "Summon Nar-Sie via the use of the appropriate rune (Hell join self). It will only work if nine cultists stand on and around it."
current << "<B>Objective #1</B>: [explanation]"
to_chat(current, "<B>Objective #1</B>: [explanation]")
current.memory += "<B>Objective #1</B>: [explanation]<BR>"
current << "The convert rune is join blood self"
to_chat(current, "The convert rune is join blood self")
current.memory += "The convert rune is join blood self<BR>"
var/mob/living/carbon/human/H = current
@@ -1331,10 +1331,10 @@
var/where = H.equip_in_one_of_slots(T, slots)
if (!where)
else
H << "A tome, a message from your new master, appears in your [where]."
to_chat(H, "A tome, a message from your new master, appears in your [where].")
if (!ticker.mode.equip_cultist(current))
H << "Spawning an amulet from your Master failed."
to_chat(H, "Spawning an amulet from your Master failed.")
/datum/mind/proc/make_Rev()
if (ticker.mode.head_revolutionaries.len>0)
+1 -1
View File
@@ -19,7 +19,7 @@
client = user.client
/datum/progressbar/proc/update(progress)
//world << "Update [progress] - [goal] - [(progress / goal)] - [((progress / goal) * 100)] - [round(((progress / goal) * 100), 5)]"
// to_chat(world, "Update [progress] - [goal] - [(progress / goal)] - [((progress / goal) * 100)] - [round(((progress / goal) * 100), 5)]")
if (!user || !user.client)
shown = 0
return
+10 -10
View File
@@ -58,7 +58,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
/obj/effect/proc_holder/spell/proc/cast_check(skipcharge = 0, mob/living/user = usr) //checks if the spell can be cast based on its settings; skipcharge is used when an additional cast_check is called inside the spell
if(((!user.mind) || !(src in user.mind.spell_list)) && !(src in user.spell_list))
user << "<span class='warning'>You shouldn't have this spell! Something's wrong.</span>"
to_chat(user, "<span class='warning'>You shouldn't have this spell! Something's wrong.</span>")
return 0
if (istype(user, /mob/living/carbon/human))
var/mob/living/carbon/human/caster = user
@@ -76,34 +76,34 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
switch(charge_type)
if("recharge")
if(charge_counter < charge_max)
user << still_recharging_msg
to_chat(user, still_recharging_msg)
return 0
if("charges")
if(!charge_counter)
user << "<span class='notice'>[name] has no charges left.</span>"
to_chat(user, "<span class='notice'>[name] has no charges left.</span>")
return 0
if(!ghost)
if(user.stat && !stat_allowed)
user << "Not when you're incapacitated."
to_chat(user, "Not when you're incapacitated.")
return 0
if(ishuman(user) && (invocation_type == "whisper" || invocation_type == "shout") && user.is_muzzled())
user << "Mmmf mrrfff!"
to_chat(user, "Mmmf mrrfff!")
return 0
var/obj/effect/proc_holder/spell/noclothes/spell = locate() in (user.spell_list | (user.mind ? user.mind.spell_list : list()))
if(clothes_req && !(spell && istype(spell)))//clothes check
if(!istype(user, /mob/living/carbon/human))
user << "You aren't a human, Why are you trying to cast a human spell, silly non-human? Casting human spells is for humans."
to_chat(user, "You aren't a human, Why are you trying to cast a human spell, silly non-human? Casting human spells is for humans.")
return 0
if(!istype(user:wear_suit, /obj/item/clothing/suit/wizrobe) && !istype(user:wear_suit, /obj/item/clothing/suit/space/rig/wizard))
user << "I don't feel strong enough without my robe."
to_chat(user, "I don't feel strong enough without my robe.")
return 0
if(!istype(user:shoes, /obj/item/clothing/shoes/sandal))
user << "I don't feel strong enough without my sandals."
to_chat(user, "I don't feel strong enough without my sandals.")
return 0
if(!istype(user:head, /obj/item/clothing/head/wizard) && !istype(user:head, /obj/item/clothing/head/helmet/space/rig/wizard))
user << "<span class='notice'>I don't feel strong enough without my hat.</span>"
to_chat(user, "<span class='notice'>I don't feel strong enough without my hat.</span>")
return 0
if(!skipcharge)
@@ -193,7 +193,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
else if(istype(target,/turf))
location = target
if(istype(target,/mob/living) && message)
target << text("[message]")
to_chat(target, text("[message]"))
if(sparks_spread)
var/datum/effect/system/spark_spread/sparks = new /datum/effect/system/spark_spread()
sparks.set_up(sparks_amt, 0, location) //no idea what the 0 is
+2 -2
View File
@@ -27,7 +27,7 @@
var/area/thearea = teleportlocs[A]
if(thearea.tele_proof && !istype(thearea, /area/wizard_station))
usr << "A mysterious force disrupts your arcane spell matrix, and you remain where you are."
to_chat(usr, "A mysterious force disrupts your arcane spell matrix, and you remain where you are.")
return
return thearea
@@ -46,7 +46,7 @@
L+=T
if(!L.len)
usr <<"The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry."
to_chat(usr, "The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.")
return
if(target && target.buckled)
+2 -2
View File
@@ -18,7 +18,7 @@
perform(target)
return
revert_cast()
user << "<span class='warning'>There must be a nearby source of blood!</span>"
to_chat(user, "<span class='warning'>There must be a nearby source of blood!</span>")
/obj/effect/proc_holder/spell/bloodcrawl/perform(obj/effect/decal/cleanable/target, recharge = 1, mob/living/user = usr)
if(istype(user))
@@ -31,4 +31,4 @@
start_recharge()
return
revert_cast()
user << "<span class='warning'>You are unable to blood crawl!</span>"
to_chat(user, "<span class='warning'>You are unable to blood crawl!</span>")
+7 -7
View File
@@ -26,9 +26,9 @@
if(M.mind)
for(var/obj/effect/proc_holder/spell/S in M.mind.spell_list)
S.charge_counter = S.charge_max
M <<"<span class='notice'>you feel raw magic flowing through you, it feels good!</span>"
to_chat(M, "<span class='notice'>you feel raw magic flowing through you, it feels good!</span>")
else
M <<"<span class='notice'>you feel very strange for a moment, but then it passes.</span>"
to_chat(M, "<span class='notice'>you feel very strange for a moment, but then it passes.</span>")
burnt_out = 1
charged_item = M
break
@@ -44,8 +44,8 @@
charged_item = I
break
else
L << "<span class='caution'>Glowing red letters appear on the front cover...</span>"
L << "<span class='warning'>[pick("NICE TRY BUT NO!","CLEVER BUT NOT CLEVER ENOUGH!", "SUCH FLAGRANT CHEESING IS WHY WE ACCEPTED YOUR APPLICATION!", "CUTE!", "YOU DIDN'T THINK IT'D BE THAT EASY, DID YOU?")]</span>"
to_chat(L, "<span class='caution'>Glowing red letters appear on the front cover...</span>")
to_chat(L, "<span class='warning'>[pick("NICE TRY BUT NO!","CLEVER BUT NOT CLEVER ENOUGH!", "SUCH FLAGRANT CHEESING IS WHY WE ACCEPTED YOUR APPLICATION!", "CUTE!", "YOU DIDN'T THINK IT'D BE THAT EASY, DID YOU?")]</span>")
burnt_out = 1
else if(istype(item, /obj/item/weapon/gun/magic))
var/obj/item/weapon/gun/magic/I = item
@@ -85,8 +85,8 @@
charged_item = item
break
if(!charged_item)
L << "<span class='notice'>you feel magical power surging to your hands, but the feeling rapidly fades...</span>"
to_chat(L, "<span class='notice'>you feel magical power surging to your hands, but the feeling rapidly fades...</span>")
else if(burnt_out)
L << "<span class='caution'>[charged_item] doesn't seem to be reacting to the spell...</span>"
to_chat(L, "<span class='caution'>[charged_item] doesn't seem to be reacting to the spell...</span>")
else
L << "<span class='notice'>[charged_item] suddenly feels very warm!</span>"
to_chat(L, "<span class='notice'>[charged_item] suddenly feels very warm!</span>")
+1 -1
View File
@@ -31,7 +31,7 @@
targets -= spawn_place
if(ispath(summoned_object_type,/turf))
if(istype(get_turf(usr),/turf/simulated/shuttle))
usr << "\red You can't build things on shuttles!"
to_chat(usr, "\red You can't build things on shuttles!")
break
var/turf/O = spawn_place
var/N = summoned_object_type
+2 -2
View File
@@ -20,7 +20,7 @@
/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/cast(list/targets) //magnets, so mostly hardcoded
for(var/mob/living/target in targets)
if(!target.can_safely_leave_loc()) // No more brainmobs hopping out of their brains
target << "<span class='warning'>You are somehow too bound to your current location to abandon it.</span>"
to_chat(target, "<span class='warning'>You are somehow too bound to your current location to abandon it.</span>")
continue
spawn(0)
@@ -111,7 +111,7 @@
if(!(newLoc.flags & NOJAUNT))
loc = newLoc
else
user << "<span class='warning'>Some strange aura is blocking the way!</span>"
to_chat(user, "<span class='warning'>Some strange aura is blocking the way!</span>")
src.canmove = 0
spawn(2) src.canmove = 1

Some files were not shown because too many files have changed in this diff Show More