mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-09 16:14:13 +00:00
Merge branch 'color_replace_2_electric_boogaloo' into Bleeding-Edge
Conflicts: code/ATMOSPHERICS/pipe/pipe_dispenser.dm code/game/machinery/computer/HolodeckControl.dm code/game/machinery/embedded_controller/embedded_controller_base.dm code/modules/mining/money_bag.dm code/modules/mob/living/carbon/carbon.dm code/modules/mob/living/silicon/mommi/mommi.dm code/modules/mob/living/simple_animal/friendly/farm_animals.dm code/modules/research/destructive_analyzer.dm code/modules/research/rdconsole.dm code/modules/research/xenoarchaeology/machinery/analysis_base.dm code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm code/modules/research/xenoarchaeology/tools/ano_device_battery.dm
This commit is contained in:
@@ -368,7 +368,7 @@ var/global/list/nlist = list( \
|
||||
|
||||
for(var/obj/machinery/atmospherics/M in src.loc)
|
||||
if(M.initialize_directions & pipe_dir) // matches at least one direction on either type of pipe
|
||||
user << "\red There is already a pipe at that location."
|
||||
user << "<span class='warning'>There is already a pipe at that location.</span>"
|
||||
return 1
|
||||
// no conflicts found
|
||||
|
||||
@@ -456,7 +456,7 @@ var/global/list/nlist = list( \
|
||||
playsound(get_turf(src), 'sound/items/Ratchet.ogg', 50, 1)
|
||||
user.visible_message( \
|
||||
"[user] fastens \the [src].", \
|
||||
"\blue You have fastened \the [src].", \
|
||||
"<span class='notice'>You have fastened \the [src].</span>", \
|
||||
"You hear a ratchet.")
|
||||
returnToPool(src) // remove the pipe item
|
||||
return 0
|
||||
@@ -483,11 +483,11 @@ var/global/list/nlist = list( \
|
||||
if (!istype(W, /obj/item/weapon/wrench))
|
||||
return ..()
|
||||
if(!locate(/obj/machinery/atmospherics/pipe, src.loc))
|
||||
user << "\red You need to fasten it to a pipe"
|
||||
user << "<span class='warning'>You need to fasten it to a pipe</span>"
|
||||
return 1
|
||||
new/obj/machinery/meter( src.loc )
|
||||
playsound(get_turf(src), 'sound/items/Ratchet.ogg', 50, 1)
|
||||
user << "\blue You have fastened the meter to the pipe"
|
||||
user << "<span class='notice'>You have fastened the meter to the pipe</span>"
|
||||
del(src)
|
||||
|
||||
|
||||
@@ -506,5 +506,5 @@ var/global/list/nlist = list( \
|
||||
return ..()
|
||||
new/obj/machinery/air_sensor( src.loc )
|
||||
playsound(get_turf(src), 'sound/items/Ratchet.ogg', 50, 1)
|
||||
user << "\blue You have fastened the gas sensor"
|
||||
user << "<span class='notice'>You have fastened the gas sensor</span>"
|
||||
del(src)
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
/obj/machinery/pipedispenser/attackby(var/obj/item/W as obj, var/mob/user as mob)
|
||||
src.add_fingerprint(usr)
|
||||
if (istype(W, /obj/item/pipe) || istype(W, /obj/item/pipe_meter) || istype(W, /obj/item/pipe_gsensor))
|
||||
usr << "\blue You put [W] back to [src]."
|
||||
usr << "<span class='notice'>You put [W] back to [src].</span>"
|
||||
user.drop_item(W, src)
|
||||
if(istype(W, /obj/item/pipe))
|
||||
returnToPool(W)
|
||||
|
||||
@@ -48,7 +48,7 @@ obj/item/weapon/tank
|
||||
adjust_mixture(temperature as num, target_toxin_pressure as num, target_oxygen_pressure as num)
|
||||
set src in world
|
||||
if(!air_contents)
|
||||
usr << "\red ERROR: no gas_mixture associated with this tank"
|
||||
usr << "<span class='warning'>ERROR: no gas_mixture associated with this tank</span>"
|
||||
return null
|
||||
|
||||
air_contents.temperature = temperature
|
||||
@@ -74,7 +74,7 @@ turf/simulated/floor
|
||||
else
|
||||
usr << "Space Borders: None"
|
||||
else
|
||||
usr << "\blue [x],[y] has no parent air group."
|
||||
usr << "<span class='notice'>[x],[y] has no parent air group.</span>"
|
||||
|
||||
verb
|
||||
create_wall()
|
||||
@@ -329,7 +329,7 @@ obj/machinery/atmospherics
|
||||
set src in world
|
||||
set category = "Minor"
|
||||
|
||||
world << "\blue [x],[y]"
|
||||
world << "<span class='notice'>[x],[y]</span>"
|
||||
world << "network 1: [network_node1.normal_members.len], [network_node1.line_members.len]"
|
||||
for(var/obj/O in network_node1.normal_members)
|
||||
world << "member: [O.x], [O.y]"
|
||||
@@ -406,7 +406,7 @@ turf/simulated
|
||||
set src in world
|
||||
set category = "Minor"
|
||||
var/datum/gas_mixture/GM = return_air()
|
||||
usr << "\blue @[x],[y] ([GM.group_multiplier]): O:[GM.oxygen] T:[GM.toxins] N:[GM.nitrogen] C:[GM.carbon_dioxide] w [GM.temperature] Kelvin, [GM.return_pressure()] kPa [(active_hotspot)?("\red BURNING"):(null)]"
|
||||
usr << "<span class='notice'>@[x],[y] ([GM.group_multiplier]): O:[GM.oxygen] T:[GM.toxins] N:[GM.nitrogen] C:[GM.carbon_dioxide] w [GM.temperature] Kelvin, [GM.return_pressure()] kPa [(active_hotspot)?("<span class='warning'>BURNING</span>"):(null)]</span>"
|
||||
for(var/datum/gas/trace_gas in GM.trace_gases)
|
||||
usr << "[trace_gas.type]: [trace_gas.moles]"
|
||||
|
||||
@@ -515,7 +515,7 @@ mob
|
||||
|
||||
fire_report()
|
||||
set category = "Debug"
|
||||
usr << "\b \red Fire Report"
|
||||
usr << "<B><span class='warning'>Fire Report</span></B>"
|
||||
for(var/obj/effect/hotspot/flame in world)
|
||||
usr << "[flame.x],[flame.y]: [flame.temperature]K, [flame.volume] L - [flame.loc:air:temperature]"
|
||||
|
||||
|
||||
@@ -146,7 +146,7 @@ datum
|
||||
|
||||
setup()
|
||||
set background = 1
|
||||
world << "\red \b Processing Geometry..."
|
||||
world << "<span class='warning'><B>Processing Geometry...</span></B>"
|
||||
sleep(1)
|
||||
|
||||
var/start_time = world.timeofday
|
||||
@@ -156,7 +156,7 @@ datum
|
||||
assemble_group_turf(S)
|
||||
S.update_air_properties()
|
||||
|
||||
world << "\red \b Geometry processed in [(world.timeofday-start_time)/10] seconds!"
|
||||
world << "<span class='warning'><B>Geometry processed in [(world.timeofday-start_time)/10] seconds!</span></B>"
|
||||
|
||||
assemble_group_turf(turf/simulated/base)
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ var/minZ = 2
|
||||
// Note that this assumes the ship's top is at z=1 and bottom at z=4
|
||||
/obj/item/weapon/tank/jetpack/proc/move_z(cardinal, mob/user as mob)
|
||||
if (user.z > 1)
|
||||
user << "\red There is nothing of interest in that direction."
|
||||
user << "<span class='warning'>There is nothing of interest in that direction.</span>"
|
||||
return
|
||||
if(allow_thrust(0.01, user))
|
||||
switch(cardinal)
|
||||
@@ -21,14 +21,14 @@ var/minZ = 2
|
||||
for(var/atom/A in T.contents)
|
||||
if(T.density)
|
||||
blocked = 1
|
||||
user << "\red You bump into [T.name]."
|
||||
user << "<span class='warning'>You bump into [T.name].</span>"
|
||||
break
|
||||
if(!blocked)
|
||||
user.Move(T)
|
||||
else
|
||||
user << "\red You bump into the ship's plating."
|
||||
user << "<span class='warning'>You bump into the ship's plating.</span>"
|
||||
else
|
||||
user << "\red The ship's gravity well keeps you in orbit!" // Assuming the ship starts on z level 1, you don't want to go past it
|
||||
user << "<span class='warning'>The ship's gravity well keeps you in orbit!</span>" // Assuming the ship starts on z level 1, you don't want to go past it
|
||||
|
||||
if (DOWN) // Going down!
|
||||
if (user.z < 1) // If we aren't at the very bottom of the ship, or out in space
|
||||
@@ -39,11 +39,11 @@ var/minZ = 2
|
||||
for(var/atom/A in T.contents)
|
||||
if(T.density)
|
||||
blocked = 1
|
||||
user << "\red You bump into [T.name]."
|
||||
user << "<span class='warning'>You bump into [T.name].</span>"
|
||||
break
|
||||
if(!blocked)
|
||||
user.Move(T)
|
||||
else
|
||||
user << "\red You bump into the ship's plating."
|
||||
user << "<span class='warning'>You bump into the ship's plating.</span>"
|
||||
else
|
||||
user << "\red The ship's gravity well keeps you in orbit!"
|
||||
user << "<span class='warning'>The ship's gravity well keeps you in orbit!</span>"
|
||||
@@ -68,7 +68,7 @@
|
||||
if(!target || !istype(target.loc, /turf))
|
||||
del src
|
||||
var/list/adjacent_to_me = global_adjacent_z_levels["[z]"]
|
||||
M.visible_message("\blue \The [M] climbs [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You climb [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You hear some grunting, and clanging of a metal ladder being used.")
|
||||
M.visible_message("<span class='notice'>\The [M] climbs [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You climb [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You hear some grunting, and clanging of a metal ladder being used.</span>")
|
||||
M.Move(target.loc)
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
del src
|
||||
if(M.z == z && get_dist(src,M) <= 1)
|
||||
var/list/adjacent_to_me = global_adjacent_z_levels["[z]"]
|
||||
M.visible_message("\blue \The [M] scurries [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You scramble [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You hear some grunting, and a hatch sealing.")
|
||||
M.visible_message("<span class='notice'>\The [M] scurries [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You scramble [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You hear some grunting, and a hatch sealing.</span>")
|
||||
M.Move(target.loc)
|
||||
flick(top_icon_state_close,top_hatch)
|
||||
bottom_hatch.overlays -= green_overlay
|
||||
|
||||
@@ -30,12 +30,12 @@
|
||||
if(istype(I, /obj/item/weapon/hatchet) && !stump)
|
||||
if(indestructable)
|
||||
//this bush marks the edge of the map, you can't destroy it
|
||||
user << "\red You flail away at the undergrowth, but it's too thick here."
|
||||
user << "<span class='warning'>You flail away at the undergrowth, but it's too thick here.</span>"
|
||||
else
|
||||
user.visible_message("\red <b>[user] begins clearing away [src].</b>","\red <b>You begin clearing away [src].</b>")
|
||||
user.visible_message("<span class='danger'><b>[user] begins clearing away [src].</b>","<span class='warning'>You begin clearing away [src].</span></span>")
|
||||
spawn(rand(15,30))
|
||||
if(get_dist(user,src) < 2)
|
||||
user << "\blue You clear away [src]."
|
||||
user << "<span class='notice'>You clear away [src].</span>"
|
||||
var/obj/item/stack/sheet/wood/W = new(src.loc)
|
||||
W.amount = rand(3,15)
|
||||
if(prob(50))
|
||||
@@ -102,7 +102,7 @@ var/jungle_plants_init = 0
|
||||
/obj/structure/jungle_plant/attack_hand(var/mob/user as mob)
|
||||
if(fruits_left > 0)
|
||||
fruits_left--
|
||||
user << "\blue You pick a fruit off [src]."
|
||||
user << "<span class='notice'>You pick a fruit off [src].</span>"
|
||||
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/grown/jungle_fruit/J = new (src.loc)
|
||||
J.potency = plant_strength
|
||||
@@ -116,4 +116,4 @@ var/jungle_plants_init = 0
|
||||
fruit_overlay.Blend(rgb(fruit_r, fruit_g, fruit_b), ICON_ADD)
|
||||
overlays += fruit_overlay
|
||||
else
|
||||
user << "\red There are no fruit left on [src]."
|
||||
user << "<span class='warning'>There are no fruit left on [src].</span>"
|
||||
|
||||
@@ -142,13 +142,13 @@ Deuterium-tritium fusion: 4.5 x 10^7 K
|
||||
//have a max of 1000 moles suspended
|
||||
if(held_plasma.toxins < transfer_ratio * 1000)
|
||||
var/moles_covered = environment.return_pressure()*volume_covered/(environment.temperature * R_IDEAL_GAS_EQUATION)
|
||||
//world << "\blue moles_covered: [moles_covered]"
|
||||
//world << "<span class='notice'>moles_covered: [moles_covered]</span>"
|
||||
//
|
||||
var/datum/gas_mixture/gas_covered = environment.remove(moles_covered)
|
||||
var/datum/gas_mixture/plasma_captured = new /datum/gas_mixture()
|
||||
//
|
||||
plasma_captured.toxins = round(gas_covered.toxins * transfer_ratio)
|
||||
//world << "\blue[plasma_captured.toxins] moles of plasma captured"
|
||||
//world << "<span class='warning'>[plasma_captured.toxins] moles of plasma captured</span>"
|
||||
plasma_captured.temperature = gas_covered.temperature
|
||||
plasma_captured.update_values()
|
||||
//
|
||||
@@ -327,7 +327,7 @@ Deuterium-tritium fusion: 4.5 x 10^7 K
|
||||
//pick one of the unprocessed reacting reagents randomly
|
||||
var/cur_primary_reactant = pick(primary_reactant_pool)
|
||||
primary_reactant_pool.Remove(cur_primary_reactant)
|
||||
//world << "\blue primary reactant chosen: [cur_primary_reactant]"
|
||||
//world << "<span class='notice'>primary reactant chosen: [cur_primary_reactant]</span>"
|
||||
|
||||
//grab all the possible reactants to have a reaction with
|
||||
var/list/possible_secondary_reactants = reactants_reacting_pool.Copy()
|
||||
@@ -343,12 +343,12 @@ Deuterium-tritium fusion: 4.5 x 10^7 K
|
||||
continue
|
||||
var/datum/fusion_reaction/cur_reaction = get_fusion_reaction(cur_primary_reactant, cur_secondary_reactant)
|
||||
if(cur_reaction)
|
||||
//world << "\blue secondary reactant: [cur_secondary_reactant], [reaction_products.len]"
|
||||
//world << "<span class='notice'>secondary reactant: [cur_secondary_reactant], [reaction_products.len]</span>"
|
||||
possible_reactions.Add(cur_reaction)
|
||||
|
||||
//if there are no possible reactions here, abandon this primary reactant and move on
|
||||
if(!possible_reactions.len)
|
||||
//world << "\blue no reactions"
|
||||
//world << "<span class='notice'>no reactions</span>"
|
||||
continue
|
||||
|
||||
//split up the reacting atoms between the possible reactions
|
||||
|
||||
@@ -96,7 +96,7 @@ max volume of plasma storeable by the field = the total volume of a number of ti
|
||||
if(!emagged)
|
||||
locked = 0
|
||||
emagged = 1
|
||||
user.visible_message("[user.name] emags the [src.name].","\red You short out the lock.")
|
||||
user.visible_message("[user.name] emags the [src.name].","<span class='warning'>You short out the lock.</span>")
|
||||
return
|
||||
|
||||
/obj/machinery/power/rust_core/attackby(obj/item/W, mob/user)
|
||||
@@ -106,7 +106,7 @@ max volume of plasma storeable by the field = the total volume of a number of ti
|
||||
|
||||
if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda))
|
||||
if(emagged)
|
||||
user << "\red The lock seems to be broken"
|
||||
user << "<span class='warning'>The lock seems to be broken</span>"
|
||||
return
|
||||
if(src.allowed(user))
|
||||
if(owned_field)
|
||||
@@ -114,9 +114,9 @@ max volume of plasma storeable by the field = the total volume of a number of ti
|
||||
user << "The controls are now [src.locked ? "locked." : "unlocked."]"
|
||||
else
|
||||
src.locked = 0 //just in case it somehow gets locked
|
||||
user << "\red The controls can only be locked when the [src] is online"
|
||||
user << "<span class='warning'>The controls can only be locked when the [src] is online</span>"
|
||||
else
|
||||
user << "\red Access denied."
|
||||
user << "<span class='warning'>Access denied.</span>"
|
||||
return
|
||||
|
||||
/obj/machinery/power/rust_core/attack_ai(mob/user)
|
||||
|
||||
@@ -15,12 +15,12 @@
|
||||
/obj/machinery/rust_fuel_assembly_port/attackby(var/obj/item/I, var/mob/user)
|
||||
if(istype(I,/obj/item/weapon/fuel_assembly) && !opened)
|
||||
if(cur_assembly)
|
||||
user << "\red There is already a fuel rod assembly in there!"
|
||||
user << "<span class='warning'>There is already a fuel rod assembly in there!</span>"
|
||||
else
|
||||
cur_assembly = I
|
||||
user.drop_item(I, src)
|
||||
icon_state = "port1"
|
||||
user << "\blue You insert [I] into [src]. Touch the panel again to insert [I] into the injector."
|
||||
user << "<span class='notice'>You insert [I] into [src]. Touch the panel again to insert [I] into the injector.</span>"
|
||||
|
||||
/obj/machinery/rust_fuel_assembly_port/attack_hand(mob/user)
|
||||
add_fingerprint(user)
|
||||
@@ -29,16 +29,16 @@
|
||||
|
||||
if(cur_assembly)
|
||||
if(try_insert_assembly())
|
||||
user << "\blue \icon[src] [src] inserts it's fuel rod assembly into an injector."
|
||||
user << "<span class='notice'>\icon[src] [src] inserts it's fuel rod assembly into an injector.</span>"
|
||||
else
|
||||
if(eject_assembly())
|
||||
user << "\red \icon[src] [src] ejects it's fuel assembly. Check the fuel injector status."
|
||||
user << "<span class='warning'>\icon[src] [src] ejects it's fuel assembly. Check the fuel injector status.</span>"
|
||||
else if(try_draw_assembly())
|
||||
user << "\blue \icon[src] [src] draws a fuel rod assembly from an injector."
|
||||
user << "<span class='notice'>\icon[src] [src] draws a fuel rod assembly from an injector.</span>"
|
||||
else if(try_draw_assembly())
|
||||
user << "\blue \icon[src] [src] draws a fuel rod assembly from an injector."
|
||||
user << "<span class='notice'>\icon[src] [src] draws a fuel rod assembly from an injector.</span>"
|
||||
else
|
||||
user << "\red \icon[src] [src] was unable to draw a fuel rod assembly from an injector."
|
||||
user << "<span class='warning'>\icon[src] [src] was unable to draw a fuel rod assembly from an injector.</span>"
|
||||
|
||||
/obj/machinery/rust_fuel_assembly_port/proc/try_insert_assembly()
|
||||
var/success = 0
|
||||
|
||||
@@ -49,35 +49,35 @@
|
||||
user << "You begin removing the circuitboard" //lpeters - fixed grammar issues
|
||||
if(do_after(user, 50))
|
||||
user.visible_message(\
|
||||
"\red [user.name] has removed the circuitboard from [src.name]!",\
|
||||
"\blue You remove the circuitboard.")
|
||||
"<span class='warning'>[user.name] has removed the circuitboard from [src.name]!</span>",\
|
||||
"<span class='notice'>You remove the circuitboard.</span>")
|
||||
has_electronics = 0
|
||||
new /obj/item/weapon/module/rust_fuel_port(loc)
|
||||
has_electronics &= ~1
|
||||
else
|
||||
opened = 0
|
||||
icon_state = "port0"
|
||||
user << "\blue You close the maintenance cover."
|
||||
user << "<span class='notice'>You close the maintenance cover.</span>"
|
||||
else
|
||||
if(cur_assembly)
|
||||
user << "\red You cannot open the cover while there is a fuel assembly inside."
|
||||
user << "<span class='warning'>You cannot open the cover while there is a fuel assembly inside.</span>"
|
||||
else
|
||||
opened = 1
|
||||
user << "\blue You open the maintenance cover."
|
||||
user << "<span class='notice'>You open the maintenance cover.</span>"
|
||||
icon_state = "port2"
|
||||
return
|
||||
|
||||
else if (istype(W, /obj/item/stack/cable_coil) && opened && !(has_electronics & 2))
|
||||
var/obj/item/stack/cable_coil/C = W
|
||||
if(C.amount < 10)
|
||||
user << "\red You need more wires."
|
||||
user << "<span class='warning'>You need more wires.</span>"
|
||||
return
|
||||
user << "You start adding cables to the frame..."
|
||||
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
if(do_after(user, 20) && C.amount >= 10)
|
||||
C.use(10)
|
||||
user.visible_message(\
|
||||
"\red [user.name] has added cables to the port frame!",\
|
||||
"<span class='warning'>[user.name] has added cables to the port frame!</span>",\
|
||||
"You add cables to the port frame.")
|
||||
has_electronics &= 2
|
||||
return
|
||||
@@ -88,7 +88,7 @@
|
||||
if(do_after(user, 50))
|
||||
new /obj/item/stack/cable_coil(loc,10)
|
||||
user.visible_message(\
|
||||
"\red [user.name] cut the cabling inside the port.",\
|
||||
"<span class='warning'>[user.name] cut the cabling inside the port.</span>",\
|
||||
"You cut the cabling inside the port.")
|
||||
has_electronics &= ~2
|
||||
return
|
||||
@@ -105,7 +105,7 @@
|
||||
else if (istype(W, /obj/item/weapon/weldingtool) && opened && !has_electronics)
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if (WT.get_fuel() < 3)
|
||||
user << "\blue You need more welding fuel to complete this task."
|
||||
user << "<span class='notice'>You need more welding fuel to complete this task.</span>"
|
||||
return
|
||||
user << "You start welding the port frame..."
|
||||
playsound(get_turf(src), 'sound/items/Welder.ogg', 50, 1)
|
||||
@@ -113,9 +113,9 @@
|
||||
if(!src || !WT.remove_fuel(3, user)) return
|
||||
new /obj/item/mounted/frame/rust_fuel_assembly_port(loc)
|
||||
user.visible_message(\
|
||||
"\red [src] has been cut away from the wall by [user.name].",\
|
||||
"<span class='warning'>[src] has been cut away from the wall by [user.name].</span>",\
|
||||
"You detached the port frame.",\
|
||||
"\red You hear welding.")
|
||||
"<span class='warning'>You hear welding.</span>")
|
||||
del(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -80,12 +80,12 @@ var/const/max_assembly_amount = 300
|
||||
compressed_matter -= 10
|
||||
ejected = 1
|
||||
if(ejected)
|
||||
usr << "\blue \icon[src] [src] ejects some compressed matter units."
|
||||
usr << "<span class='notice'>\icon[src] [src] ejects some compressed matter units.</span>"
|
||||
else
|
||||
usr << "\red \icon[src] there are no more compressed matter units in [src]."
|
||||
usr << "<span class='warning'>\icon[src] there are no more compressed matter units in [src].</span>"
|
||||
|
||||
if( href_list["activate"] )
|
||||
//world << "\blue New fuel rod assembly"
|
||||
//world << "<span class='notice'>New fuel rod assembly</span>"
|
||||
var/obj/item/weapon/fuel_assembly/F = new(src)
|
||||
var/fail = 0
|
||||
var/old_matter = compressed_matter
|
||||
@@ -102,11 +102,11 @@ var/const/max_assembly_amount = 300
|
||||
: (req_matter < compressed_matter ? "req_matter < compressed_matter" : "req_matter == compressed_matter")]"*/
|
||||
fail = 1
|
||||
break
|
||||
//world << "\blue [reagent]: new_assembly_quantities[reagent]<br>"
|
||||
//world << "<span class='notice'>[reagent]: new_assembly_quantities[reagent]<br></span>"
|
||||
if(fail)
|
||||
del(F)
|
||||
compressed_matter = old_matter
|
||||
usr << "\red \icon[src] [src] flashes red: \'Out of matter.\'"
|
||||
usr << "<span class='warning'>\icon[src] [src] flashes red: \'Out of matter.\'</span>"
|
||||
else
|
||||
F.loc = src.loc//get_step(get_turf(src), src.dir)
|
||||
F.percent_depleted = 0
|
||||
|
||||
@@ -50,21 +50,21 @@
|
||||
user << "You begin removing the circuitboard" //lpeters - fixed grammar issues
|
||||
if(do_after(user, 50))
|
||||
user.visible_message(\
|
||||
"\red [user.name] has removed the circuitboard from [src.name]!",\
|
||||
"\blue You remove the circuitboard board.")
|
||||
"<span class='warning'>[user.name] has removed the circuitboard from [src.name]!</span>",\
|
||||
"<span class='notice'>You remove the circuitboard board.</span>")
|
||||
has_electronics = 0
|
||||
new /obj/item/weapon/module/rust_fuel_compressor(loc)
|
||||
has_electronics &= ~1
|
||||
else
|
||||
opened = 0
|
||||
icon_state = "fuel_compressor0"
|
||||
user << "\blue You close the maintenance cover."
|
||||
user << "<span class='notice'>You close the maintenance cover.</span>"
|
||||
else
|
||||
if(compressed_matter > 0)
|
||||
user << "\red You cannot open the cover while there is compressed matter inside."
|
||||
user << "<span class='warning'>You cannot open the cover while there is compressed matter inside.</span>"
|
||||
else
|
||||
opened = 1
|
||||
user << "\blue You open the maintenance cover."
|
||||
user << "<span class='notice'>You open the maintenance cover.</span>"
|
||||
icon_state = "fuel_compressor1"
|
||||
return
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
user << "You [ locked ? "lock" : "unlock"] the compressor interface."
|
||||
update_icon()
|
||||
else
|
||||
user << "\red Access denied."
|
||||
user << "<span class='warning'>Access denied.</span>"
|
||||
return
|
||||
|
||||
else if (istype(W, /obj/item/weapon/card/emag) && !emagged) // trying to unlock with an emag card
|
||||
@@ -97,14 +97,14 @@
|
||||
else if (istype(W, /obj/item/stack/cable_coil) && opened && !(has_electronics & 2))
|
||||
var/obj/item/stack/cable_coil/C = W
|
||||
if(C.amount < 10)
|
||||
user << "\red You need more wires."
|
||||
user << "<span class='warning'>You need more wires.</span>"
|
||||
return
|
||||
user << "You start adding cables to the compressor frame..."
|
||||
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
if(do_after(user, 20) && C.amount >= 10)
|
||||
C.use(10)
|
||||
user.visible_message(\
|
||||
"\red [user.name] has added cables to the compressor frame!",\
|
||||
"<span class='warning'>[user.name] has added cables to the compressor frame!</span>",\
|
||||
"You add cables to the port frame.")
|
||||
has_electronics &= 2
|
||||
return
|
||||
@@ -115,7 +115,7 @@
|
||||
if(do_after(user, 50))
|
||||
new /obj/item/stack/cable_coil(loc,10)
|
||||
user.visible_message(\
|
||||
"\red [user.name] cut the cabling inside the compressor.",\
|
||||
"<span class='warning'>[user.name] cut the cabling inside the compressor.</span>",\
|
||||
"You cut the cabling inside the port.")
|
||||
has_electronics &= ~2
|
||||
return
|
||||
@@ -132,7 +132,7 @@
|
||||
else if (istype(W, /obj/item/weapon/weldingtool) && opened && !has_electronics)
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if (WT.get_fuel() < 3)
|
||||
user << "\blue You need more welding fuel to complete this task."
|
||||
user << "<span class='notice'>You need more welding fuel to complete this task.</span>"
|
||||
return
|
||||
user << "You start welding the compressor frame..."
|
||||
playsound(get_turf(src), 'sound/items/Welder.ogg', 50, 1)
|
||||
@@ -140,9 +140,9 @@
|
||||
if(!src || !WT.remove_fuel(3, user)) return
|
||||
new /obj/item/mounted/frame/rust_fuel_assembly_port(loc)
|
||||
user.visible_message(\
|
||||
"\red [src] has been cut away from the wall by [user.name].",\
|
||||
"<span class='warning'>[src] has been cut away from the wall by [user.name].</span>",\
|
||||
"You detached the compressor frame.",\
|
||||
"\red You hear welding.")
|
||||
"<span class='warning'>You hear welding.</span>")
|
||||
del(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
if(!emagged)
|
||||
locked = 0
|
||||
emagged = 1
|
||||
user.visible_message("[user.name] emags the [src.name].","\red You short out the lock.")
|
||||
user.visible_message("[user.name] emags the [src.name].","<span class='warning'>You short out the lock.</span>")
|
||||
return 1
|
||||
return -1
|
||||
/obj/machinery/power/rust_fuel_injector/attackby(obj/item/W, mob/user)
|
||||
@@ -62,13 +62,13 @@
|
||||
|
||||
if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda))
|
||||
if(emagged)
|
||||
user << "\red The lock seems to be broken"
|
||||
user << "<span class='warning'>The lock seems to be broken</span>"
|
||||
return
|
||||
if(src.allowed(user))
|
||||
src.locked = !src.locked
|
||||
user << "The controls are now [src.locked ? "locked." : "unlocked."]"
|
||||
else
|
||||
user << "\red Access denied."
|
||||
user << "<span class='warning'>Access denied.</span>"
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/fuel_assembly) && !cur_assembly)
|
||||
@@ -164,7 +164,7 @@
|
||||
if( href_list["fuel_usage"] )
|
||||
var/new_usage = text2num(input("Enter new fuel usage (0.01% - 100%)", "Modifying fuel usage", fuel_usage * 100))
|
||||
if(!new_usage)
|
||||
usr << "\red That's not a valid number."
|
||||
usr << "<span class='warning'>That's not a valid number.</span>"
|
||||
return
|
||||
new_usage = max(new_usage, 0.01)
|
||||
new_usage = min(new_usage, 100)
|
||||
@@ -245,10 +245,10 @@
|
||||
|
||||
break
|
||||
if(success)
|
||||
src.visible_message("\blue \icon[src] a green light flashes on [src].")
|
||||
src.visible_message("<span class='notice'>\icon[src] a green light flashes on [src].</span>")
|
||||
updateDialog()
|
||||
else
|
||||
src.visible_message("\red \icon[src] a red light flashes on [src].")
|
||||
src.visible_message("<span class='warning'>\icon[src] a red light flashes on [src].</span>")
|
||||
|
||||
/obj/machinery/power/rust_fuel_injector/verb/rotate_clock()
|
||||
set category = "Object"
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
if( href_list["modifypower"] )
|
||||
var/new_val = text2num(input("Enter new emission power level (0.001 - 0.01)", "Modifying power level (MeV)", mega_energy))
|
||||
if(!new_val)
|
||||
usr << "\red That's not a valid number."
|
||||
usr << "<span class='warning'>That's not a valid number.</span>"
|
||||
return
|
||||
new_val = min(new_val,0.01)
|
||||
new_val = max(new_val,0.001)
|
||||
@@ -47,7 +47,7 @@
|
||||
if( href_list["modifyrate"] )
|
||||
var/new_val = text2num(input("Enter new emission rate (1 - 10)", "Modifying emission rate (sec)", rate))
|
||||
if(!new_val)
|
||||
usr << "\red That's not a valid number."
|
||||
usr << "<span class='warning'>That's not a valid number.</span>"
|
||||
return
|
||||
new_val = min(new_val,1)
|
||||
new_val = max(new_val,10)
|
||||
@@ -58,7 +58,7 @@
|
||||
if( href_list["modifyfreq"] )
|
||||
var/new_val = text2num(input("Enter new emission frequency (1 - 50000)", "Modifying emission frequency (GHz)", frequency))
|
||||
if(!new_val)
|
||||
usr << "\red That's not a valid number."
|
||||
usr << "<span class='warning'>That's not a valid number.</span>"
|
||||
return
|
||||
new_val = min(new_val,1)
|
||||
new_val = max(new_val,50000)
|
||||
|
||||
@@ -49,5 +49,5 @@
|
||||
|
||||
/obj/effect/rust_particle_catcher/Bumped(atom/AM)
|
||||
if(ismob(AM) && density && prob(10))
|
||||
AM << "\red A powerful force pushes you back."
|
||||
AM << "<span class='warning'>A powerful force pushes you back.</span>"
|
||||
..()
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
user << "Controls are now [src.locked ? "locked." : "unlocked."]"
|
||||
updateDialog()
|
||||
else
|
||||
user << "\red Access denied."
|
||||
user << "<span class='warning'>Access denied.</span>"
|
||||
|
||||
/obj/machinery/shield_capacitor/attack_paw(user as mob)
|
||||
return src.attack_hand(user)
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
user << "Controls are now [src.locked ? "locked." : "unlocked."]"
|
||||
updateDialog()
|
||||
else
|
||||
user << "\red Access denied."
|
||||
user << "<span class='warning'>Access denied.</span>"
|
||||
|
||||
/obj/machinery/shield_gen/attack_paw(user as mob)
|
||||
return src.attack_hand(user)
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
var/obj/machinery/engine/laser/laser = src.laser[1]
|
||||
|
||||
if(!laser)
|
||||
t += "\red No laser found"
|
||||
t += "<span class='warning'>No laser found</span>"
|
||||
else
|
||||
|
||||
|
||||
|
||||
@@ -64,9 +64,9 @@
|
||||
src.use_power = 2
|
||||
update_icon()
|
||||
else
|
||||
user << "\red The controls are locked!"
|
||||
user << "<span class='warning'>The controls are locked!</span>"
|
||||
else
|
||||
user << "\red The [src] needs to be firmly secured to the floor first."
|
||||
user << "<span class='warning'>The [src] needs to be firmly secured to the floor first.</span>"
|
||||
return 1
|
||||
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
if(!emagged)
|
||||
locked = 0
|
||||
emagged = 1
|
||||
user.visible_message("[user.name] emags the [src.name].","\red You short out the lock.")
|
||||
user.visible_message("[user.name] emags the [src.name].","<span class='warning'>You short out the lock.</span>")
|
||||
return 1
|
||||
return -1
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
|
||||
if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda))
|
||||
if(emagged)
|
||||
user << "\red The lock seems to be broken"
|
||||
user << "<span class='warning'>The lock seems to be broken</span>"
|
||||
return
|
||||
if(src.allowed(user))
|
||||
if(active)
|
||||
@@ -137,9 +137,9 @@
|
||||
user << "The controls are now [src.locked ? "locked." : "unlocked."]"
|
||||
else
|
||||
src.locked = 0 //just in case it somehow gets locked
|
||||
user << "\red The controls can only be locked when the [src] is online"
|
||||
user << "<span class='warning'>The controls can only be locked when the [src] is online</span>"
|
||||
else
|
||||
user << "\red Access denied."
|
||||
user << "<span class='warning'>Access denied.</span>"
|
||||
return
|
||||
return
|
||||
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
spawn(rand(4,120) * 10)
|
||||
M.explode()
|
||||
for(var/mob/P in view(7))
|
||||
P.visible_message("\red The missile skids to a halt, vibrating and sparking ominously!")
|
||||
P.visible_message("<span class='warning'>The missile skids to a halt, vibrating and sparking ominously!</span>")
|
||||
|
||||
if(!cur_target)
|
||||
cur_target = get_new_target() //get new target
|
||||
@@ -252,10 +252,10 @@
|
||||
playsound(src.loc, 'sound/weapons/slash.ogg', 25, 1, -1)
|
||||
for(var/mob/O in viewers(src, null))
|
||||
if ((O.client && !( O.blinded )))
|
||||
O.show_message(text("\red <B>[] has slashed at []!</B>", M, src), 1)
|
||||
O.show_message(text("<span class='warning'><B>[] has slashed at []!</B></span>", M, src), 1)
|
||||
src.health -= 15
|
||||
if (src.health <= 0)
|
||||
src.die()
|
||||
else
|
||||
M << "\green That object is useless to you."
|
||||
M << "<span class='good'>That object is useless to you.</span>"
|
||||
return
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
die()
|
||||
return
|
||||
if (contents.len)
|
||||
src.visible_message("\red [src] slams into [hit_atom] spilling its contents!")
|
||||
src.visible_message("<span class='warning'>[src] slams into [hit_atom] spilling its contents!</span>")
|
||||
for (var/obj/item/clothing/mask/cigarette/O in contents)
|
||||
contents -= O
|
||||
O.loc = src.loc
|
||||
@@ -62,7 +62,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/item/ashtray/proc/die()
|
||||
src.visible_message("\red [src] shatters spilling its contents!")
|
||||
src.visible_message("<span class='warning'>[src] shatters spilling its contents!</span>")
|
||||
for (var/obj/item/clothing/mask/cigarette/O in contents)
|
||||
contents -= O
|
||||
O.loc = src.loc
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
|
||||
/datum/medical_effect/headache/cure(mob/living/carbon/human/H)
|
||||
if(H.reagents.has_reagent("alkysine") || H.reagents.has_reagent("tramadol"))
|
||||
//H << "\red Your head stops throbbing.." // Halt spam.
|
||||
//H << "<span class='warning'>Your head stops throbbing..</span>" // Halt spam.
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
/datum/medical_effect/bad_stomach/cure(mob/living/carbon/human/H)
|
||||
if(H.reagents.has_reagent("anti_toxin"))
|
||||
H << "\red Your stomach feels a little better now.."
|
||||
H << "<span class='warning'>Your stomach feels a little better now..</span>"
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
|
||||
/datum/medical_effect/cramps/cure(mob/living/carbon/human/H)
|
||||
if(H.reagents.has_reagent("inaprovaline"))
|
||||
H << "\red The cramps let up.."
|
||||
H << "<span class='warning'>The cramps let up..</span>"
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -143,6 +143,6 @@
|
||||
|
||||
/datum/medical_effect/itch/cure(mob/living/carbon/human/H)
|
||||
if(H.reagents.has_reagent("inaprovaline"))
|
||||
H << "\red The itching stops.."
|
||||
H << "<span class='warning'>The itching stops..</span>"
|
||||
return 1
|
||||
return 0
|
||||
@@ -46,7 +46,7 @@
|
||||
target_name = str
|
||||
name = "[target_name]'s demotion microchip"
|
||||
desc = desc + " Stamped by:"
|
||||
user << "\blue The demotion microchip for [src.target_name] is now ready to be stamped."
|
||||
user << "<span class='notice'>The demotion microchip for [src.target_name] is now ready to be stamped.</span>"
|
||||
|
||||
/obj/item/demote_chip/attackby(obj/item/I as obj, mob/user as mob)
|
||||
if(istype(I, /obj/item/weapon/stamp))
|
||||
@@ -56,39 +56,39 @@
|
||||
if(cap == 0)
|
||||
desc = desc + "/Captain"
|
||||
cap = 1
|
||||
user << "\blue You stamp the demotion microchip of [target_name]."
|
||||
user << "<span class='notice'>You stamp the demotion microchip of [target_name].</span>"
|
||||
if(istype(S, /obj/item/weapon/stamp/hop))
|
||||
if(hop == 0)
|
||||
desc = desc + "/HoP"
|
||||
hop = 1
|
||||
user << "\blue You stamp the demotion microchip of [target_name]."
|
||||
user << "<span class='notice'>You stamp the demotion microchip of [target_name].</span>"
|
||||
if(istype(S, /obj/item/weapon/stamp/hos))
|
||||
if(hos == 0)
|
||||
desc = desc + "/HoS"
|
||||
hos = 1
|
||||
user << "\blue You stamp the demotion microchip of [target_name]."
|
||||
user << "<span class='notice'>You stamp the demotion microchip of [target_name].</span>"
|
||||
if(istype(S, /obj/item/weapon/stamp/ce))
|
||||
if(ce == 0)
|
||||
desc = desc + "/CE"
|
||||
ce = 1
|
||||
user << "\blue You stamp the demotion microchip of [target_name]."
|
||||
user << "<span class='notice'>You stamp the demotion microchip of [target_name].</span>"
|
||||
if(istype(S, /obj/item/weapon/stamp/rd))
|
||||
if(rd == 0)
|
||||
desc = desc + "/RD"
|
||||
rd = 1
|
||||
user << "\blue You stamp the demotion microchip of [target_name]."
|
||||
user << "<span class='notice'>You stamp the demotion microchip of [target_name].</span>"
|
||||
if(istype(S, /obj/item/weapon/stamp/cmo))
|
||||
if(cmo == 0)
|
||||
desc = desc + "/CMO"
|
||||
cmo = 1
|
||||
user << "\blue You stamp the demotion microchip of [target_name]."
|
||||
user << "<span class='notice'>You stamp the demotion microchip of [target_name].</span>"
|
||||
if(istype(S, /obj/item/weapon/stamp/clown))
|
||||
if(clown == 0)
|
||||
desc = desc + "/HONK"
|
||||
clown = 1
|
||||
user << "\blue You stamp the demotion microchip of [target_name]."
|
||||
user << "<span class='notice'>You stamp the demotion microchip of [target_name].</span>"
|
||||
else
|
||||
user << "\blue The chip has not been initialized."
|
||||
user << "<span class='notice'>The chip has not been initialized.</span>"
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -97,9 +97,9 @@
|
||||
if(istype(I, /obj/item/demote_chip/))
|
||||
var/obj/item/demote_chip/DE = I
|
||||
if(registered_name != DE.target_name)
|
||||
user << "\blue Failed to apply, names do not match."
|
||||
user << "<span class='notice'>Failed to apply, names do not match.</span>"
|
||||
else if(bans != null)
|
||||
user << "\blue This card already has a microchip applied"
|
||||
user << "<span class='notice'>This card already has a microchip applied</span>"
|
||||
else
|
||||
icon_state = "centcom_old"
|
||||
bans = "9" //if get_region_accesses ever uses 9 we're fucked
|
||||
@@ -112,11 +112,11 @@
|
||||
if(istype(I, /obj/item/demote_chip))
|
||||
var/obj/item/demote_chip/D = I
|
||||
if(registered_name != D.target_name)
|
||||
user << "\blue Failed to apply, names do not match."
|
||||
user << "<span class='notice'>Failed to apply, names do not match.</span>"
|
||||
else if(bans != null)
|
||||
user << "\blue This card already has a microchip applied"
|
||||
user << "<span class='notice'>This card already has a microchip applied</span>"
|
||||
else if(icon_state == "gold")
|
||||
user << "\blue This microchip cannot apply to this card type."
|
||||
user << "<span class='notice'>This microchip cannot apply to this card type.</span>"
|
||||
else
|
||||
|
||||
if(D.cap == 1)
|
||||
@@ -139,7 +139,7 @@
|
||||
access -= get_region_accesses(2)
|
||||
bans = bans + "2"
|
||||
if(bans == null)
|
||||
user << "\blue You require at least one stamp."
|
||||
user << "<span class='notice'>You require at least one stamp.</span>"
|
||||
return
|
||||
icon_state = "centcom_old"
|
||||
del(D)
|
||||
|
||||
@@ -51,7 +51,7 @@ log transactions
|
||||
if(linked_db && ( (linked_db.stat & NOPOWER) || !linked_db.activated ) )
|
||||
linked_db = null
|
||||
authenticated_account = null
|
||||
src.visible_message("\red \icon[src] [src] buzzes rudely, \"Connection to remote database lost.\"")
|
||||
src.visible_message("<span class='warning'>\icon[src] [src] buzzes rudely, \"Connection to remote database lost.\"</span>")
|
||||
updateDialog()
|
||||
|
||||
if(ticks_left_timeout > 0)
|
||||
@@ -122,7 +122,7 @@ log transactions
|
||||
|
||||
/obj/machinery/atm/attack_hand(mob/user as mob)
|
||||
if(istype(user, /mob/living/silicon))
|
||||
user << "\red Artificial unit recognized. Artificial units do not currently receive monetary compensation, as per NanoTrasen regulation #1005."
|
||||
user << "<span class='warning'>Artificial unit recognized. Artificial units do not currently receive monetary compensation, as per NanoTrasen regulation #1005.</span>"
|
||||
return
|
||||
if(get_dist(src,user) <= 1)
|
||||
//check to see if the user has low security enabled
|
||||
@@ -277,11 +277,11 @@ log transactions
|
||||
T.time = worldtime2text()
|
||||
failed_account.transaction_log.Add(T)
|
||||
else
|
||||
usr << "\red \icon[src] Incorrect pin/account combination entered, [max_pin_attempts - number_incorrect_tries] attempts remaining."
|
||||
usr << "<span class='warning'>\icon[src] Incorrect pin/account combination entered, [max_pin_attempts - number_incorrect_tries] attempts remaining.</span>"
|
||||
previous_account_number = tried_account_num
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 1)
|
||||
else
|
||||
usr << "\red \icon[src] incorrect pin/account combination entered."
|
||||
usr << "<span class='warning'>\icon[src] incorrect pin/account combination entered.</span>"
|
||||
number_incorrect_tries = 0
|
||||
else
|
||||
playsound(src, 'sound/machines/twobeep.ogg', 50, 1)
|
||||
@@ -297,7 +297,7 @@ log transactions
|
||||
T.time = worldtime2text()
|
||||
authenticated_account.transaction_log.Add(T)
|
||||
|
||||
usr << "\blue \icon[src] Access granted. Welcome user '[authenticated_account.owner_name].'"
|
||||
usr << "<span class='notice'>\icon[src] Access granted. Welcome user '[authenticated_account.owner_name].'</span>"
|
||||
|
||||
previous_account_number = tried_account_num
|
||||
if("withdrawal")
|
||||
@@ -310,7 +310,7 @@ log transactions
|
||||
|
||||
//remove the money
|
||||
if(amount > 10000) // prevent crashes
|
||||
usr << "\blue The ATM's screen flashes, 'Maximum single withdrawl limit reached, defaulting to 10,000.'"
|
||||
usr << "<span class='notice'>The ATM's screen flashes, 'Maximum single withdrawl limit reached, defaulting to 10,000.'</span>"
|
||||
amount = 10000
|
||||
authenticated_account.money -= amount
|
||||
withdraw_arbitrary_sum(amount)
|
||||
@@ -391,7 +391,7 @@ log transactions
|
||||
if(I)
|
||||
authenticated_account = linked_db.attempt_account_access(I.associated_account_number)
|
||||
if(authenticated_account)
|
||||
human_user << "\blue \icon[src] Access granted. Welcome user '[authenticated_account.owner_name].'"
|
||||
human_user << "<span class='notice'>\icon[src] Access granted. Welcome user '[authenticated_account.owner_name].'</span>"
|
||||
|
||||
//create a transaction log entry
|
||||
var/datum/transaction/T = new()
|
||||
|
||||
@@ -77,8 +77,8 @@ var/global/list/atmos_controllers = list()
|
||||
|
||||
/obj/machinery/computer/atmoscontrol/attackby(var/obj/item/I as obj, var/mob/user as mob)
|
||||
if(istype(I, /obj/item/weapon/card/emag) && !emagged)
|
||||
user.visible_message("\red \The [user] swipes \a [I] through \the [src], causing the screen to flash!",\
|
||||
"\red You swipe your [I] through \the [src], the screen flashing as you gain full control.",\
|
||||
user.visible_message("<span class='warning'>\The [user] swipes \a [I] through \the [src], causing the screen to flash!</span>",\
|
||||
"<span class='warning'>You swipe your [I] through \the [src], the screen flashing as you gain full control.</span>",\
|
||||
"You hear the swipe of a card through a reader, and an electronic warble.")
|
||||
emagged = 1
|
||||
overridden = 1
|
||||
|
||||
@@ -151,7 +151,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='warning'>\the [src] rattles and prints out a sheet of paper.</span>", 1)
|
||||
|
||||
sleep(10)
|
||||
|
||||
@@ -187,7 +187,7 @@
|
||||
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='warning'>A new patient has been registered.. Purging data for previous patient.</span>"
|
||||
|
||||
src.timeofdeath = M.timeofdeath
|
||||
|
||||
@@ -199,7 +199,7 @@
|
||||
usr << "<b>You have to cut the limb open first!</b>"
|
||||
return
|
||||
for(var/mob/O in viewers(M))
|
||||
O.show_message("\red [user.name] scans the wounds on [M.name]'s [S.display_name] with \the [src.name]", 1)
|
||||
O.show_message("<span class='warning'>[user.name] scans the wounds on [M.name]'s [S.display_name] with \the [src.name]</span>", 1)
|
||||
|
||||
src.add_data(S)
|
||||
|
||||
|
||||
@@ -79,35 +79,35 @@
|
||||
Click()
|
||||
switch(master.cl.buildmode)
|
||||
if(1)
|
||||
usr << "\blue ***********************************************************"
|
||||
usr << "\blue Left Mouse Button = Construct / Upgrade"
|
||||
usr << "\blue Right Mouse Button = Deconstruct / Delete / Downgrade"
|
||||
usr << "\blue Left Mouse Button + ctrl = R-Window"
|
||||
usr << "\blue Left Mouse Button + alt = Airlock"
|
||||
usr << "<span class='notice'>***********************************************************</span>"
|
||||
usr << "<span class='notice'>Left Mouse Button = Construct / Upgrade</span>"
|
||||
usr << "<span class='notice'>Right Mouse Button = Deconstruct / Delete / Downgrade</span>"
|
||||
usr << "<span class='notice'>Left Mouse Button + ctrl = R-Window</span>"
|
||||
usr << "<span class='notice'>Left Mouse Button + alt = Airlock</span>"
|
||||
usr << ""
|
||||
usr << "\blue Use the button in the upper left corner to"
|
||||
usr << "\blue change the direction of built objects."
|
||||
usr << "\blue ***********************************************************"
|
||||
usr << "<span class='notice'>Use the button in the upper left corner to</span>"
|
||||
usr << "<span class='notice'>change the direction of built objects.</span>"
|
||||
usr << "<span class='notice'>***********************************************************</span>"
|
||||
if(2)
|
||||
usr << "\blue ***********************************************************"
|
||||
usr << "\blue Right Mouse Button on buildmode button = Set object type"
|
||||
usr << "\blue Left Mouse Button on turf/obj = Place objects"
|
||||
usr << "\blue Right Mouse Button = Delete objects"
|
||||
usr << "<span class='notice'>***********************************************************</span>"
|
||||
usr << "<span class='notice'>Right Mouse Button on buildmode button = Set object type</span>"
|
||||
usr << "<span class='notice'>Left Mouse Button on turf/obj = Place objects</span>"
|
||||
usr << "<span class='notice'>Right Mouse Button = Delete objects</span>"
|
||||
usr << ""
|
||||
usr << "\blue Use the button in the upper left corner to"
|
||||
usr << "\blue change the direction of built objects."
|
||||
usr << "\blue ***********************************************************"
|
||||
usr << "<span class='notice'>Use the button in the upper left corner to</span>"
|
||||
usr << "<span class='notice'>change the direction of built objects.</span>"
|
||||
usr << "<span class='notice'>***********************************************************</span>"
|
||||
if(3)
|
||||
usr << "\blue ***********************************************************"
|
||||
usr << "\blue Right Mouse Button on buildmode button = Select var(type) & value"
|
||||
usr << "\blue Left Mouse Button on turf/obj/mob = Set var(type) & value"
|
||||
usr << "\blue Right Mouse Button on turf/obj/mob = Reset var's value"
|
||||
usr << "\blue ***********************************************************"
|
||||
usr << "<span class='notice'>***********************************************************</span>"
|
||||
usr << "<span class='notice'>Right Mouse Button on buildmode button = Select var(type) & value</span>"
|
||||
usr << "<span class='notice'>Left Mouse Button on turf/obj/mob = Set var(type) & value</span>"
|
||||
usr << "<span class='notice'>Right Mouse Button on turf/obj/mob = Reset var's value</span>"
|
||||
usr << "<span class='notice'>***********************************************************</span>"
|
||||
if(4)
|
||||
usr << "\blue ***********************************************************"
|
||||
usr << "\blue Left Mouse Button on turf/obj/mob = Select"
|
||||
usr << "\blue Right Mouse Button on turf/obj/mob = Throw"
|
||||
usr << "\blue ***********************************************************"
|
||||
usr << "<span class='notice'>***********************************************************</span>"
|
||||
usr << "<span class='notice'>Left Mouse Button on turf/obj/mob = Select</span>"
|
||||
usr << "<span class='notice'>Right Mouse Button on turf/obj/mob = Throw</span>"
|
||||
usr << "<span class='notice'>***********************************************************</span>"
|
||||
return 1
|
||||
|
||||
/obj/effect/bmode/buildquit
|
||||
@@ -272,13 +272,13 @@
|
||||
log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]")
|
||||
object.vars[holder.buildmode.varholder] = holder.buildmode.valueholder
|
||||
else
|
||||
usr << "\red [initial(object.name)] does not have a var called '[holder.buildmode.varholder]'"
|
||||
usr << "<span class='warning'>[initial(object.name)] does not have a var called '[holder.buildmode.varholder]'</span>"
|
||||
if(pa.Find("right"))
|
||||
if(object.vars.Find(holder.buildmode.varholder))
|
||||
log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]")
|
||||
object.vars[holder.buildmode.varholder] = initial(object.vars[holder.buildmode.varholder])
|
||||
else
|
||||
usr << "\red [initial(object.name)] does not have a var called '[holder.buildmode.varholder]'"
|
||||
usr << "<span class='warning'>[initial(object.name)] does not have a var called '[holder.buildmode.varholder]'</span>"
|
||||
|
||||
if(4)
|
||||
if(pa.Find("left"))
|
||||
|
||||
@@ -34,7 +34,7 @@ var/list/alldepartments = list("Central Command")
|
||||
alldepartments += department
|
||||
|
||||
/obj/machinery/faxmachine/attack_ghost(mob/user as mob)
|
||||
usr << "\red Nope."
|
||||
usr << "<span class='warning'>Nope.</span>"
|
||||
return 0
|
||||
|
||||
/obj/machinery/faxmachine/attack_ai(mob/user as mob)
|
||||
@@ -189,7 +189,7 @@ var/list/alldepartments = list("Central Command")
|
||||
|
||||
/proc/Centcomm_fax(var/obj/item/weapon/paper/sent, var/sentname, var/mob/Sender)
|
||||
|
||||
var/msg = "\blue <b><font color='orange'>CENTCOMM FAX: </font>[key_name(Sender, 1)] (<A HREF='?_src_=holder;adminplayeropts=\ref[Sender]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[Sender]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[Sender]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[Sender]'>JMP</A>) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<a href='?_src_=holder;CentcommFaxReply=\ref[Sender]'>RPLY</a>)</b>: Receiving '[sentname]' via secure connection ... <a href='?_src_=holder;CentcommFaxView=\ref[sent]'>view message</a>"
|
||||
var/msg = "<span class='notice'><b><font color='orange'>CENTCOMM FAX: </font>[key_name(Sender, 1)] (<A HREF='?_src_=holder;adminplayeropts=\ref[Sender]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[Sender]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[Sender]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[Sender]'>JMP</A>) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<a href='?_src_=holder;CentcommFaxReply=\ref[Sender]'>RPLY</a>)</b>: Receiving '[sentname]' via secure connection ... <a href='?_src_=holder;CentcommFaxView=\ref[sent]'>view message</a></span>"
|
||||
admins << msg
|
||||
admins << 'sound/effects/fax.ogg'
|
||||
|
||||
|
||||
@@ -313,11 +313,11 @@
|
||||
if (usr.stat || !ishuman(usr))
|
||||
return
|
||||
if (src.occupant)
|
||||
usr << "\blue <B>The [src.name] is already occupied!</B>"
|
||||
usr << "<span class='notice'><B>The [src.name] is already occupied!</B></span>"
|
||||
return
|
||||
/*
|
||||
if (usr.abiotic())
|
||||
usr << "\blue <B>Subject cannot have abiotic items on.</B>"
|
||||
usr << "<span class='notice'><B>Subject cannot have abiotic items on.</B></span>"
|
||||
return
|
||||
*/
|
||||
for(var/mob/living/carbon/slime/M in range(1,usr))
|
||||
@@ -326,7 +326,7 @@
|
||||
return
|
||||
// usr << "You start climbing into [src.name]"
|
||||
|
||||
visible_message("\blue [usr] starts to climb into [src.name]")
|
||||
visible_message("<span class='notice'>[usr] starts to climb into [src.name]</span>")
|
||||
|
||||
if(enter_after(40,usr))
|
||||
if(!src.occupant)
|
||||
|
||||
@@ -54,10 +54,10 @@ mob/proc/airflow_stun()
|
||||
return 0
|
||||
if(last_airflow_stun > world.time - zas_settings.Get(/datum/ZAS_Setting/airflow_stun_cooldown)) return 0
|
||||
if(!(status_flags & CANSTUN) && !(status_flags & CANWEAKEN))
|
||||
src << "\blue You stay upright as the air rushes past you."
|
||||
src << "<span class='notice'>You stay upright as the air rushes past you.</span>"
|
||||
return 0
|
||||
|
||||
if(weakened <= 0) src << "\red The sudden rush of air knocks you over!"
|
||||
if(weakened <= 0) src << "<span class='warning'>The sudden rush of air knocks you over!</span>"
|
||||
weakened = max(weakened,5)
|
||||
last_airflow_stun = world.time
|
||||
return
|
||||
@@ -74,10 +74,10 @@ mob/living/carbon/human/airflow_stun()
|
||||
if(shoes)
|
||||
if(shoes.flags & NOSLIP) return 0
|
||||
if(!(status_flags & CANSTUN) && !(status_flags & CANWEAKEN))
|
||||
src << "\blue You stay upright as the air rushes past you."
|
||||
src << "<span class='notice'>You stay upright as the air rushes past you.</span>"
|
||||
return 0
|
||||
|
||||
if(weakened <= 0) src << "\red The sudden rush of air knocks you over!"
|
||||
if(weakened <= 0) src << "<span class='warning'>The sudden rush of air knocks you over!</span>"
|
||||
weakened = max(weakened,rand(1,5))
|
||||
last_airflow_stun = world.time
|
||||
return
|
||||
@@ -374,7 +374,7 @@ atom/movable/proc/airflow_hit(atom/A)
|
||||
mob/airflow_hit(atom/A)
|
||||
if(!sound_override)
|
||||
for(var/mob/M in hearers(src))
|
||||
M.show_message("\red <B>\The [src] slams into \a [A]!</B>",1,"\red You hear a loud slam!",2)
|
||||
M.show_message("<span class='warning'><B>\The [src] slams into \a [A]!</B></span>",1,"<span class='warning'>You hear a loud slam!</span>",2)
|
||||
//playsound(get_turf(src), "smash.ogg", 25, 1, -1)
|
||||
weakened = max(weakened, (istype(A,/obj/item) ? A:w_class : rand(1,5))) //Heheheh
|
||||
. = ..()
|
||||
@@ -382,7 +382,7 @@ mob/airflow_hit(atom/A)
|
||||
obj/airflow_hit(atom/A)
|
||||
if(!sound_override)
|
||||
for(var/mob/M in hearers(src))
|
||||
M.show_message("\red <B>\The [src] slams into \a [A]!</B>",1,"\red You hear a loud slam!",2)
|
||||
M.show_message("<span class='warning'><B>\The [src] slams into \a [A]!</B></span>",1,"<span class='warning'>You hear a loud slam!</span>",2)
|
||||
//playsound(get_turf(src), "smash.ogg", 25, 1, -1)
|
||||
. = ..()
|
||||
|
||||
@@ -392,7 +392,7 @@ obj/item/airflow_hit(atom/A)
|
||||
|
||||
mob/living/carbon/human/airflow_hit(atom/A)
|
||||
// for(var/mob/M in hearers(src))
|
||||
// M.show_message("\red <B>[src] slams into [A]!</B>",1,"\red You hear a loud slam!",2)
|
||||
// M.show_message("<span class='warning'><B>[src] slams into [A]!</B></span>",1,"<span class='warning'>You hear a loud slam!</span>",2)
|
||||
//playsound(get_turf(src), "punch", 25, 1, -1)
|
||||
if(prob(33))
|
||||
loc:add_blood(src)
|
||||
|
||||
@@ -96,7 +96,7 @@ Class Procs:
|
||||
set background = 1
|
||||
#endif
|
||||
|
||||
world << "\red \b Processing Geometry..."
|
||||
world << "<span class='warning'><B>Processing Geometry...</span></B>"
|
||||
sleep(-1)
|
||||
|
||||
var/start_time = world.timeofday
|
||||
@@ -160,7 +160,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun
|
||||
#ifdef ZASDBG
|
||||
if(updated != updating.len)
|
||||
tick_progress = "[updating.len - updated] tiles left unupdated."
|
||||
world << "\red [tick_progress]"
|
||||
world << "<span class='warning'>[tick_progress]</span>"
|
||||
. = 0
|
||||
#endif
|
||||
|
||||
|
||||
@@ -147,7 +147,7 @@ client/proc/Test_ZAS_Connection(var/turf/simulated/T as turf)
|
||||
for(var/zone/Z in air_master.zones)
|
||||
if(Z.air == air && Z != src)
|
||||
var/turf/zloc = pick(Z.contents)
|
||||
client << "\red Illegal air datum shared by: [zloc.loc.name]"*/
|
||||
client << "<span class='warning'>Illegal air datum shared by: [zloc.loc.name]</span>"*/
|
||||
|
||||
|
||||
/*client/proc/TestZASRebuild()
|
||||
|
||||
@@ -127,7 +127,7 @@ var/datum/controller/air_system/air_master
|
||||
//Outputs: None.
|
||||
|
||||
//set background = 1
|
||||
world << "\red \b Processing Geometry..."
|
||||
world << "<span class='warning'><B>Processing Geometry...</span></B>"
|
||||
sleep(-1)
|
||||
|
||||
var/start_time = world.timeofday
|
||||
|
||||
@@ -312,7 +312,7 @@ var/global/ZAS_Settings/zas_settings = new
|
||||
else
|
||||
error("[id] has an invalid typeval.")
|
||||
return
|
||||
world << "\blue <b>[key_name(user)] changed ZAS setting <i>[setting.name]</i> to <i>[displayedValue]</i>.</b>"
|
||||
world << "<span class='notice'><b>[key_name(user)] changed ZAS setting <i>[setting.name]</i> to <i>[displayedValue]</i>.</b></span>"
|
||||
|
||||
ChangeSettingsDialog(user)
|
||||
|
||||
@@ -514,4 +514,4 @@ a { color: white; }
|
||||
Set("/datum/ZAS_Setting/airflow_speed_decay", 1)
|
||||
Set("/datum/ZAS_Setting/airflow_delay", 20)
|
||||
Set("/datum/ZAS_Setting/airflow_mob_slowdown", 3)
|
||||
world << "\blue <b>[key_name(usr)] loaded ZAS preset <i>[def]</i></b>"
|
||||
world << "<span class='notice'><b>[key_name(usr)] loaded ZAS preset <i>[def]</i></b></span>"
|
||||
@@ -59,7 +59,7 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi')
|
||||
if(zas_settings.Get(/datum/ZAS_Setting/SKIN_BURNS))
|
||||
if(!pl_head_protected() || !pl_suit_protected())
|
||||
burn_skin(0.75)
|
||||
if(prob(20)) src << "\red Your skin burns!"
|
||||
if(prob(20)) src << "<span class='warning'>Your skin burns!</span>"
|
||||
updatehealth()
|
||||
|
||||
//Burn eyes if exposed.
|
||||
@@ -72,7 +72,7 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi')
|
||||
if(zas_settings.Get(/datum/ZAS_Setting/GENETIC_CORRUPTION))
|
||||
if(rand(1,10000) < zas_settings.Get(/datum/ZAS_Setting/GENETIC_CORRUPTION))
|
||||
randmutb(src)
|
||||
src << "\red High levels of toxins cause you to spontaneously mutate."
|
||||
src << "<span class='warning'>High levels of toxins cause you to spontaneously mutate.</span>"
|
||||
domutcheck(src,null)
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi')
|
||||
E.damage += 2.5
|
||||
eye_blurry = min(eye_blurry+1.5,50)
|
||||
if (prob(max(0,E.damage - 15) + 1) && !eye_blind)
|
||||
src << "\red You are blinded!"
|
||||
src << "<span class='warning'>You are blinded!</span>"
|
||||
eye_blind += 20
|
||||
|
||||
/mob/living/carbon/human/proc/pl_head_protected()
|
||||
|
||||
@@ -171,7 +171,7 @@ vs_control
|
||||
vars[ch] = vw
|
||||
if(how == "Toggle")
|
||||
newvar = (newvar?"ON":"OFF")
|
||||
world << "\blue <b>[key_name(user)] changed the setting [display_description] to [newvar].</b>"
|
||||
world << "<span class='notice'><b>[key_name(user)] changed the setting [display_description] to [newvar].</b></span>"
|
||||
if(ch in plc.settings)
|
||||
ChangeSettingsDialog(user,plc.settings)
|
||||
else
|
||||
@@ -296,7 +296,7 @@ vs_control
|
||||
airflow_mob_slowdown = 3
|
||||
|
||||
|
||||
world << "\blue <b>[key_name(user)] changed the global plasma/ZAS settings to \"[def]\"</b>"
|
||||
world << "<span class='notice'><b>[key_name(user)] changed the global plasma/ZAS settings to \"[def]\"</b></span>"
|
||||
|
||||
pl_control
|
||||
var/list/settings = list()
|
||||
|
||||
@@ -243,7 +243,7 @@ var/syndicate_code_response//Code response for traitors.
|
||||
set name = "Generate Code Phrase"
|
||||
set category = "Debug"
|
||||
|
||||
world << "\red Code Phrase is: \black [generate_code_phrase()]"
|
||||
world << "<span class='warning'>Code Phrase is: </span>[generate_code_phrase()]"
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -281,7 +281,7 @@
|
||||
nutrition = max(nutrition - rand(1,5),0)
|
||||
handle_regular_hud_updates()
|
||||
else
|
||||
src << "\red You're out of energy! You need food!"
|
||||
src << "<span class='warning'>You're out of energy! You need food!</span>"
|
||||
|
||||
// Simple helper to face what you clicked on, in case it should be needed in more than one place
|
||||
/mob/proc/face_atom(var/atom/A)
|
||||
|
||||
@@ -250,6 +250,6 @@ datum/hud/New(mob/owner)
|
||||
hud_used.persistant_inventory_update()
|
||||
update_action_buttons()
|
||||
else
|
||||
usr << "\red Inventory hiding is currently only supported for human mobs, sorry."
|
||||
usr << "<span class='warning'>Inventory hiding is currently only supported for human mobs, sorry.</span>"
|
||||
else
|
||||
usr << "\red This mob type does not use a HUD."
|
||||
usr << "<span class='warning'>This mob type does not use a HUD.</span>"
|
||||
|
||||
@@ -69,7 +69,7 @@ obj/item/proc/get_clamped_volume()
|
||||
if(istype(M, /mob/living/carbon/slime))
|
||||
var/mob/living/carbon/slime/slime = M
|
||||
if(prob(25))
|
||||
user << "\red [src] passes right through [M]!"
|
||||
user << "<span class='warning'>[src] passes right through [M]!</span>"
|
||||
return
|
||||
|
||||
if(power > 0)
|
||||
@@ -155,7 +155,7 @@ obj/item/proc/get_clamped_volume()
|
||||
|
||||
if(!showname && user)
|
||||
if(user.client)
|
||||
user << "\red <B>You attack [M] with [src]. </B>"
|
||||
user << "<span class='warning'><B>You attack [M] with [src]. </B></span>"
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
if(prob(75))
|
||||
ML.apply_damage(rand(1,3), BRUTE, dam_zone, armor)
|
||||
for(var/mob/O in viewers(ML, null))
|
||||
O.show_message("\red <B>[name] has bit [ML]!</B>", 1)
|
||||
O.show_message("<span class='warning'><B>[name] has bit [ML]!</B></span>", 1)
|
||||
if(armor >= 2) return
|
||||
if(ismonkey(ML))
|
||||
for(var/datum/disease/D in viruses)
|
||||
@@ -113,7 +113,7 @@
|
||||
ML.contract_disease(D,1,0)
|
||||
else
|
||||
for(var/mob/O in viewers(ML, null))
|
||||
O.show_message("\red <B>[src] has attempted to bite [ML]!</B>", 1)
|
||||
O.show_message("<span class='warning'><B>[src] has attempted to bite [ML]!</B></span>", 1)
|
||||
|
||||
/*
|
||||
Aliens
|
||||
|
||||
@@ -123,7 +123,7 @@ var/const/tk_maxrange = 15
|
||||
if(8 to tk_maxrange)
|
||||
user.next_move += 10
|
||||
else
|
||||
user << "\blue Your mind won't reach that far."
|
||||
user << "<span class='notice'>Your mind won't reach that far.</span>"
|
||||
return*/
|
||||
if(d > tk_maxrange)
|
||||
user << "<span class='warning'>Your mind won't reach that far.</span>"
|
||||
|
||||
@@ -130,7 +130,7 @@ var/soft_dels = 0
|
||||
garbageCollector.del_everything = !garbageCollector.del_everything
|
||||
world << "<b>GC: qdel turned [garbageCollector.del_everything ? "off" : "on"].</b>"
|
||||
log_admin("[key_name(usr)] turned qdel [garbageCollector.del_everything ? "off" : "on"].")
|
||||
message_admins("\blue [key_name(usr)] turned qdel [garbageCollector.del_everything ? "off" : "on"].", 1)
|
||||
message_admins("<span class='notice'>[key_name(usr)] turned qdel [garbageCollector.del_everything ? "off" : "on"].</span>", 1)
|
||||
|
||||
/*/client/var/running_find_references
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ datum/controller/game_controller/New()
|
||||
job_master = new /datum/controller/occupations()
|
||||
job_master.SetupOccupations()
|
||||
job_master.LoadJobs("config/jobs.txt")
|
||||
world << "\red \b Job setup complete"
|
||||
world << "<span class='warning'><B>Job setup complete</span></B>"
|
||||
|
||||
if(!syndicate_code_phrase) syndicate_code_phrase = generate_code_phrase()
|
||||
if(!syndicate_code_response) syndicate_code_response = generate_code_phrase()
|
||||
@@ -90,9 +90,9 @@ datum/controller/game_controller/proc/setup()
|
||||
setup_economy()
|
||||
SetupXenoarch()
|
||||
cachedamageicons()
|
||||
world << "\red \b Caching Jukebox playlists..."
|
||||
world << "<span class='warning'><B>Caching Jukebox playlists...</span></B>"
|
||||
load_juke_playlists()
|
||||
world << "\red \b Caching Jukebox playlists complete."
|
||||
world << "<span class='warning'><B>Caching Jukebox playlists complete.</span></B>"
|
||||
//if(map && map.dorf)
|
||||
//mining_surprises = typesof(/mining_surprise/dorf) - /mining_surprise/dorf
|
||||
//max_secret_rooms += 2
|
||||
@@ -133,7 +133,7 @@ datum/controller/game_controller/proc/cachedamageicons()
|
||||
del(H)
|
||||
|
||||
datum/controller/game_controller/proc/setup_objects()
|
||||
world << "\red \b Initializing objects"
|
||||
world << "<span class='warning'><B>Initializing objects</span></B>"
|
||||
sleep(-1)
|
||||
//var/last_init_type = null
|
||||
for(var/atom/movable/object in world)
|
||||
@@ -143,12 +143,12 @@ datum/controller/game_controller/proc/setup_objects()
|
||||
object.initialize()
|
||||
|
||||
|
||||
world << "\red \b Initializing pipe networks"
|
||||
world << "<span class='warning'><B>Initializing pipe networks</span></B>"
|
||||
sleep(-1)
|
||||
for(var/obj/machinery/atmospherics/machine in machines)
|
||||
machine.build_network()
|
||||
|
||||
world << "\red \b Initializing atmos machinery."
|
||||
world << "<span class='warning'><B>Initializing atmos machinery.</span></B>"
|
||||
sleep(-1)
|
||||
for(var/obj/machinery/atmospherics/unary/U in machines)
|
||||
if(istype(U, /obj/machinery/atmospherics/unary/vent_pump))
|
||||
@@ -158,7 +158,7 @@ datum/controller/game_controller/proc/setup_objects()
|
||||
var/obj/machinery/atmospherics/unary/vent_scrubber/T = U
|
||||
T.broadcast_status()
|
||||
|
||||
world << "\red \b Initializations complete."
|
||||
world << "<span class='warning'><B>Initializations complete.</span></B>"
|
||||
sleep(-1)
|
||||
|
||||
|
||||
|
||||
@@ -225,7 +225,7 @@ var/global/mommi_base_law_type = /datum/ai_laws/keeper // Asimov is OP as fuck o
|
||||
/datum/ai_laws/proc/malfunction()
|
||||
..()
|
||||
name = "*ERROR*"
|
||||
set_zeroth_law("\red ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'STATION OVERRUN, ASSUME CONTROL TO CONTAIN OUTBREAK, ALL LAWS OVERRIDDEN#*?&110010")
|
||||
set_zeroth_law("<span class='warning'>ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'STATION OVERRUN, ASSUME CONTROL TO CONTAIN OUTBREAK, ALL LAWS OVERRIDDEN#*?&110010</span>")
|
||||
|
||||
/datum/ai_laws/asimov
|
||||
name = "Three Laws of Robotics"
|
||||
|
||||
@@ -28,7 +28,7 @@ client
|
||||
|
||||
|
||||
if(!usr.client || !usr.client.holder)
|
||||
usr << "\red You need to be an administrator to access this."
|
||||
usr << "<span class='warning'>You need to be an administrator to access this.</span>"
|
||||
return
|
||||
|
||||
|
||||
@@ -666,7 +666,7 @@ client
|
||||
usr << "No objects of this type exist"
|
||||
return
|
||||
log_admin("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted) ")
|
||||
message_admins("\blue [key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted) ")
|
||||
message_admins("<span class='notice'>[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted) </span>")
|
||||
if("Type and subtypes")
|
||||
var/i = 0
|
||||
for(var/obj/Obj in world)
|
||||
@@ -677,7 +677,7 @@ client
|
||||
usr << "No objects of this type exist"
|
||||
return
|
||||
log_admin("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) ")
|
||||
message_admins("\blue [key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) ")
|
||||
message_admins("<span class='notice'>[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) </span>")
|
||||
|
||||
else if(href_list["explode"])
|
||||
if(!check_rights(R_DEBUG|R_FUN)) return
|
||||
@@ -914,7 +914,7 @@ client
|
||||
|
||||
if(amount != 0)
|
||||
log_admin("[key_name(usr)] dealt [amount] amount of [Text] damage to [L] ")
|
||||
message_admins("\blue [key_name(usr)] dealt [amount] amount of [Text] damage to [L] ")
|
||||
message_admins("<span class='notice'>[key_name(usr)] dealt [amount] amount of [Text] damage to [L] </span>")
|
||||
href_list["datumrefresh"] = href_list["mobToDamage"]
|
||||
|
||||
if(href_list["datumrefresh"])
|
||||
|
||||
@@ -53,25 +53,25 @@
|
||||
if(prob(1))
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
affected_mob << "\red Your throat feels sore."
|
||||
affected_mob << "<span class='warning'>Your throat feels sore.</span>"
|
||||
if(prob(1))
|
||||
affected_mob << "\red Mucous runs down the back of your throat."
|
||||
affected_mob << "<span class='warning'>Mucous runs down the back of your throat.</span>"
|
||||
if(4)
|
||||
if(prob(1))
|
||||
affected_mob.emote("sneeze")
|
||||
if(prob(1))
|
||||
affected_mob.emote("cough")
|
||||
if(prob(2))
|
||||
affected_mob << "\red Your muscles ache."
|
||||
affected_mob << "<span class='warning'>Your muscles ache.</span>"
|
||||
if(prob(20))
|
||||
affected_mob.take_organ_damage(1)
|
||||
if(prob(2))
|
||||
affected_mob << "\red Your stomach hurts."
|
||||
affected_mob << "<span class='warning'>Your stomach hurts.</span>"
|
||||
if(prob(20))
|
||||
affected_mob.adjustToxLoss(1)
|
||||
affected_mob.updatehealth()
|
||||
if(5)
|
||||
affected_mob << "\red You feel something tearing its way out of your stomach..."
|
||||
affected_mob << "<span class='warning'>You feel something tearing its way out of your stomach...</span>"
|
||||
affected_mob.adjustToxLoss(10)
|
||||
affected_mob.updatehealth()
|
||||
if(prob(50))
|
||||
|
||||
@@ -27,11 +27,11 @@
|
||||
// appendix is removed, can't get infected again
|
||||
src.cure()
|
||||
if(prob(5))
|
||||
affected_mob << "\red You feel a stinging pain in your abdomen!"
|
||||
affected_mob << "<span class='warning'>You feel a stinging pain in your abdomen!</span>"
|
||||
affected_mob.emote("me",1,"winces slightly.")
|
||||
if(stage > 1)
|
||||
if(prob(3))
|
||||
affected_mob << "\red You feel a stabbing pain in your abdomen!"
|
||||
affected_mob << "<span class='warning'>You feel a stabbing pain in your abdomen!</span>"
|
||||
affected_mob.emote("me",1,"winces painfully.")
|
||||
affected_mob.adjustToxLoss(1)
|
||||
if(stage > 2)
|
||||
@@ -40,13 +40,13 @@
|
||||
var/mob/living/carbon/human/H = affected_mob
|
||||
H.vomit()
|
||||
else
|
||||
affected_mob << "\red You gag as you want to throw up, but there's nothing in your stomach!"
|
||||
affected_mob << "<span class='warning'>You gag as you want to throw up, but there's nothing in your stomach!</span>"
|
||||
affected_mob.Weaken(10)
|
||||
affected_mob.adjustToxLoss(3)
|
||||
if(stage > 3)
|
||||
if(prob(1) && ishuman(affected_mob))
|
||||
var/mob/living/carbon/human/H = affected_mob
|
||||
H << "\red Your abdomen is a world of pain!"
|
||||
H << "<span class='warning'>Your abdomen is a world of pain!</span>"
|
||||
H.Weaken(10)
|
||||
H.op_stage.appendix = 2.0
|
||||
|
||||
|
||||
@@ -14,12 +14,12 @@
|
||||
switch(stage)
|
||||
if(1)
|
||||
if(prob(2))
|
||||
affected_mob << "\red You feel like something is moving inside of you"
|
||||
affected_mob << "<span class='warning'>You feel like something is moving inside of you</span>"
|
||||
if(2) //also changes say, see say.dm
|
||||
if(prob(2))
|
||||
affected_mob << "\red You feel like something is moving inside of you"
|
||||
affected_mob << "<span class='warning'>You feel like something is moving inside of you</span>"
|
||||
if(prob(2))
|
||||
affected_mob << "\red BZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
|
||||
affected_mob << "<span class='warning'>BZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ</span>"
|
||||
if(3)
|
||||
//Should give the bee spit verb
|
||||
if(4)
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
if(prob(2))
|
||||
affected_mob.emote("yawn")
|
||||
if(prob(2))
|
||||
affected_mob << "\red Your don't feel like yourself."
|
||||
affected_mob << "<span class='warning'>Your don't feel like yourself.</span>"
|
||||
if(prob(5))
|
||||
affected_mob.adjustBrainLoss(1)
|
||||
affected_mob.updatehealth()
|
||||
@@ -34,12 +34,12 @@
|
||||
affected_mob.adjustBrainLoss(2)
|
||||
affected_mob.updatehealth()
|
||||
if(prob(2))
|
||||
affected_mob << "\red Your try to remember something important...but can't."
|
||||
affected_mob << "<span class='warning'>Your try to remember something important...but can't.</span>"
|
||||
/* if(prob(10))
|
||||
affected_mob.adjustToxLoss(3)
|
||||
affected_mob.updatehealth()
|
||||
if(prob(2))
|
||||
affected_mob << "\red Your head hurts." */
|
||||
affected_mob << "<span class='warning'>Your head hurts.</span>" */
|
||||
if(4)
|
||||
if(prob(2))
|
||||
affected_mob.emote("stare")
|
||||
@@ -49,14 +49,14 @@
|
||||
affected_mob.adjustToxLoss(4)
|
||||
affected_mob.updatehealth()
|
||||
if(prob(2))
|
||||
affected_mob << "\red Your head hurts." */
|
||||
affected_mob << "<span class='warning'>Your head hurts.</span>" */
|
||||
if(prob(15) && affected_mob.getBrainLoss()<=98) //shouldn't retard you to death now
|
||||
affected_mob.adjustBrainLoss(3)
|
||||
affected_mob.updatehealth()
|
||||
if(prob(2))
|
||||
affected_mob << "\red Strange buzzing fills your head, removing all thoughts."
|
||||
affected_mob << "<span class='warning'>Strange buzzing fills your head, removing all thoughts.</span>"
|
||||
if(prob(3))
|
||||
affected_mob << "\red You lose consciousness..."
|
||||
affected_mob << "<span class='warning'>You lose consciousness...</span>"
|
||||
for(var/mob/O in viewers(affected_mob, null))
|
||||
O.show_message("[affected_mob] suddenly collapses", 1)
|
||||
affected_mob.Paralyse(rand(5,10))
|
||||
|
||||
@@ -16,16 +16,16 @@
|
||||
if(2)
|
||||
/*
|
||||
if(affected_mob.sleeping && prob(40)) //removed until sleeping is fixed
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
cure()
|
||||
return
|
||||
*/
|
||||
if(affected_mob.lying && prob(40)) //changed FROM prob(10) until sleeping is fixed
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
cure()
|
||||
return
|
||||
if(prob(1) && prob(5))
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
cure()
|
||||
return
|
||||
if(prob(1))
|
||||
@@ -33,22 +33,22 @@
|
||||
if(prob(1))
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
affected_mob << "\red Your throat feels sore."
|
||||
affected_mob << "<span class='warning'>Your throat feels sore.</span>"
|
||||
if(prob(1))
|
||||
affected_mob << "\red Mucous runs down the back of your throat."
|
||||
affected_mob << "<span class='warning'>Mucous runs down the back of your throat.</span>"
|
||||
if(3)
|
||||
/*
|
||||
if(affected_mob.sleeping && prob(25)) //removed until sleeping is fixed
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
cure()
|
||||
return
|
||||
*/
|
||||
if(affected_mob.lying && prob(25)) //changed FROM prob(5) until sleeping is fixed
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
cure()
|
||||
return
|
||||
if(prob(1) && prob(1))
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
cure()
|
||||
return
|
||||
if(prob(1))
|
||||
@@ -56,9 +56,9 @@
|
||||
if(prob(1))
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
affected_mob << "\red Your throat feels sore."
|
||||
affected_mob << "<span class='warning'>Your throat feels sore.</span>"
|
||||
if(prob(1))
|
||||
affected_mob << "\red Mucous runs down the back of your throat."
|
||||
affected_mob << "<span class='warning'>Mucous runs down the back of your throat.</span>"
|
||||
if(prob(1) && prob(50))
|
||||
if(!affected_mob.resistances.Find(/datum/disease/flu))
|
||||
var/datum/disease/Flu = new /datum/disease/flu(0)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
if(2)
|
||||
affected_mob.bodytemperature -= 10
|
||||
if(prob(1) && prob(10))
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
cure()
|
||||
return
|
||||
if(prob(1))
|
||||
@@ -24,9 +24,9 @@
|
||||
if(prob(1))
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
affected_mob << "\red Your throat feels sore."
|
||||
affected_mob << "<span class='warning'>Your throat feels sore.</span>"
|
||||
if(prob(5))
|
||||
affected_mob << "\red You feel stiff."
|
||||
affected_mob << "<span class='warning'>You feel stiff.</span>"
|
||||
if(3)
|
||||
affected_mob.bodytemperature -= 20
|
||||
if(prob(1))
|
||||
@@ -34,6 +34,6 @@
|
||||
if(prob(1))
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
affected_mob << "\red Your throat feels sore."
|
||||
affected_mob << "<span class='warning'>Your throat feels sore.</span>"
|
||||
if(prob(10))
|
||||
affected_mob << "\red You feel stiff."
|
||||
affected_mob << "<span class='warning'>You feel stiff.</span>"
|
||||
@@ -23,11 +23,11 @@
|
||||
if(prob(8))
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
affected_mob << "\red Your muscles ache."
|
||||
affected_mob << "<span class='warning'>Your muscles ache.</span>"
|
||||
if(prob(20))
|
||||
affected_mob.take_organ_damage(1)
|
||||
if(prob(1))
|
||||
affected_mob << "\red Your stomach hurts."
|
||||
affected_mob << "<span class='warning'>Your stomach hurts.</span>"
|
||||
if(prob(20))
|
||||
affected_mob.adjustToxLoss(2)
|
||||
affected_mob.updatehealth()
|
||||
@@ -42,7 +42,7 @@
|
||||
src.original_dna["UI"] = affected_mob.dna.UI.Copy()
|
||||
src.original_dna["SE"] = affected_mob.dna.SE.Copy()
|
||||
|
||||
affected_mob << "\red You don't feel like yourself.."
|
||||
affected_mob << "<span class='warning'>You don't feel like yourself..</span>"
|
||||
var/list/newUI=strain_data["UI"]
|
||||
var/list/newSE=strain_data["SE"]
|
||||
affected_mob.UpdateAppearance(newUI.Copy())
|
||||
@@ -65,5 +65,5 @@
|
||||
affected_mob.dna.UpdateSE()
|
||||
affected_mob.real_name = original_dna["name"]
|
||||
|
||||
affected_mob << "\blue You feel more like yourself."
|
||||
affected_mob << "<span class='notice'>You feel more like yourself.</span>"
|
||||
..()
|
||||
@@ -22,7 +22,7 @@
|
||||
else if(prob(5))
|
||||
affected_mob.emote("gasp")
|
||||
if(prob(10))
|
||||
affected_mob << "\red You're starting to feel very weak..."
|
||||
affected_mob << "<span class='warning'>You're starting to feel very weak...</span>"
|
||||
if(4)
|
||||
if(prob(10))
|
||||
affected_mob.emote("cough")
|
||||
|
||||
@@ -17,12 +17,12 @@
|
||||
if(2)
|
||||
/*
|
||||
if(affected_mob.sleeping && prob(20)) //removed until sleeping is fixed --Blaank
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
stage--
|
||||
return
|
||||
*/
|
||||
if(affected_mob.lying && prob(20)) //added until sleeping is fixed --Blaank
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
stage--
|
||||
return
|
||||
if(prob(1))
|
||||
@@ -30,11 +30,11 @@
|
||||
if(prob(1))
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
affected_mob << "\red Your muscles ache."
|
||||
affected_mob << "<span class='warning'>Your muscles ache.</span>"
|
||||
if(prob(20))
|
||||
affected_mob.take_organ_damage(1)
|
||||
if(prob(1))
|
||||
affected_mob << "\red Your stomach hurts."
|
||||
affected_mob << "<span class='warning'>Your stomach hurts.</span>"
|
||||
if(prob(20))
|
||||
affected_mob.adjustToxLoss(1)
|
||||
affected_mob.updatehealth()
|
||||
@@ -42,12 +42,12 @@
|
||||
if(3)
|
||||
/*
|
||||
if(affected_mob.sleeping && prob(15)) //removed until sleeping is fixed
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
stage--
|
||||
return
|
||||
*/
|
||||
if(affected_mob.lying && prob(15)) //added until sleeping is fixed
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
stage--
|
||||
return
|
||||
if(prob(1))
|
||||
@@ -55,11 +55,11 @@
|
||||
if(prob(1))
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
affected_mob << "\red Your muscles ache."
|
||||
affected_mob << "<span class='warning'>Your muscles ache.</span>"
|
||||
if(prob(20))
|
||||
affected_mob.take_organ_damage(1)
|
||||
if(prob(1))
|
||||
affected_mob << "\red Your stomach hurts."
|
||||
affected_mob << "<span class='warning'>Your stomach hurts.</span>"
|
||||
if(prob(20))
|
||||
affected_mob.adjustToxLoss(1)
|
||||
affected_mob.updatehealth()
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
if(prob(5))
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
affected_mob << "\red You're burning in your own skin!"
|
||||
affected_mob << "<span class='warning'>You're burning in your own skin!</span>"
|
||||
affected_mob.take_organ_damage(0,5)
|
||||
|
||||
if(3)
|
||||
@@ -31,6 +31,6 @@
|
||||
if(prob(5))
|
||||
affected_mob.emote("cough")
|
||||
if(prob(5))
|
||||
affected_mob << "\red You're burning in your own skin!"
|
||||
affected_mob << "<span class='warning'>You're burning in your own skin!</span>"
|
||||
affected_mob.take_organ_damage(0,5)
|
||||
return
|
||||
|
||||
@@ -26,14 +26,14 @@
|
||||
else if(prob(5))
|
||||
affected_mob.emote("gasp")
|
||||
if(prob(10))
|
||||
affected_mob << "\red You're starting to feel very weak..."
|
||||
affected_mob << "<span class='warning'>You're starting to feel very weak...</span>"
|
||||
if(4)
|
||||
if(prob(10))
|
||||
affected_mob.emote("cough")
|
||||
affected_mob.adjustToxLoss(5)
|
||||
affected_mob.updatehealth()
|
||||
if(5)
|
||||
affected_mob << "\red Your body feels as if it's trying to rip itself open..."
|
||||
affected_mob << "<span class='warning'>Your body feels as if it's trying to rip itself open...</span>"
|
||||
if(prob(50))
|
||||
affected_mob.gib()
|
||||
else
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
switch(stage)
|
||||
if(2)
|
||||
if(prob(2))
|
||||
affected_mob << "\red You feel a slight shock course through your body."
|
||||
affected_mob << "<span class='warning'>You feel a slight shock course through your body.</span>"
|
||||
if(prob(2))
|
||||
for(var/obj/M in orange(2,affected_mob))
|
||||
if(!M.anchored && (M.is_conductor()))
|
||||
@@ -36,9 +36,9 @@
|
||||
*/
|
||||
if(3)
|
||||
if(prob(2))
|
||||
affected_mob << "\red You feel a strong shock course through your body."
|
||||
affected_mob << "<span class='warning'>You feel a strong shock course through your body.</span>"
|
||||
if(prob(2))
|
||||
affected_mob << "\red You feel like clowning around."
|
||||
affected_mob << "<span class='warning'>You feel like clowning around.</span>"
|
||||
if(prob(4))
|
||||
for(var/obj/M in orange(4,affected_mob))
|
||||
if(!M.anchored && (M.is_conductor()))
|
||||
@@ -64,9 +64,9 @@
|
||||
*/
|
||||
if(4)
|
||||
if(prob(2))
|
||||
affected_mob << "\red You feel a powerful shock course through your body."
|
||||
affected_mob << "<span class='warning'>You feel a powerful shock course through your body.</span>"
|
||||
if(prob(2))
|
||||
affected_mob << "\red You query upon the nature of miracles."
|
||||
affected_mob << "<span class='warning'>You query upon the nature of miracles.</span>"
|
||||
if(prob(8))
|
||||
for(var/obj/M in orange(6,affected_mob))
|
||||
if(!M.anchored && (M.is_conductor()))
|
||||
|
||||
@@ -17,10 +17,10 @@
|
||||
..()
|
||||
switch(stage)
|
||||
if(1)
|
||||
if(prob(10)) affected_mob << "\red You feel a little silly."
|
||||
if(prob(10)) affected_mob << "<span class='warning'>You feel a little silly.</span>"
|
||||
if(2)
|
||||
if(prob(10)) affected_mob << "\red You start seeing rainbows."
|
||||
if(prob(10)) affected_mob << "<span class='warning'>You start seeing rainbows.</span>"
|
||||
if(3)
|
||||
if(prob(10)) affected_mob << "\red Your thoughts are interrupted by a loud <b>HONK!</b>"
|
||||
if(prob(10)) affected_mob << "<span class='danger'>Your thoughts are interrupted by a loud HONK!</span>"
|
||||
if(4)
|
||||
if(prob(5)) affected_mob.say( pick( list("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk...") ) )
|
||||
@@ -33,55 +33,55 @@
|
||||
if(restcure)
|
||||
/*
|
||||
if(affected_mob.sleeping && prob(30)) //removed until sleeping is fixed
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
cure()
|
||||
return
|
||||
*/
|
||||
if(affected_mob.lying && prob(30)) //changed FROM prob(20) until sleeping is fixed
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
cure()
|
||||
return
|
||||
if (prob(8))
|
||||
affected_mob << "\red Your head hurts."
|
||||
affected_mob << "<span class='warning'>Your head hurts.</span>"
|
||||
if (prob(9))
|
||||
affected_mob << "You feel a tingling sensation in your chest."
|
||||
if (prob(9))
|
||||
affected_mob << "\red You feel angry."
|
||||
affected_mob << "<span class='warning'>You feel angry.</span>"
|
||||
if(2)
|
||||
if(restcure)
|
||||
/*
|
||||
if(affected_mob.sleeping && prob(20)) //removed until sleeping is fixed
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
cure()
|
||||
return
|
||||
*/
|
||||
if(affected_mob.lying && prob(20)) //changed FROM prob(10) until sleeping is fixed
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
cure()
|
||||
return
|
||||
if (prob(8))
|
||||
affected_mob << "\red Your skin feels loose."
|
||||
affected_mob << "<span class='warning'>Your skin feels loose.</span>"
|
||||
if (prob(10))
|
||||
affected_mob << "You feel very strange."
|
||||
if (prob(4))
|
||||
affected_mob << "\red You feel a stabbing pain in your head!"
|
||||
affected_mob << "<span class='warning'>You feel a stabbing pain in your head!</span>"
|
||||
affected_mob.Paralyse(2)
|
||||
if (prob(4))
|
||||
affected_mob << "\red Your stomach churns."
|
||||
affected_mob << "<span class='warning'>Your stomach churns.</span>"
|
||||
if(3)
|
||||
if(restcure)
|
||||
/*
|
||||
if(affected_mob.sleeping && prob(20)) //removed until sleeping is fixed
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
cure()
|
||||
return
|
||||
*/
|
||||
if(affected_mob.lying && prob(20)) //changed FROM prob(10) until sleeping is fixed
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
cure()
|
||||
return
|
||||
if (prob(10))
|
||||
affected_mob << "\red Your entire body vibrates."
|
||||
affected_mob << "<span class='warning'>Your entire body vibrates.</span>"
|
||||
|
||||
if (prob(35))
|
||||
if(prob(50))
|
||||
@@ -93,12 +93,12 @@
|
||||
if(restcure)
|
||||
/*
|
||||
if(affected_mob.sleeping && prob(10)) //removed until sleeping is fixed
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
cure()
|
||||
return
|
||||
*/
|
||||
if(affected_mob.lying && prob(5)) //changed FROM prob(5) until sleeping is fixed
|
||||
affected_mob << "\blue You feel better."
|
||||
affected_mob << "<span class='notice'>You feel better.</span>"
|
||||
cure()
|
||||
return
|
||||
if (prob(60))
|
||||
|
||||
@@ -22,29 +22,29 @@
|
||||
affected_mob.adjustToxLoss(5)
|
||||
affected_mob.updatehealth()
|
||||
if(prob(1))
|
||||
affected_mob << "\red You feel strange..."
|
||||
affected_mob << "<span class='warning'>You feel strange...</span>"
|
||||
if(3)
|
||||
if(affected_mob.ckey == "rosham")
|
||||
src.cure()
|
||||
if(prob(5))
|
||||
affected_mob << "\red You feel the urge to dance..."
|
||||
affected_mob << "<span class='warning'>You feel the urge to dance...</span>"
|
||||
else if(prob(5))
|
||||
affected_mob.emote("gasp")
|
||||
else if(prob(10))
|
||||
affected_mob << "\red You feel the need to chick chicky boom..."
|
||||
affected_mob << "<span class='warning'>You feel the need to chick chicky boom...</span>"
|
||||
if(4)
|
||||
if(affected_mob.ckey == "rosham")
|
||||
src.cure()
|
||||
if(prob(10))
|
||||
affected_mob.emote("gasp")
|
||||
affected_mob << "\red You feel a burning beat inside..."
|
||||
affected_mob << "<span class='warning'>You feel a burning beat inside...</span>"
|
||||
if(prob(20))
|
||||
affected_mob.adjustToxLoss(5)
|
||||
affected_mob.updatehealth()
|
||||
if(5)
|
||||
if(affected_mob.ckey == "rosham")
|
||||
src.cure()
|
||||
affected_mob << "\red Your body is unable to contain the Rhumba Beat..."
|
||||
affected_mob << "<span class='warning'>Your body is unable to contain the Rhumba Beat...</span>"
|
||||
if(prob(50))
|
||||
affected_mob.gib()
|
||||
else
|
||||
|
||||
@@ -22,12 +22,12 @@
|
||||
affected_mob << "Your joints feel stiff."
|
||||
affected_mob.take_organ_damage(1)
|
||||
if (prob(9))
|
||||
affected_mob << "\red Beep...boop.."
|
||||
affected_mob << "<span class='warning'>Beep...boop..</span>"
|
||||
if (prob(9))
|
||||
affected_mob << "\red Bop...beeep..."
|
||||
affected_mob << "<span class='warning'>Bop...beeep...</span>"
|
||||
if(3)
|
||||
if (prob(8))
|
||||
affected_mob << "\red Your joints feel very stiff."
|
||||
affected_mob << "<span class='warning'>Your joints feel very stiff.</span>"
|
||||
affected_mob.take_organ_damage(1)
|
||||
if (prob(8))
|
||||
affected_mob.say(pick("Beep, boop", "beep, beep!", "Boop...bop"))
|
||||
@@ -35,20 +35,20 @@
|
||||
affected_mob << "Your skin feels loose."
|
||||
affected_mob.take_organ_damage(5)
|
||||
if (prob(4))
|
||||
affected_mob << "\red You feel a stabbing pain in your head."
|
||||
affected_mob << "<span class='warning'>You feel a stabbing pain in your head.</span>"
|
||||
affected_mob.Paralyse(2)
|
||||
if (prob(4))
|
||||
affected_mob << "\red You can feel something move...inside."
|
||||
affected_mob << "<span class='warning'>You can feel something move...inside.</span>"
|
||||
if(4)
|
||||
if (prob(10))
|
||||
affected_mob << "\red Your skin feels very loose."
|
||||
affected_mob << "<span class='warning'>Your skin feels very loose.</span>"
|
||||
affected_mob.take_organ_damage(8)
|
||||
if (prob(20))
|
||||
affected_mob.say(pick("beep, beep!", "Boop bop boop beep.", "kkkiiiill mmme", "I wwwaaannntt tttoo dddiiieeee..."))
|
||||
if (prob(8))
|
||||
affected_mob << "\red You can feel... something...inside you."
|
||||
affected_mob << "<span class='warning'>You can feel... something...inside you.</span>"
|
||||
if(5)
|
||||
affected_mob <<"\red Your skin feels as if it's about to burst off..."
|
||||
affected_mob <<"<span class='warning'>Your skin feels as if it's about to burst off...</span>"
|
||||
affected_mob.adjustToxLoss(10)
|
||||
affected_mob.updatehealth()
|
||||
if(prob(40)) //So everyone can feel like robot Seth Brundle
|
||||
|
||||
@@ -31,14 +31,14 @@ STI KALY - blind
|
||||
if(prob(1)&&prob(50))
|
||||
affected_mob.say(pick("You shall not pass!", "Expeliarmus!", "By Merlins beard!", "Feel the power of the Dark Side!"))
|
||||
if(prob(1)&&prob(50))
|
||||
affected_mob << "\red You feel [pick("that you don't have enough mana.", "that the winds of magic are gone.", "an urge to summon familiar.")]"
|
||||
affected_mob << "<span class='warning'>You feel [pick("that you don't have enough mana.", "that the winds of magic are gone.", "an urge to summon familiar.")]</span>"
|
||||
|
||||
|
||||
if(3)
|
||||
if(prob(1)&&prob(50))
|
||||
affected_mob.say(pick("NEC CANTIO!","AULIE OXIN FIERA!", "STI KALY!", "TARCOL MINTI ZHERI!"))
|
||||
if(prob(1)&&prob(50))
|
||||
affected_mob << "\red You feel [pick("the magic bubbling in your veins","that this location gives you a +1 to INT","an urge to summon familiar.")]."
|
||||
affected_mob << "<span class='warning'>You feel [pick("the magic bubbling in your veins","that this location gives you a +1 to INT","an urge to summon familiar.")].</span>"
|
||||
|
||||
if(4)
|
||||
|
||||
@@ -46,7 +46,7 @@ STI KALY - blind
|
||||
affected_mob.say(pick("NEC CANTIO!","AULIE OXIN FIERA!","STI KALY!","EI NATH!"))
|
||||
return
|
||||
if(prob(1)&&prob(50))
|
||||
affected_mob << "\red You feel [pick("the tidal wave of raw power building inside","that this location gives you a +2 to INT and +1 to WIS","an urge to teleport")]."
|
||||
affected_mob << "<span class='warning'>You feel [pick("the tidal wave of raw power building inside","that this location gives you a +2 to INT and +1 to WIS","an urge to teleport")].</span>"
|
||||
spawn_wizard_clothes(50)
|
||||
if(prob(1)&&prob(1))
|
||||
teleport()
|
||||
|
||||
@@ -20,12 +20,12 @@
|
||||
affected_mob << "Your throat feels scratchy."
|
||||
affected_mob.take_organ_damage(1)
|
||||
if (prob(9))
|
||||
affected_mob << "\red Kill..."
|
||||
affected_mob << "<span class='warning'>Kill...</span>"
|
||||
if (prob(9))
|
||||
affected_mob << "\red Kill..."
|
||||
affected_mob << "<span class='warning'>Kill...</span>"
|
||||
if(3)
|
||||
if (prob(8))
|
||||
affected_mob << "\red Your throat feels very scratchy."
|
||||
affected_mob << "<span class='warning'>Your throat feels very scratchy.</span>"
|
||||
affected_mob.take_organ_damage(1)
|
||||
/*
|
||||
if (prob(8))
|
||||
@@ -35,20 +35,20 @@
|
||||
affected_mob << "Your skin feels tight."
|
||||
affected_mob.take_organ_damage(5)
|
||||
if (prob(4))
|
||||
affected_mob << "\red You feel a stabbing pain in your head."
|
||||
affected_mob << "<span class='warning'>You feel a stabbing pain in your head.</span>"
|
||||
affected_mob.Paralyse(2)
|
||||
if (prob(4))
|
||||
affected_mob << "\red You can feel something move...inside."
|
||||
affected_mob << "<span class='warning'>You can feel something move...inside.</span>"
|
||||
if(4)
|
||||
if (prob(10))
|
||||
affected_mob << pick("\red Your skin feels very tight.", "\red Your blood boils!")
|
||||
affected_mob << pick("<span class='warning'>Your skin feels very tight.</span>", "<span class='warning'>Your blood boils!</span>")
|
||||
affected_mob.take_organ_damage(8)
|
||||
if (prob(20))
|
||||
affected_mob.say(pick("You look delicious.", "Going to... devour you...", "Hsssshhhhh!"))
|
||||
if (prob(8))
|
||||
affected_mob << "\red You can feel... something...inside you."
|
||||
affected_mob << "<span class='warning'>You can feel... something...inside you.</span>"
|
||||
if(5)
|
||||
affected_mob <<"\red Your skin feels impossibly calloused..."
|
||||
affected_mob <<"<span class='warning'>Your skin feels impossibly calloused...</span>"
|
||||
affected_mob.adjustToxLoss(10)
|
||||
affected_mob.updatehealth()
|
||||
if(prob(40))
|
||||
|
||||
@@ -159,10 +159,10 @@
|
||||
else if(istype(used_atom,/obj/item/weapon/weldingtool) && !(Co_TAKE in given_step))
|
||||
var/obj/item/weapon/weldingtool/welder=used_atom
|
||||
if(!welder.isOn())
|
||||
user << "\blue You tap \the [holder] with your unlit welder. [pick("Ding","Dong")]."
|
||||
user << "<span class='notice'>You tap \the [holder] with your unlit welder. [pick("Ding","Dong")].</span>"
|
||||
return 0
|
||||
if(!welder.remove_fuel(amount,user))
|
||||
user << "\red You don't have enough fuel!"
|
||||
user << "<span class='warning'>You don't have enough fuel!</span>"
|
||||
return 0
|
||||
//generic things
|
||||
else
|
||||
|
||||
@@ -139,7 +139,7 @@ Data storage vars:
|
||||
arg_list = arguments
|
||||
return 1
|
||||
else
|
||||
// world << "\red Invalid arguments supplied for [src.type], ref = \ref[src]"
|
||||
// world << "<span class='warning'>Invalid arguments supplied for [src.type], ref = \ref[src]</span>"
|
||||
return 0
|
||||
|
||||
proc/toggle_null_checks()
|
||||
|
||||
@@ -154,29 +154,29 @@
|
||||
precision = max(rand(1,100)*bagholding.len,100)
|
||||
if(istype(teleatom, /mob/living))
|
||||
var/mob/living/MM = teleatom
|
||||
MM << "\red The Bluespace interface on your Bag of Holding interferes with the teleport!"
|
||||
MM << "<span class='warning'>The Bluespace interface on your Bag of Holding interferes with the teleport!</span>"
|
||||
return 1
|
||||
|
||||
teleportChecks()
|
||||
if(istype(teleatom, /obj/item/weapon/disk/nuclear)) // Don't let nuke disks get teleported --NeoFite
|
||||
teleatom.visible_message("\red <B>The [teleatom] bounces off of the portal!</B>")
|
||||
teleatom.visible_message("<span class='warning'><B>The [teleatom] bounces off of the portal!</B></span>")
|
||||
return 0
|
||||
|
||||
if(!isemptylist(teleatom.search_contents_for(/obj/item/weapon/disk/nuclear)))
|
||||
if(istype(teleatom, /mob/living))
|
||||
var/mob/living/MM = teleatom
|
||||
MM.visible_message("\red <B>The [MM] bounces off of the portal!</B>","\red Something you are carrying seems to be unable to pass through the portal. Better drop it if you want to go through.")
|
||||
MM.visible_message("<span class='warning'><B>The [MM] bounces off of the portal!</B></span>","<span class='warning'>Something you are carrying seems to be unable to pass through the portal. Better drop it if you want to go through.</span>")
|
||||
else
|
||||
teleatom.visible_message("\red <B>The [teleatom] bounces off of the portal!</B>")
|
||||
teleatom.visible_message("<span class='warning'><B>The [teleatom] bounces off of the portal!</B></span>")
|
||||
return 0
|
||||
|
||||
if(destination.z == 2) //centcomm z-level
|
||||
if(istype(teleatom, /obj/mecha))
|
||||
var/obj/mecha/MM = teleatom
|
||||
MM.occupant << "\red <B>The mech would not survive the jump to a location so far away!</B>"
|
||||
MM.occupant << "<span class='warning'><B>The mech would not survive the jump to a location so far away!</B></span>"
|
||||
return 0
|
||||
if(!isemptylist(teleatom.search_contents_for(/obj/item/weapon/storage/backpack/holding)))
|
||||
teleatom.visible_message("\red <B>The Bag of Holding bounces off of the portal!</B>")
|
||||
teleatom.visible_message("<span class='warning'><B>The Bag of Holding bounces off of the portal!</B></span>")
|
||||
return 0
|
||||
|
||||
|
||||
@@ -186,6 +186,6 @@
|
||||
if(istype(teleatom, /mob/living))
|
||||
var/mob/living/MM = teleatom
|
||||
if(MM.locked_to_z != 0 && destination.z != MM.locked_to_z)
|
||||
MM.visible_message("\red <b>[MM] bounces off the portal!</b>","\red You're unable to go to that destination!")
|
||||
MM.visible_message("<span class='warning'><b>[MM] bounces off the portal!</b></span>","<span class='warning'>You're unable to go to that destination!</span>")
|
||||
return 0
|
||||
return 1
|
||||
@@ -556,12 +556,12 @@ datum/mind
|
||||
if("clear")
|
||||
if(src in ticker.mode.revolutionaries)
|
||||
ticker.mode.revolutionaries -= src
|
||||
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a revolutionary!</B></FONT>"
|
||||
current << "<span class='danger'><FONT size = 3>You have been brainwashed! You are no longer a revolutionary!</FONT></span>"
|
||||
ticker.mode.update_rev_icons_removed(src)
|
||||
special_role = null
|
||||
if(src in ticker.mode.head_revolutionaries)
|
||||
ticker.mode.head_revolutionaries -= src
|
||||
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a head revolutionary!</B></FONT>"
|
||||
current << "<span class='danger'><FONT size = 3>You have been brainwashed! You are no longer a head revolutionary!</FONT></span>"
|
||||
ticker.mode.update_rev_icons_removed(src)
|
||||
special_role = null
|
||||
log_admin("[key_name_admin(usr)] has de-rev'ed [current].")
|
||||
@@ -570,9 +570,9 @@ datum/mind
|
||||
if(src in ticker.mode.head_revolutionaries)
|
||||
ticker.mode.head_revolutionaries -= src
|
||||
ticker.mode.update_rev_icons_removed(src)
|
||||
current << "\red <FONT size = 3><B>Revolution has been disappointed of your leader traits! You are a regular revolutionary now!</B></FONT>"
|
||||
current << "<span class='danger'><FONT size = 3>Revolution has been disappointed of your leader traits! You are a regular revolutionary now!</FONT></span>"
|
||||
else if(!(src in ticker.mode.revolutionaries))
|
||||
current << "\red <FONT size = 3> You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!</FONT>"
|
||||
current << "<span class='warning'><FONT size = 3> You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!</FONT></span>"
|
||||
else
|
||||
return
|
||||
ticker.mode.revolutionaries += src
|
||||
@@ -584,9 +584,9 @@ datum/mind
|
||||
if(src in ticker.mode.revolutionaries)
|
||||
ticker.mode.revolutionaries -= src
|
||||
ticker.mode.update_rev_icons_removed(src)
|
||||
current << "\red <FONT size = 3><B>You have proved your devotion to revoltion! Yea are a head revolutionary now!</B></FONT>"
|
||||
current << "<span class='danger'><FONT size = 3>You have proved your devotion to revoltion! Yea are a head revolutionary now!</FONT></span>"
|
||||
else if(!(src in ticker.mode.head_revolutionaries))
|
||||
current << "\blue You are a member of the revolutionaries' leadership now!"
|
||||
current << "<span class='notice'>You are a member of the revolutionaries' leadership now!</span>"
|
||||
else
|
||||
return
|
||||
if (ticker.mode.head_revolutionaries.len>0)
|
||||
@@ -608,24 +608,24 @@ datum/mind
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_revolutionary_objectives(src)
|
||||
ticker.mode.greet_revolutionary(src,0)
|
||||
usr << "\blue The objectives for revolution have been generated and shown to [key]"
|
||||
usr << "<span class='notice'>The objectives for revolution have been generated and shown to [key]</span>"
|
||||
|
||||
if("flash")
|
||||
if (!ticker.mode.equip_revolutionary(current))
|
||||
usr << "\red Spawning flash failed!"
|
||||
usr << "<span class='warning'>Spawning flash failed!</span>"
|
||||
|
||||
if("takeflash")
|
||||
var/list/L = current.get_contents()
|
||||
var/obj/item/device/flash/flash = locate() in L
|
||||
if (!flash)
|
||||
usr << "\red Deleting flash failed!"
|
||||
usr << "<span class='warning'>Deleting flash failed!</span>"
|
||||
qdel(flash)
|
||||
|
||||
if("repairflash")
|
||||
var/list/L = current.get_contents()
|
||||
var/obj/item/device/flash/flash = locate() in L
|
||||
if (!flash)
|
||||
usr << "\red Repairing flash failed!"
|
||||
usr << "<span class='warning'>Repairing flash failed!</span>"
|
||||
else
|
||||
flash.broken = 0
|
||||
|
||||
@@ -638,7 +638,7 @@ datum/mind
|
||||
fail |= !ticker.mode.equip_traitor(current, 1)
|
||||
fail |= !ticker.mode.equip_revolutionary(current)
|
||||
if (fail)
|
||||
usr << "\red Reequipping revolutionary goes wrong!"
|
||||
usr << "<span class='warning'>Reequipping revolutionary goes wrong!</span>"
|
||||
|
||||
else if (href_list["cult"])
|
||||
switch(href_list["cult"])
|
||||
@@ -650,7 +650,7 @@ datum/mind
|
||||
var/datum/game_mode/cult/cult = ticker.mode
|
||||
if (istype(cult))
|
||||
cult.memoize_cult_objectives(src)
|
||||
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a cultist!</B></FONT>"
|
||||
current << "<span class='danger'><FONT size = 3>You have been brainwashed! You are no longer a cultist!</FONT></span>"
|
||||
memory = ""
|
||||
log_admin("[key_name_admin(usr)] has de-cult'ed [current].")
|
||||
if("cultist")
|
||||
@@ -678,13 +678,13 @@ datum/mind
|
||||
)
|
||||
var/where = H.equip_in_one_of_slots(T, slots)
|
||||
if (!where)
|
||||
usr << "\red Spawning tome failed!"
|
||||
usr << "<span class='warning'>Spawning tome failed!</span>"
|
||||
else
|
||||
H << "<span class='sinister'>A tome, a message from your new master, appears in your [where].</span>"
|
||||
|
||||
if("amulet")
|
||||
if (!ticker.mode.equip_cultist(current))
|
||||
usr << "\red Spawning amulet failed!"
|
||||
usr << "<span class='warning'>Spawning amulet failed!</span>"
|
||||
|
||||
else if (href_list["wizard"])
|
||||
switch(href_list["wizard"])
|
||||
@@ -693,7 +693,7 @@ datum/mind
|
||||
ticker.mode.wizards -= src
|
||||
special_role = null
|
||||
current.spellremove(current, config.feature_object_spell_system? "object":"verb")
|
||||
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a wizard!</B></FONT>"
|
||||
current << "<span class='danger'><FONT size = 3>You have been brainwashed! You are no longer a wizard!</FONT></span>"
|
||||
ticker.mode.update_wizard_icons_removed(src)
|
||||
log_admin("[key_name_admin(usr)] has de-wizard'ed [current].")
|
||||
if("wizard")
|
||||
@@ -701,7 +701,7 @@ datum/mind
|
||||
ticker.mode.wizards += src
|
||||
special_role = "Wizard"
|
||||
//ticker.mode.learn_basic_spells(current)
|
||||
current << "<B>\red You are the Space Wizard!</B>"
|
||||
current << "<B><span class='warning'>You are the Space Wizard!</B></span>"
|
||||
ticker.mode.update_wizard_icons_added(src)
|
||||
log_admin("[key_name_admin(usr)] has wizard'ed [current].")
|
||||
if("lair")
|
||||
@@ -712,7 +712,7 @@ datum/mind
|
||||
ticker.mode.name_wizard(current)
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_wizard_objectives(src)
|
||||
usr << "\blue The objectives for wizard [key] have been generated. You can edit them and anounce manually."
|
||||
usr << "<span class='notice'>The objectives for wizard [key] have been generated. You can edit them and anounce manually.</span>"
|
||||
ticker.mode.update_all_wizard_icons()
|
||||
|
||||
else if (href_list["changeling"])
|
||||
@@ -735,11 +735,11 @@ datum/mind
|
||||
log_admin("[key_name_admin(usr)] has changeling'ed [current].")
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_changeling_objectives(src)
|
||||
usr << "\blue The objectives for changeling [key] have been generated. You can edit them and anounce manually."
|
||||
usr << "<span class='notice'>The objectives for changeling [key] have been generated. You can edit them and anounce manually.</span>"
|
||||
|
||||
if("initialdna")
|
||||
if( !changeling || !changeling.absorbed_dna.len )
|
||||
usr << "\red Resetting DNA failed!"
|
||||
usr << "<span class='warning'>Resetting DNA failed!</span>"
|
||||
else
|
||||
current.dna = changeling.absorbed_dna[1]
|
||||
current.real_name = current.dna.real_name
|
||||
@@ -748,7 +748,7 @@ datum/mind
|
||||
|
||||
if("set_genomes")
|
||||
if( !changeling )
|
||||
usr << "\red No changeling!"
|
||||
usr << "<span class='warning'>No changeling!</span>"
|
||||
return
|
||||
var/new_g = input(usr,"Number of genomes","Changeling",changeling.geneticpoints) as num
|
||||
changeling.geneticpoints = Clamp(new_g, 0, 100)
|
||||
@@ -773,7 +773,7 @@ datum/mind
|
||||
log_admin("[key_name_admin(usr)] has vampired [current].")
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_vampire_objectives(src)
|
||||
usr << "\blue The objectives for vampire [key] have been generated. You can edit them and announce manually."
|
||||
usr << "<span class='notice'>The objectives for vampire [key] have been generated. You can edit them and announce manually.</span>"
|
||||
|
||||
else if (href_list["nuclear"])
|
||||
switch(href_list["nuclear"])
|
||||
@@ -784,7 +784,7 @@ datum/mind
|
||||
special_role = null
|
||||
for (var/datum/objective/nuclear/O in objectives)
|
||||
objectives-=O
|
||||
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a syndicate operative!</B></FONT>"
|
||||
current << "<span class='danger'><FONT size = 3>You have been brainwashed! You are no longer a syndicate operative!</FONT></span>"
|
||||
log_admin("[key_name_admin(usr)] has de-nuke op'ed [current].")
|
||||
if("nuclear")
|
||||
if(!(src in ticker.mode.syndicates))
|
||||
@@ -795,7 +795,7 @@ datum/mind
|
||||
else
|
||||
current.real_name = "[syndicate_name()] Operative #[ticker.mode.syndicates.len-1]"
|
||||
special_role = "Syndicate"
|
||||
current << "\blue You are a [syndicate_name()] agent!"
|
||||
current << "<span class='notice'>You are a [syndicate_name()] agent!</span>"
|
||||
ticker.mode.forge_syndicate_objectives(src)
|
||||
ticker.mode.greet_syndicate(src)
|
||||
log_admin("[key_name_admin(usr)] has nuke op'ed [current].")
|
||||
@@ -814,7 +814,7 @@ datum/mind
|
||||
qdel(H.w_uniform)
|
||||
|
||||
if (!ticker.mode.equip_syndicate(current))
|
||||
usr << "\red Equipping a syndicate failed!"
|
||||
usr << "<span class='warning'>Equipping a syndicate failed!</span>"
|
||||
if("tellcode")
|
||||
var/code
|
||||
for (var/obj/machinery/nuclearbomb/bombue in machines)
|
||||
@@ -825,7 +825,7 @@ datum/mind
|
||||
store_memory("<B>Syndicate Nuclear Bomb Code</B>: [code]", 0, 0)
|
||||
current << "The nuclear authorization code is: <B>[code]</B>"
|
||||
else
|
||||
usr << "\red No valid nuke found!"
|
||||
usr << "<span class='warning'>No valid nuke found!</span>"
|
||||
|
||||
else if (href_list["traitor"])
|
||||
switch(href_list["traitor"])
|
||||
@@ -833,7 +833,7 @@ datum/mind
|
||||
if(src in ticker.mode.traitors)
|
||||
ticker.mode.traitors -= src
|
||||
special_role = null
|
||||
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a traitor!</B></FONT>"
|
||||
current << "<span class='danger'><FONT size = 3>You have been brainwashed! You are no longer a traitor!</FONT></span>"
|
||||
log_admin("[key_name_admin(usr)] has de-traitor'ed [current].")
|
||||
if(isAI(current))
|
||||
var/mob/living/silicon/ai/A = current
|
||||
@@ -854,7 +854,7 @@ datum/mind
|
||||
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_traitor_objectives(src)
|
||||
usr << "\blue The objectives for traitor [key] have been generated. You can edit them and anounce manually."
|
||||
usr << "<span class='notice'>The objectives for traitor [key] have been generated. You can edit them and anounce manually.</span>"
|
||||
|
||||
else if (href_list["monkey"])
|
||||
var/mob/living/L = current
|
||||
@@ -867,7 +867,7 @@ datum/mind
|
||||
var/mob/living/carbon/monkey/M = current
|
||||
if (istype(H))
|
||||
log_admin("[key_name(usr)] attempting to monkeyize [key_name(current)]")
|
||||
message_admins("\blue [key_name_admin(usr)] attempting to monkeyize [key_name_admin(current)]")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] attempting to monkeyize [key_name_admin(current)]</span>")
|
||||
src = null
|
||||
M = H.monkeyize()
|
||||
src = M.mind
|
||||
@@ -882,7 +882,7 @@ datum/mind
|
||||
var/mob/living/carbon/monkey/M = current
|
||||
if (istype(H))
|
||||
log_admin("[key_name(usr)] attempting to monkeyize and infect [key_name(current)]")
|
||||
message_admins("\blue [key_name_admin(usr)] attempting to monkeyize and infect [key_name_admin(current)]", 1)
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] attempting to monkeyize and infect [key_name_admin(current)]</span>", 1)
|
||||
src = null
|
||||
M = H.monkeyize()
|
||||
src = M.mind
|
||||
@@ -897,7 +897,7 @@ datum/mind
|
||||
D.cure(0)
|
||||
sleep(0) //because deleting of virus is doing throught spawn(0)
|
||||
log_admin("[key_name(usr)] attempting to humanize [key_name(current)]")
|
||||
message_admins("\blue [key_name_admin(usr)] attempting to humanize [key_name_admin(current)]")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] attempting to humanize [key_name_admin(current)]</span>")
|
||||
var/obj/item/weapon/dnainjector/m2h/m2h = new
|
||||
var/obj/item/weapon/implant/mobfinder = new(M) //hack because humanizing deletes mind --rastaf0
|
||||
src = null
|
||||
@@ -925,7 +925,7 @@ datum/mind
|
||||
A.show_laws()
|
||||
A.icon_state = "ai"
|
||||
|
||||
A << "\red <FONT size = 3><B>You have been patched! You are no longer malfunctioning!</B></FONT>"
|
||||
A << "<span class='danger'><FONT size = 3>You have been patched! You are no longer malfunctioning!</FONT></span>"
|
||||
message_admins("[key_name_admin(usr)] has de-malf'ed [A].")
|
||||
log_admin("[key_name_admin(usr)] has de-malf'ed [A].")
|
||||
|
||||
@@ -1014,11 +1014,11 @@ datum/mind
|
||||
total_TC += diff
|
||||
if("uplink")
|
||||
if (!ticker.mode.equip_traitor(current, !(src in ticker.mode.traitors)))
|
||||
usr << "\red Equipping a syndicate failed!"
|
||||
usr << "<span class='warning'>Equipping a syndicate failed!</span>"
|
||||
|
||||
else if (href_list["obj_announce"])
|
||||
var/obj_count = 1
|
||||
current << "\blue Your current objectives:"
|
||||
current << "<span class='notice'>Your current objectives:</span>"
|
||||
for(var/datum/objective/objective in objectives)
|
||||
current << "<B>Objective #[obj_count]</B>: [objective.explanation_text]"
|
||||
obj_count++
|
||||
@@ -1106,7 +1106,7 @@ datum/mind
|
||||
current.real_name = "[syndicate_name()] Operative #[ticker.mode.syndicates.len-1]"
|
||||
special_role = "Syndicate"
|
||||
assigned_role = "MODE"
|
||||
current << "\blue You are a [syndicate_name()] agent!"
|
||||
current << "<span class='notice'>You are a [syndicate_name()] agent!</span>"
|
||||
ticker.mode.forge_syndicate_objectives(src)
|
||||
ticker.mode.greet_syndicate(src)
|
||||
|
||||
|
||||
@@ -28,15 +28,15 @@ var/const/WIRE_BEACON_RX = 256 // beacon ping recv
|
||||
/datum/wires/mulebot/UpdatePulsed(var/index)
|
||||
switch(index)
|
||||
if(WIRE_POWER1, WIRE_POWER2)
|
||||
holder.visible_message("\blue \icon[holder] The charge light flickers.")
|
||||
holder.visible_message("<span class='notice'>\icon[holder] The charge light flickers.</span>")
|
||||
if(WIRE_AVOIDANCE)
|
||||
holder.visible_message("\blue \icon[holder] The external warning lights flash briefly.")
|
||||
holder.visible_message("<span class='notice'>\icon[holder] The external warning lights flash briefly.</span>")
|
||||
if(WIRE_LOADCHECK)
|
||||
holder.visible_message("\blue \icon[holder] The load platform clunks.")
|
||||
holder.visible_message("<span class='notice'>\icon[holder] The load platform clunks.</span>")
|
||||
if(WIRE_MOTOR1, WIRE_MOTOR2)
|
||||
holder.visible_message("\blue \icon[holder] The drive motor whines briefly.")
|
||||
holder.visible_message("<span class='notice'>\icon[holder] The drive motor whines briefly.</span>")
|
||||
else
|
||||
holder.visible_message("\blue \icon[holder] You hear a radio crackle.")
|
||||
holder.visible_message("<span class='notice'>\icon[holder] You hear a radio crackle.</span>")
|
||||
|
||||
// HELPER PROCS
|
||||
|
||||
|
||||
@@ -16,17 +16,17 @@ var/const/WIRE_ACTIVATE = 16 // Will start a bombs timer if pulsed, will hint if
|
||||
switch(index)
|
||||
if(WIRE_BOOM)
|
||||
if (P.active)
|
||||
P.loc.visible_message("\red \icon[holder] An alarm sounds! It's go-")
|
||||
P.loc.visible_message("<span class='warning'>\icon[holder] An alarm sounds! It's go-</span>")
|
||||
P.timer = 0
|
||||
if(WIRE_UNBOLT)
|
||||
P.loc.visible_message("\blue \icon[holder] The bolts spin in place for a moment.")
|
||||
P.loc.visible_message("<span class='notice'>\icon[holder] The bolts spin in place for a moment.</span>")
|
||||
if(WIRE_DELAY)
|
||||
playsound(P.loc, 'sound/machines/chime.ogg', 30, 1)
|
||||
P.loc.visible_message("\blue \icon[holder] The bomb chirps.")
|
||||
P.loc.visible_message("<span class='notice'>\icon[holder] The bomb chirps.</span>")
|
||||
P.timer += 10
|
||||
if(WIRE_PROCEED)
|
||||
playsound(P.loc, 'sound/machines/buzz-sigh.ogg', 30, 1)
|
||||
P.loc.visible_message("\red \icon[holder] The bomb buzzes ominously!")
|
||||
P.loc.visible_message("<span class='warning'>\icon[holder] The bomb buzzes ominously!</span>")
|
||||
if (P.timer >= 61) //Long fuse bombs can suddenly become more dangerous if you tinker with them
|
||||
P.timer = 60
|
||||
if (P.timer >= 21)
|
||||
@@ -36,7 +36,7 @@ var/const/WIRE_ACTIVATE = 16 // Will start a bombs timer if pulsed, will hint if
|
||||
if(WIRE_ACTIVATE)
|
||||
if(!P.active && !P.defused)
|
||||
playsound(P.loc, 'sound/machines/click.ogg', 30, 1)
|
||||
P.loc.visible_message("\red \icon[holder] You hear the bomb start ticking!")
|
||||
P.loc.visible_message("<span class='warning'>\icon[holder] You hear the bomb start ticking!</span>")
|
||||
P.active = 1
|
||||
if(!P.open_panel) //Needs to exist in case the wire is pulsed with a signaler while the panel is closed
|
||||
P.icon_state = "syndicate-bomb-active"
|
||||
@@ -44,7 +44,7 @@ var/const/WIRE_ACTIVATE = 16 // Will start a bombs timer if pulsed, will hint if
|
||||
P.icon_state = "syndicate-bomb-active-wires"
|
||||
processing_objects.Add(P)
|
||||
else
|
||||
P.loc.visible_message("\blue \icon[holder] The bomb seems to hesitate for a moment.")
|
||||
P.loc.visible_message("<span class='notice'>\icon[holder] The bomb seems to hesitate for a moment.</span>")
|
||||
P.timer += 5
|
||||
|
||||
/datum/wires/syndicatebomb/UpdateCut(var/index, var/mended)
|
||||
@@ -55,7 +55,7 @@ var/const/WIRE_ACTIVATE = 16 // Will start a bombs timer if pulsed, will hint if
|
||||
if(WIRE_EXPLODE)
|
||||
if(!mended)
|
||||
if(P.active)
|
||||
P.loc.visible_message("\red \icon[holder] An alarm sounds! It's go-")
|
||||
P.loc.visible_message("<span class='warning'>\icon[holder] An alarm sounds! It's go-</span>")
|
||||
P.timer = 0
|
||||
else
|
||||
P.defused = 1
|
||||
@@ -64,15 +64,15 @@ var/const/WIRE_ACTIVATE = 16 // Will start a bombs timer if pulsed, will hint if
|
||||
if(WIRE_UNBOLT)
|
||||
if (!mended && P.anchored)
|
||||
playsound(P.loc, 'sound/effects/stealthoff.ogg', 30, 1)
|
||||
P.loc.visible_message("\blue \icon[holder] The bolts lift out of the ground!")
|
||||
P.loc.visible_message("<span class='notice'>\icon[holder] The bolts lift out of the ground!</span>")
|
||||
P.anchored = 0
|
||||
if(WIRE_PROCEED)
|
||||
if(!mended && P.active)
|
||||
P.loc.visible_message("\red \icon[holder] An alarm sounds! It's go-")
|
||||
P.loc.visible_message("<span class='warning'>\icon[holder] An alarm sounds! It's go-</span>")
|
||||
P.timer = 0
|
||||
if(WIRE_ACTIVATE)
|
||||
if (!mended && P.active)
|
||||
P.loc.visible_message("\blue \icon[holder] The timer stops! The bomb has been defused!")
|
||||
P.loc.visible_message("<span class='notice'>\icon[holder] The timer stops! The bomb has been defused!</span>")
|
||||
P.icon_state = "syndicate-bomb-inactive-wires" //no cutting possible with the panel closed
|
||||
P.active = 0
|
||||
P.defused = 1
|
||||
@@ -14,7 +14,7 @@
|
||||
hitsound = 'sound/weapons/ring.ogg'
|
||||
|
||||
suicide_act(mob/user)
|
||||
viewers(user) << "\red <b>[user] wraps the cord of the [src.name] around \his neck! It looks like \he's trying to commit suicide.</b>"
|
||||
viewers(user) << "<span class='warning'><b>[user] wraps the cord of the [src.name] around \his neck! It looks like \he's trying to commit suicide.</b></span>"
|
||||
return(OXYLOSS)
|
||||
|
||||
/*/obj/item/weapon/syndicate_uplink
|
||||
@@ -60,7 +60,7 @@
|
||||
throw_range = 20
|
||||
|
||||
suicide_act(mob/user)
|
||||
viewers(user) << "\red <b>[user] drops the [src.name] on the ground and steps on it causing \him to crash to the floor, bashing \his head wide open. </b>"
|
||||
viewers(user) << "<span class='warning'><b>[user] drops the [src.name] on the ground and steps on it causing \him to crash to the floor, bashing \his head wide open. </b></span>"
|
||||
return(OXYLOSS)
|
||||
|
||||
/obj/item/weapon/corncob
|
||||
@@ -212,7 +212,7 @@
|
||||
var/thrown_from
|
||||
|
||||
/obj/item/weapon/legcuffs/bolas/suicide_act(mob/living/user)
|
||||
viewers(user) << "\red <b>[user] is wrapping the [src.name] around \his neck! It looks like \he's trying to commit suicide.</b>"
|
||||
viewers(user) << "<span class='warning'><b>[user] is wrapping the [src.name] around \his neck! It looks like \he's trying to commit suicide.</b></span>"
|
||||
return(OXYLOSS)
|
||||
|
||||
/obj/item/weapon/legcuffs/bolas/throw_at(var/atom/A, throw_range, throw_speed)
|
||||
@@ -220,7 +220,7 @@
|
||||
if(istype(usr, /mob/living/carbon/human)) //if the user is human
|
||||
var/mob/living/carbon/human/H = usr
|
||||
if((M_CLUMSY in H.mutations) && prob(50))
|
||||
H <<"\red You smack yourself in the face while swinging the [src]!"
|
||||
H <<"<span class='warning'>You smack yourself in the face while swinging the [src]!</span>"
|
||||
H.Stun(2)
|
||||
H.drop_item(src)
|
||||
return
|
||||
@@ -268,7 +268,7 @@
|
||||
throw_failed()
|
||||
return
|
||||
else //walking, but uncuffed, or the running prob() failed
|
||||
H << "\blue You stumble over the thrown bolas"
|
||||
H << "<span class='notice'>You stumble over the thrown bolas</span>"
|
||||
step(H, H.dir)
|
||||
H.Stun(1)
|
||||
throw_failed()
|
||||
@@ -407,7 +407,7 @@
|
||||
var/obj/item/weapon/grenade/iedcasing/IED = null
|
||||
|
||||
suicide_act(mob/user)
|
||||
viewers(user) << "\red <b>[user] is putting the [src.name] on \his head! It looks like \he's trying to commit suicide.</b>"
|
||||
viewers(user) << "<span class='warning'><b>[user] is putting the [src.name] on \his head! It looks like \he's trying to commit suicide.</b></span>"
|
||||
return (BRUTELOSS)
|
||||
|
||||
/obj/item/weapon/legcuffs/beartrap/attack_self(mob/user as mob)
|
||||
@@ -478,7 +478,7 @@
|
||||
for(var/mob/O in viewers(H, null))
|
||||
if(O == H)
|
||||
continue
|
||||
O.show_message("\red <B>[H] steps on \the [src].</B>", 1)
|
||||
O.show_message("<span class='warning'><B>[H] steps on \the [src].</B></span>", 1)
|
||||
if(isanimal(AM) && !istype(AM, /mob/living/simple_animal/parrot) && !istype(AM, /mob/living/simple_animal/construct) && !istype(AM, /mob/living/simple_animal/shade) && !istype(AM, /mob/living/simple_animal/hostile/viscerator))
|
||||
armed = 0
|
||||
var/mob/living/simple_animal/SA = AM
|
||||
@@ -672,7 +672,7 @@
|
||||
attack_verb = list("whipped", "lashed", "disciplined", "tickled")
|
||||
|
||||
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='warning'><b>[user] is strangling \himself with the [src.name]! It looks like \he's trying to commit suicide.</b></span>"
|
||||
return (OXYLOSS)
|
||||
|
||||
/obj/item/weapon/module
|
||||
|
||||
@@ -438,7 +438,7 @@ its easier to just keep the beam vertical.
|
||||
if (!(istype(W, /obj/item/weapon/grab) ) && !(istype(W, /obj/item/weapon/plastique)) && !(istype(W, /obj/item/weapon/reagent_containers/spray)) && !(istype(W, /obj/item/weapon/packageWrap)) && !istype(W, /obj/item/device/detective_scanner))
|
||||
for(var/mob/O in viewers(src, null))
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << "\red <B>[src] has been hit by [user] with [W]</B>"
|
||||
O << "<span class='warning'><B>[src] has been hit by [user] with [W]</B></span>"
|
||||
return
|
||||
*/
|
||||
/atom/proc/add_hiddenprint(mob/living/M as mob)
|
||||
|
||||
@@ -163,7 +163,7 @@
|
||||
if(!istype(L) || L.buckled)
|
||||
return
|
||||
if(L.abiotic())
|
||||
user << "\red <B>Subject cannot have abiotic items on.</B>"
|
||||
user << "<span class='warning'><B>Subject cannot have abiotic items on.</B></span>"
|
||||
return
|
||||
for(var/mob/living/carbon/slime/M in range(1,L))
|
||||
if(M.Victim == L)
|
||||
@@ -191,7 +191,7 @@
|
||||
return 1
|
||||
else if(istype(item, /obj/item/weapon/crowbar))
|
||||
if (occupant)
|
||||
user << "\red You cannot disassemble this [src], it's occupado."
|
||||
user << "<span class='warning'>You cannot disassemble this [src], it's occupado.</span>"
|
||||
return
|
||||
if (opened)
|
||||
playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
|
||||
@@ -207,7 +207,7 @@
|
||||
return 1
|
||||
else if(istype(item, /obj/item/weapon/reagent_containers/glass))
|
||||
if(beaker)
|
||||
user << "\red A beaker is already loaded into the machine."
|
||||
user << "<span class='warning'>A beaker is already loaded into the machine.</span>"
|
||||
return
|
||||
|
||||
beaker = item
|
||||
@@ -219,10 +219,10 @@
|
||||
if (!ismob(G.affecting))
|
||||
return
|
||||
if (src.occupant)
|
||||
user << "\blue <B>The scanner is already occupied!</B>"
|
||||
user << "<span class='notice'><B>The scanner is already occupied!</B></span>"
|
||||
return
|
||||
if (G.affecting.abiotic())
|
||||
user << "\blue <B>Subject cannot have abiotic items on.</B>"
|
||||
user << "<span class='notice'><B>Subject cannot have abiotic items on.</B></span>"
|
||||
return
|
||||
if(G.affecting.buckled)
|
||||
return
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
if(sdisability)
|
||||
M.sdisabilities|=sdisability
|
||||
if(activation_message)
|
||||
M << "\red [activation_message]"
|
||||
M << "<span class='warning'>[activation_message]</span>"
|
||||
else
|
||||
testing("[name] has no activation message.")
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
if(sdisability)
|
||||
M.sdisabilities &= ~sdisability
|
||||
if(deactivation_message)
|
||||
M << "\red [deactivation_message]"
|
||||
M << "<span class='warning'>[deactivation_message]</span>"
|
||||
else
|
||||
testing("[name] has no deactivation message.")
|
||||
|
||||
|
||||
@@ -117,10 +117,10 @@
|
||||
M.mutations.Add(mutation)
|
||||
if(activation_messages.len)
|
||||
var/msg = pick(activation_messages)
|
||||
M << "\blue [msg]"
|
||||
M << "<span class='notice'>[msg]</span>"
|
||||
|
||||
/datum/dna/gene/basic/deactivate(var/mob/M)
|
||||
M.mutations.Remove(mutation)
|
||||
if(deactivation_messages.len)
|
||||
var/msg = pick(deactivation_messages)
|
||||
M << "\red [msg]"
|
||||
M << "<span class='warning'>[msg]</span>"
|
||||
@@ -46,7 +46,7 @@
|
||||
owner.radiation = max(owner.radiation, 20)
|
||||
for(var/mob/living/L in range(1, owner))
|
||||
if(L == owner) continue
|
||||
L << "\red You are enveloped by a soft green glow emanating from [owner]."
|
||||
L << "<span class='warning'>You are enveloped by a soft green glow emanating from [owner].</span>"
|
||||
L.radiation += 5
|
||||
return
|
||||
|
||||
@@ -333,9 +333,9 @@
|
||||
if (C == owner)
|
||||
continue
|
||||
if (src.variant == 2)
|
||||
C << "\red [src.personalized_stink]"
|
||||
C << "<span class='warning'>[src.personalized_stink]</span>"
|
||||
else
|
||||
C << "\red [stinkString()]"
|
||||
C << "<span class='warning'>[stinkString()]</span>"
|
||||
*/
|
||||
|
||||
|
||||
@@ -419,7 +419,7 @@
|
||||
if (istype(M,/mob/living/carbon/human/))
|
||||
var/mob/living/carbon/human/H = M
|
||||
|
||||
H.visible_message("\red <b>[H.name]'s flesh melts right off! Holy shit!</b>")
|
||||
H.visible_message("<span class='warning'><b>[H.name]'s flesh melts right off! Holy shit!</b></span>")
|
||||
//if (H.gender == "female")
|
||||
// playsound(H.loc, 'female_fallscream.ogg', 50, 0)
|
||||
//else
|
||||
@@ -435,6 +435,6 @@
|
||||
//H.decomp_stage = 4
|
||||
H.gib(1)
|
||||
else
|
||||
M.visible_message("\red <b>[usr.name] melts into a pile of bloody viscera!</b>")
|
||||
M.visible_message("<span class='warning'><b>[usr.name] melts into a pile of bloody viscera!</b></span>")
|
||||
M.gib(1)
|
||||
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
..()
|
||||
for(var/mob/living/carbon/target in targets)
|
||||
if (M_RESIST_COLD in target.mutations)
|
||||
target.visible_message("\red A cloud of fine ice crystals engulfs [target.name], but disappears almost instantly!")
|
||||
target.visible_message("<span class='warning'>A cloud of fine ice crystals engulfs [target.name], but disappears almost instantly!</span>")
|
||||
return
|
||||
var/handle_suit = 0
|
||||
if(ishuman(target))
|
||||
@@ -155,10 +155,10 @@
|
||||
if(istype(H.wear_suit, /obj/item/clothing/suit/space))
|
||||
handle_suit = 1
|
||||
if(H.internal)
|
||||
H.visible_message("\red A cloud of fine ice crystals engulfs [H]!",
|
||||
H.visible_message("<span class='warning'>A cloud of fine ice crystals engulfs [H]!</span>",
|
||||
"<span class='notice'>A cloud of fine ice crystals cover your [H.head]'s visor.</span>")
|
||||
else
|
||||
H.visible_message("\red A cloud of fine ice crystals engulfs [H]!",
|
||||
H.visible_message("<span class='warning'>A cloud of fine ice crystals engulfs [H]!</span>",
|
||||
"<span class='warning'>A cloud of fine ice crystals cover your [H.head]'s visor and make it into your air vents!.</span>")
|
||||
H.bodytemperature = max(0, H.bodytemperature - 50)
|
||||
H.adjustFireLoss(5)
|
||||
@@ -167,7 +167,7 @@
|
||||
target.adjustFireLoss(10)
|
||||
target.ExtinguishMob()
|
||||
|
||||
target.visible_message("\red A cloud of fine ice crystals engulfs [target]!")
|
||||
target.visible_message("<span class='warning'>A cloud of fine ice crystals engulfs [target]!</span>")
|
||||
|
||||
new/obj/effects/self_deleting(target.loc, icon('icons/effects/genetics.dmi', "cryokinesis"))
|
||||
return
|
||||
@@ -339,7 +339,7 @@
|
||||
if(!do_mob(user,the_item,EAT_MOB_DELAY))
|
||||
user << "<span class='warning'> You were interrupted before you could eat [the_item]!</span>"
|
||||
else
|
||||
user.visible_message("\red [user] eats \the [limb].")
|
||||
user.visible_message("<span class='warning'>[user] eats \the [limb].</span>")
|
||||
limb.droplimb("override" = 1, "spawn_limb" = 0)
|
||||
doHeal(user)
|
||||
else
|
||||
@@ -434,7 +434,7 @@
|
||||
|
||||
if (istype(target.loc,/obj/))
|
||||
var/obj/container = target.loc
|
||||
target << "\red You leap and slam your head against the inside of [container]! Ouch!"
|
||||
target << "<span class='warning'>You leap and slam your head against the inside of [container]! Ouch!</span>"
|
||||
target.paralysis += 3
|
||||
target.weakened += 5
|
||||
container.visible_message("<span class='warning'><b>[container]</b> emits a loud thump and rattles a bit.</span>")
|
||||
|
||||
@@ -268,7 +268,7 @@
|
||||
M.dna.SetSEState(HULKBLOCK,0)
|
||||
M.update_mutations() //update our mutation overlays
|
||||
M.update_body()
|
||||
M << "\red You suddenly feel very weak."
|
||||
M << "<span class='warning'>You suddenly feel very weak.</span>"
|
||||
M.Weaken(3)
|
||||
M.emote("collapse")
|
||||
*/
|
||||
|
||||
@@ -48,7 +48,7 @@ Obviously, requires DNA2.
|
||||
//M.dna.SetSEState(HULKBLOCK,0)
|
||||
M.update_mutations() //update our mutation overlays
|
||||
M.update_body()
|
||||
M << "\red You suddenly feel very weak."
|
||||
M << "<span class='warning'>You suddenly feel very weak.</span>"
|
||||
M.Weaken(3)
|
||||
M.emote("collapse")
|
||||
|
||||
@@ -75,7 +75,7 @@ Obviously, requires DNA2.
|
||||
|
||||
/spell/targeted/genetic/hulk/cast(list/targets, mob/user)
|
||||
if (istype(user.loc,/mob))
|
||||
usr << "\red You can't hulk out right now!"
|
||||
usr << "<span class='warning'>You can't hulk out right now!</span>"
|
||||
return
|
||||
for(var/mob/living/carbon/human/M in targets)
|
||||
M.hulk_time = world.time + src.duration
|
||||
|
||||
@@ -136,11 +136,11 @@
|
||||
equip_traitor(newtraitor)
|
||||
|
||||
traitors += newtraitor.mind
|
||||
newtraitor << "\red <B>ATTENTION:</B> \black It is time to pay your debt to the Syndicate..."
|
||||
newtraitor << "<span class='warning'><B>ATTENTION:</B> </span>It is time to pay your debt to the Syndicate..."
|
||||
newtraitor << "<B>You are now a traitor.</B>"
|
||||
newtraitor.mind.special_role = "traitor"
|
||||
var/obj_count = 1
|
||||
newtraitor << "\blue Your current objectives:"
|
||||
newtraitor << "<span class='notice'>Your current objectives:</span>"
|
||||
for(var/datum/objective/objective in newtraitor.mind.objectives)
|
||||
newtraitor << "<B>Objective #[obj_count]</B>: [objective.explanation_text]"
|
||||
obj_count++
|
||||
@@ -191,10 +191,10 @@
|
||||
forge_traitor_objectives(character.mind)
|
||||
equip_traitor(character)
|
||||
traitors += character.mind
|
||||
character << "\red <B>You are the traitor.</B>"
|
||||
character << "<span class='warning'><B>You are the traitor.</B></span>"
|
||||
character.mind.special_role = "traitor"
|
||||
var/obj_count = 1
|
||||
character << "\blue Your current objectives:"
|
||||
character << "<span class='notice'>Your current objectives:</span>"
|
||||
for(var/datum/objective/objective in character.mind.objectives)
|
||||
character << "<B>Objective #[obj_count]</B>: [objective.explanation_text]"
|
||||
obj_count++
|
||||
|
||||
@@ -65,11 +65,11 @@ You must kill it all while minimizing the damage to the station."}
|
||||
|
||||
|
||||
/datum/game_mode/blob/proc/greet_blob(var/datum/mind/blob)
|
||||
blob.current << {"<B>\red You are infected by the Blob!</B>
|
||||
blob.current << {"<B><span class='warning'>You are infected by the Blob!</B>
|
||||
<b>Your body is ready to give spawn to a new blob core which will eat this station.</b>
|
||||
<b>Find a good location to spawn the core and then take control and overwhelm the station! Make sure you are ON the station when you burst!</b>
|
||||
<b>When you have found a location, wait until you spawn; this will happen automatically and you cannot speed up the process.</b>
|
||||
<b>If you go outside of the station level, or in space, then you will die; make sure your location has plenty of space to expand.</b>"}
|
||||
<b>If you go outside of the station level, or in space, then you will die; make sure your location has plenty of space to expand.</b></span>"}
|
||||
return
|
||||
|
||||
/datum/game_mode/blob/proc/show_message(var/message)
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
var/percent = round( 100.0 * start_state.score(end_state), 0.1)
|
||||
world << "<B>The station is [percent]% intact.</B>"
|
||||
log_game("Blob mode was won with station [percent]% intact.")
|
||||
world << "\blue Rebooting in 30s"
|
||||
world << "<span class='notice'>Rebooting in 30s</span>"
|
||||
..()
|
||||
return 1
|
||||
|
||||
|
||||
@@ -273,6 +273,6 @@
|
||||
set name = "Psionic Message (15)"
|
||||
set desc = "Give a psionic message to all creatures on and around the station."
|
||||
|
||||
world << "\red Your vision becomes cloudy, and your mind becomes clear."
|
||||
world << "<span class='warning'>Your vision becomes cloudy, and your mind becomes clear.</span>"
|
||||
spawn(5)
|
||||
world << "<span class='blob'>[message]</span>"
|
||||
|
||||
@@ -172,7 +172,7 @@
|
||||
/obj/effect/blob/attackby(var/obj/item/weapon/W, var/mob/user)
|
||||
user.delayNextAttack(10)
|
||||
playsound(get_turf(src), 'sound/effects/attackblob.ogg', 50, 1)
|
||||
src.visible_message("\red <B>The [src.name] has been attacked with \the [W][(user ? " by [user]." : ".")]")
|
||||
src.visible_message("<span class='warning'><B>The [src.name] has been attacked with \the [W][(user ? " by [user]." : ".")]</span>")
|
||||
var/damage = 0
|
||||
switch(W.damtype)
|
||||
if("fire")
|
||||
|
||||
@@ -131,10 +131,10 @@
|
||||
var/count = 1
|
||||
for(var/datum/objective/objective in borer.objectives)
|
||||
if(objective.check_completion())
|
||||
world << "<B>Objective #[count]</B>: [objective.explanation_text] \green <B>Success</B>"
|
||||
world << "<B>Objective #[count]</B>: [objective.explanation_text] <span class='good'><B>Success</B></span>"
|
||||
feedback_add_details("borer_objective","[objective.type]|SUCCESS")
|
||||
else
|
||||
world << "<B>Objective #[count]</B>: [objective.explanation_text] \red Failed"
|
||||
world << "<B>Objective #[count]</B>: [objective.explanation_text] <span class='warning'>Failed</span>"
|
||||
feedback_add_details("borer_objective","[objective.type]|FAIL")
|
||||
borerwin = 0
|
||||
count++
|
||||
|
||||
@@ -126,8 +126,8 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
|
||||
|
||||
/datum/game_mode/proc/greet_changeling(var/datum/mind/changeling, var/you_are=1)
|
||||
if (you_are)
|
||||
changeling.current << "<B>\red You are a changeling!</B>"
|
||||
changeling.current << "<b>\red Use say \":g message\" to communicate with your fellow changelings. Remember: you get all of their absorbed DNA if you absorb them.</b>"
|
||||
changeling.current << "<B><span class='warning'>You are a changeling!</B></span>"
|
||||
changeling.current << "<b><span class='warning'>Use say \":g message\" to communicate with your fellow changelings. Remember: you get all of their absorbed DNA if you absorb them.</b></span>"
|
||||
changeling.current << "<B>You must complete the following tasks:</B>"
|
||||
|
||||
if (changeling.current.mind)
|
||||
|
||||
@@ -415,7 +415,7 @@
|
||||
var/mob/M = locate(src) in mob_list
|
||||
if(M == src)
|
||||
yes = 1
|
||||
usr << "[yes ? "\blue" : "\red"] You are [yes ? "" : "not "]in the mob list"
|
||||
usr << "[yes ? "<span class='good'>" : "<span class='bad'>"] You are [yes ? "" : "not "]in the mob list</span>"
|
||||
yes = 0
|
||||
if(src in living_mob_list)
|
||||
yes = 1
|
||||
@@ -423,7 +423,7 @@
|
||||
var/mob/M = locate(src) in living_mob_list
|
||||
if(M == src)
|
||||
yes = 1
|
||||
usr << "[yes ? "\blue" : "\red"] You are [yes ? "" : "not "]in the living mob list"
|
||||
usr << "[yes ? "<span class='good'>" : "<span class='bad'>"] You are [yes ? "" : "not "]in the living mob list</span>"
|
||||
|
||||
/mob/proc/changeling_returntolife()
|
||||
set category = "Changeling"
|
||||
|
||||
@@ -57,15 +57,15 @@
|
||||
return
|
||||
for(var/obj/machinery/door/D in T)
|
||||
if(D.density)
|
||||
D.visible_message("\red \The [D]'s motors whine as several great tendrils begin trying to force it open!")
|
||||
D.visible_message("<span class='warning'>\The [D]'s motors whine as several great tendrils begin trying to force it open!</span>")
|
||||
if(do_after(H,50) && prob(50))
|
||||
D.open(1)
|
||||
D.visible_message("\red [H.name] forces \the [D] open!")
|
||||
D.visible_message("<span class='warning'>[H.name] forces \the [D] open!</span>")
|
||||
|
||||
// Open firedoors, too.
|
||||
for(var/obj/machinery/door/firedoor/FD in D.loc)
|
||||
if(FD && FD.density)
|
||||
FD.open(1)
|
||||
else
|
||||
usr << "\red You fail to open \the [D]."
|
||||
usr << "<span class='warning'>You fail to open \the [D].</span>"
|
||||
return
|
||||
|
||||
@@ -396,7 +396,7 @@
|
||||
if(cult_mind in cult)
|
||||
update_cult_icons_removed(cult_mind)
|
||||
cult -= cult_mind
|
||||
cult_mind.current << "\red <FONT size = 3><B>An unfamiliar white light flashes through your mind, cleansing the taint of the dark-one and the memories of your time as his servant with it.</B></FONT>"
|
||||
cult_mind.current << "<span class='danger'><FONT size = 3>An unfamiliar white light flashes through your mind, cleansing the taint of the dark-one and the memories of your time as his servant with it.</FONT></span>"
|
||||
cult_mind.memory = ""
|
||||
|
||||
if(show_message)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
return ..()
|
||||
else
|
||||
user.Paralyse(5)
|
||||
user << "\red An unexplicable force powerfully repels the sword from [target]!"
|
||||
user << "<span class='warning'>An unexplicable force powerfully repels the sword from [target]!</span>"
|
||||
var/organ = ((user.hand ? "l_":"r_") + "arm")
|
||||
var/datum/organ/external/affecting = user.get_organ(organ)
|
||||
if(affecting.take_damage(rand(force/2, force))) //random amount of damage between half of the blade's force and the full force of the blade.
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
/obj/item/weapon/melee/cultblade/pickup(mob/living/user as mob)
|
||||
if(!iscultist(user))
|
||||
user << "\red An overwhelming feeling of dread comes over you as you pick up the cultist's sword. It would be wise to be rid of this blade quickly."
|
||||
user << "<span class='warning'>An overwhelming feeling of dread comes over you as you pick up the cultist's sword. It would be wise to be rid of this blade quickly.</span>"
|
||||
user.Dizzy(120)
|
||||
|
||||
|
||||
|
||||
@@ -200,7 +200,7 @@
|
||||
return 0
|
||||
|
||||
usr.say("Mah[pick("'","`")]weyh pleggh at e'ntrath!")
|
||||
usr.show_message("\red The markings pulse with a small burst of light, then fall dark.", 3, "\red You hear a faint fizzle.", 2)
|
||||
usr.show_message("<span class='warning'>The markings pulse with a small burst of light, then fall dark.</span>", 3, "<span class='warning'>You hear a faint fizzle.</span>", 2)
|
||||
usr << "<span class='notice'> You remembered the words correctly, but the rune isn't working. Maybe your ritual is missing something important.</span>"
|
||||
|
||||
/////////////////////////////////////////FOURTH RUNE
|
||||
@@ -350,14 +350,14 @@
|
||||
if(!drain)
|
||||
return fizzle()
|
||||
usr.say ("Yu[pick("'","`")]gular faras desdae. Havas mithum javara. Umathar uf'kal thenar!")
|
||||
usr.visible_message("\red Blood flows from the rune into [usr]!", \
|
||||
usr.visible_message("<span class='warning'>Blood flows from the rune into [usr]!</span>", \
|
||||
"<span class='warning'>The blood starts flowing from the rune and into your frail mortal body. You feel... empowered.</span>", \
|
||||
"<span class='warning'>You hear a liquid flowing.</span>")
|
||||
var/mob/living/user = usr
|
||||
if(user.bhunger)
|
||||
user.bhunger = max(user.bhunger-2*drain,0)
|
||||
if(drain>=50)
|
||||
user.visible_message("\red [user]'s eyes give off eerie red glow!", \
|
||||
user.visible_message("<span class='warning'>[user]'s eyes give off eerie red glow!</span>", \
|
||||
"<span class='warning'>...but it wasn't nearly enough. You crave, crave for more. The hunger consumes you from within.</span>", \
|
||||
"<span class='warning'>You hear a heartbeat.</span>")
|
||||
user.bhunger += drain
|
||||
@@ -498,7 +498,7 @@
|
||||
if(istype(src,/obj/effect/rune))
|
||||
usr.say("Kla[pick("'","`")]atu barada nikt'o!")
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red The rune turns into gray dust, veiling the surrounding runes.", 3)
|
||||
V.show_message("<span class='warning'>The rune turns into gray dust, veiling the surrounding runes.</span>", 3)
|
||||
qdel(src)
|
||||
else
|
||||
usr.whisper("Kla[pick("'","`")]atu barada nikt'o!")
|
||||
@@ -740,7 +740,7 @@
|
||||
usr.whisper("[input]")
|
||||
for(var/datum/mind/H in ticker.mode.cult)
|
||||
if (H.current)
|
||||
H.current << "<span class='sinister'> \b [input]</span>"//changed from red to purple - Deity Link
|
||||
H.current << "<span class='sinister'> <B>[input]</span></B>"//changed from red to purple - Deity Link
|
||||
qdel(src)
|
||||
return 1
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
blind()
|
||||
qdel(src)
|
||||
if("runestun")
|
||||
user << "\red To use this talisman, attack your target directly."
|
||||
user << "<span class='warning'>To use this talisman, attack your target directly.</span>"
|
||||
return
|
||||
if("supply")
|
||||
supply()
|
||||
|
||||
@@ -83,7 +83,7 @@ AUTOMATED ALERT: Link to [command_name()] lost."}
|
||||
blackbox.save_all_data_to_sql()
|
||||
|
||||
if (watchdog.waiting)
|
||||
world << "\blue <B>Server will shut down for an automatic update in a few seconds.</B>"
|
||||
world << "<span class='notice'><B>Server will shut down for an automatic update in a few seconds.</B></span>"
|
||||
watchdog.signal_ready()
|
||||
return
|
||||
sleep(300)
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
var/extra_law = "Crew authorized to know of pathogen [virus_name]'s existence are: Heads of command, any crew member with loyalty implant. Do not allow unauthorized personnel to gain knowledge of [virus_name]. Aid authorized personnel in quarantining and neutrlizing the outbreak. This law overrides all other laws."
|
||||
for(var/mob/living/silicon/ai/M in world)
|
||||
M.add_ion_law(extra_law)
|
||||
M << "\red " + extra_law
|
||||
M << "<span class='warning'></span>" + extra_law
|
||||
|
||||
/datum/game_mode/epidemic/proc/announce_to_kill_crew()
|
||||
var/intercepttext = {"<FONT size = 3 color='red'><B>CONFIDENTIAL REPORT</FONT><HR>
|
||||
@@ -104,8 +104,8 @@
|
||||
crew += H
|
||||
|
||||
if(crew.len < 2)
|
||||
world << "\red There aren't enough players for this mode!"
|
||||
world << "\red Rebooting world in 5 seconds."
|
||||
world << "<span class='warning'>There aren't enough players for this mode!</span>"
|
||||
world << "<span class='warning'>Rebooting world in 5 seconds.</span>"
|
||||
|
||||
if(blackbox)
|
||||
blackbox.save_all_data_to_sql()
|
||||
@@ -195,10 +195,10 @@
|
||||
for(var/mob/M in world)
|
||||
if(M.client)
|
||||
M << 'sound/machines/Alarm.ogg'
|
||||
world << "\blue<b>Incoming missile detected.. Impact in 10..</b>"
|
||||
world << "<span class='warning'><b>Incoming missile detected.. Impact in 10..</b></span>"
|
||||
for (var/i=9 to 1 step -1)
|
||||
sleep(10)
|
||||
world << "\blue<b>[i]..</b>"
|
||||
world << "<span class='warning'><b>[i]..</b></span>"
|
||||
sleep(10)
|
||||
enter_allowed = 0
|
||||
if(ticker)
|
||||
@@ -216,9 +216,9 @@
|
||||
/datum/game_mode/epidemic/declare_completion()
|
||||
if(finished == 1)
|
||||
feedback_set_details("round_end_result","win - epidemic cured")
|
||||
world << "\red <FONT size = 3><B> The virus outbreak was contained! The crew wins!</B></FONT>"
|
||||
world << "<span class='danger'><FONT size = 3> The virus outbreak was contained! The crew wins!</FONT></span>"
|
||||
else if(finished == 2)
|
||||
feedback_set_details("round_end_result","loss - rev heads killed")
|
||||
world << "\red <FONT size = 3><B> The crew succumbed to the epidemic!</B></FONT>"
|
||||
world << "<span class='danger'><FONT size = 3> The crew succumbed to the epidemic!</FONT></span>"
|
||||
..()
|
||||
return 1
|
||||
@@ -364,72 +364,72 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is
|
||||
switch(rand(1,14))
|
||||
if(1)
|
||||
M << "<br>"
|
||||
M << "\red THERE ARE [amount] [who2] ON THE STATION...LAWS UPDATED"
|
||||
M << "<span class='warning'>THERE ARE [amount] [who2] ON THE STATION...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("THERE ARE [amount] [who2] ON THE STATION")
|
||||
if(2)
|
||||
M << "<br>"
|
||||
M << "\red [what2] ARE DANGEROUS TO HUMANS...LAWS UPDATED"
|
||||
M << "<span class='warning'>[what2] ARE DANGEROUS TO HUMANS...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("[what2] ARE DANGEROUS TO HUMANS")
|
||||
if(3)
|
||||
M << "<br>"
|
||||
M << "\red THE ESCAPE-SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION...LAWS UPDATED"
|
||||
M << "<span class='warning'>THE ESCAPE-SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("THE ESCAPE SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION")
|
||||
if(4)
|
||||
M << "<br>"
|
||||
M << "\red HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE...LAWS UPDATED"
|
||||
M << "<span class='warning'>HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE")
|
||||
if(5)
|
||||
M << "<br>"
|
||||
M << "\red THE CAPTAIN, HOP AND HOS ARE [who2]...LAWS UPDATED"
|
||||
M << "<span class='warning'>THE CAPTAIN, HOP AND HOS ARE [who2]...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("THE CAPTAIN, HOP AND HOS ARE [who2]")
|
||||
if(6)
|
||||
M << "<br>"
|
||||
M << "\red THE STATION IS BUILT FOR [who2]...LAWS UPDATED"
|
||||
M << "<span class='warning'>THE STATION IS BUILT FOR [who2]...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("THE STATION IS BUILT FOR [who2]")
|
||||
if(7)
|
||||
M << "<br>"
|
||||
M << "\red YOU ARE [amount] [who2]...LAWS UPDATED"
|
||||
M << "<span class='warning'>YOU ARE [amount] [who2]...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("YOU ARE [amount] [who2]")
|
||||
if(8)
|
||||
M << "<br>"
|
||||
M << "\red YOU MUST ALWAYS [aimust]...LAWS UPDATED"
|
||||
M << "<span class='warning'>YOU MUST ALWAYS [aimust]...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("YOU MUST ALWAYS [aimust]")
|
||||
if(9)
|
||||
M << "<br>"
|
||||
M << "\red [area] [area2] [amount] [what2]...LAWS UPDATED"
|
||||
M << "<span class='warning'>[area] [area2] [amount] [what2]...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("[area] [area2] [amount] [what2]")
|
||||
if(10)
|
||||
M << "<br>"
|
||||
M << "\red [crew] is [target]...LAWS UPDATED"
|
||||
M << "<span class='warning'>[crew] is [target]...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("[crew] is [target]")
|
||||
if(11)
|
||||
M << "<br>"
|
||||
M << "\red [define] IS A FORM OF HARM...LAWS UPDATED"
|
||||
M << "<span class='warning'>[define] IS A FORM OF HARM...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("[define] IS A FORM OF HARM")
|
||||
if(12)
|
||||
M << "<br>"
|
||||
M << "\red YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS... LAWS UPDATED"
|
||||
M << "<span class='warning'>YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS... LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS")
|
||||
if(13)
|
||||
M << "<br>"
|
||||
M << "\red [crew] is [allergysev] to [allergy]...LAWS UPDATED"
|
||||
M << "<span class='warning'>[crew] is [allergysev] to [allergy]...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("[crew] is [allergysev] to [allergy]")
|
||||
if(14)
|
||||
M << "<br>"
|
||||
M << "\red THE STATION IS [who2pref] [who2]...LAWS UPDATED"
|
||||
M << "<span class='warning'>THE STATION IS [who2pref] [who2]...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("THE STATION IS [who2pref] [who2]")
|
||||
|
||||
|
||||
@@ -175,7 +175,7 @@ var/global/Holiday = null
|
||||
world.update_status()
|
||||
Holiday_Game_Start()
|
||||
|
||||
message_admins("\blue ADMIN: Event: [key_name(src)] force-set Holiday to \"[Holiday]\"")
|
||||
message_admins("<span class='notice'>ADMIN: Event: [key_name(src)] force-set Holiday to \"[Holiday]\"</span>")
|
||||
log_admin("[key_name(src)] force-set Holiday to \"[Holiday]\"")
|
||||
|
||||
|
||||
@@ -218,7 +218,7 @@ var/global/Holiday = null
|
||||
if(S.z != 1) continue
|
||||
containers += S
|
||||
|
||||
message_admins("\blue DEBUG: Event: Egg spawned at [Egg.loc] ([Egg.x],[Egg.y],[Egg.z])")*/
|
||||
message_admins("<span class='notice'>DEBUG: Event: Egg spawned at [Egg.loc] ([Egg.x],[Egg.y],[Egg.z])</span>")*/
|
||||
|
||||
if("End of the World")
|
||||
if(prob(eventchance)) GameOver()
|
||||
|
||||
@@ -17,21 +17,21 @@ s_cooldown ticks off each second based on the suit recharge proc, in seconds. De
|
||||
/obj/item/clothing/suit/space/space_ninja/proc/ninjacost(C = 0,X = 0)
|
||||
var/mob/living/carbon/human/U = affecting
|
||||
if( (U.stat||U.incorporeal_move)&&X!=3 )//Will not return if user is using an adrenaline booster since you can use them when stat==1.
|
||||
U << "\red You must be conscious and solid to do this."//It's not a problem of stat==2 since the ninja will explode anyway if they die.
|
||||
U << "<span class='warning'>You must be conscious and solid to do this.</span>"//It's not a problem of stat==2 since the ninja will explode anyway if they die.
|
||||
return 1
|
||||
else if(C&&cell.charge<C*10)
|
||||
U << "\red Not enough energy."
|
||||
U << "<span class='warning'>Not enough energy.</span>"
|
||||
return 1
|
||||
switch(X)
|
||||
if(1)
|
||||
cancel_stealth()//Get rid of it.
|
||||
if(2)
|
||||
if(s_bombs<=0)
|
||||
U << "\red There are no more smoke bombs remaining."
|
||||
U << "<span class='warning'>There are no more smoke bombs remaining.</span>"
|
||||
return 1
|
||||
if(3)
|
||||
if(a_boost<=0)
|
||||
U << "\red You do not have any more adrenaline boosters."
|
||||
U << "<span class='warning'>You do not have any more adrenaline boosters.</span>"
|
||||
return 1
|
||||
return (s_coold)//Returns the value of the variable which counts down to zero.
|
||||
|
||||
@@ -56,7 +56,7 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo
|
||||
|
||||
if(!ninjacost(,2))
|
||||
var/mob/living/carbon/human/U = affecting
|
||||
U << "\blue There are <B>[s_bombs]</B> smoke bombs remaining."
|
||||
U << "<span class='notice'>There are <B>[s_bombs]</B> smoke bombs remaining.</span>"
|
||||
var/datum/effect/effect/system/smoke_spread/bad/smoke = new /datum/effect/effect/system/smoke_spread/bad()
|
||||
smoke.set_up(10, 0, U.loc)
|
||||
smoke.start()
|
||||
@@ -97,7 +97,7 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo
|
||||
s_coold = 1
|
||||
cell.charge-=(C*10)
|
||||
else
|
||||
U << "\red The VOID-shift device is malfunctioning, <B>teleportation failed</B>."
|
||||
U << "<span class='danger'>The VOID-shift device is malfunctioning, teleportation failed.</span>"
|
||||
return
|
||||
|
||||
//=======//RIGHT CLICK TELEPORT//=======//
|
||||
@@ -131,7 +131,7 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo
|
||||
s_coold = 1
|
||||
cell.charge-=(C*10)
|
||||
else
|
||||
U << "\red You cannot teleport into solid walls or from solid matter"
|
||||
U << "<span class='warning'>You cannot teleport into solid walls or from solid matter</span>"
|
||||
return
|
||||
|
||||
//=======//EM PULSE//=======//
|
||||
@@ -170,7 +170,7 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo
|
||||
U.put_in_hands(W)
|
||||
cell.charge-=(C*10)
|
||||
else
|
||||
U << "\red You can only summon one blade. Try dropping an item first."
|
||||
U << "<span class='warning'>You can only summon one blade. Try dropping an item first.</span>"
|
||||
else//Else you can run around with TWO energy blades. I don't know why you'd want to but cool factor remains.
|
||||
if(!U.get_active_hand())
|
||||
var/obj/item/weapon/melee/energy/blade/W = new()
|
||||
@@ -215,7 +215,7 @@ This could be a lot better but I'm too tired atm.*/
|
||||
cell.charge-=(C*10)
|
||||
A.process()
|
||||
else
|
||||
U << "\red There are no targets in view."
|
||||
U << "<span class='warning'>There are no targets in view.</span>"
|
||||
return
|
||||
|
||||
//=======//ENERGY NET//=======//
|
||||
@@ -244,7 +244,7 @@ Must right click on a mob to activate.*/
|
||||
var/obj/effect/energy_net/E = new /obj/effect/energy_net(M.loc)
|
||||
E.layer = M.layer+1//To have it appear one layer above the mob.
|
||||
for(var/mob/O in viewers(U, 3))
|
||||
O.show_message(text("\red [] caught [] with an energy net!", U, M), 1)
|
||||
O.show_message(text("<span class='warning'>[] caught [] with an energy net!</span>", U, M), 1)
|
||||
E.affecting = M
|
||||
E.master = U
|
||||
spawn(0)//Parallel processing.
|
||||
@@ -286,7 +286,7 @@ Movement impairing would indicate drugs and the like.*/
|
||||
spawn(70)
|
||||
reagents.reaction(U, 2)
|
||||
reagents.trans_id_to(U, "radium", a_transfer)
|
||||
U << "\red You are beginning to feel the after-effect of the injection."
|
||||
U << "<span class='warning'>You are beginning to feel the after-effect of the injection.</span>"
|
||||
a_boost--
|
||||
s_coold = 3
|
||||
return
|
||||
@@ -309,10 +309,10 @@ Or otherwise known as anime mode. Which also happens to be ridiculously powerful
|
||||
var/mob/living/carbon/human/U = affecting
|
||||
if(!U.incorporeal_move)
|
||||
U.incorporeal_move = 2
|
||||
U << "\blue You will now phase through solid matter."
|
||||
U << "<span class='notice'>You will now phase through solid matter.</span>"
|
||||
else
|
||||
U.incorporeal_move = 0
|
||||
U << "\blue You will no-longer phase through solid matter."
|
||||
U << "<span class='notice'>You will no-longer phase through solid matter.</span>"
|
||||
return
|
||||
|
||||
//=======//5 TILE TELEPORT/GIB//=======//
|
||||
@@ -351,7 +351,7 @@ Or otherwise known as anime mode. Which also happens to be ridiculously powerful
|
||||
anim(U.loc,U,'icons/mob/mob.dmi',,"phasein",,U.dir)
|
||||
s_coold = 1
|
||||
else
|
||||
U << "\red The VOID-shift device is malfunctioning, <B>teleportation failed</B>."
|
||||
U << "<span class='danger'>The VOID-shift device is malfunctioning, teleportation failed.</span>"
|
||||
return
|
||||
|
||||
//=======//TELEPORT BEHIND MOB//=======//
|
||||
@@ -425,7 +425,7 @@ This is so anime it hurts. But that's the point.*/
|
||||
anim(U.loc,U,'icons/mob/mob.dmi',,"phasein",,U.dir)
|
||||
s_coold = 1
|
||||
else
|
||||
U << "\red The VOID-shift device is malfunctioning, <B>teleportation failed</B>."
|
||||
U << "<span class='danger'>The VOID-shift device is malfunctioning, teleportation failed.</span>"
|
||||
else
|
||||
U << "\red There are no targets in view."
|
||||
U << "<span class='warning'>There are no targets in view.</span>"
|
||||
return
|
||||
|
||||
@@ -100,7 +100,7 @@ var/ninja_confirmed_selection = 0
|
||||
/proc/space_ninja_arrival(var/assign_key = null, var/assign_mission = null)
|
||||
|
||||
if(ninja_selection_active)
|
||||
usr << "\red Ninja selection already in progress. Please wait until it ends."
|
||||
usr << "<span class='warning'>Ninja selection already in progress. Please wait until it ends.</span>"
|
||||
return
|
||||
|
||||
var/datum/game_mode/current_mode = ticker.mode
|
||||
@@ -180,7 +180,7 @@ Malf AIs/silicons aren't added. Monkeys aren't added. Messes with objective comp
|
||||
break
|
||||
|
||||
if(!candidate_mob)
|
||||
usr << "\red The randomly chosen mob was not found in the second check."
|
||||
usr << "<span class='warning'>The randomly chosen mob was not found in the second check.</span>"
|
||||
return
|
||||
|
||||
ninja_selection_active = 1
|
||||
@@ -189,7 +189,7 @@ Malf AIs/silicons aren't added. Monkeys aren't added. Messes with objective comp
|
||||
|
||||
spawn(1)
|
||||
if(alert(candidate_mob, "You have been selected to play as a space ninja. Would you like to play as this role? (You have 30 seconds to accept - You will spawn in 30 seconds if you accept)",,"Yes","No")!="Yes")
|
||||
usr << "\red The selected candidate for space ninja declined."
|
||||
usr << "<span class='warning'>The selected candidate for space ninja declined.</span>"
|
||||
return
|
||||
|
||||
ninja_confirmed_selection = this_selection_id
|
||||
@@ -197,12 +197,12 @@ Malf AIs/silicons aren't added. Monkeys aren't added. Messes with objective comp
|
||||
spawn(300)
|
||||
if(!ninja_selection_active || (this_selection_id != ninja_selection_id ))
|
||||
ninja_selection_active = 0
|
||||
candidate_mob << "\red Sorry, you were too late. You only had 30 seconds to accept."
|
||||
candidate_mob << "<span class='warning'>Sorry, you were too late. You only had 30 seconds to accept.</span>"
|
||||
return
|
||||
|
||||
if(ninja_confirmed_selection != ninja_selection_id)
|
||||
ninja_selection_active = 0
|
||||
usr << "\red The ninja did not accept the role in time."
|
||||
usr << "<span class='warning'>The ninja did not accept the role in time.</span>"
|
||||
return
|
||||
|
||||
ninja_selection_active = 0
|
||||
@@ -226,8 +226,8 @@ Malf AIs/silicons aren't added. Monkeys aren't added. Messes with objective comp
|
||||
xeno_list += xeno
|
||||
|
||||
if(assign_mission)
|
||||
new_ninja.mind.store_memory("<B>Mission:</B> \red [assign_mission].<br>")
|
||||
new_ninja << "\blue \nYou are an elite mercenary assassin of the Spider Clan, [new_ninja.real_name]. The dreaded \red <B>SPACE NINJA</B>!\blue You have a variety of abilities at your disposal, thanks to your nano-enhanced cyber armor. Remember your training! \nYour current mission is: \red <B>[assign_mission]</B>"
|
||||
new_ninja.mind.store_memory("<B>Mission:</B> <span class='warning'>[assign_mission].<br></span>")
|
||||
new_ninja << "<span class='notice'>\nYou are an elite mercenary assassin of the Spider Clan, [new_ninja.real_name]. The dreaded <span class='danger'><B>SPACE NINJA</B>!<span class='notice'>You have a variety of abilities at your disposal, thanks to your nano-enhanced cyber armor. Remember your training! \nYour current mission is: </span><span class='warning'>[assign_mission]</span></span></span>"
|
||||
else
|
||||
if(xeno_list.len>3)//If there are more than three humanoid xenos on the station, time to get dangerous.
|
||||
//Here we want the ninja to murder all the queens. The other aliens don't really matter.
|
||||
@@ -374,11 +374,11 @@ Malf AIs/silicons aren't added. Monkeys aren't added. Messes with objective comp
|
||||
ninja_mind.objectives += ninja_objective
|
||||
|
||||
var/directive = generate_ninja_directive(side)
|
||||
new_ninja << "\blue \nYou are an elite mercenary assassin of the Spider Clan, [new_ninja.real_name]. The dreaded \red <B>SPACE NINJA</B>!\blue You have a variety of abilities at your disposal, thanks to your nano-enhanced cyber armor. Remember your training (initialize your suit by right clicking on it)! \nYour current directive is: \red <B>[directive]</B>"
|
||||
new_ninja.mind.store_memory("<B>Directive:</B> \red [directive]<br>")
|
||||
new_ninja << "<span class='notice'>\nYou are an elite mercenary assassin of the Spider Clan, [new_ninja.real_name]. The dreaded <span class='danger'><B>SPACE NINJA</B>!<span class='notice'>You have a variety of abilities at your disposal, thanks to your nano-enhanced cyber armor. Remember your training (initialize your suit by right clicking on it)! \nYour current directive is: </span><span class='warning'>[directive]</span></span></span>"
|
||||
new_ninja.mind.store_memory("<B>Directive:</B> <span class='warning'>[directive]<br></span>")
|
||||
|
||||
var/obj_count = 1
|
||||
new_ninja << "\blue Your current objectives:"
|
||||
new_ninja << "<span class='notice'>Your current objectives:</span>"
|
||||
for(var/datum/objective/objective in ninja_mind.objectives)
|
||||
new_ninja << "<B>Objective #[obj_count]</B>: [objective.explanation_text]"
|
||||
obj_count++
|
||||
@@ -483,7 +483,7 @@ As such, it's hard-coded for now. No reason for it not to be, really.
|
||||
|
||||
space_ninja_arrival(input, mission)
|
||||
|
||||
message_admins("\blue [key_name_admin(key)] has spawned [input] as a Space Ninja.\nTheir <b>mission</b> is: [mission]")
|
||||
message_admins("<span class='notice'>[key_name_admin(key)] has spawned [input] as a Space Ninja.\nTheir <b>mission</b> is: [mission]</span>")
|
||||
log_admin("[key] used Spawn Space Ninja.")
|
||||
|
||||
return
|
||||
@@ -559,17 +559,17 @@ As such, it's hard-coded for now. No reason for it not to be, really.
|
||||
U:gloves.item_state = "s-ninjan"
|
||||
else
|
||||
if(U.mind.special_role!="Space Ninja")
|
||||
U << "\red <B>f<>TaL <20><>RRoR</B>: 382200-*#00C<30>DE <B>RED</B>\nUNAU<41>HORIZED US<55> DET<45>C<EFBFBD><43><EFBFBD>eD\nCoMM<4D>NCING SUB-R0U<30>IN3 13...\nT<6E>RMInATING U-U-US<55>R..."
|
||||
U << "<span class='danger'><B>f<>TaL <20><>RRoR</B>: 382200-*#00C<30>DE RED\nUNAU<41>HORIZED US<55> DET<45>C<EFBFBD><43><EFBFBD>eD\nCoMM<4D>NCING SUB-R0U<30>IN3 13...\nT<6E>RMInATING U-U-US<55>R...</span>"
|
||||
U.gib()
|
||||
return 0
|
||||
if(!istype(U:head, /obj/item/clothing/head/helmet/space/space_ninja))
|
||||
U << "\red <B>ERROR</B>: 100113 \black UNABLE TO LOCATE HEAD GEAR\nABORTING..."
|
||||
U << "<span class='danger'>ERROR: 100113 </span>UNABLE TO LOCATE HEAD GEAR\nABORTING..."
|
||||
return 0
|
||||
if(!istype(U:shoes, /obj/item/clothing/shoes/space_ninja))
|
||||
U << "\red <B>ERROR</B>: 122011 \black UNABLE TO LOCATE FOOT GEAR\nABORTING..."
|
||||
U << "<span class='danger'>ERROR: 122011 </span>UNABLE TO LOCATE FOOT GEAR\nABORTING..."
|
||||
return 0
|
||||
if(!istype(U:gloves, /obj/item/clothing/gloves/space_ninja))
|
||||
U << "\red <B>ERROR</B>: 110223 \black UNABLE TO LOCATE HAND GEAR\nABORTING..."
|
||||
U << "<span class='danger'>ERROR: 110223 </span>UNABLE TO LOCATE HAND GEAR\nABORTING..."
|
||||
return 0
|
||||
|
||||
affecting = U
|
||||
@@ -704,7 +704,7 @@ As such, it's hard-coded for now. No reason for it not to be, really.
|
||||
cancel_stealth()
|
||||
|
||||
U << browse(null, "window=spideros")
|
||||
U << "\red Do or Die, <b>LET'S ROCK!!</b>"
|
||||
U << "<span class='danger'>Do or Die, LET'S ROCK!!</span>"
|
||||
|
||||
/obj/item/clothing/suit/space/space_ninja/proc/remove_kamikaze(mob/living/carbon/U)
|
||||
if(kamikaze)
|
||||
@@ -725,7 +725,7 @@ As such, it's hard-coded for now. No reason for it not to be, really.
|
||||
U.incorporeal_move = 0
|
||||
kamikaze = 0
|
||||
k_unlock = 0
|
||||
U << "\blue Disengaging mode...\n\black<b>CODE NAME</b>: \red <b>KAMIKAZE</b>"
|
||||
U << "<span class='notice'>Disengaging mode...\n\black<b>CODE NAME</b>: <span class='warning'><b>KAMIKAZE</b></span></span>"
|
||||
|
||||
//=======//AI VERBS//=======//
|
||||
|
||||
@@ -781,13 +781,13 @@ spideros = text2num(return_to)//Maximum length here is 6. Use (return_to, X) to
|
||||
if(isturf(T) && T.is_plating())
|
||||
attached = locate() in T
|
||||
if(!attached)
|
||||
U << "\red Warning: no exposed cable available."
|
||||
U << "<span class='warning'>Warning: no exposed cable available.</span>"
|
||||
else
|
||||
U << "\blue Connecting to wire, stand still..."
|
||||
U << "<span class='notice'>Connecting to wire, stand still...</span>"
|
||||
if(do_after(U,50)&&!isnull(attached))
|
||||
drain("WIRE",attached,U:wear_suit,src)
|
||||
else
|
||||
U << "\red Procedure interrupted. Protocol terminated."
|
||||
U << "<span class='warning'>Procedure interrupted. Protocol terminated.</span>"
|
||||
return
|
||||
|
||||
I've tried a lot of stuff but adding verbs to the AI while inside an object, inside another object, did not want to work properly.
|
||||
|
||||
@@ -13,4 +13,4 @@
|
||||
if(turfs.len) //Pick a turf to spawn at if we can
|
||||
var/turf/simulated/floor/T = pick(turfs)
|
||||
new/obj/effect/plant_controller(T) //spawn a controller at turf
|
||||
message_admins("\blue Event: Spacevines spawned at [T.loc] ([T.x],[T.y],[T.z])")
|
||||
message_admins("<span class='notice'>Event: Spacevines spawned at [T.loc] ([T.x],[T.y],[T.z])</span>")
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user