code/game/objects, code/game/machinery merge fix

This commit is contained in:
GinjaNinja32
2015-06-02 20:18:45 +01:00
parent 314a28fa75
commit c77605265c
76 changed files with 524 additions and 520 deletions

View File

@@ -88,11 +88,7 @@
if (C == user)
user.visible_message("[user] climbs on \the [src].","You climb on \the [src].")
else
<<<<<<< HEAD
visible_message("<span class='warning'>[C] has been laid on the operating table by [user].</span>", 3)
=======
visible_message("<span class='notice'>\The [C] has been laid on \the [src] by [user].</span>", 3)
>>>>>>> upstream/dev
if (C.client)
C.client.perspective = EYE_PERSPECTIVE
C.client.eye = src
@@ -137,20 +133,11 @@
return
/obj/machinery/optable/proc/check_table(mob/living/carbon/patient as mob)
<<<<<<< HEAD
if(src.victim)
usr << "<span class='warning'>The table is already occupied!</span>"
=======
check_victim()
if(src.victim && get_turf(victim) == get_turf(src) && victim.lying)
usr << "<span class='warning'>\the [src] is already occupied!</span>"
>>>>>>> upstream/dev
usr << "<span class='warning'>\The [src] is already occupied!</span>"
return 0
if(patient.buckled)
<<<<<<< HEAD
usr << "<span class='warning'>Unbuckle first!</span>"
=======
usr << "<span class='notice'>Unbuckle \the [patient] first!</span>"
>>>>>>> upstream/dev
return 0
return 1

View File

@@ -373,22 +373,22 @@ var/list/global/slot_flags_enumeration = list(
if(!usr.canmove || usr.stat || usr.restrained() || !Adjacent(usr))
return
if((!istype(usr, /mob/living/carbon)) || (istype(usr, /mob/living/carbon/brain)))//Is humanoid, and is not a brain
usr << "\red You can't pick things up!"
usr << "<span class='warning'>You can't pick things up!</span>"
return
if( usr.stat || usr.restrained() )//Is not asleep/dead and is not restrained
usr << "\red You can't pick things up!"
usr << "<span class='warning'>You can't pick things up!</span>"
return
if(src.anchored) //Object isn't anchored
usr << "\red You can't pick that up!"
usr << "<span class='warning'>You can't pick that up!</span>"
return
if(!usr.hand && usr.r_hand) //Right hand is not full
usr << "\red Your right hand is full."
usr << "<span class='warning'>Your right hand is full.</span>"
return
if(usr.hand && usr.l_hand) //Left hand is not full
usr << "\red Your left hand is full."
usr << "<span class='warning'>Your left hand is full.</span>"
return
if(!istype(src.loc, /turf)) //Object is on a turf
usr << "\red You can't pick that up!"
usr << "<span class='warning'>You can't pick that up!</span>"
return
//All checks are done, time to pick it up!
usr.UnarmedAttack(src)
@@ -419,11 +419,11 @@ var/list/global/slot_flags_enumeration = list(
(H.glasses && H.glasses.flags & GLASSESCOVERSEYES) \
))
// you can't stab someone in the eyes wearing a mask!
user << "\red You're going to need to remove the eye covering first."
user << "<span class='warning'>You're going to need to remove the eye covering first.</span>"
return
if(!M.has_eyes())
user << "\red You cannot locate any eyes on [M]!"
user << "<span class='warning'>You cannot locate any eyes on [M]!</span>"
return
user.attack_log += "\[[time_stamp()]\]<font color='red'> Attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])</font>"
@@ -434,7 +434,7 @@ var/list/global/slot_flags_enumeration = list(
//if((CLUMSY in user.mutations) && prob(50))
// M = user
/*
M << "\red You stab yourself in the eye."
M << "<span class='warning'>You stab yourself in the eye.</span>"
M.sdisabilities |= BLIND
M.weakened += 4
M.adjustBruteLoss(10)
@@ -446,30 +446,30 @@ var/list/global/slot_flags_enumeration = list(
if(H != user)
for(var/mob/O in (viewers(M) - user - M))
O.show_message("\red [M] has been stabbed in the eye with [src] by [user].", 1)
M << "\red [user] stabs you in the eye with [src]!"
user << "\red You stab [M] in the eye with [src]!"
O.show_message("<span class='danger'>[M] has been stabbed in the eye with [src] by [user].</span>", 1)
M << "<span class='danger'>[user] stabs you in the eye with [src]!</span>"
user << "<span class='danger'>You stab [M] in the eye with [src]!</span>"
else
user.visible_message( \
"\red [user] has stabbed themself with [src]!", \
"\red You stab yourself in the eyes with [src]!" \
"<span class='danger'>[user] has stabbed themself with [src]!</span>", \
"<span class='danger'>You stab yourself in the eyes with [src]!</span>" \
)
eyes.damage += rand(3,4)
if(eyes.damage >= eyes.min_bruised_damage)
if(M.stat != 2)
if(eyes.robotic <= 1) //robot eyes bleeding might be a bit silly
M << "\red Your eyes start to bleed profusely!"
M << "<span class='danger'>Your eyes start to bleed profusely!</span>"
if(prob(50))
if(M.stat != 2)
M << "\red You drop what you're holding and clutch at your eyes!"
M << "<span class='warning'>You drop what you're holding and clutch at your eyes!</span>"
M.drop_item()
M.eye_blurry += 10
M.Paralyse(1)
M.Weaken(4)
if (eyes.damage >= eyes.min_broken_damage)
if(M.stat != 2)
M << "\red You go blind!"
M << "<span class='warning'>You go blind!</span>"
var/obj/item/organ/external/affecting = H.get_organ("head")
if(affecting.take_damage(7))
M:UpdateDamageIcon()
@@ -603,4 +603,4 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
/obj/item/proc/pwr_drain()
return 0 // Process Kill
return 0 // Process Kill

View File

@@ -22,17 +22,17 @@
var/turf/loc = get_turf(usr)
var/area/A = loc.loc
if (!istype(loc, /turf/simulated/floor))
usr << "\red APC cannot be placed on this spot."
usr << "<span class='warning'>APC cannot be placed on this spot.</span>"
return
if (A.requires_power == 0 || istype(A, /area/space))
usr << "\red APC cannot be placed in this area."
usr << "<span class='warning'>APC cannot be placed in this area.</span>"
return
if (A.get_apc())
usr << "\red This area already has APC."
usr << "<span class='warning'>This area already has an APC.</span>"
return //only one APC per area
for(var/obj/machinery/power/terminal/T in loc)
if (T.master)
usr << "\red There is another network terminal here."
usr << "<span class='warning'>There is another network terminal here.</span>"
return
else
var/obj/item/stack/cable_coil/C = new /obj/item/stack/cable_coil(loc)

View File

@@ -104,20 +104,20 @@ move an amendment</a> to the drawing.</p>
if(!istype(res,/list))
switch(res)
if(ROOM_ERR_SPACE)
usr << "\red The new area must be completely airtight!"
usr << "<span class='warning'>The new area must be completely airtight!</span>"
return
if(ROOM_ERR_TOOLARGE)
usr << "\red The new area too large!"
usr << "<span class='warning'>The new area too large!</span>"
return
else
usr << "\red Error! Please notify administration!"
usr << "<span class='warning'>Error! Please notify administration!</span>"
return
var/list/turf/turfs = res
var/str = sanitizeSafe(input("New area name:","Blueprint Editing", ""), MAX_NAME_LEN)
if(!str || !length(str)) //cancel
return
if(length(str) > 50)
usr << "\red Name too long."
usr << "<span class='warning'>Name too long.</span>"
return
var/area/A = new
A.name = str
@@ -153,11 +153,11 @@ move an amendment</a> to the drawing.</p>
if(!str || !length(str) || str==prevname) //cancel
return
if(length(str) > 50)
usr << "\red Text too long."
usr << "<span class='warning'>Text too long.</span>"
return
set_area_machinery_title(A,str,prevname)
A.name = str
usr << "\blue You set the area '[prevname]' title to '[str]'."
usr << "<span class='notice'>You set the area '[prevname]' title to '[str]'.</span>"
interact()
return

View File

@@ -131,5 +131,5 @@
/obj/structure/closet/body_bag/cryobag/MouseDrop(over_object, src_location, over_location)
if((over_object == usr && (in_range(src, usr) || usr.contents.Find(src))))
if(!ishuman(usr)) return
usr << "\red You can't fold that up anymore.."
usr << "<span class='warning'>You can't fold that up anymore..</span>"
..()

View File

@@ -84,7 +84,7 @@
if(uses)
uses--
if(!uses)
user << "\red You used up your crayon!"
user << "<span class='warning'>You used up your crayon!</span>"
qdel(src)
return
@@ -96,7 +96,7 @@
if(uses)
uses -= 5
if(uses <= 0)
user << "\red You ate your crayon!"
user << "<span class='warning'>You ate your crayon!</span>"
qdel(src)
else
..()

View File

@@ -745,7 +745,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
if(!isnull(P))
if (!P.toff && cartridge.charges > 0)
cartridge.charges--
U.show_message("\blue Virus sent!", 1)
U.show_message("<span class='notice'>Virus sent!</span>", 1)
P.honkamt = (rand(15,20))
else
U << "PDA not found."
@@ -758,7 +758,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
if(!isnull(P))
if (!P.toff && cartridge.charges > 0)
cartridge.charges--
U.show_message("\blue Virus sent!", 1)
U.show_message("<span class='notice'>Virus sent!</span>", 1)
P.message_silent = 1
P.news_silent = 1
P.ttone = "silence"
@@ -786,10 +786,10 @@ var/global/list/obj/item/device/pda/PDAs = list()
var/obj/item/device/pda/P = locate(href_list["target"])
var/datum/reception/reception = get_reception(src, P, "", do_sleep = 0)
if(!(reception.message_server && reception.telecomms_reception & TELECOMMS_RECEPTION_SENDER))
U.show_message("\red An error flashes on your [src]: Connection unavailable", 1)
U.show_message("<span class='warning'>An error flashes on your [src]: Connection unavailable</span>", 1)
return
if(reception.telecomms_reception & TELECOMMS_RECEPTION_RECEIVER == 0) // Does our recepient have a broadcaster on their level?
U.show_message("\red An error flashes on your [src]: Recipient unavailable", 1)
U.show_message("<span class='warning'>An error flashes on your [src]: Recipient unavailable</span>", 1)
return
if(!isnull(P))
if (!P.toff && cartridge.charges > 0)
@@ -807,15 +807,15 @@ var/global/list/obj/item/device/pda/PDAs = list()
difficulty += 3
if(prob(difficulty))
U.show_message("\red An error flashes on your [src].", 1)
U.show_message("<span class='warning'>An error flashes on your [src].</span>", 1)
else if (prob(difficulty * 7))
U.show_message("\red Energy feeds back into your [src]!", 1)
U.show_message("<span class='warning'>Energy feeds back into your [src]!</span>", 1)
ui.close()
detonate_act(src)
log_admin("[key_name(U)] just attempted to blow up [P] with the Detomatix cartridge but failed, blowing themselves up")
message_admins("[key_name_admin(U)] just attempted to blow up [P] with the Detomatix cartridge but failed.", 1)
else
U.show_message("\blue Success!", 1)
U.show_message("<span class='notice'>Success!</span>", 1)
log_admin("[key_name(U)] just attempted to blow up [P] with the Detomatix cartridge and succeeded")
message_admins("[key_name_admin(U)] just attempted to blow up [P] with the Detomatix cartridge and succeeded.", 1)
detonate_act(P)
@@ -932,7 +932,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
message += "Your [P] shatters in a thousand pieces!"
if(M && isliving(M))
message = "\red" + message
message = "<span class='warning'>[message]</span>"
M.show_message(message, 1)
/obj/item/device/pda/proc/remove_id()
@@ -947,7 +947,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
/obj/item/device/pda/proc/create_message(var/mob/living/U = usr, var/obj/item/device/pda/P, var/tap = 1)
if(tap)
U.visible_message("<span class='notice'>[U] taps on \his PDA's screen.</span>")
U.visible_message("<span class='notice'>\The [U] taps on \his PDA's screen.</span>")
U.last_target_click = world.time
var/t = input(U, "Please enter message", P.name, null) as text
t = sanitize(t)
@@ -1196,53 +1196,59 @@ var/global/list/obj/item/device/pda/PDAs = list()
if(1)
for (var/mob/O in viewers(C, null))
O.show_message("\red [user] has analyzed [C]'s vitals!", 1)
O.show_message("<span class='warning'>\The [user] has analyzed [C]'s vitals!</span>", 1)
user.show_message("\blue Analyzing Results for [C]:")
user.show_message("\blue \t Overall Status: [C.stat > 1 ? "dead" : "[C.health - C.halloss]% healthy"]", 1)
user.show_message("\blue \t Damage Specifics: [C.getOxyLoss() > 50 ? "\red" : "\blue"][C.getOxyLoss()]-[C.getToxLoss() > 50 ? "\red" : "\blue"][C.getToxLoss()]-[C.getFireLoss() > 50 ? "\red" : "\blue"][C.getFireLoss()]-[C.getBruteLoss() > 50 ? "\red" : "\blue"][C.getBruteLoss()]", 1)
user.show_message("\blue \t Key: Suffocation/Toxin/Burns/Brute", 1)
user.show_message("\blue \t Body Temperature: [C.bodytemperature-T0C]&deg;C ([C.bodytemperature*1.8-459.67]&deg;F)", 1)
user.show_message("<span class='notice'>Analyzing Results for [C]:</span>")
user.show_message("<span class='notice'> Overall Status: [C.stat > 1 ? "dead" : "[C.health - C.halloss]% healthy"]</span>", 1)
user.show_message(text("<span class='notice'> Damage Specifics: <span class='[]'>[]</span>-<span class='[]'>[]</span>-<span class='[]'>[]</span>-<span class='[]'>[]</span>",
(C.getOxyLoss() > 50) ? "warning" : "", C.getOxyLoss(),
(C.getToxLoss() > 50) ? "warning" : "", C.getToxLoss(),
(C.getFireLoss() > 50) ? "warning" : "", C.getFireLoss(),
(C.getBruteLoss() > 50) ? "warning" : "", C.getBruteLoss()
), 1)
user.show_message("<span class='notice'> Key: Suffocation/Toxin/Burns/Brute</span>", 1)
user.show_message("<span class='notice'> Body Temperature: [C.bodytemperature-T0C]&deg;C ([C.bodytemperature*1.8-459.67]&deg;F)</span>", 1)
if(C.tod && (C.stat == DEAD || (C.status_flags & FAKEDEATH)))
user.show_message("\blue \t Time of Death: [C.tod]")
user.show_message("<span class='notice'> Time of Death: [C.tod]</span>")
if(istype(C, /mob/living/carbon/human))
var/mob/living/carbon/human/H = C
var/list/damaged = H.get_damaged_organs(1,1)
user.show_message("\blue Localized Damage, Brute/Burn:",1)
user.show_message("<span class='notice'>Localized Damage, Brute/Burn:</span>",1)
if(length(damaged)>0)
for(var/obj/item/organ/external/org in damaged)
user.show_message(text("\blue \t []: []\blue-[]",capitalize(org.name),(org.brute_dam > 0)?"\red [org.brute_dam]":0,(org.burn_dam > 0)?"\red [org.burn_dam]":0),1)
user.show_message(text("<span class='notice'> []: <span class='[]'>[]</span>-<span class='[]'>[]</span>",
capitalize(org.name), (org.brute_dam > 0) ? "warning" : "notice", org.brute_dam, (org.burn_dam > 0) ? "warning" : "notice", org.burn_dam),1)
else
user.show_message("\blue \t Limbs are OK.",1)
user.show_message("<span class='notice'> Limbs are OK.</span>",1)
for(var/datum/disease/D in C.viruses)
if(!D.hidden[SCANNER])
user.show_message(text("\red <b>Warning: [D.form] Detected</b>\nName: [D.name].\nType: [D.spread].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure]"))
user.show_message("<span class='warning'>Warning: [D.form] Detected</b>\nName: [D.name].\nType: [D.spread].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure]</span>")
if(2)
if (!istype(C:dna, /datum/dna))
user << "\blue No fingerprints found on [C]"
user << "<span class='notice'>No fingerprints found on [C]</span>"
else
user << text("\blue [C]'s Fingerprints: [md5(C:dna.uni_identity)]")
user << text("<span class='notice'>\The [C]'s Fingerprints: [md5(C:dna.uni_identity)]</span>")
if ( !(C:blood_DNA) )
user << "\blue No blood found on [C]"
user << "<span class='notice'>No blood found on [C]</span>"
if(C:blood_DNA)
qdel(C:blood_DNA)
else
user << "\blue Blood found on [C]. Analysing..."
user << "<span class='notice'>Blood found on [C]. Analysing...</span>"
spawn(15)
for(var/blood in C:blood_DNA)
user << "\blue Blood type: [C:blood_DNA[blood]]\nDNA: [blood]"
user << "<span class='notice'>Blood type: [C:blood_DNA[blood]]\nDNA: [blood]</span>"
if(4)
for (var/mob/O in viewers(C, null))
O.show_message("\red [user] has analyzed [C]'s radiation levels!", 1)
O.show_message("<span class='warning'>\The [user] has analyzed [C]'s radiation levels!</span>", 1)
user.show_message("\blue Analyzing Results for [C]:")
user.show_message("<span class='notice'>Analyzing Results for [C]:</span>")
if(C.radiation)
user.show_message("\green Radiation Level: \black [C.radiation]")
user.show_message("<span class='notice'>Radiation Level: [C.radiation]</span>")
else
user.show_message("\blue No radiation detected.")
user.show_message("<span class='notice'>No radiation detected.</span>")
/obj/item/device/pda/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity)
if(!proximity) return
@@ -1254,49 +1260,49 @@ var/global/list/obj/item/device/pda/PDAs = list()
if(!isnull(A.reagents))
if(A.reagents.reagent_list.len > 0)
var/reagents_length = A.reagents.reagent_list.len
user << "\blue [reagents_length] chemical agent[reagents_length > 1 ? "s" : ""] found."
user << "<span class='notice'>[reagents_length] chemical agent[reagents_length > 1 ? "s" : ""] found.</span>"
for (var/re in A.reagents.reagent_list)
user << "\blue \t [re]"
user << "<span class='notice'> [re]</span>"
else
user << "\blue No active chemical agents found in [A]."
user << "<span class='notice'>No active chemical agents found in [A].</span>"
else
user << "\blue No significant chemical agents found in [A]."
user << "<span class='notice'>No significant chemical agents found in [A].</span>"
if(5)
if((istype(A, /obj/item/weapon/tank)) || (istype(A, /obj/machinery/portable_atmospherics)))
var/obj/icon = A
for (var/mob/O in viewers(user, null))
O << "\red [user] has used [src] on \icon[icon] [A]"
O << "<span class='warning'>\The [user] has used [src] on \icon[icon] [A].</span>"
var/pressure = A:air_contents.return_pressure()
var/total_moles = A:air_contents.total_moles
user << "\blue Results of analysis of \icon[icon]"
user << "<span class='notice'>Results of analysis of \icon[icon]</span>"
if (total_moles>0)
user << "\blue Pressure: [round(pressure,0.1)] kPa"
user << "<span class='notice'>Pressure: [round(pressure,0.1)] kPa</span>"
for(var/g in A:air_contents.gas)
user << "\blue [gas_data.name[g]]: [round((A:air_contents.gas[g] / total_moles) * 100)]%"
user << "\blue Temperature: [round(A:air_contents.temperature-T0C)]&deg;C"
user << "<span class='notice'>[gas_data.name[g]]: [round((A:air_contents.gas[g] / total_moles) * 100)]%</span>"
user << "<span class='notice'>Temperature: [round(A:air_contents.temperature-T0C)]&deg;C</span>"
else
user << "\blue Tank is empty!"
user << "<span class='notice'>Tank is empty!</span>"
if (istype(A, /obj/machinery/atmospherics/pipe/tank))
var/obj/icon = A
for (var/mob/O in viewers(user, null))
O << "\red [user] has used [src] on \icon[icon] [A]"
O << "<span class='warning'>\The [user] has used [src] on \icon[icon] [A]</span>"
var/obj/machinery/atmospherics/pipe/tank/T = A
var/pressure = T.parent.air.return_pressure()
var/total_moles = T.parent.air.total_moles
user << "\blue Results of analysis of \icon[icon]"
user << "<span class='notice'>Results of analysis of \icon[icon]</span>"
if (total_moles>0)
user << "\blue Pressure: [round(pressure,0.1)] kPa"
user << "<span class='notice'>Pressure: [round(pressure,0.1)] kPa</span>"
for(var/g in T.parent.air.gas)
user << "\blue [gas_data.name[g]]: [round((T.parent.air.gas[g] / total_moles) * 100)]%"
user << "\blue Temperature: [round(T.parent.air.temperature-T0C)]&deg;C"
user << "<span class='notice'>[gas_data.name[g]]: [round((T.parent.air.gas[g] / total_moles) * 100)]%</span>"
user << "<span class='notice'>Temperature: [round(T.parent.air.temperature-T0C)]&deg;C</span>"
else
user << "\blue Tank is empty!"
user << "<span class='notice'>Tank is empty!</span>"
if (!scanmode && istype(A, /obj/item/weapon/paper) && owner)
// JMO 20140705: Makes scanned document show up properly in the notes. Not pretty for formatted documents,
@@ -1345,7 +1351,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
// feature to the PDA, which would better convey the availability of the feature, but this will work for now.
// Inform the user
user << "\blue Paper scanned and OCRed to notekeeper." //concept of scanning paper copyright brainoblivion 2009
user << "<span class='notice'>Paper scanned and OCRed to notekeeper.</span>" //concept of scanning paper copyright brainoblivion 2009

View File

@@ -118,7 +118,7 @@
if(ai.client)
ai << "You have been downloaded to a mobile storage device. Remote access lost."
if(user.client)
user << "\blue <b>Transfer successful</b>: \black [ai.name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory."
user << "<span class='notice'><b>Transfer successful:</b></span> [ai.name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory."
update_icon()
return 1

View File

@@ -30,7 +30,7 @@
if(!active_dummy)
if(istype(target,/obj/item) && !istype(target, /obj/item/weapon/disk/nuclear))
playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, 1, -6)
user << "\blue Scanned [target]."
user << "<span class='notice'>Scanned [target].</span>"
saved_item = target.type
saved_icon = target.icon
saved_icon_state = target.icon_state
@@ -43,7 +43,7 @@
playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6)
qdel(active_dummy)
active_dummy = null
usr << "\blue You deactivate the [src]."
usr << "<span class='notice'>You deactivate the [src].</span>"
var/obj/effect/overlay/T = PoolOrNew(/obj/effect/overlay, get_turf(src))
T.icon = 'icons/effects/effects.dmi'
flick("emppulse",T)
@@ -55,7 +55,7 @@
var/obj/effect/dummy/chameleon/C = PoolOrNew(/obj/effect/dummy/chameleon, usr.loc)
C.activate(O, usr, saved_icon, saved_icon_state, saved_overlays, src)
qdel(O)
usr << "\blue You activate the [src]."
usr << "<span class='notice'>You activate the [src].</span>"
var/obj/effect/overlay/T = new/obj/effect/overlay(get_turf(src))
T.icon = 'icons/effects/effects.dmi'
flick("emppulse",T)
@@ -102,22 +102,22 @@
/obj/effect/dummy/chameleon/attackby()
for(var/mob/M in src)
M << "\red Your chameleon-projector deactivates."
M << "<span class='warning'>Your chameleon-projector deactivates.</span>"
master.disrupt()
/obj/effect/dummy/chameleon/attack_hand()
for(var/mob/M in src)
M << "\red Your chameleon-projector deactivates."
M << "<span class='warning'>Your chameleon-projector deactivates.</span>"
master.disrupt()
/obj/effect/dummy/chameleon/ex_act()
for(var/mob/M in src)
M << "\red Your chameleon-projector deactivates."
M << "<span class='warning'>Your chameleon-projector deactivates.</span>"
master.disrupt()
/obj/effect/dummy/chameleon/bullet_act()
for(var/mob/M in src)
M << "\red Your chameleon-projector deactivates."
M << "<span class='warning'>Your chameleon-projector deactivates.</span>"
..()
master.disrupt()

View File

@@ -26,21 +26,21 @@
if(istype(O, /obj/machinery/power/apc))
var/obj/machinery/power/apc/A = O
if(A.emagged || A.hacker)
user << "\red There is a software error with the device."
user << "<span class='warning'>There is a software error with the device.</span>"
else
user << "\blue The device's software appears to be fine."
user << "<span class='notice'>The device's software appears to be fine.</span>"
return 1
if(istype(O, /obj/machinery/door))
var/obj/machinery/door/D = O
if(D.operating == -1)
user << "\red There is a software error with the device."
user << "<span class='warning'>There is a software error with the device.</span>"
else
user << "\blue The device's software appears to be fine."
user << "<span class='notice'>The device's software appears to be fine.</span>"
return 1
else if(istype(O, /obj/machinery))
var/obj/machinery/A = O
if(A.emagged)
user << "\red There is a software error with the device."
user << "<span class='warning'>There is a software error with the device.</span>"
else
user << "\blue The device's software appears to be fine."
user << "<span class='notice'>The device's software appears to be fine.</span>"
return 1

View File

@@ -16,7 +16,7 @@
/obj/item/device/flash/proc/clown_check(var/mob/user)
if(user && (CLUMSY in user.mutations) && prob(50))
user << "\red \The [src] slips out of your hand."
user << "<span class='warning'>\The [src] slips out of your hand.</span>"
user.drop_item()
return 0
return 1
@@ -192,21 +192,21 @@
/obj/item/device/flash/synthetic
name = "synthetic flash"
desc = "When a problem arises, SCIENCE is the solution."
icon_state = "sflash"
icon_state = "sflash"
origin_tech = list(TECH_MAGNET = 2, TECH_COMBAT = 1)
var/construction_cost = list(DEFAULT_WALL_MATERIAL=750,"glass"=750)
var/construction_cost = list(DEFAULT_WALL_MATERIAL=750,"glass"=750)
var/construction_time=100
/obj/item/device/flash/synthetic/attack(mob/living/M as mob, mob/user as mob)
..()
if(!broken)
broken = 1
user << "\red The bulb has burnt out!"
user << "<span class='warning'>The bulb has burnt out!</span>"
icon_state = "flashburnt"
/obj/item/device/flash/synthetic/attack_self(mob/living/carbon/user as mob, flag = 0, emp = 0)
..()
if(!broken)
broken = 1
user << "\red The bulb has burnt out!"
user << "<span class='warning'>The bulb has burnt out!</span>"
icon_state = "flashburnt"

View File

@@ -14,15 +14,15 @@
/obj/item/device/megaphone/attack_self(mob/living/user as mob)
if (user.client)
if(user.client.prefs.muted & MUTE_IC)
src << "\red You cannot speak in IC (muted)."
src << "<span class='warning'>You cannot speak in IC (muted).</span>"
return
if(!ishuman(user))
user << "\red You don't know how to use this!"
user << "<span class='warning'>You don't know how to use this!</span>"
return
if(user.silent)
return
if(spamcheck)
user << "\red \The [src] needs to recharge!"
user << "<span class='warning'>\The [src] needs to recharge!</span>"
return
var/message = sanitize(input(user, "Shout a message?", "Megaphone", null) as text)
@@ -36,7 +36,7 @@
O.show_message("<B>[user]</B> broadcasts, <FONT size=3>\"[pick(insultmsg)]\"</FONT>",2) // 2 stands for hearable message
insults--
else
user << "\red *BZZZZzzzzzt*"
user << "<span class='warning'>*BZZZZzzzzzt*</span>"
else
for(var/mob/O in (viewers(user)))
O.show_message("<B>[user]</B> broadcasts, <FONT size=3>\"[message]\"</FONT>",2) // 2 stands for hearable message
@@ -48,7 +48,7 @@
/obj/item/device/megaphone/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/weapon/card/emag) && !emagged)
user << "\red You overload \the [src]'s voice synthesizer."
user << "<span class='warning'>You overload \the [src]'s voice synthesizer.</span>"
emagged = 1
insults = rand(1, 3)//to prevent dickflooding
return

View File

@@ -49,7 +49,7 @@
playsound(user.loc, 'sound/items/Screwdriver.ogg', 100, 1)
user.visible_message("\red [user] opens \the [src] and modifies \the [O].","\red You open \the [src] and modify \the [O].")
user.visible_message("<span class='notice'>\The [user] opens \the [src] and modifies \the [O].</span>","<span class='notice'>You open \the [src] and modify \the [O].</span>")
I.refit_for_species(target_species)

View File

@@ -307,7 +307,7 @@
/obj/item/device/paicard/proc/alertUpdate()
var/turf/T = get_turf_or_move(src.loc)
for (var/mob/M in viewers(T))
M.show_message("\blue [src] flashes a message across its screen, \"Additional personalities available for download.\"", 3, "\blue [src] bleeps electronically.", 2)
M.show_message("<span class='notice'>\The [src] flashes a message across its screen, \"Additional personalities available for download.\"</span>", 3, "<span class='notice'>\The [src] bleeps electronically.</span>", 2)
/obj/item/device/paicard/emp_act(severity)
for(var/mob/M in src)
@@ -329,4 +329,4 @@
if(pai && pai.client)
var/rendered = "<span class='message'>[msg]</span>"
pai.show_message(rendered, type)
..()
..()

View File

@@ -23,7 +23,7 @@
var/turf/T = P.loc
if (P.level < 2 && T.level==1 && isturf(T) && T.intact)
user << "\red You must remove the plating first."
user << "<span class='warning'>You must remove the plating first.</span>"
return
P.change_color(pipe_colors[mode])

View File

@@ -42,7 +42,7 @@
/obj/item/device/radio/beacon/syndicate/attack_self(mob/user as mob)
if(user)
user << "\blue Locked In"
user << "<span class='notice'>Locked In</span>"
new /obj/machinery/power/singularity_beacon/syndicate( user.loc )
playsound(src, 'sound/effects/pop.ogg', 100, 1, 1)
qdel(src)

View File

@@ -463,9 +463,9 @@
. = ..()
if ((in_range(src, user) || loc == user))
if (b_stat)
user.show_message("\blue \the [src] can be attached and modified!")
user.show_message("<span class='notice'>\The [src] can be attached and modified!</span>")
else
user.show_message("\blue \the [src] can not be modified or attached!")
user.show_message("<span class='notice'>\The [src] can not be modified or attached!</span>")
return
/obj/item/device/radio/attackby(obj/item/weapon/W as obj, mob/user as mob)
@@ -476,9 +476,9 @@
b_stat = !( b_stat )
if(!istype(src, /obj/item/device/radio/beacon))
if (b_stat)
user.show_message("\blue The radio can now be attached and modified!")
user.show_message("<span class='notice'>\The [src] can now be attached and modified!</span>")
else
user.show_message("\blue The radio can no longer be modified or attached!")
user.show_message("<span class='notice'>\The [src] can no longer be modified or attached!</span>")
updateDialog()
//Foreach goto(83)
add_fingerprint(user)

View File

@@ -80,27 +80,28 @@ REAGENT SCANNER
/obj/item/device/healthanalyzer/attack(mob/living/M as mob, mob/living/user as mob)
if (( (CLUMSY in user.mutations) || user.getBrainLoss() >= 60) && prob(50))
user << text("\red You try to analyze the floor's vitals!")
user << text("<span class='warning'>You try to analyze the floor's vitals!</span>")
for(var/mob/O in viewers(M, null))
O.show_message(text("\red [user] has analyzed the floor's vitals!"), 1)
user.show_message(text("\blue Analyzing Results for The floor:\n\t Overall Status: Healthy"), 1)
user.show_message(text("\blue \t Damage Specifics: [0]-[0]-[0]-[0]"), 1)
user.show_message("\blue Key: Suffocation/Toxin/Burns/Brute", 1)
user.show_message("\blue Body Temperature: ???", 1)
O.show_message("<span class='warning'>\The [user] has analyzed the floor's vitals!</span>", 1)
user.show_message("<span class='notice'>Analyzing Results for The floor:</span>", 1)
user.show_message("Overall Status: Healthy</span>", 1)
user.show_message("<span class='notice'> Damage Specifics: 0-0-0-0</span>", 1)
user.show_message("<span class='notice'>Key: Suffocation/Toxin/Burns/Brute</span>", 1)
user.show_message("<span class='notice'>Body Temperature: ???</span>", 1)
return
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
usr << "\red You don't have the dexterity to do this!"
usr << "<span class='warning'>You don't have the dexterity to do this!</span>"
return
user.visible_message("<span class='notice'> [user] has analyzed [M]'s vitals.</span>","<span class='notice'> You have analyzed [M]'s vitals.</span>")
user.visible_message("<span class='notice'>[user] has analyzed [M]'s vitals.</span>","<span class='notice'>You have analyzed [M]'s vitals.</span>")
if (!istype(M,/mob/living/carbon/human) || M.isSynthetic())
//these sensors are designed for organic life
user.show_message("\blue Analyzing Results for ERROR:\n\t Overall Status: ERROR")
user.show_message("\t Key: <font color='blue'>Suffocation</font>/<font color='green'>Toxin</font>/<font color='#FFA500'>Burns</font>/<font color='red'>Brute</font>", 1)
user.show_message("\t Damage Specifics: <font color='blue'>?</font> - <font color='green'>?</font> - <font color='#FFA500'>?</font> - <font color='red'>?</font>")
user.show_message("\blue Body Temperature: [M.bodytemperature-T0C]&deg;C ([M.bodytemperature*1.8-459.67]&deg;F)", 1)
user.show_message("\red <b>Warning: Blood Level ERROR: --% --cl.\blue Type: ERROR")
user.show_message("\blue Subject's pulse: <font color='red'>-- bpm.</font>")
user.show_message("<span class='notice'>Analyzing Results for ERROR:\n\t Overall Status: ERROR</span>")
user.show_message("<span class='notice'> Key: <font color='blue'>Suffocation</font>/<font color='green'>Toxin</font>/<font color='#FFA500'>Burns</font>/<font color='red'>Brute</font></span>", 1)
user.show_message("<span class='notice'> Damage Specifics: <font color='blue'>?</font> - <font color='green'>?</font> - <font color='#FFA500'>?</font> - <font color='red'>?</font></span>")
user.show_message("<span class='notice'>Body Temperature: [M.bodytemperature-T0C]&deg;C ([M.bodytemperature*1.8-459.67]&deg;F)</span>", 1)
user.show_message("<span class='warning'>Warning: Blood Level ERROR: --% --cl.</span> <span class='notice'>Type: ERROR</span>")
user.show_message("<span class='notice'>Subject's pulse: <font color='red'>-- bpm.</font></span>")
return
var/fake_oxy = max(rand(1,40), M.getOxyLoss(), (300 - (M.getToxLoss() + M.getFireLoss() + M.getBruteLoss())))
@@ -110,34 +111,36 @@ REAGENT SCANNER
var/BR = M.getBruteLoss() > 50 ? "<b>[M.getBruteLoss()]</b>" : M.getBruteLoss()
if(M.status_flags & FAKEDEATH)
OX = fake_oxy > 50 ? "<b>[fake_oxy]</b>" : fake_oxy
user.show_message("\blue Analyzing Results for [M]:\n\t Overall Status: dead")
user.show_message("<span class='notice'>Analyzing Results for [M]:</span>")
user.show_message("<span class='notice'>Overall Status: dead</span>")
else
user.show_message("\blue Analyzing Results for [M]:\n\t Overall Status: [M.stat > 1 ? "dead" : "[M.health - M.halloss]% healthy"]")
user.show_message("\t Key: <font color='blue'>Suffocation</font>/<font color='green'>Toxin</font>/<font color='#FFA500'>Burns</font>/<font color='red'>Brute</font>", 1)
user.show_message("\t Damage Specifics: <font color='blue'>[OX]</font> - <font color='green'>[TX]</font> - <font color='#FFA500'>[BU]</font> - <font color='red'>[BR]</font>")
user.show_message("\blue Body Temperature: [M.bodytemperature-T0C]&deg;C ([M.bodytemperature*1.8-459.67]&deg;F)", 1)
user.show_message("<span class='notice'>Analyzing Results for [M]:\n\t Overall Status: [M.stat > 1 ? "dead" : "[M.health - M.halloss]% healthy"]</span>")
user.show_message("<span class='notice'> Key: <font color='blue'>Suffocation</font>/<font color='green'>Toxin</font>/<font color='#FFA500'>Burns</font>/<font color='red'>Brute</font></span>", 1)
user.show_message("<span class='notice'> Damage Specifics: <font color='blue'>[OX]</font> - <font color='green'>[TX]</font> - <font color='#FFA500'>[BU]</font> - <font color='red'>[BR]</font></span>")
user.show_message("<span class='notice'>Body Temperature: [M.bodytemperature-T0C]&deg;C ([M.bodytemperature*1.8-459.67]&deg;F)</span>", 1)
if(M.tod && (M.stat == DEAD || (M.status_flags & FAKEDEATH)))
user.show_message("\blue Time of Death: [M.tod]")
user.show_message("<span class='notice'>Time of Death: [M.tod]</span>")
if(istype(M, /mob/living/carbon/human) && mode == 1)
var/mob/living/carbon/human/H = M
var/list/damaged = H.get_damaged_organs(1,1)
user.show_message("\blue Localized Damage, Brute/Burn:",1)
user.show_message("<span class='notice'>Localized Damage, Brute/Burn:</span>",1)
if(length(damaged)>0)
for(var/obj/item/organ/external/org in damaged)
user.show_message(text("\blue \t []: [][]\blue - []", \
"[capitalize(org.name)][org.status & ORGAN_ROBOT ? "(Cybernetic)" : ""]", \
(org.brute_dam > 0) ? "\red [org.brute_dam]" :0, \
(org.status & ORGAN_BLEEDING)?"\red <b>\[Bleeding\]</b>":"\t", \
(org.burn_dam > 0) ? "<font color='#FFA500'>[org.burn_dam]</font>" :0),1)
user.show_message(text("<span class='notice'> [][]: [][] - []</span>",
capitalize(org.name),
(org.status & ORGAN_ROBOT) ? "(Cybernetic)" : "",
(org.brute_dam > 0) ? "<span class='warning'>[org.brute_dam]</span>" : 0,
(org.status & ORGAN_BLEEDING)?"<span class='danger'>\[Bleeding\]</span>":"",
(org.burn_dam > 0) ? "<font color='#FFA500'>[org.burn_dam]</font>" : 0),1)
else
user.show_message("\blue \t Limbs are OK.",1)
user.show_message("<span class='notice'> Limbs are OK.</span>",1)
OX = M.getOxyLoss() > 50 ? "<font color='blue'><b>Severe oxygen deprivation detected</b></font>" : "Subject bloodstream oxygen level normal"
TX = M.getToxLoss() > 50 ? "<font color='green'><b>Dangerous amount of toxins detected</b></font>" : "Subject bloodstream toxin level minimal"
BU = M.getFireLoss() > 50 ? "<font color='#FFA500'><b>Severe burn damage detected</b></font>" : "Subject burn injury status O.K"
BR = M.getBruteLoss() > 50 ? "<font color='red'><b>Severe anatomical damage detected</b></font>" : "Subject brute-force injury status O.K"
if(M.status_flags & FAKEDEATH)
OX = fake_oxy > 50 ? "\red Severe oxygen deprivation detected\blue" : "Subject bloodstream oxygen level normal"
OX = fake_oxy > 50 ? "<span class='warning'>Severe oxygen deprivation detected</span>" : "Subject bloodstream oxygen level normal"
user.show_message("[OX] | [TX] | [BU] | [BR]")
if(istype(M, /mob/living/carbon))
var/mob/living/carbon/C = M
@@ -147,15 +150,15 @@ REAGENT SCANNER
for(var/A in C.reagents.reagent_list)
var/datum/reagent/R = A
if(R.scannable)
reagentdata["[R.id]"] = "\t \blue [round(C.reagents.get_reagent_amount(R.id), 1)]u [R.name]"
reagentdata["[R.id]"] = "<span class='notice'> [round(C.reagents.get_reagent_amount(R.id), 1)]u [R.name]</span>"
else
unknown++
if(reagentdata.len)
user.show_message("\blue Beneficial reagents detected in subject's blood:")
user.show_message("<span class='notice'>Beneficial reagents detected in subject's blood:</span>")
for(var/d in reagentdata)
user.show_message(reagentdata[d])
if(unknown)
user.show_message(text("\red Warning: Unknown substance[(unknown>1)?"s":""] detected in subject's blood."))
user.show_message("<span class='warning'>Warning: Unknown substance[(unknown>1)?"s":""] detected in subject's blood.</span>")
if(C.ingested && C.ingested.total_volume)
var/unknown = 0
for(var/datum/reagent/R in C.ingested.reagent_list)
@@ -169,23 +172,23 @@ REAGENT SCANNER
for (var/ID in C.virus2)
if (ID in virusDB)
var/datum/data/record/V = virusDB[ID]
user.show_message(text("\red Warning: Pathogen [V.fields["name"]] detected in subject's blood. Known antigen : [V.fields["antigen"]]"))
// user.show_message(text("\red Warning: Unknown pathogen detected in subject's blood."))
user.show_message("<span class='warning'>Warning: Pathogen [V.fields["name"]] detected in subject's blood. Known antigen : [V.fields["antigen"]]</span>")
// user.show_message(text("<span class='warning'>Warning: Unknown pathogen detected in subject's blood."))
if (M.getCloneLoss())
user.show_message("\red Subject appears to have been imperfectly cloned.")
user.show_message("<span class='warning'>Subject appears to have been imperfectly cloned.</span>")
for(var/datum/disease/D in M.viruses)
if(!D.hidden[SCANNER])
user.show_message(text("\red <b>Warning: [D.form] Detected</b>\nName: [D.name].\nType: [D.spread].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure]"))
user.show_message(text("<span class='danger'>Warning: [D.form] Detected</span><span class='warning'>\nName: [D.name].\nType: [D.spread].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure]</span>"))
// if (M.reagents && M.reagents.get_reagent_amount("inaprovaline"))
// user.show_message("\blue Bloodstream Analysis located [M.reagents:get_reagent_amount("inaprovaline")] units of rejuvenation chemicals.")
// user.show_message("<span class='notice'>Bloodstream Analysis located [M.reagents:get_reagent_amount("inaprovaline")] units of rejuvenation chemicals.")
if (M.has_brain_worms())
user.show_message("\red Subject suffering from aberrant brain activity. Recommend further scanning.")
user.show_message("<span class='warning'>Subject suffering from aberrant brain activity. Recommend further scanning.</span>")
else if (M.getBrainLoss() >= 100 || !M.has_brain())
user.show_message("\red Subject is brain dead.")
user.show_message("<span class='warning'>Subject is brain dead.</span>")
else if (M.getBrainLoss() >= 60)
user.show_message("\red Severe brain damage detected. Subject likely to have mental retardation.")
user.show_message("<span class='warning'>Severe brain damage detected. Subject likely to have mental retardation.</span>")
else if (M.getBrainLoss() >= 10)
user.show_message("\red Significant brain damage detected. Subject may have had a concussion.")
user.show_message("<span class='warning'>Significant brain damage detected. Subject may have had a concussion.</span>")
if(ishuman(M))
var/mob/living/carbon/human/H = M
for(var/name in H.organs_by_name)
@@ -195,20 +198,20 @@ REAGENT SCANNER
var/limb = e.name
if(e.status & ORGAN_BROKEN)
if(((e.name == "l_arm") || (e.name == "r_arm") || (e.name == "l_leg") || (e.name == "r_leg")) && (!(e.status & ORGAN_SPLINTED)))
user << "\red Unsecured fracture in subject [limb]. Splinting recommended for transport."
user << "<span class='warning'>Unsecured fracture in subject [limb]. Splinting recommended for transport.</span>"
if(e.has_infected_wound())
user << "\red Infected wound detected in subject [limb]. Disinfection recommended."
user << "<span class='warning'>Infected wound detected in subject [limb]. Disinfection recommended.</span>"
for(var/name in H.organs_by_name)
var/obj/item/organ/external/e = H.organs_by_name[name]
if(e && e.status & ORGAN_BROKEN)
user.show_message(text("\red Bone fractures detected. Advanced scanner required for location."), 1)
user.show_message(text("<span class='warning'>Bone fractures detected. Advanced scanner required for location.</span>"), 1)
break
for(var/obj/item/organ/external/e in H.organs)
if(!e)
continue
for(var/datum/wound/W in e.wounds) if(W.internal)
user.show_message(text("\red Internal bleeding detected. Advanced scanner required for location."), 1)
user.show_message(text("<span class='warning'>Internal bleeding detected. Advanced scanner required for location.</span>"), 1)
break
if(M:vessel)
var/blood_volume = round(M:vessel.get_reagent_amount("blood"))
@@ -216,12 +219,12 @@ REAGENT SCANNER
var/blood_type = M.dna.b_type
blood_percent *= 100
if(blood_volume <= 500 && blood_volume > 336)
user.show_message("\red <b>Warning: Blood Level LOW: [blood_percent]% [blood_volume]cl.\blue Type: [blood_type]")
user.show_message("<span class='danger'>Warning: Blood Level LOW: [blood_percent]% [blood_volume]cl.</span> <span class='notice'>Type: [blood_type]</span>")
else if(blood_volume <= 336)
user.show_message("\red <b>Warning: Blood Level CRITICAL: [blood_percent]% [blood_volume]cl.\blue Type: [blood_type]")
user.show_message("<span class='danger'><i>Warning: Blood Level CRITICAL: [blood_percent]% [blood_volume]cl.</i></span> <span class='notice'>Type: [blood_type]")
else
user.show_message("\blue Blood Level Normal: [blood_percent]% [blood_volume]cl. Type: [blood_type]")
user.show_message("\blue Subject's pulse: <font color='[H.pulse == PULSE_THREADY || H.pulse == PULSE_NONE ? "red" : "blue"]'>[H.get_pulse(GETPULSE_TOOL)] bpm.</font>")
user.show_message("<span class='notice'>Blood Level Normal: [blood_percent]% [blood_volume]cl. Type: [blood_type]</span>")
user.show_message("<span class='notice'>Subject's pulse: <font color='[H.pulse == PULSE_THREADY || H.pulse == PULSE_NONE ? "red" : "blue"]'>[H.get_pulse(GETPULSE_TOOL)] bpm.</font></span>")
src.add_fingerprint(user)
return
@@ -258,7 +261,7 @@ REAGENT SCANNER
if (user.stat)
return
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
usr << "\red You don't have the dexterity to do this!"
usr << "<span class='warning'>You don't have the dexterity to do this!</span>"
return
var/turf/location = user.loc
@@ -270,16 +273,16 @@ REAGENT SCANNER
var/pressure = environment.return_pressure()
var/total_moles = environment.total_moles
user.show_message("\blue <B>Results:</B>", 1)
user.show_message("<span class='notice'><b>Results:</b></span>", 1)
if(abs(pressure - ONE_ATMOSPHERE) < 10)
user.show_message("\blue Pressure: [round(pressure,0.1)] kPa", 1)
user.show_message("<span class='notice'>Pressure: [round(pressure,0.1)] kPa</span>", 1)
else
user.show_message("\red Pressure: [round(pressure,0.1)] kPa", 1)
user.show_message("<span class='warning'>Pressure: [round(pressure,0.1)] kPa</span>", 1)
if(total_moles)
for(var/g in environment.gas)
user.show_message("\blue [gas_data.name[g]]: [round((environment.gas[g] / total_moles)*100)]%", 1)
user.show_message("<span class='notice'>[gas_data.name[g]]: [round((environment.gas[g] / total_moles)*100)]%</span>", 1)
user.show_message("\blue Temperature: [round(environment.temperature-T0C)]&deg;C", 1)
user.show_message("<span class='notice'>Temperature: [round(environment.temperature-T0C)]&deg;C</span>", 1)
src.add_fingerprint(user)
return
@@ -318,14 +321,14 @@ REAGENT SCANNER
if (user.stat)
return
if (!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
user << "\red You don't have the dexterity to do this!"
user << "<span class='warning'>You don't have the dexterity to do this!</span>"
return
if(reagents.total_volume)
var/list/blood_traces = list()
for(var/datum/reagent/R in reagents.reagent_list)
if(R.id != "blood")
reagents.clear_reagents()
user << "\red The sample was contaminated! Please insert another sample"
user << "<span class='warning'>The sample was contaminated! Please insert another sample</span>"
return
else
blood_traces = params2list(R.data["trace_chem"])
@@ -369,7 +372,7 @@ REAGENT SCANNER
if (user.stat)
return
if (!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
user << "\red You don't have the dexterity to do this!"
user << "<span class='warning'>You don't have the dexterity to do this!</span>"
return
if(!istype(O))
return
@@ -379,13 +382,13 @@ REAGENT SCANNER
if(O.reagents.reagent_list.len > 0)
var/one_percent = O.reagents.total_volume / 100
for (var/datum/reagent/R in O.reagents.reagent_list)
dat += "\n \t \blue [R][details ? ": [R.volume / one_percent]%" : ""]"
dat += "\n \t <span class='notice'>[R][details ? ": [R.volume / one_percent]%" : ""]"
if(dat)
user << "\blue Chemicals found: [dat]"
user << "<span class='notice'>Chemicals found: [dat]</span>"
else
user << "\blue No active chemical agents found in [O]."
user << "<span class='notice'>No active chemical agents found in [O].</span>"
else
user << "\blue No significant chemical agents found in [O]."
user << "<span class='notice'>No significant chemical agents found in [O].</span>"
return

View File

@@ -77,7 +77,7 @@
if(usr.stat)
return
if(emagged == 1)
usr << "\red The tape recorder makes a scratchy noise."
usr << "<span class='warning'>The tape recorder makes a scratchy noise.</span>"
return
icon_state = "taperecorderrecording"
if(timerecorded < 3600 && playing == 0)
@@ -104,7 +104,7 @@
if(usr.stat)
return
if(emagged == 1)
usr << "\red The tape recorder makes a scratchy noise."
usr << "<span class='warning'>The tape recorder makes a scratchy noise.</span>"
return
if(recording == 1)
recording = 0
@@ -148,7 +148,7 @@
if(usr.stat)
return
if(emagged == 1)
usr << "\red The tape recorder makes a scratchy noise."
usr << "<span class='warning'>The tape recorder makes a scratchy noise.</span>"
return
if(recording == 1)
usr << "<span class='notice'>You can't playback when recording!</span>"
@@ -210,7 +210,7 @@
if(usr.stat)
return
if(emagged == 1)
usr << "\red The tape recorder makes a scratchy noise."
usr << "<span class='warning'>The tape recorder makes a scratchy noise.</span>"
return
if(!canprint)
usr << "<span class='notice'>The recorder can't print that fast!</span>"
@@ -238,11 +238,11 @@
if(usr.stat)
return
if(emagged == 1)
usr << "\red The tape recorder makes a scratchy noise."
usr << "<span class='warning'>The tape recorder makes a scratchy noise.</span>"
return
icon_state = "taperecorderrecording"
if(timerecorded < 3600 && playing == 0)
usr << "\blue Recording started."
usr << "<span class='notice'>Recording started.</span>"
recording = 1
timestamp+= timerecorded
storedinfo += "\[[time2text(timerecorded*10,"mm:ss")]\] Recording started."
@@ -255,7 +255,7 @@
icon_state = "taperecorderidle"
return
else
usr << "\red Either your tape recorder's memory is full, or it is currently playing back its memory."
usr << "<span class='warning'>Either your tape recorder's memory is full, or it is currently playing back its memory.</span>"
else
if(usr.stat)
usr << "Not when you're incapacitated."
@@ -264,7 +264,7 @@
recording = 0
timestamp+= timerecorded
storedinfo += "\[[time2text(timerecorded*10,"mm:ss")]\] Recording stopped."
usr << "\blue Recording stopped."
usr << "<span class='notice'>Recording stopped.</span>"
icon_state = "taperecorderidle"
return
else if(playing == 1)
@@ -275,5 +275,5 @@
icon_state = "taperecorderidle"
return
else
usr << "\red Stop what?"
usr << "<span class='warning'>Stop what?</span>"
return

View File

@@ -32,7 +32,7 @@ effective or pretty fucking useless.
/obj/item/device/batterer/attack_self(mob/living/carbon/user as mob, flag = 0, emp = 0)
if(!user) return
if(times_used >= max_uses)
user << "\red The mind batterer has been burnt out!"
user << "<span class='warning'>The mind batterer has been burnt out!</span>"
return
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Used [src] to knock down people in the area.</font>")
@@ -44,13 +44,13 @@ effective or pretty fucking useless.
M.Weaken(rand(10,20))
if(prob(25))
M.Stun(rand(5,10))
M << "\red <b>You feel a tremendous, paralyzing wave flood your mind.</b>"
M << "<span class='danger'>You feel a tremendous, paralyzing wave flood your mind.</span>"
else
M << "\red <b>You feel a sudden, electric jolt travel through your head.</b>"
M << "<span class='danger'>You feel a sudden, electric jolt travel through your head.</span>"
playsound(src.loc, 'sound/misc/interference.ogg', 50, 1)
user << "\blue You trigger [src]."
user << "<span class='notice'>You trigger [src].</span>"
times_used += 1
if(times_used >= max_uses)
icon_state = "battererburnt"

View File

@@ -175,9 +175,9 @@
src.chest = W
src.updateicon()
else if(!W:wires)
user << "\blue You need to attach wires to it first!"
user << "<span class='warning'>You need to attach wires to it first!</span>"
else
user << "\blue You need to attach a cell to it first!"
user << "<span class='warning'>You need to attach a cell to it first!</span>"
if(istype(W, /obj/item/robot_parts/head))
if(src.head) return
@@ -187,16 +187,16 @@
src.head = W
src.updateicon()
else
user << "\blue You need to attach a flash to it first!"
user << "<span class='warning'>You need to attach a flash to it first!</span>"
if(istype(W, /obj/item/device/mmi))
var/obj/item/device/mmi/M = W
if(check_completion())
if(!istype(loc,/turf))
user << "\red You can't put \the [W] in, the frame has to be standing on the ground to be perfectly precise."
user << "<span class='warning'>You can't put \the [W] in, the frame has to be standing on the ground to be perfectly precise.</span>"
return
if(!M.brainmob)
user << "\red Sticking an empty [W] into the frame would sort of defeat the purpose."
user << "<span class='warning'>Sticking an empty [W] into the frame would sort of defeat the purpose.</span>"
return
if(!M.brainmob.key)
var/ghost_can_reenter = 0
@@ -210,15 +210,15 @@
return
if(M.brainmob.stat == DEAD)
user << "\red Sticking a dead [W] into the frame would sort of defeat the purpose."
user << "<span class='warning'>Sticking a dead [W] into the frame would sort of defeat the purpose.</span>"
return
if(M.brainmob.mind in revs.head_revolutionaries)
user << "\red The frame's firmware lets out a shrill sound, and flashes 'Abnormal Memory Engram'. It refuses to accept the [W]."
user << "<span class='warning'>The frame's firmware lets out a shrill sound, and flashes 'Abnormal Memory Engram'. It refuses to accept the [W].</span>"
return
if(jobban_isbanned(M.brainmob, "Cyborg"))
user << "\red This [W] does not seem to fit."
user << "<span class='warning'>This [W] does not seem to fit.</span>"
return
var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(loc), unfinished = 1)
@@ -254,7 +254,7 @@
qdel(src)
else
user << "\blue The MMI must go in after everything else!"
user << "<span class='warning'>The MMI must go in after everything else!</span>"
if (istype(W, /obj/item/weapon/pen))
var/t = sanitizeSafe(input(user, "Enter new robot name", src.name, src.created_name), MAX_NAME_LEN)
@@ -271,22 +271,22 @@
..()
if(istype(W, /obj/item/weapon/cell))
if(src.cell)
user << "\blue You have already inserted a cell!"
user << "<span class='warning'>You have already inserted a cell!</span>"
return
else
user.drop_item()
W.loc = src
src.cell = W
user << "\blue You insert the cell!"
user << "<span class='notice'>You insert the cell!</span>"
if(istype(W, /obj/item/stack/cable_coil))
if(src.wires)
user << "\blue You have already inserted wire!"
user << "<span class='warning'>You have already inserted wire!</span>"
return
else
var/obj/item/stack/cable_coil/coil = W
coil.use(1)
src.wires = 1.0
user << "\blue You insert the wire!"
user << "<span class='notice'>You insert the wire!</span>"
return
/obj/item/robot_parts/head/attackby(obj/item/W as obj, mob/user as mob)
@@ -302,7 +302,7 @@
else
add_flashes(W,user)
else if(istype(W, /obj/item/weapon/stock_parts/manipulator))
user << "\blue You install some manipulators and modify the head, creating a functional spider-bot!"
user << "<span class='notice'>You install some manipulators and modify the head, creating a functional spider-bot!</span>"
new /mob/living/simple_animal/spiderbot(get_turf(loc))
user.drop_item()
qdel(W)
@@ -329,9 +329,9 @@
/obj/item/robot_parts/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W,/obj/item/weapon/card/emag))
if(sabotaged)
user << "\red [src] is already sabotaged!"
user << "<span class='warning'>[src] is already sabotaged!</span>"
else
user << "\red You slide [W] into the dataport on [src] and short out the safeties."
user << "<span class='warning'>You slide [W] into the dataport on [src] and short out the safeties.</span>"
sabotaged = 1
return
..()

View File

@@ -14,7 +14,7 @@
/obj/item/borg/upgrade/proc/action(var/mob/living/silicon/robot/R)
if(R.stat == DEAD)
usr << "\red The [src] will not function on a deceased robot."
usr << "<span class='warning'>The [src] will not function on a deceased robot.</span>"
return 1
return 0
@@ -170,4 +170,4 @@
return 0
R.emagged = 1
return 1
return 1

View File

@@ -96,7 +96,7 @@
if(hp <= 0)
for(var/mob/O in oviewers())
if ((O.client && !( O.blinded )))
O << "\red [src] breaks into tiny pieces and collapses!"
O << "<span class='warning'>\The [src] breaks into tiny pieces and collapses!</span>"
qdel(src)
// Create a temporary object to represent the damage

View File

@@ -12,12 +12,12 @@
/obj/item/stack/medical/attack(mob/living/carbon/M as mob, mob/user as mob)
if (!istype(M))
user << "\red \The [src] cannot be applied to [M]!"
user << "<span class='warning'>\The [src] cannot be applied to [M]!</span>"
return 1
if ( ! (istype(user, /mob/living/carbon/human) || \
istype(user, /mob/living/silicon)) )
user << "\red You don't have the dexterity to do this!"
user << "<span class='warning'>You don't have the dexterity to do this!</span>"
return 1
if (istype(M, /mob/living/carbon/human))
@@ -26,15 +26,15 @@
if(affecting.name == "head")
if(H.head && istype(H.head,/obj/item/clothing/head/helmet/space))
user << "\red You can't apply [src] through [H.head]!"
user << "<span class='warning'>You can't apply [src] through [H.head]!</span>"
return 1
else
if(H.wear_suit && istype(H.wear_suit,/obj/item/clothing/suit/space))
user << "\red You can't apply [src] through [H.wear_suit]!"
user << "<span class='warning'>You can't apply [src] through [H.wear_suit]!</span>"
return 1
if(affecting.status & ORGAN_ROBOT)
user << "\red This isn't useful at all on a robotic limb.."
user << "<span class='warning'>This isn't useful at all on a robotic limb..</span>"
return 1
H.UpdateDamageIcon()
@@ -43,8 +43,8 @@
M.heal_organ_damage((src.heal_brute/2), (src.heal_burn/2))
user.visible_message( \
"\blue [M] has been applied with [src] by [user].", \
"\blue You apply \the [src] to [M]." \
"<span class='notice'>[M] has been applied with [src] by [user].</span>", \
"<span class='notice'>You apply \the [src] to [M].</span>" \
)
use(1)
@@ -66,7 +66,7 @@
if(affecting.open == 0)
if(!affecting.bandage())
user << "\red The wounds on [M]'s [affecting.name] have already been bandaged."
user << "<span class='warning'>The wounds on [M]'s [affecting.name] have already been bandaged.</span>"
return 1
else
for (var/datum/wound/W in affecting.wounds)
@@ -74,14 +74,14 @@
continue
if (W.current_stage <= W.max_bleeding_stage)
user.visible_message("<span class='notice'>\The [user] bandages [W.desc] on [M]'s [affecting.name].</span>", \
"<span class='notice'>You bandage [W.desc] on [M]'s [affecting.name].</span>" )
"<span class='notice'>You bandage [W.desc] on [M]'s [affecting.name].</span>" )
//H.add_side_effect("Itch")
else if (istype(W,/datum/wound/bruise))
user.visible_message("<span class='notice'>\The [user] places a bruise patch over [W.desc] on [M]'s [affecting.name].</span>", \
"<span class='notice'>You place a bruise patch over [W.desc] on [M]'s [affecting.name].</span>" )
"<span class='notice'>You place a bruise patch over [W.desc] on [M]'s [affecting.name].</span>" )
else
user.visible_message("<span class='notice'>\The [user] places a bandaid over [W.desc] on [M]'s [affecting.name].</span>", \
"<span class='notice'>You place a bandaid over [W.desc] on [M]'s [affecting.name].</span>" )
"<span class='notice'>You place a bandaid over [W.desc] on [M]'s [affecting.name].</span>" )
use(1)
else
if (can_operate(H)) //Checks if mob is lying down on table for surgery
@@ -109,11 +109,11 @@
if(affecting.open == 0)
if(!affecting.salve())
user << "\red The wounds on [M]'s [affecting.name] have already been salved."
user << "<span class='warning'>The wounds on [M]'s [affecting.name] have already been salved.</span>"
return 1
else
user.visible_message( "\blue [user] salves wounds on [M]'s [affecting.name].", \
"\blue You salve wounds on [M]'s [affecting.name]." )
user.visible_message("<span class='notice'>[user] salves wounds on [M]'s [affecting.name].</span>", \
"<span class='notice'>You salve wounds on [M]'s [affecting.name].</span>" )
use(1)
else
if (can_operate(H)) //Checks if mob is lying down on table for surgery
@@ -151,14 +151,14 @@
continue
if (W.current_stage <= W.max_bleeding_stage)
user.visible_message("<span class='notice'>\The [user] cleans [W.desc] on [M]'s [affecting.name] and seals the edges with bioglue.</span>", \
"<span class='notice'>You clean and seal [W.desc] on [M]'s [affecting.name].</span>" )
"<span class='notice'>You clean and seal [W.desc] on [M]'s [affecting.name].</span>" )
//H.add_side_effect("Itch")
else if (istype(W,/datum/wound/bruise))
user.visible_message("<span class='notice'>\The [user] places a medical patch over [W.desc] on [M]'s [affecting.name].</span>", \
"<span class='notice'>You place a medical patch over [W.desc] on [M]'s [affecting.name].</span>" )
"<span class='notice'>You place a medical patch over [W.desc] on [M]'s [affecting.name].</span>" )
else
user.visible_message("<span class='notice'>\The [user] smears some bioglue over [W.desc] on [M]'s [affecting.name].</span>", \
"<span class='notice'>You smear some bioglue over [W.desc] on [M]'s [affecting.name].</span>" )
"<span class='notice'>You smear some bioglue over [W.desc] on [M]'s [affecting.name].</span>" )
if (bandaged)
affecting.heal_damage(heal_brute,0)
use(1)
@@ -188,11 +188,11 @@
if(affecting.open == 0)
if(!affecting.salve())
user << "\red The wounds on [M]'s [affecting.name] have already been salved."
user << "<span class='warning'>The wounds on [M]'s [affecting.name] have already been salved.</span>"
return 1
else
user.visible_message( "\blue [user] covers wounds on [M]'s [affecting.name] with regenerative membrane.", \
"\blue You cover wounds on [M]'s [affecting.name] with regenerative membrane." )
user.visible_message( "<span class='notice'>[user] covers wounds on [M]'s [affecting.name] with regenerative membrane.</span>", \
"<span class='notice'>You cover wounds on [M]'s [affecting.name] with regenerative membrane.</span>" )
affecting.heal_damage(0,heal_burn)
use(1)
else

View File

@@ -28,14 +28,14 @@
var/obj/item/weapon/weldingtool/WT = W
if(get_amount() < 2)
user << "\red You need at least two rods to do this."
user << "<span class='warning'>You need at least two rods to do this.</span>"
return
if(WT.remove_fuel(0,user))
var/obj/item/stack/material/steel/new_item = new(usr.loc)
new_item.add_to_stacks(usr)
for (var/mob/M in viewers(src))
M.show_message("\red [src] is shaped into metal by [user.name] with the weldingtool.", 3, "\red You hear welding.", 2)
M.show_message("<span class='notice'>[src] is shaped into metal by [user.name] with the weldingtool.</span>", 3, "<span class='notice'>You hear welding.</span>", 2)
var/obj/item/stack/rods/R = src
src = null
var/replace = (user.get_inactive_hand()==R)
@@ -64,15 +64,15 @@
else if(!in_use)
if(get_amount() < 2)
user << "\blue You need at least two rods to do this."
user << "<span class='warning'>You need at least two rods to do this.</span>"
return
usr << "\blue Assembling grille..."
usr << "<span class='notice'>Assembling grille...</span>"
in_use = 1
if (!do_after(usr, 10))
in_use = 0
return
var/obj/structure/grille/F = new /obj/structure/grille/ ( usr.loc )
usr << "\blue You assemble a grille"
usr << "<span class='notice'>You assemble a grille</span>"
in_use = 0
F.add_fingerprint(usr)
use(2)

View File

@@ -13,7 +13,7 @@
/obj/item/stack/material/glass
name = "glass"
singular_name = "glass sheet"
icon_state = "sheet-glass"
icon_state = "sheet-glass"
var/created_window = /obj/structure/window/basic
var/is_reinforced = 0
var/list/construction_options = list("One Direction", "Full Window")
@@ -69,11 +69,11 @@
for (var/obj/structure/window/win in user.loc)
i++
if(i >= 4)
user << "\red There are too many windows in this location."
user << "<span class='warning'>There are too many windows in this location.</span>"
return 1
directions-=win.dir
if(!(win.dir in cardinal))
user << "\red Can't let you do that."
user << "<span class='warning'>Can't let you do that.</span>"
return 1
//Determine the direction. It will first check in the direction the person making the window is facing, if it finds an already made window it will try looking at the next cardinal direction, etc.
@@ -92,10 +92,10 @@
if(!src) return 1
if(src.loc != user) return 1
if(src.get_amount() < 4)
user << "\red You need more glass to do that."
user << "<span class='warning'>You need more glass to do that.</span>"
return 1
if(locate(/obj/structure/window) in user.loc)
user << "\red There is a window in the way."
user << "<span class='warning'>There is a window in the way.</span>"
return 1
new created_window( user.loc, SOUTHWEST, 1 )
src.use(4)
@@ -106,15 +106,15 @@
if(!src || src.loc != user) return 1
if(isturf(user.loc) && locate(/obj/structure/windoor_assembly/, user.loc))
user << "\red There is already a windoor assembly in that location."
user << "<span class='warning'>There is already a windoor assembly in that location.</span>"
return 1
if(isturf(user.loc) && locate(/obj/machinery/door/window/, user.loc))
user << "\red There is already a windoor in that location."
user << "<span class='warning'>There is already a windoor in that location.</span>"
return 1
if(src.get_amount() < 5)
user << "\red You need more glass to do that."
user << "<span class='warning'>You need more glass to do that.</span>"
return 1
new /obj/structure/windoor_assembly(user.loc, user.dir, 1)
@@ -129,8 +129,8 @@
/obj/item/stack/material/glass/reinforced
name = "reinforced glass"
singular_name = "reinforced glass sheet"
icon_state = "sheet-rglass"
default_type = "reinforced glass"
icon_state = "sheet-rglass"
default_type = "reinforced glass"
created_window = /obj/structure/window/reinforced
is_reinforced = 1
construction_options = list("One Direction", "Full Window", "Windoor")
@@ -141,7 +141,7 @@
/obj/item/stack/material/glass/phoronglass
name = "phoron glass"
singular_name = "phoron glass sheet"
icon_state = "sheet-phoronglass"
icon_state = "sheet-phoronglass"
created_window = /obj/structure/window/phoronbasic
default_type = "phoron glass"
@@ -168,7 +168,7 @@
/obj/item/stack/material/glass/phoronrglass
name = "reinforced phoron glass"
singular_name = "reinforced phoron glass sheet"
icon_state = "sheet-phoronrglass"
default_type = "reinforced phoron glass"
icon_state = "sheet-phoronrglass"
default_type = "reinforced phoron glass"
created_window = /obj/structure/window/phoronreinforced
is_reinforced = 1

View File

@@ -67,7 +67,7 @@
icon_state = "sheet-wetleather"
var/wetness = 30 //Reduced when exposed to high temperautres
var/drying_threshold_temperature = 500 //Kelvin to start drying
//Step one - dehairing.
/obj/item/stack/material/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob)
if( istype(W, /obj/item/weapon/material/knife) || \
@@ -76,9 +76,9 @@
istype(W, /obj/item/weapon/material/hatchet) )
//visible message on mobs is defined as visible_message(var/message, var/self_message, var/blind_message)
usr.visible_message("\blue \the [usr] starts cutting hair off \the [src]", "\blue You start cutting the hair off \the [src]", "You hear the sound of a knife rubbing against flesh")
usr.visible_message("<span class='notice'>\The [usr] starts cutting hair off \the [src]</span>", "<span class='notice'>You start cutting the hair off \the [src]</span>", "You hear the sound of a knife rubbing against flesh")
if(do_after(user,50))
usr << "\blue You cut the hair from this [src.singular_name]"
usr << "<span class='notice'>You cut the hair from this [src.singular_name]</span>"
//Try locating an exisitng stack on the tile and add to there if possible
for(var/obj/item/stack/material/hairlesshide/HS in usr.loc)
if(HS.amount < 50)

View File

@@ -110,21 +110,21 @@
if (!can_use(required))
if (produced>1)
user << "\red You haven't got enough [src] to build \the [produced] [recipe.title]\s!"
user << "<span class='warning'>You haven't got enough [src] to build \the [produced] [recipe.title]\s!</span>"
else
user << "\red You haven't got enough [src] to build \the [recipe.title]!"
user << "<span class='warning'>You haven't got enough [src] to build \the [recipe.title]!</span>"
return
if (recipe.one_per_turf && (locate(recipe.result_type) in user.loc))
user << "\red There is another [recipe.title] here!"
user << "<span class='warning'>There is another [recipe.title] here!</span>"
return
if (recipe.on_floor && !isfloor(user.loc))
user << "\red \The [recipe.title] must be constructed on the floor!"
user << "<span class='warning'>\The [recipe.title] must be constructed on the floor!</span>"
return
if (recipe.time)
user << "\blue Building [recipe.title] ..."
user << "<span class='notice'>Building [recipe.title] ...</span>"
if (!do_after(user, recipe.time))
return

View File

@@ -32,10 +32,10 @@
return
var/T = user.loc
if (!( istype(T, /turf) ))
user << "\red You must be on the ground!"
user << "<span class='warning'>You must be on the ground!</span>"
return
if (!( istype(T, /turf/space) ))
user << "\red You cannot build on or repair this turf!"
user << "<span class='warning'>You cannot build on or repair this turf!</span>"
return
src.build(T)
src.add_fingerprint(user)

View File

@@ -48,7 +48,7 @@
if(!proximity) return
if (istype(A, /obj/structure/reagent_dispensers/watertank) && get_dist(src,A) <= 1)
A.reagents.trans_to_obj(src, 10)
user << "\blue You fill the balloon with the contents of [A]."
user << "<span class='notice'>You fill the balloon with the contents of [A].</span>"
src.desc = "A translucent balloon with some form of liquid sloshing around in it."
src.update_icon()
return
@@ -60,19 +60,19 @@
user << "The [O] is empty."
else if(O.reagents.total_volume >= 1)
if(O.reagents.has_reagent("pacid", 1))
user << "The acid chews through the balloon!"
user << "The acid chews through the balloon!"
O.reagents.splash_mob(user, reagents.total_volume)
qdel(src)
qdel(src)
else
src.desc = "A translucent balloon with some form of liquid sloshing around in it."
user << "\blue You fill the balloon with the contents of [O]."
user << "<span class='notice'>You fill the balloon with the contents of [O].</span>"
O.reagents.trans_to_obj(src, 10)
src.update_icon()
return
/obj/item/toy/balloon/throw_impact(atom/hit_atom)
if(src.reagents.total_volume >= 1)
src.visible_message("\red The [src] bursts!","You hear a pop and a splash.")
src.visible_message("<span class='warning'>\The [src] bursts!</span>","You hear a pop and a splash.")
src.reagents.touch_turf(get_turf(hit_atom))
for(var/atom/A in get_turf(hit_atom))
src.reagents.touch(A)
@@ -160,17 +160,17 @@
if (istype(A, /obj/item/toy/ammo/gun))
if (src.bullets >= 7)
user << "\blue It's already fully loaded!"
user << "<span class='notice'>It's already fully loaded!</span>"
return 1
if (A.amount_left <= 0)
user << "\red There is no more caps!"
user << "<span class='warning'>There is no more caps!</span>"
return 1
if (A.amount_left < (7 - src.bullets))
src.bullets += A.amount_left
user << text("\red You reload [] caps\s!", A.amount_left)
user << text("<span class='warning'>You reload [] caps\s!</span>", A.amount_left)
A.amount_left = 0
else
user << text("\red You reload [] caps\s!", 7 - src.bullets)
user << text("<span class='warning'>You reload [] caps\s!</span>", 7 - src.bullets)
A.amount_left -= 7 - src.bullets
src.bullets = 7
A.update_icon()
@@ -181,17 +181,17 @@
if (flag)
return
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
usr << "\red You don't have the dexterity to do this!"
usr << "<span class='warning'>You don't have the dexterity to do this!</span>"
return
src.add_fingerprint(user)
if (src.bullets < 1)
user.show_message("\red *click* *click*", 2)
user.show_message("<span class='warning'>*click* *click*</span>", 2)
playsound(user, 'sound/weapons/empty.ogg', 100, 1)
return
playsound(user, 'sound/weapons/Gunshot.ogg', 100, 1)
src.bullets--
for(var/mob/O in viewers(user, null))
O.show_message(text("\red <B>[] fires a cap gun at []!</B>", user, target), 1, "\red You hear a gunshot", 2)
O.show_message(text("<span class='danger'>\The [] fires a cap gun at []!</span>", user, target), 1, "<span class='warning'>You hear a gunshot!</span>", 2)
/obj/item/toy/ammo/gun
name = "ammo-caps"
@@ -226,7 +226,7 @@
examine(mob/user)
if(..(user, 2) && bullets)
user << "\blue It is loaded with [bullets] foam darts!"
user << "<span class='notice'>It is loaded with [bullets] foam darts!</span>"
attackby(obj/item/I as obj, mob/user as mob)
if(istype(I, /obj/item/toy/ammo/crossbow))
@@ -234,9 +234,9 @@
user.drop_item()
qdel(I)
bullets++
user << "\blue You load the foam dart into the crossbow."
user << "<span class='notice'>You load the foam dart into the crossbow.</span>"
else
usr << "\red It's already fully loaded."
usr << "<span class='warning'>It's already fully loaded.</span>"
afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
@@ -262,7 +262,7 @@
if(!istype(M,/mob/living)) continue
if(M == user) continue
for(var/mob/O in viewers(world.view, D))
O.show_message(text("\red [] was hit by the foam dart!", M), 1)
O.show_message(text("<span class='warning'>\The [] was hit by the foam dart!</span>", M), 1)
new /obj/item/toy/ammo/crossbow(M.loc)
qdel(D)
return
@@ -284,7 +284,7 @@
else if (bullets == 0)
user.Weaken(5)
for(var/mob/O in viewers(world.view, user))
O.show_message(text("\red [] realized they were out of ammo and starting scrounging for some!", user), 1)
O.show_message(text("<span class='warning'>\The [] realized they were out of ammo and starting scrounging for some!</span>", user), 1)
attack(mob/M as mob, mob/user as mob)
@@ -296,15 +296,15 @@
for(var/mob/O in viewers(M, null))
if(O.client)
O.show_message(text("\red <B>[] casually lines up a shot with []'s head and pulls the trigger!</B>", user, M), 1, "\red You hear the sound of foam against skull", 2)
O.show_message(text("\red [] was hit in the head by the foam dart!", M), 1)
O.show_message(text("<span class='danger'>\The [] casually lines up a shot with []'s head and pulls the trigger!</span>", user, M), 1, "<span class='warning'>You hear the sound of foam against skull</span>", 2)
O.show_message(text("<span class='warning'>\The [] was hit in the head by the foam dart!</span>", M), 1)
playsound(user.loc, 'sound/items/syringeproj.ogg', 50, 1)
new /obj/item/toy/ammo/crossbow(M.loc)
src.bullets--
else if (M.lying && src.bullets == 0)
for(var/mob/O in viewers(M, null))
if (O.client) O.show_message(text("\red <B>[] casually lines up a shot with []'s head, pulls the trigger, then realizes they are out of ammo and drops to the floor in search of some!</B>", user, M), 1, "\red You hear someone fall", 2)
if (O.client) O.show_message(text("<span class='danger'>\The [] casually lines up a shot with []'s head, pulls the trigger, then realizes they are out of ammo and drops to the floor in search of some!</span>", user, M), 1, "<span class='warning'>You hear someone fall</span>", 2)
user.Weaken(5)
return
@@ -341,13 +341,13 @@
attack_self(mob/user as mob)
src.active = !( src.active )
if (src.active)
user << "\blue You extend the plastic blade with a quick flick of your wrist."
user << "<span class='notice'>You extend the plastic blade with a quick flick of your wrist.</span>"
playsound(user, 'sound/weapons/saberon.ogg', 50, 1)
src.icon_state = "swordblue"
src.item_state = "swordblue"
src.w_class = 4
else
user << "\blue You push the plastic blade back down into the handle."
user << "<span class='notice'>You push the plastic blade back down into the handle.</span>"
playsound(user, 'sound/weapons/saberoff.ogg', 50, 1)
src.icon_state = "sword0"
src.item_state = "sword0"
@@ -390,7 +390,7 @@
s.set_up(3, 1, src)
s.start()
new /obj/effect/decal/cleanable/ash(src.loc)
src.visible_message("\red The [src.name] explodes!","\red You hear a snap!")
src.visible_message("<span class='warning'>The [src.name] explodes!</span>","<span class='warning'>You hear a snap!</span>")
playsound(src, 'sound/effects/snap.ogg', 50, 1)
qdel(src)
@@ -398,13 +398,13 @@
if((ishuman(H))) //i guess carp and shit shouldn't set them off
var/mob/living/carbon/M = H
if(M.m_intent == "run")
M << "\red You step on the snap pop!"
M << "<span class='warning'>You step on the snap pop!"
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(2, 0, src)
s.start()
new /obj/effect/decal/cleanable/ash(src.loc)
src.visible_message("\red The [src.name] explodes!","\red You hear a snap!")
src.visible_message("<span class='warning'>The [src.name] explodes!</span>","<span class='warning'>You hear a snap!</span>")
playsound(src, 'sound/effects/snap.ogg', 50, 1)
qdel(src)
@@ -439,12 +439,12 @@
else if (istype(A, /obj/structure/reagent_dispensers/watertank) && get_dist(src,A) <= 1)
A.reagents.trans_to(src, 10)
user << "\blue You refill your flower!"
user << "<span class='notice'>You refill your flower!</span>"
return
else if (src.reagents.total_volume < 1)
src.empty = 1
user << "\blue Your flower has run dry!"
user << "<span class='notice'>Your flower has run dry!</span>"
return
else
@@ -466,7 +466,7 @@
for(var/atom/T in get_turf(D))
D.reagents.touch(T)
if(ismob(T) && T:client)
T:client << "\red [user] has sprayed you with water!"
T:client << "<span class='warning'>\The [user] has sprayed you with water!</span>"
sleep(4)
qdel(D)
@@ -848,13 +848,13 @@
/obj/structure/plushie/attack_hand(mob/user)
if(user.a_intent == I_HELP)
user.visible_message("<span class='notice'><b>[user]</b> hugs [src]!</span>","<span class='notice'>You hug [src]!</span>")
user.visible_message("<span class='notice'><b>\The [user]</b> hugs [src]!</span>","<span class='notice'>You hug [src]!</span>")
else if (user.a_intent == I_HURT)
user.visible_message("<span class='warning'><b>[user]</b> punches [src]!</span>","<span class='warning'>You punch [src]!</span>")
user.visible_message("<span class='warning'><b>\The [user]</b> punches [src]!</span>","<span class='warning'>You punch [src]!</span>")
else if (user.a_intent == I_GRAB)
user.visible_message("<span class='warning'><b>[user]</b> attempts to strangle [src]!</span>","<span class='warning'>You attempt to strangle [src]!</span>")
user.visible_message("<span class='warning'><b>\The [user]</b> attempts to strangle [src]!</span>","<span class='warning'>You attempt to strangle [src]!</span>")
else
user.visible_message("<span class='notice'><b>[user]</b> pokes the [src].</span>","<span class='notice'>You poke the [src].</span>")
user.visible_message("<span class='notice'><b>\The [user]</b> pokes the [src].</span>","<span class='notice'>You poke the [src].</span>")
visible_message("[src] says, \"[phrase]\"")
/obj/structure/plushie/ian
@@ -890,13 +890,13 @@
/obj/item/toy/plushie/attack_self(mob/user as mob)
if(user.a_intent == I_HELP)
user.visible_message("<span class='notice'><b>[user]</b> hugs [src]!</span>","<span class='notice'>You hug [src]!</span>")
user.visible_message("<span class='notice'><b>\The [user]</b> hugs [src]!</span>","<span class='notice'>You hug [src]!</span>")
else if (user.a_intent == I_HURT)
user.visible_message("<span class='warning'><b>[user]</b> punches [src]!</span>","<span class='warning'>You punch [src]!</span>")
user.visible_message("<span class='warning'><b>\The [user]</b> punches [src]!</span>","<span class='warning'>You punch [src]!</span>")
else if (user.a_intent == I_GRAB)
user.visible_message("<span class='warning'><b>[user]</b> attempts to strangle [src]!</span>","<span class='warning'>You attempt to strangle [src]!</span>")
user.visible_message("<span class='warning'><b>\The [user]</b> attempts to strangle [src]!</span>","<span class='warning'>You attempt to strangle [src]!</span>")
else
user.visible_message("<span class='notice'><b>[user]</b> pokes the [src].</span>","<span class='notice'>You poke the [src].</span>")
user.visible_message("<span class='notice'><b>\The [user]</b> pokes the [src].</span>","<span class='notice'>You poke the [src].</span>")
/obj/item/toy/plushie/nymph
name = "diona nymph plush"

View File

@@ -373,7 +373,7 @@ AI MODULES
log_law_changes(target, sender)
lawchanges.Add("The law is '[newFreeFormLaw]'")
target << "\red BZZZZT"
target << "<span class='danger'>BZZZZT</span>"
var/law = "[newFreeFormLaw]"
target.add_ion_law(law)
target.show_laws()

View File

@@ -150,7 +150,7 @@
scan_data += "<br>"
for(var/mob/O in viewers(usr))
O.show_message("\red \the [src] rattles and prints out a sheet of paper.", 1)
O.show_message("<span class='notice'>\The [src] rattles and prints out a sheet of paper.</span>", 1)
sleep(10)
@@ -187,19 +187,19 @@
src.wdata = list()
src.chemtraces = list()
src.timeofdeath = null
user << "\red A new patient has been registered.. Purging data for previous patient."
user << "<span class='notice'>A new patient has been registered.. Purging data for previous patient.</span>"
src.timeofdeath = M.timeofdeath
var/obj/item/organ/external/S = M.get_organ(user.zone_sel.selecting)
if(!S)
usr << "<b>You can't scan this body part.</b>"
usr << "<span class='warning'>You can't scan this body part.</span>"
return
if(!S.open)
usr << "<b>You have to cut the limb open first!</b>"
usr << "<span class='warning'>You have to cut the limb open first!</span>"
return
for(var/mob/O in viewers(M))
O.show_message("\red [user.name] scans the wounds on [M.name]'s [S.name] with \the [src.name]", 1)
O.show_message("<span class='notice'>\The [user] scans the wounds on [M.name]'s [S.name] with \the [src]</span>", 1)
src.add_data(S)

View File

@@ -27,7 +27,7 @@
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(WT.isOn()) //Badasses dont get blinded by lighting their candle with a welding tool
light("\red [user] casually lights the [name] with [W].")
light("<span class='notice'>\The [user] casually lights the [name] with [W].</span>")
else if(istype(W, /obj/item/weapon/flame/lighter))
var/obj/item/weapon/flame/lighter/L = W
if(L.lit)
@@ -42,7 +42,7 @@
light()
/obj/item/weapon/flame/candle/proc/light(var/flavor_text = "\red [usr] lights the [name].")
/obj/item/weapon/flame/candle/proc/light(var/flavor_text = "<span class='notice'>\The [usr] lights the [name].</span>")
if(!src.lit)
src.lit = 1
//src.damtype = "fire"

View File

@@ -208,7 +208,7 @@
src.access |= I.access
if(istype(user, /mob/living) && user.mind)
if(user.mind.special_role)
usr << "\blue The card's microscanners activate as you pass it over the ID, copying its access."
usr << "<span class='notice'>The card's microscanners activate as you pass it over the ID, copying its access.</span>"
/obj/item/weapon/card/id/syndicate/attack_self(mob/user as mob)
if(!src.registered_name)
@@ -226,7 +226,7 @@
return
src.assignment = u
src.name = "[src.registered_name]'s ID Card ([src.assignment])"
user << "\blue You successfully forge the ID card."
user << "<span class='notice'>You successfully forge the ID card.</span>"
registered_user = user
else if(!registered_user || registered_user == user)
@@ -246,7 +246,7 @@
return
src.assignment = u
src.name = "[src.registered_name]'s ID Card ([src.assignment])"
user << "\blue You successfully forge the ID card."
user << "<span class='notice'>You successfully forge the ID card.</span>"
return
if("Show")
..()

View File

@@ -42,21 +42,21 @@
if(emagged)
user << "Circuit lock is already removed."
return
user << "\blue You override the circuit lock and open controls."
user << "<span class='notice'>You override the circuit lock and open controls.</span>"
emagged = 1
locked = 0
else if(istype(I,/obj/item/weapon/card/id))
if(emagged)
user << "\red Circuit lock does not respond."
user << "<span class='warning'>Circuit lock does not respond.</span>"
return
if(check_access(I))
locked = !locked
user << "\blue You [locked ? "" : "un"]lock the circuit controls."
user << "<span class='notice'>You [locked ? "" : "un"]lock the circuit controls.</span>"
else
user << "\red Access denied."
user << "<span class='warning'>Access denied.</span>"
else if(istype(I,/obj/item/device/multitool))
if(locked)
user << "\red Circuit controls are locked."
user << "<span class='warning'>Circuit controls are locked.</span>"
return
var/existing_networks = list2text(network,",")
var/input = sanitize(input(usr, "Which networks would you like to connect this camera console circuit to? Seperate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Multitool-Circuitboard interface", existing_networks))

View File

@@ -8,13 +8,13 @@
/obj/item/weapon/circuitboard/rdconsole/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I,/obj/item/weapon/screwdriver))
user.visible_message("\blue \the [user] adjusts the jumper on the [src]'s access protocol pins.", "\blue You adjust the jumper on the access protocol pins.")
user.visible_message("<span class='notice'>\The [user] adjusts the jumper on \the [src]'s access protocol pins.</span>", "<span class='notice'>You adjust the jumper on the access protocol pins.</span>")
if(src.build_path == /obj/machinery/computer/rdconsole/core)
src.name = T_BOARD("RD Console - Robotics")
src.build_path = /obj/machinery/computer/rdconsole/robotics
user << "\blue Access protocols set to robotics."
user << "<span class='notice'>Access protocols set to robotics.</span>"
else
src.name = T_BOARD("RD Console")
src.build_path = /obj/machinery/computer/rdconsole/core
user << "\blue Access protocols set to default."
user << "<span class='notice'>Access protocols set to default.</span>"
return

View File

@@ -40,7 +40,7 @@
/obj/item/weapon/soap/attack(mob/target as mob, mob/user as mob)
if(target && user && ishuman(target) && ishuman(user) && !target.stat && !user.stat && user.zone_sel &&user.zone_sel.selecting == "mouth" )
user.visible_message("\red \the [user] washes \the [target]'s mouth out with soap!")
user.visible_message("<span class='danger'>\The [user] washes \the [target]'s mouth out with soap!</span>")
return
..()

View File

@@ -77,5 +77,5 @@
/obj/item/weapon/haircomb/attack_self(mob/user)
if(user.r_hand == src || user.l_hand == src)
user.visible_message(text("\red [] uses [] to comb their hair with incredible style and sophistication. What a [].", user, src, user.gender == FEMALE ? "lady" : "guy"))
user.visible_message(text("<span class='notice'>[] uses [] to comb their hair with incredible style and sophistication. What a [].</span>", user, src, user.gender == FEMALE ? "lady" : "guy"))
return

View File

@@ -10,8 +10,8 @@
throw_speed = 1
throw_range = 5
w_class = 3.0
origin_tech = list(TECH_COMBAT = 1, TECH_PHORON = 1)
matter = list(DEFAULT_WALL_MATERIAL = 500)
origin_tech = list(TECH_COMBAT = 1, TECH_PHORON = 1)
matter = list(DEFAULT_WALL_MATERIAL = 500)
var/status = 0
var/throw_amount = 100
var/lit = 0 //on or off
@@ -118,14 +118,14 @@
var/pressure = ptank.air_contents.return_pressure()
var/total_moles = ptank.air_contents.total_moles
user << "\blue Results of analysis of \icon[icon]"
user << "<span class='notice'>Results of analysis of \icon[icon]</span>"
if(total_moles>0)
user << "\blue Pressure: [round(pressure,0.1)] kPa"
user << "<span class='notice'>Pressure: [round(pressure,0.1)] kPa</span>"
for(var/g in ptank.air_contents.gas)
user << "\blue [gas_data.name[g]]: [round((ptank.air_contents.gas[g] / total_moles) * 100)]%"
user << "\blue Temperature: [round(ptank.air_contents.temperature-T0C)]&deg;C"
user << "<span class='notice'>[gas_data.name[g]]: [round((ptank.air_contents.gas[g] / total_moles) * 100)]%</span>"
user << "<span class='notice'>Temperature: [round(ptank.air_contents.temperature-T0C)]&deg;C</span>"
else
user << "\blue Tank is empty!"
user << "<span class='notice'>Tank is empty!</span>"
return
..()
return

View File

@@ -30,7 +30,7 @@
user.put_in_active_hand(gift)
src.gift.add_fingerprint(user)
else
user << "\blue The gift was empty!"
user << "<span class='warning'>The gift was empty!</span>"
qdel(src)
return
@@ -41,16 +41,16 @@
/obj/effect/spresent/relaymove(mob/user as mob)
if (user.stat)
return
user << "\blue You cant move."
user << "<span class='warning'>You can't move.</span>"
/obj/effect/spresent/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if (!istype(W, /obj/item/weapon/wirecutters))
user << "\blue I need wirecutters for that."
user << "<span class='warning'>I need wirecutters for that.</span>"
return
user << "\blue You cut open the present."
user << "<span class='notice'>You cut open the present.</span>"
for(var/mob/M in src) //Should only be one but whatever.
M.loc = src.loc
@@ -128,12 +128,12 @@
/obj/item/weapon/wrapping_paper/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if (!( locate(/obj/structure/table, src.loc) ))
user << "\blue You MUST put the paper on a table!"
user << "<span class='warning'>You MUST put the paper on a table!</span>"
if (W.w_class < 4)
if ((istype(user.l_hand, /obj/item/weapon/wirecutters) || istype(user.r_hand, /obj/item/weapon/wirecutters)))
var/a_used = 2 ** (src.w_class - 1)
if (src.amount < a_used)
user << "\blue You need more paper!"
user << "<span class='warning'>You need more paper!</span>"
return
else
if(istype(W, /obj/item/smallDelivery) || istype(W, /obj/item/weapon/gift)) //No gift wrapping gifts!
@@ -155,9 +155,9 @@
qdel(src)
return
else
user << "\blue You need scissors!"
user << "<span class='warning'>You need scissors!</span>"
else
user << "\blue The object is FAR too large!"
user << "<span class='warning'>The object is FAR too large!</span>"
return
@@ -185,6 +185,6 @@
msg_admin_attack("[key_name(user)] used [src] to wrap [key_name(H)]")
else
user << "\blue You need more paper."
user << "<span class='warning'>You need more paper.</span>"
else
user << "They are moving around too much. A straightjacket would help."

View File

@@ -49,13 +49,13 @@
if(istype(W,/obj/item/device/assembly_holder) && (!stage || stage==1) && path != 2)
var/obj/item/device/assembly_holder/det = W
if(istype(det.a_left,det.a_right.type) || (!isigniter(det.a_left) && !isigniter(det.a_right)))
user << "\red Assembly must contain one igniter."
user << "<span class='warning'>Assembly must contain one igniter.</span>"
return
if(!det.secured)
user << "\red Assembly must be secured with screwdriver."
user << "<span class='warning'>Assembly must be secured with screwdriver.</span>"
return
path = 1
user << "\blue You add [W] to the metal casing."
user << "<span class='notice'>You add [W] to the metal casing.</span>"
playsound(src.loc, 'sound/items/Screwdriver2.ogg', 25, -3)
user.remove_from_mob(det)
det.loc = src
@@ -67,22 +67,22 @@
if(stage == 1)
path = 1
if(beakers.len)
user << "\blue You lock the assembly."
user << "<span class='notice'>You lock the assembly.</span>"
name = "grenade"
else
// user << "\red You need to add at least one beaker before locking the assembly."
user << "\blue You lock the empty assembly."
// user << "<span class='warning'>You need to add at least one beaker before locking the assembly."
user << "<span class='notice'>You lock the empty assembly.</span>"
name = "fake grenade"
playsound(src.loc, 'sound/items/Screwdriver.ogg', 25, -3)
icon_state = initial(icon_state) +"_locked"
stage = 2
else if(stage == 2)
if(active && prob(95))
user << "\red You trigger the assembly!"
user << "<span class='warning'>You trigger the assembly!</span>"
prime()
return
else
user << "\blue You unlock the assembly."
user << "<span class='notice'>You unlock the assembly.</span>"
playsound(src.loc, 'sound/items/Screwdriver.ogg', 25, -3)
name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]"
icon_state = initial(icon_state) + (detonator?"_ass":"")
@@ -91,18 +91,18 @@
else if(is_type_in_list(W, allowed_containers) && (!stage || stage==1) && path != 2)
path = 1
if(beakers.len == 2)
user << "\red The grenade can not hold more containers."
user << "<span class='warning'>The grenade can not hold more containers.</span>"
return
else
if(W.reagents.total_volume)
user << "\blue You add \the [W] to the assembly."
user << "<span class='notice'>You add \the [W] to the assembly.</span>"
user.drop_item()
W.loc = src
beakers += W
stage = 1
name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]"
else
user << "\red \the [W] is empty."
user << "<span class='warning'>\The [W] is empty.</span>"
examine(mob/user)
..(user)

View File

@@ -32,7 +32,7 @@
S.active = 0 // -- Polymorph
S.icon_state = "shield0"
M << "\red <B>BANG</B>"
M << "<span class='danger'>BANG</span>"
playsound(src.loc, 'sound/effects/bang.ogg', 50, 1, 5)
//Checking for protections
@@ -86,19 +86,19 @@
var/mob/living/carbon/human/H = M
var/obj/item/organ/eyes/E = H.internal_organs_by_name["eyes"]
if (E && E.damage >= E.min_bruised_damage)
M << "\red Your eyes start to burn badly!"
M << "<span class='danger'>Your eyes start to burn badly!</span>"
if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang)))
if (E.damage >= E.min_broken_damage)
M << "\red You can't see anything!"
M << "<span class='danger'>You can't see anything!</span>"
if (M.ear_damage >= 15)
M << "\red Your ears start to ring badly!"
M << "<span class='danger'>Your ears start to ring badly!</span>"
if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang)))
if (prob(M.ear_damage - 10 + 5))
M << "\red You can't hear anything!"
M << "<span class='danger'>You can't hear anything!</span>"
M.sdisabilities |= DEAF
else
if (M.ear_damage >= 5)
M << "\red Your ears start to ring!"
M << "<span class='danger'>Your ears start to ring!</span>"
M.update_icons()
/obj/item/weapon/grenade/flashbang/clusterbang//Created by Polymorph, fixed by Sieve

View File

@@ -10,8 +10,8 @@
w_class = 2.0
throw_speed = 2
throw_range = 5
origin_tech = list(TECH_MATERIAL = 1)
matter = list(DEFAULT_WALL_MATERIAL = 500)
origin_tech = list(TECH_MATERIAL = 1)
matter = list(DEFAULT_WALL_MATERIAL = 500)
var/dispenser = 0
var/breakouttime = 1200 //Deciseconds = 120s = 2 minutes
var/cuff_sound = 'sound/weapons/handcuffs.ogg'
@@ -100,8 +100,8 @@ var/last_chew = 0
var/obj/item/organ/external/O = H.organs_by_name[H.hand?"l_hand":"r_hand"]
if (!O) return
var/s = "\red [H.name] chews on \his [O.name]!"
H.visible_message(s, "\red You chew on your [O.name]!")
var/s = "<span class='warning'>[H.name] chews on \his [O.name]!</span>"
H.visible_message(s, "<span class='warning'>You chew on your [O.name]!</span>")
H.attack_log += text("\[[time_stamp()]\] <font color='red'>[s] ([H.ckey])</font>")
log_attack("[s] ([H.ckey])")

View File

@@ -42,10 +42,10 @@
else
S.item_quants[G.name] = 1
else
user << "\blue The seed bag is full."
user << "<span class='warning'>The seed bag is full.</span>"
S.updateUsrDialog()
return
user << "\blue You pick up all the seeds."
user << "<span class='notice'>You pick up all the seeds.</span>"
else
if (S.contents.len < S.capacity)
S.contents += src;
@@ -54,7 +54,7 @@
else
S.item_quants[name] = 1
else
user << "\blue The seed bag is full."
user << "<span class='warning'>The seed bag is full.</span>"
S.updateUsrDialog()
return

View File

@@ -35,7 +35,7 @@
return 0
proc/meltdown() //breaks it down, making implant unrecongizible
imp_in << "\red You feel something melting inside [part ? "your [part.name]" : "you"]!"
imp_in << "<span class='warning'>You feel something melting inside [part ? "your [part.name]" : "you"]!</span>"
if (part)
part.take_damage(burn = 15, used_weapon = "Electronics meltdown")
else
@@ -171,7 +171,7 @@ Implant Specifics:<BR>"}
if(ishuman(imp_in))
if (elevel == "Localized Limb")
if(part) //For some reason, small_boom() didn't work. So have this bit of working copypaste.
imp_in.visible_message("\red Something beeps inside [imp_in][part ? "'s [part.name]" : ""]!")
imp_in.visible_message("<span class='warning'>Something beeps inside [imp_in][part ? "'s [part.name]" : ""]!</span>")
playsound(loc, 'sound/items/countdown.ogg', 75, 1, -3)
sleep(25)
if (istype(part,/obj/item/organ/external/chest) || \
@@ -236,7 +236,7 @@ Implant Specifics:<BR>"}
proc/small_boom()
if (ishuman(imp_in) && part)
imp_in.visible_message("\red Something beeps inside [imp_in][part ? "'s [part.name]" : ""]!")
imp_in.visible_message("<span class='warning'>Something beeps inside [imp_in][part ? "'s [part.name]" : ""]!</span>")
playsound(loc, 'sound/items/countdown.ogg', 75, 1, -3)
spawn(25)
if (ishuman(imp_in) && part)
@@ -369,7 +369,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
if (src.uses < 1) return 0
if (emote == "pale")
src.uses--
source << "\blue You feel a sudden surge of energy!"
source << "<span class='notice'>You feel a sudden surge of energy!</span>"
source.SetStunned(0)
source.SetWeakened(0)
source.SetParalysis(0)

View File

@@ -35,11 +35,11 @@
if(!src.imp) return
if(!src.imp.allow_reagents) return
if(src.imp.reagents.total_volume >= src.imp.reagents.maximum_volume)
user << "\red [src] is full."
user << "<span class='warning'>\The [src] is full.</span>"
else
spawn(5)
I.reagents.trans_to_mob(src.imp, 5)
user << "\blue You inject 5 units of the solution. The syringe now contains [I.reagents.total_volume] units."
user << "<span class='notice'>You inject 5 units of the solution. The syringe now contains [I.reagents.total_volume] units.</span>"
else if (istype(I, /obj/item/weapon/implanter))
var/obj/item/weapon/implanter/M = I
if (M.imp)

View File

@@ -108,10 +108,10 @@
put_mob(mob/living/carbon/M as mob)
if(!iscarbon(M))
usr << "\red <B>The [src.name] cannot hold this!</B>"
usr << "<span class='warning'>\The [src] cannot hold this!</span>"
return
if(src.occupant)
usr << "\red <B>The [src.name] is already occupied!</B>"
usr << "<span class='warning'>\The [src] is already occupied!</span>"
return
if(M.client)
M.client.perspective = EYE_PERSPECTIVE
@@ -132,7 +132,7 @@
if(!imp) continue
if(istype(imp, /obj/item/weapon/implant/loyalty))
for (var/mob/O in viewers(M, null))
O.show_message("\red [M] has been implanted by the [src.name].", 1)
O.show_message("<span class='warning'>\The [M] has been implanted by \the [src].</span>", 1)
if(imp.implanted(M))
imp.loc = M

View File

@@ -24,17 +24,17 @@
return
if (user && src.imp)
for (var/mob/O in viewers(M, null))
O.show_message("\red [user] is attemping to implant [M].", 1)
O.show_message("<span class='warning'>[user] is attemping to implant [M].</span>", 1)
var/turf/T1 = get_turf(M)
if (T1 && ((M == user) || do_after(user, 50)))
if(user && M && (get_turf(M) == T1) && src && src.imp)
for (var/mob/O in viewers(M, null))
O.show_message("\red [M] has been implanted by [user].", 1)
O.show_message("<span class='warning'>[M] has been implanted by [user].</span>", 1)
admin_attack_log(user, M, "Implanted using \the [src.name] ([src.imp.name])", "Implanted with \the [src.name] ([src.imp.name])", "used an implanter, [src.name] ([src.imp.name]), on")
user.show_message("\red You implanted the implant into [M].")
user.show_message("<span class='warning'>You implanted the implant into [M].</span>")
if(src.imp.implanted(M))
src.imp.loc = M
src.imp.imp_in = M
@@ -116,7 +116,7 @@
if(istype(A,/obj/item) && imp)
var/obj/item/weapon/implant/compressed/c = imp
if (c.scanned)
user << "\red Something is already scanned inside the implant!"
user << "<span class='warning'>Something is already scanned inside the implant!</span>"
return
c.scanned = A
if(istype(A.loc,/mob/living/carbon/human))

View File

@@ -77,14 +77,14 @@
/obj/item/weapon/material/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob)
if ((CLUMSY in user.mutations) && prob(50))
user << "\red You accidentally cut yourself with the [src]."
user << "<span class='warning'>You accidentally cut yourself with the [src].</span>"
user.take_organ_damage(20)
return
return ..()
/obj/item/weapon/material/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob)
if ((CLUMSY in user.mutations) && prob(50))
user << "\red You somehow managed to cut yourself with the [src]."
user << "<span class='warning'>You somehow managed to cut yourself with the [src].</span>"
user.take_organ_damage(20)
return
return ..()
@@ -107,8 +107,8 @@
/obj/item/weapon/material/kitchen/rollingpin/attack(mob/living/M as mob, mob/living/user as mob)
if ((CLUMSY in user.mutations) && prob(50))
user << "\red The [src] slips out of your hand and hits your head."
user << "<span class='warning'>The [src] slips out of your hand and hits your head.</span>"
user.take_organ_damage(10)
user.Paralyse(2)
return
return ..()
return ..()

View File

@@ -63,9 +63,9 @@
unbreakable = 1
/obj/item/weapon/material/knife/suicide_act(mob/user)
viewers(user) << pick("\red <b>[user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.</b>", \
"\red <b>[user] is slitting \his throat with the [src.name]! It looks like \he's trying to commit suicide.</b>", \
"\red <b>[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.</b>")
viewers(user) << pick("<span class='danger'>\The [user] is slitting \his wrists with \the [src]! It looks like \he's trying to commit suicide.</span>", \
"<span class='danger'>\The [user] is slitting \his throat with \the [src]! It looks like \he's trying to commit suicide.</span>", \
"<span class='danger'>\The [user] is slitting \his stomach open with \the [src]! It looks like \he's trying to commit seppuku.</span>")
return (BRUTELOSS)
/obj/item/weapon/material/knife/hook

View File

@@ -16,8 +16,8 @@
unbreakable = 1 //It's already broken.
/obj/item/weapon/material/shard/suicide_act(mob/user)
viewers(user) << pick("\red <b>[user] is slitting \his wrists with \the [src]! It looks like \he's trying to commit suicide.</b>", \
"\red <b>[user] is slitting \his throat with \the [src]! It looks like \he's trying to commit suicide.</b>")
viewers(user) << pick("<span class='danger'>\The [user] is slitting \his wrists with \the [src]! It looks like \he's trying to commit suicide.</span>",
"<span class='danger'>\The [user] is slitting \his throat with \the [src]! It looks like \he's trying to commit suicide.</span>")
return (BRUTELOSS)
/obj/item/weapon/material/shard/set_material(var/new_material)
@@ -62,7 +62,7 @@
/obj/item/weapon/material/shard/Crossed(AM as mob|obj)
if(ismob(AM))
var/mob/M = AM
M << "\red <B>You step on \the [src]!</B>"
M << "<span class='danger'>You step on \the [src]!</span>"
playsound(src.loc, 'sound/effects/glass_step.ogg', 50, 1) // not sure how to handle metal shards with sounds
if(ishuman(M))
var/mob/living/carbon/human/H = M

View File

@@ -197,7 +197,7 @@
/obj/item/weapon/material/twohanded/dualsaber/attack(target as mob, mob/living/user as mob)
..()
if((CLUMSY in user.mutations) && (wielded) &&prob(40))
user << "\red You twirl around a bit before losing your balance and impaling yourself on the [src]."
user << "<span class='danger'>You twirl around a bit before losing your balance and impaling yourself on \the [src].</span>"
user.take_organ_damage(20,25)
return
if((wielded) && prob(50))

View File

@@ -51,8 +51,8 @@
/obj/item/weapon/melee/energy/suicide_act(mob/user)
if (active)
viewers(user) << pick("<span class='danger'>[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.</span>", \
"<span class='danger'>[user] is falling on the [src.name]! It looks like \he's trying to commit suicide.</span>")
viewers(user) << pick("<span class='danger'>\The [user] is slitting \his stomach open with \the [src]! It looks like \he's trying to commit seppuku.</span>", \
"<span class='danger'>\The [user] is falling on \the [src]! It looks like \he's trying to commit suicide.</span>")
return (BRUTELOSS|FIRELOSS)
/*
@@ -82,15 +82,15 @@
/obj/item/weapon/melee/energy/axe/activate(mob/living/user)
..()
icon_state = "axe1"
user << "\blue \The [src] is now energised."
user << "<span class='notice'>\The [src] is now energised.</span>"
/obj/item/weapon/melee/energy/axe/deactivate(mob/living/user)
..()
icon_state = initial(icon_state)
user << "\blue \The [src] is de-energised. It's just a regular axe now."
user << "<span class='notice'>\The [src] is de-energised. It's just a regular axe now.</span>"
/obj/item/weapon/melee/energy/axe/suicide_act(mob/user)
viewers(user) << "\red <b>[user] swings the [src.name] towards /his head! It looks like \he's trying to commit suicide.</b>"
viewers(user) << "<span class='warning'>\The [user] swings \the [src] towards /his head! It looks like \he's trying to commit suicide.</span>"
return (BRUTELOSS|FIRELOSS)
/*

View File

@@ -12,5 +12,5 @@
attack_verb = list("flogged", "whipped", "lashed", "disciplined")
suicide_act(mob/user)
viewers(user) << "\red <b>[user] is strangling \himself with the [src.name]! It looks like \he's trying to commit suicide.</b>"
viewers(user) << "<span class='danger'>\The [user] is strangling \himself with \the [src]! It looks like \he's trying to commit suicide.</span>"
return (OXYLOSS)

View File

@@ -58,13 +58,13 @@ var/list/tape_roll_applications = list()
/obj/item/taperoll/attack_self(mob/user as mob)
if(icon_state == "[icon_base]_start")
start = get_turf(src)
usr << "\blue You place the first end of the [src]."
usr << "<span class='notice'>You place the first end of \the [src].</span>"
icon_state = "[icon_base]_stop"
else
icon_state = "[icon_base]_start"
end = get_turf(src)
if(start.y != end.y && start.x != end.x || start.z != end.z)
usr << "\blue [src] can only be laid horizontally or vertically."
usr << "<span class='notice'>\The [src] can only be laid horizontally or vertically.</span>"
return
var/turf/cur = start
@@ -93,7 +93,7 @@ var/list/tape_roll_applications = list()
break
cur = get_step_towards(cur,end)
if (!can_place)
usr << "\blue You can't run \the [src] through that!"
usr << "<span class='warning'>You can't run \the [src] through that!</span>"
return
cur = start
@@ -106,7 +106,7 @@ var/list/tape_roll_applications = list()
var/obj/item/tape/P = new tape_type(cur)
P.icon_state = "[P.icon_base]_[dir]"
cur = get_step_towards(cur,end)
usr << "\blue You finish placing the [src]." //Git Test
usr << "<span class='notice'>You finish placing \the [src].</span>"
/obj/item/taperoll/afterattack(var/atom/A, mob/user as mob, proximity)
if(!proximity)
@@ -118,7 +118,7 @@ var/list/tape_roll_applications = list()
P.loc = locate(T.x,T.y,T.z)
P.icon_state = "[src.icon_base]_door"
P.layer = 3.2
user << "\blue You finish placing the [src]."
user << "<span class='notice'>You finish placing \the [src].</span>"
if (istype(A, /turf/simulated/floor) ||istype(A, /turf/unsimulated/floor))
var/turf/F = A
@@ -128,11 +128,11 @@ var/list/tape_roll_applications = list()
tape_roll_applications[F] = 0
if(tape_roll_applications[F] & direction) // hazard_overlay in F.overlays wouldn't work.
user.visible_message("[user] uses the adhesive of \the [src] to remove area markings from \the [F].", "You use the adhesive of \the [src] to remove area markings from \the [F].")
user.visible_message("\The [user] uses the adhesive of \the [src] to remove area markings from \the [F].", "You use the adhesive of \the [src] to remove area markings from \the [F].")
F.overlays -= hazard_overlay
tape_roll_applications[F] &= ~direction
else
user.visible_message("[user] applied \the [src] on \the [F] to create area markings.", "You apply \the [src] on \the [F] to create area markings.")
user.visible_message("\The [user] applied \the [src] on \the [F] to create area markings.", "You apply \the [src] on \the [F] to create area markings.")
F.overlays |= hazard_overlay
tape_roll_applications[F] |= direction
return
@@ -157,7 +157,7 @@ var/list/tape_roll_applications = list()
/obj/item/tape/attack_hand(mob/user as mob)
if (user.a_intent == I_HELP && src.allowed(user))
user.show_viewers("\blue [user] lifts [src], allowing passage.")
user.show_viewers("<span class='notice'>\The [user] lifts \the [src], allowing passage.</span>")
crumple()
lifted = 1
spawn(200)
@@ -169,9 +169,9 @@ var/list/tape_roll_applications = list()
/obj/item/tape/proc/breaktape(obj/item/weapon/W as obj, mob/user as mob)
if(user.a_intent == I_HELP && ((!can_puncture(W) && src.allowed(user))))
user << "You can't break the [src] with that!"
user << "You can't break \the [src] with that!"
return
user.show_viewers("\blue [user] breaks the [src]!")
user.show_viewers("<span class='notice'>\The [user] breaks \the [src]!</span>")
var/dir[2]
var/icon_dir = src.icon_state

View File

@@ -19,7 +19,7 @@
matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 50)
suicide_act(mob/user)
viewers(user) << "\red <b>[user] is licking the electrodes of the [src.name]! It looks like \he's trying to commit suicide.</b>"
viewers(user) << "<span class='danger'>\The [user] is licking the electrodes of \the [src]! It looks like \he's trying to commit suicide.</span>"
return (FIRELOSS)
//currently only used by energy-type guns, that may change in the future.

View File

@@ -13,8 +13,8 @@
throw_speed = 1
throw_range = 4
w_class = 4.0
origin_tech = list(TECH_MATERIAL = 2)
matter = list("glass" = 7500, DEFAULT_WALL_MATERIAL = 1000)
origin_tech = list(TECH_MATERIAL = 2)
matter = list("glass" = 7500, DEFAULT_WALL_MATERIAL = 1000)
attack_verb = list("shoved", "bashed")
var/cooldown = 0 //shield bash cooldown. based on world.time
@@ -57,7 +57,7 @@
/obj/item/weapon/shield/energy/attack_self(mob/living/user as mob)
if ((CLUMSY in user.mutations) && prob(50))
user << "\red You beat yourself in the head with [src]."
user << "<span class='warning'>You beat yourself in the head with [src].</span>"
user.take_organ_damage(5)
active = !active
if (active)
@@ -65,14 +65,14 @@
icon_state = "eshield[active]"
w_class = 4
playsound(user, 'sound/weapons/saberon.ogg', 50, 1)
user << "\blue [src] is now active."
user << "<span class='notice'>\The [src] is now active.</span>"
else
force = 3
icon_state = "eshield[active]"
w_class = 1
playsound(user, 'sound/weapons/saberoff.ogg', 50, 1)
user << "\blue [src] can now be concealed."
user << "<span class='notice'>\The [src] can now be concealed.</span>"
if(istype(user,/mob/living/carbon/human))
var/mob/living/carbon/human/H = user
@@ -100,10 +100,10 @@
/obj/item/weapon/cloaking_device/attack_self(mob/user as mob)
src.active = !( src.active )
if (src.active)
user << "\blue The cloaking device is now active."
user << "<span class='notice'>\The [src] is now active.</span>"
src.icon_state = "shield1"
else
user << "\blue The cloaking device is now inactive."
user << "<span class='notice'>\The [src] is now inactive.</span>"
src.icon_state = "shield0"
src.add_fingerprint(user)
return

View File

@@ -57,9 +57,9 @@
attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/storage/backpack/holding))
user << "\red The Bluespace interfaces of the two devices conflict and malfunction."
user << "<span class='warning'>The Bluespace interfaces of the two devices conflict and malfunction.</span>"
qdel(W)
return
return
..()
//Please don't clutter the parent storage item with stupid hacks.
@@ -67,7 +67,7 @@
if(istype(W, /obj/item/weapon/storage/backpack/holding))
return 1
return ..()
/obj/item/weapon/storage/backpack/santabag
name = "\improper Santa's gift bag"
desc = "Space Santa uses this to deliver toys to all the nice children in space in Christmas! Wow, it's pretty big!"

View File

@@ -128,7 +128,7 @@
current += S.amount
if(capacity == current)//If it's full, you're done
if(!stop_messages)
usr << "\red The snatcher is full."
usr << "<span class='warning'>The snatcher is full.</span>"
return 0
return 1

View File

@@ -25,7 +25,7 @@
if(!proximity) return
if(user.mind && (user.mind.assigned_role == "Chaplain"))
if(A.reagents && A.reagents.has_reagent("water")) //blesses all the water in the holder
user << "\blue You bless [A]."
user << "<span class='notice'>You bless [A].</span>"
var/water2holy = A.reagents.get_reagent_amount("water")
A.reagents.del_reagent("water")
A.reagents.add_reagent("holywater",water2holy)

View File

@@ -18,7 +18,7 @@
//..()
if ((CLUMSY in user.mutations) && prob(50))
user << "\red The [src] slips out of your hand and hits your head."
user << "<span class='warning'>\The [src] slips out of your hand and hits your head.</span>"
user.take_organ_damage(10)
user.Paralyse(2)
return
@@ -31,9 +31,10 @@
if (M.stat < 2 && M.health < 50 && prob(90))
var/mob/H = M
// ******* Check
if ((istype(H, /mob/living/carbon/human) && istype(H, /obj/item/clothing/head) && H.flags & 8 && prob(80)))
M << "\red The helmet protects you from being hit hard in the head!"
return
// Commented this bit out simply because it doesn't make sense, I can't work out what it's supposed to do, and it doesn't do anything at all as it is ~GN
// if ((istype(H, /mob/living/carbon/human) && istype(H, /obj/item/clothing/head) && H.flags & 8 && prob(80)))
// M << "<span class='warning'>The helmet protects you from being hit hard in the head!</span>"
// return
var/time = rand(2, 6)
if (prob(75))
M.Paralyse(time)
@@ -41,9 +42,9 @@
M.Stun(time)
if(M.stat != 2) M.stat = 1
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] has been knocked unconscious!</B>", M), 1, "\red You hear someone fall.", 2)
O.show_message("<span class='warning'>\The [M] has been knocked unconscious!</span>", 1, "<span class='warning'>You hear someone fall.</span>", 2)
else
M << text("\red [] tried to knock you unconcious!",user)
M << "<span class='warning'>\The [user] tried to knock you unconcious!</span>"
M.eye_blurry += 3
return

View File

@@ -20,20 +20,20 @@
attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/card/id))
if(src.broken)
user << "\red It appears to be broken."
user << "<span class='warning'>It appears to be broken.</span>"
return
if(src.allowed(user))
src.locked = !( src.locked )
if(src.locked)
src.icon_state = src.icon_locked
user << "\red You lock the [src.name]!"
user << "<span class='notice'>You lock \the [src]!</span>"
return
else
src.icon_state = src.icon_closed
user << "\red You unlock the [src.name]!"
user << "<span class='notice'>You unlock \the [src]!</span>"
return
else
user << "\red Access Denied"
user << "<span class='warning'>Access Denied</span>"
else if((istype(W, /obj/item/weapon/card/emag)||istype(W, /obj/item/weapon/melee/energy/blade)) && !src.broken)
broken = 1
locked = 0
@@ -46,21 +46,21 @@
playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1)
playsound(src.loc, "sparks", 50, 1)
for(var/mob/O in viewers(user, 3))
O.show_message(text("\blue The locker has been sliced open by [] with an energy blade!", user), 1, text("\red You hear metal being sliced and sparks flying."), 2)
O.show_message(text("<span class='warning'>The locker has been sliced open by [] with an energy blade!</span>", user), 1, text("<span class='warning'>You hear metal being sliced and sparks flying.</span>"), 2)
else
for(var/mob/O in viewers(user, 3))
O.show_message(text("\blue The locker has been broken by [] with an electromagnetic card!", user), 1, text("You hear a faint electrical spark."), 2)
O.show_message(text("<span class='warning'>The locker has been broken by [] with an electromagnetic card!</span>", user), 1, text("You hear a faint electrical spark."), 2)
if(!locked)
..()
else
user << "\red Its locked!"
user << "<span class='warning'>It's locked!</span>"
return
show_to(mob/user as mob)
if(locked)
user << "\red Its locked!"
user << "<span class='warning'>It's locked!</span>"
else
..()
return

View File

@@ -54,21 +54,21 @@
if (istype(W, /obj/item/weapon/screwdriver))
if (do_after(user, 20))
src.open =! src.open
user.show_message(text("\blue You [] the service panel.", (src.open ? "open" : "close")))
user.show_message(text("<span class='notice'>You [] the service panel.</span>", (src.open ? "open" : "close")))
return
if ((istype(W, /obj/item/device/multitool)) && (src.open == 1)&& (!src.l_hacking))
user.show_message(text("\red Now attempting to reset internal memory, please hold."), 1)
user.show_message("<span class='notice'>Now attempting to reset internal memory, please hold.</span>", 1)
src.l_hacking = 1
if (do_after(usr, 100))
if (prob(40))
src.l_setshort = 1
src.l_set = 0
user.show_message(text("\red Internal memory reset. Please give it a few seconds to reinitialize."), 1)
user.show_message("<span class='notice'>Internal memory reset. Please give it a few seconds to reinitialize.</span>", 1)
sleep(80)
src.l_setshort = 0
src.l_hacking = 0
else
user.show_message(text("\red Unable to reset internal memory."), 1)
user.show_message("<span class='warning'>Unable to reset internal memory.</span>", 1)
src.l_hacking = 0
else src.l_hacking = 0
return
@@ -157,7 +157,7 @@
attack_hand(mob/user as mob)
if ((src.loc == user) && (src.locked == 1))
usr << "\red [src] is locked and cannot be opened!"
usr << "<span class='warning'>[src] is locked and cannot be opened!"
else if ((src.loc == user) && (!src.locked))
src.open(usr)
else
@@ -171,7 +171,7 @@
//I consider this worthless but it isn't my code so whatever. Remove or uncomment.
/*attack(mob/M as mob, mob/living/user as mob)
if ((CLUMSY in user.mutations) && prob(50))
user << "\red The [src] slips out of your hand and hits your head."
user << "<span class='warning'>The [src] slips out of your hand and hits your head.</span>"
user.take_organ_damage(10)
user.Paralyse(2)
return
@@ -188,7 +188,7 @@
if (H.stat < 2 && H.health < 50 && prob(90))
// ******* Check
if (istype(H, /obj/item/clothing/head) && H.flags & 8 && prob(80))
H << "\red The helmet protects you from being hit hard in the head!"
H << "<span class='warning'>The helmet protects you from being hit hard in the head!</span>"
return
var/time = rand(2, 6)
if (prob(75))
@@ -197,9 +197,9 @@
H.Stun(time)
if(H.stat != 2) H.stat = 1
for(var/mob/O in viewers(H, null))
O.show_message(text("\red <B>[] has been knocked unconscious!</B>", H), 1, "\red You hear someone fall.", 2)
O.show_message(text("<span class='warning'><B>[] has been knocked unconscious!</B></span>", H), 1, "<span class='warning'>You hear someone fall.</span>", 2)
else
H << text("\red [] tried to knock you unconcious!",user)
H << text("<span class='warning'>[] tried to knock you unconcious!</span>",user)
H.eye_blurry += 3
return*/

View File

@@ -286,9 +286,9 @@
if (M == usr)
usr << "<span class='notice'>You put \the [W] into [src].</span>"
else if (M in range(1)) //If someone is standing close enough, they can tell what it is...
M.show_message("<span class='notice'>[usr] puts [W] into [src].</span>")
M.show_message("<span class='notice'>\The [usr] puts [W] into [src].</span>")
else if (W && W.w_class >= 3) //Otherwise they can only see large or normal items from a distance...
M.show_message("<span class='notice'>[usr] puts [W] into [src].</span>")
M.show_message("<span class='notice'>\The [usr] puts [W] into [src].</span>")
src.orient2hud(usr)
if(usr.s_active)
@@ -335,7 +335,7 @@
..()
if(isrobot(user))
user << "\blue You're a robot. No."
user << "<span class='warning'>You're a robot. No.</span>"
return //Robots can't interact with storage items.
if(!can_be_inserted(W))
@@ -345,14 +345,14 @@
var/obj/item/weapon/tray/T = W
if(T.calc_carry() > 0)
if(prob(85))
user << "\red The tray won't fit in [src]."
user << "<span class='warning'>The tray won't fit in [src].</span>"
return
else
W.loc = user.loc
if ((user.client && user.s_active != src))
user.client.screen -= W
W.dropped(user)
user << "\red God damnit!"
user << "<span class='warning'>God damnit!</span>"
W.add_fingerprint(user)
return handle_item_insertion(W)

View File

@@ -19,7 +19,7 @@
var/hitcost = 1000 //oh god why do power cells carry so much charge? We probably need to make a distinction between "industrial" sized power cells for APCs and power cells for everything else.
/obj/item/weapon/melee/baton/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is putting the live [name] in \his mouth! It looks like \he's trying to commit suicide.</span>")
user.visible_message("<span class='suicide'>\The [user] is putting the live [name] in \his mouth! It looks like \he's trying to commit suicide.</span>")
return (FIRELOSS)
/obj/item/weapon/melee/baton/New()
@@ -130,7 +130,7 @@
target_zone = get_zone_with_miss_chance(user.zone_sel.selecting, L)
if(!target_zone)
L.visible_message("\red <B>[user] misses [L] with \the [src]!")
L.visible_message(">span class='danger'>\The [user] misses [L] with \the [src]!</span>")
return 0
var/mob/living/carbon/human/H = L

View File

@@ -19,36 +19,36 @@
else if((user.zone_sel.selecting == "l_leg") && (istype(src, /obj/item/robot_parts/l_leg)))
limbloc = "l_foot"
else
user << "\red That doesn't fit there!"
user << "<span class='warning'>That doesn't fit there!</span>"
return ..()
var/mob/living/carbon/human/H = M
var/datum/organ/external/S = H.organs[user.zone_sel.selecting]
if(S.status & ORGAN_DESTROYED)
if(!(S.status & ORGAN_ATTACHABLE))
user << "\red The wound is not ready for a replacement!"
user << "<span class='warning'>The wound is not ready for a replacement!</span>"
return 0
if(M != user)
M.visible_message( \
"\red [user] is beginning to attach \the [src] where [H]'s [S.display_name] used to be.", \
"\red [user] begins to attach \the [src] where your [S.display_name] used to be.")
"<span class='notice'>\The [user] is beginning to attach \the [src] where [H]'s [S.display_name] used to be.</span>", \
"<span class='notice'>\The [user] begins to attach \the [src] where your [S.display_name] used to be.</span>")
else
M.visible_message( \
"\red [user] begins to attach a robotic limb where \his [S.display_name] used to be with [src].", \
"\red You begin to attach \the [src] where your [S.display_name] used to be.")
"<span class='notice'>\The [user] begins to attach a robotic limb where \his [S.display_name] used to be with [src].</span>", \
"<span class='notice'>You begin to attach \the [src] where your [S.display_name] used to be.</span>")
if(do_mob(user, H, 100))
if(M != user)
M.visible_message( \
"\red [user] finishes attaching [H]'s new [S.display_name].", \
"\red [user] finishes attaching your new [S.display_name].")
"<span class='notice'>\The [user] finishes attaching [H]'s new [S.display_name].</span>", \
"<span class='notice'>\The [user] finishes attaching your new [S.display_name].</span>")
else
M.visible_message( \
"\red [user] finishes attaching \his new [S.display_name].", \
"\red You finish attaching your new [S.display_name].")
"<span class='notice'>\The [user] finishes attaching \his new [S.display_name].</span>", \
"<span class='notice'>You finish attaching your new [S.display_name].</span>")
if(H == user && prob(25))
user << "\red You mess up!"
user << "<span class='warning'>You mess up!</span>"
S.take_damage(15)
S.status &= ~ORGAN_BROKEN

View File

@@ -66,8 +66,8 @@
attack_verb = list("drilled")
suicide_act(mob/user)
viewers(user) << pick("\red <b>[user] is pressing the [src.name] to \his temple and activating it! It looks like \he's trying to commit suicide.</b>", \
"\red <b>[user] is pressing [src.name] to \his chest and activating it! It looks like \he's trying to commit suicide.</b>")
viewers(user) << pick("<span class='danger'>\The [user] is pressing \the [src] to \his temple and activating it! It looks like \he's trying to commit suicide.</span>",
"<span class='danger'>\The [user] is pressing \the [src] to \his chest and activating it! It looks like \he's trying to commit suicide.</span>")
return (BRUTELOSS)
/*
@@ -91,9 +91,9 @@
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
suicide_act(mob/user)
viewers(user) << pick("\red <b>[user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.</b>", \
"\red <b>[user] is slitting \his throat with the [src.name]! It looks like \he's trying to commit suicide.</b>", \
"\red <b>[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.</b>")
viewers(user) << pick("<span class='danger'>\The [user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.</span>", \
"<span class='danger'>\The [user] is slitting \his throat with the [src.name]! It looks like \he's trying to commit suicide.</span>", \
"<span class='danger'>\The [user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.</span>")
return (BRUTELOSS)
/*

View File

@@ -26,7 +26,7 @@
/obj/item/weapon/melee/classic_baton/attack(mob/M as mob, mob/living/user as mob)
if ((CLUMSY in user.mutations) && prob(50))
user << "\red You club yourself over the head."
user << "<span class='warning'>You club yourself over the head.</span>"
user.Weaken(3 * force)
if(ishuman(user))
var/mob/living/carbon/human/H = user
@@ -49,7 +49,7 @@
M.Stun(8)
M.Weaken(8)
for(var/mob/O in viewers(M))
if (O.client) O.show_message("\red <B>[M] has been beaten with \the [src] by [user]!</B>", 1, "\red You hear someone fall", 2)
if (O.client) O.show_message("<span class='danger'>\The [M] has been beaten with \the [src] by [user]!</span>", 1, "<span class='warning'>You hear someone fall</span>", 2)
else
playsound(src.loc, 'sound/weapons/Genhit.ogg', 50, 1, -1)
M.Stun(5)
@@ -60,7 +60,7 @@
src.add_fingerprint(user)
for(var/mob/O in viewers(M))
if (O.client) O.show_message("\red <B>[M] has been stunned with \the [src] by [user]!</B>", 1, "\red You hear someone fall", 2)
if (O.client) O.show_message("<span class='danger'>\The [M] has been stunned with \the [src] by [user]!</span>", 1, "<span class='warning'>You hear someone fall</span>", 2)
//Telescopic baton
/obj/item/weapon/melee/telebaton
@@ -78,8 +78,8 @@
/obj/item/weapon/melee/telebaton/attack_self(mob/user as mob)
on = !on
if(on)
user.visible_message("\red With a flick of their wrist, [user] extends their telescopic baton.",\
"\red You extend the baton.",\
user.visible_message("<span class='warning'>With a flick of their wrist, [user] extends their telescopic baton.</span>",\
"<span class='warning'>You extend the baton.</span>",\
"You hear an ominous click.")
icon_state = "telebaton_1"
item_state = "telebaton_1"
@@ -87,8 +87,8 @@
force = 15//quite robust
attack_verb = list("smacked", "struck", "slapped")
else
user.visible_message("\blue [user] collapses their telescopic baton.",\
"\blue You collapse the baton.",\
user.visible_message("<span class='notice'>\The [user] collapses their telescopic baton.</span>",\
"<span class='notice'>You collapse the baton.</span>",\
"You hear a click.")
icon_state = "telebaton_0"
item_state = "telebaton_0"
@@ -119,7 +119,7 @@
/obj/item/weapon/melee/telebaton/attack(mob/target as mob, mob/living/user as mob)
if(on)
if ((CLUMSY in user.mutations) && prob(50))
user << "\red You club yourself over the head."
user << "<span class='warning'>You club yourself over the head.</span>"
user.Weaken(3 * force)
if(ishuman(user))
var/mob/living/carbon/human/H = user

View File

@@ -71,12 +71,12 @@
pr_open = 1
switch(alert(user, "What would you like to do?", "Lighter", "Press the button.", "Close the lighter."))
if("Press the button.")
user << "\red You press the button."
user << "<span class='warning'>You press the button.</span>"
flick("c-4detonator_click", src)
if(src.bomb)
src.bomb.detonate()
log_admin("[user.real_name]([user.ckey]) has triggered [src.bomb] with [src].")
message_admins("\red [user.real_name]([user.ckey]) has triggered [src.bomb] with [src].")
log_admin("[key_name(user)] has triggered [src.bomb] with [src].")
message_admins("<span class='danger'>[key_name_admin(user)] has triggered [src.bomb] with [src].</span>")
if("Close the lighter.")
src.icon_state = "c-4detonator_0"

View File

@@ -23,7 +23,7 @@
return
if(air_contents.gas["oxygen"] < 10)
user << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
user << text("<span class='danger'>The meter on \the [src] indicates you are almost out of air!</span>")
playsound(user, 'sound/effects/alert.ogg', 50, 1)
/obj/item/weapon/tank/jetpack/verb/toggle_rockets()
@@ -113,7 +113,7 @@
return
if(air_contents.gas["carbon_dioxide"] < 10)
user << text("\red <B>The meter on the [src.name] indicates you are almost out of carbon dioxide!</B>")
user << text("<span class='danger'>The meter on \the [src] indicates you are almost out of carbon dioxide!</span>")
playsound(user, 'sound/effects/alert.ogg', 50, 1)
return

View File

@@ -25,7 +25,7 @@
examine(mob/user)
if(..(user, 0) && air_contents.gas["oxygen"] < 10)
user << text("\red <B>The meter on the [src.name] indicates you are almost out of oxygen!</B>")
user << text("<span class='warning'>The meter on \the [src] indicates you are almost out of oxygen!</span>")
//playsound(usr, 'sound/effects/alert.ogg', 50, 1)
@@ -67,7 +67,7 @@
examine(mob/user)
if(..(user, 0) && air_contents.gas["oxygen"] < 1 && loc==user)
user << "\red <B>The meter on the [src.name] indicates you are almost out of air!</B>"
user << "<span class='danger'>The meter on the [src.name] indicates you are almost out of air!</span>"
user << sound('sound/effects/alert.ogg')
/obj/item/weapon/tank/air/New()
@@ -131,7 +131,7 @@
examine(mob/user)
if(..(user, 0) && air_contents.gas["oxygen"] < 0.2 && loc==user)
user << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
user << text("<span class='danger'>The meter on the [src.name] indicates you are almost out of air!</span>")
user << sound('sound/effects/alert.ogg')
/obj/item/weapon/tank/emergency_oxygen/engi
@@ -164,7 +164,7 @@
examine(mob/user)
if(..(user, 0) && air_contents.gas["nitrogen"] < 0.2 && loc==user)
user << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
user << text("<span class='danger'>The meter on \the [src] indicates you are almost out of air!</span>")
user << sound('sound/effects/alert.ogg')
/*
@@ -185,5 +185,5 @@
/obj/item/weapon/tank/nitrogen/examine(mob/user)
if(..(user, 0) && air_contents.gas["nitrogen"] < 10)
user << text("\red <B>The meter on the [src.name] indicates you are almost out of nitrogen!</B>")
user << text("<span class='danger'>The meter on \the [src] indicates you are almost out of nitrogen!</span>")
//playsound(user, 'sound/effects/alert.ogg', 50, 1)

View File

@@ -44,26 +44,33 @@
if (istype(src.loc, /obj/item/assembly))
icon = src.loc
if (!in_range(src, user))
if (icon == src) user << "\blue It's \a \icon[icon][src]! If you want any more information you'll need to get closer."
if (icon == src) user << "<span class='notice'>It's \a \icon[icon][src]! If you want any more information you'll need to get closer.</span>"
return
var/celsius_temperature = src.air_contents.temperature-T0C
var/descriptive
var/status
if (celsius_temperature < 20)
descriptive = "cold"
status = "warning"
else if (celsius_temperature < 40)
descriptive = "room temperature"
status = "notice"
else if (celsius_temperature < 80)
descriptive = "lukewarm"
status = "warning"
else if (celsius_temperature < 100)
descriptive = "warm"
status = "warning"
else if (celsius_temperature < 300)
descriptive = "hot"
status = "danger"
else
descriptive = "furiously hot"
status = "danger"
user << "\blue \The \icon[icon][src] feels [descriptive]"
user << "<span class='[status]'>\The \icon[icon][src] feels [descriptive]</span>"
return
@@ -87,20 +94,20 @@
if ((istype(W, /obj/item/device/analyzer)) && get_dist(user, src) <= 1)
for (var/mob/O in viewers(user, null))
O << "\red [user] has used [W] on \icon[icon] [src]"
O << "<span class='notice'>\The [user] has used [W] on \icon[icon] [src]</span>"
var/pressure = air_contents.return_pressure()
manipulated_by = user.real_name //This person is aware of the contents of the tank.
var/total_moles = air_contents.total_moles
user << "\blue Results of analysis of \icon[icon]"
user << "<span class='notice'>Results of analysis of \icon[icon]</span>"
if (total_moles>0)
user << "\blue Pressure: [round(pressure,0.1)] kPa"
user << "<span class='notice'>Pressure: [round(pressure,0.1)] kPa</span>"
for(var/g in air_contents.gas)
user << "\blue [gas_data.name[g]]: [(round(air_contents.gas[g] / total_moles) * 100)]%"
user << "\blue Temperature: [round(air_contents.temperature-T0C)]&deg;C"
user << "<span class='notice'>[gas_data.name[g]]: [(round(air_contents.gas[g] / total_moles) * 100)]%</span>"
user << "<span class='notice'>Temperature: [round(air_contents.temperature-T0C)]&deg;C</span>"
else
user << "\blue Tank is empty!"
user << "<span class='notice'>Tank is empty!</span>"
src.add_fingerprint(user)
else if (istype(W,/obj/item/latexballon))
var/obj/item/latexballon/LB = W
@@ -195,7 +202,7 @@
if(location.internal == src)
location.internal = null
location.internals.icon_state = "internal0"
usr << "\blue You close the tank release valve."
usr << "<span class='notice'>You close the tank release valve.</span>"
if (location.internals)
location.internals.icon_state = "internal0"
else
@@ -210,11 +217,11 @@
if(can_open_valve)
location.internal = src
usr << "\blue You open \the [src] valve."
usr << "<span class='notice'>You open \the [src] valve.</span>"
if (location.internals)
location.internals.icon_state = "internal1"
else
usr << "\blue You need something to connect to \the [src]."
usr << "<span class='warning'>You need something to connect to \the [src].</span>"
src.add_fingerprint(usr)
return 1
@@ -261,7 +268,7 @@
if(!istype(src.loc,/obj/item/device/transfer_valve))
message_admins("Explosive tank rupture! last key to touch the tank was [src.fingerprintslast].")
log_game("Explosive tank rupture! last key to touch the tank was [src.fingerprintslast].")
//world << "\blue[x],[y] tank is exploding: [pressure] kPa"
//world << "<span class='notice'>[x],[y] tank is exploding: [pressure] kPa"
//Give the gas a chance to build up more pressure through reacting
air_contents.react()
air_contents.react()
@@ -271,13 +278,13 @@
range = min(range, max_explosion_range) // was 8 - - - Changed to a configurable define -- TLE
var/turf/epicenter = get_turf(loc)
//world << "\blue Exploding Pressure: [pressure] kPa, intensity: [range]"
//world << "<span class='notice'>Exploding Pressure: [pressure] kPa, intensity: [range]</span>"
explosion(epicenter, round(range*0.25), round(range*0.5), round(range), round(range*1.5))
qdel(src)
else if(pressure > TANK_RUPTURE_PRESSURE)
//world << "\blue[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]"
//world << "<span class='notice'>[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]</span>"
if(integrity <= 0)
var/turf/simulated/T = get_turf(src)
if(!T)
@@ -289,7 +296,7 @@
integrity--
else if(pressure > TANK_LEAK_PRESSURE)
//world << "\blue[x],[y] tank is leaking: [pressure] kPa, integrity [integrity]"
//world << "<span class='notice'>[x],[y] tank is leaking: [pressure] kPa, integrity [integrity]</span>"
if(integrity <= 0)
var/turf/simulated/T = get_turf(src)
if(!T)

View File

@@ -48,8 +48,8 @@
attack_verb = list("stabbed")
suicide_act(mob/user)
viewers(user) << pick("\red <b>[user] is stabbing the [src.name] into \his temple! It looks like \he's trying to commit suicide.</b>", \
"\red <b>[user] is stabbing the [src.name] into \his heart! It looks like \he's trying to commit suicide.</b>")
viewers(user) << pick("<span class='danger'>\The [user] is stabbing the [src.name] into \his temple! It looks like \he's trying to commit suicide.</span>", \
"<span class='danger'>\The [user] is stabbing the [src.name] into \his heart! It looks like \he's trying to commit suicide.</span>")
return(BRUTELOSS)
/obj/item/weapon/screwdriver/New()
@@ -236,7 +236,7 @@
else if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.welding)
message_admins("[key_name_admin(user)] triggered a fueltank explosion with a welding tool.")
log_game("[key_name(user)] triggered a fueltank explosion with a welding tool.")
user << "\red You begin welding on the fueltank and with a moment of lucidity you realize, this might not have been the smartest thing you've ever done."
user << "<span class='danger'>You begin welding on the fueltank and with a moment of lucidity you realize, this might not have been the smartest thing you've ever done.</span>"
var/obj/structure/reagent_dispensers/fueltank/tank = O
tank.explode()
return
@@ -332,29 +332,29 @@
return
switch(safety)
if(1)
usr << "\red Your eyes sting a little."
usr << "<span class='warning'>Your eyes sting a little.</span>"
E.damage += rand(1, 2)
if(E.damage > 12)
user.eye_blurry += rand(3,6)
if(0)
usr << "\red Your eyes burn."
usr << "<span class='warning'>Your eyes burn.</span>"
E.damage += rand(2, 4)
if(E.damage > 10)
E.damage += rand(4,10)
if(-1)
usr << "\red Your thermals intensify the welder's glow. Your eyes itch and burn severely."
usr << "<span class='danger'>Your thermals intensify the welder's glow. Your eyes itch and burn severely.</span>"
user.eye_blurry += rand(12,20)
E.damage += rand(12, 16)
if(safety<2)
if(E.damage > 10)
user << "\red Your eyes are really starting to hurt. This can't be good for you!"
user << "<span class='warning'>Your eyes are really starting to hurt. This can't be good for you!</span>"
if (E.damage >= E.min_broken_damage)
user << "\red You go blind!"
user << "<span class='danger'>You go blind!</span>"
user.sdisabilities |= BLIND
else if (E.damage >= E.min_bruised_damage)
user << "\red You go blind!"
user << "<span class='danger'>You go blind!</span>"
user.eye_blind = 5
user.eye_blurry = 5
user.disabilities |= NEARSIGHTED

View File

@@ -32,7 +32,7 @@
if((CLUMSY in user.mutations) && prob(50)) //What if he's a clown?
M << "\red You accidentally slam yourself with the [src]!"
M << "<span class='warning'>You accidentally slam yourself with the [src]!</span>"
M.Weaken(1)
user.take_organ_damage(2)
if(prob(50))
@@ -64,17 +64,17 @@
if(prob(50))
playsound(M, 'sound/items/trayhit1.ogg', 50, 1)
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] slams [] with the tray!</B>", user, M), 1)
O.show_message(text("<span class='danger'>[] slams [] with the tray!</span>", user, M), 1)
return
else
playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //we applied the damage, we played the sound, we showed the appropriate messages. Time to return and stop the proc
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] slams [] with the tray!</B>", user, M), 1)
O.show_message(text("<span class='danger'>[] slams [] with the tray!</span>", user, M), 1)
return
if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES)))
M << "\red You get slammed in the face with the tray, against your mask!"
M << "<span class='warning'>You get slammed in the face with the tray, against your mask!</span>"
if(prob(33))
src.add_blood(H)
if (H.wear_mask)
@@ -90,11 +90,11 @@
if(prob(50))
playsound(M, 'sound/items/trayhit1.ogg', 50, 1)
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] slams [] with the tray!</B>", user, M), 1)
O.show_message(text("<span class='danger'>[] slams [] with the tray!</span>", user, M), 1)
else
playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin'
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] slams [] with the tray!</B>", user, M), 1)
O.show_message(text("<span class='danger'>[] slams [] with the tray!</span>", user, M), 1)
if(prob(10))
M.Stun(rand(1,3))
M.take_organ_damage(3)
@@ -104,7 +104,7 @@
return
else //No eye or head protection, tough luck!
M << "\red You get slammed in the face with the tray!"
M << "<span class='warning'>You get slammed in the face with the tray!</span>"
if(prob(33))
src.add_blood(M)
var/turf/location = H.loc
@@ -114,11 +114,11 @@
if(prob(50))
playsound(M, 'sound/items/trayhit1.ogg', 50, 1)
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] slams [] in the face with the tray!</B>", user, M), 1)
O.show_message(text("<span class='danger'>[] slams [] in the face with the tray!</span>", user, M), 1)
else
playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' again
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] slams [] in the face with the tray!</B>", user, M), 1)
O.show_message(text("<span class='danger'>[] slams [] in the face with the tray!</span>", user, M), 1)
if(prob(30))
M.Stun(rand(2,4))
M.take_organ_damage(4)

View File

@@ -19,19 +19,19 @@
if(T.welding & prob(50))
message_admins("[key_name_admin(user)] triggered a fueltank explosion.")
log_game("[key_name(user)] triggered a fueltank explosion.")
user << "\red That was stupid of you."
user << "<span class='danger'>That was stupid of you.</span>"
explosion(get_turf(src),-1,0,2)
if(src)
qdel(src)
return
else
if(T.welding)
user << "\red That was close!"
user << "<span class='danger'>That was close!</span>"
src.reagents.trans_to_obj(W, T.max_fuel)
user << "\blue Welder refilled!"
user << "<span class='notice'>Welder refilled!</span>"
playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6)
return
user << "\blue The tank scoffs at your insolence. It only provides services to welders."
user << "<span class='warning'>The tank scoffs at your insolence. It only provides services to welders.</span>"
return
/obj/item/weapon/weldpack/afterattack(obj/O as obj, mob/user as mob, proximity)
@@ -39,11 +39,11 @@
return
if (istype(O, /obj/structure/reagent_dispensers/fueltank) && src.reagents.total_volume < max_fuel)
O.reagents.trans_to_obj(src, max_fuel)
user << "\blue You crack the cap off the top of the pack and fill it back up again from the tank."
user << "<span class='notice'>You crack the cap off the top of the pack and fill it back up again from the tank.</span>"
playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6)
return
else if (istype(O, /obj/structure/reagent_dispensers/fueltank) && src.reagents.total_volume == max_fuel)
user << "\blue The pack is already full!"
user << "<span class='warning'>The pack is already full!</span>"
return
/obj/item/weapon/weldpack/examine(mob/user)

View File

@@ -12,7 +12,7 @@
/obj/item/weapon/wire/attack_self(mob/user as mob)
if (src.laying)
src.laying = 0
user << "\blue You're done laying wire!"
user << "<span class='notice'>You're done laying wire!</span>"
else
user << "\blue You are not using this to lay wire..."
user << "<span class='warning'>You are not using this to lay wire...</span>"
return