mirror of
https://github.com/Aurorastation/Aurora-Old.git
synced 2026-08-27 06:36:22 +01:00
@@ -1290,6 +1290,8 @@ var/global/floorIsLava = 0
|
||||
if(2)
|
||||
var/ref_mob = "\ref[M]"
|
||||
return "<b>[key_name(C, link, name)](<A HREF='?_src_=holder;adminmoreinfo=[ref_mob]'>?</A>) (<A HREF='?_src_=holder;adminplayeropts=[ref_mob]'>PP</A>) (<A HREF='?_src_=vars;Vars=[ref_mob]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=[ref_mob]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=[ref_mob]'>JMP</A>) (<A HREF='?_src_=holder;check_antagonist=1'>CA</A>)</b>"
|
||||
if(3)
|
||||
return "<b>[key_name(C, link, name)](<A HREF='?_src_=holder;adminmoreinfo=\ref[M]'>?</A>) (<A HREF='?_src_=holder;admindibs=\ref[M]'>DIBS</A>) (<A HREF='?_src_=holder;adminplayeropts=\ref[M]'>PP</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[M]'>JMP</A>)</b>"
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1527,6 +1527,9 @@
|
||||
|
||||
var/customname = input(src.owner, "Pick a title for the report", "Title") as text|null
|
||||
|
||||
//so that we alert people with certain cartidges with a PDA message.
|
||||
alertFaxes()
|
||||
|
||||
for(var/obj/machinery/faxmachine/F in machines)
|
||||
if(! (F.stat & (BROKEN|NOPOWER) ) )
|
||||
|
||||
@@ -2816,4 +2819,21 @@
|
||||
var/playerckey = href_list["warnsearchckey"]
|
||||
|
||||
warning_panel(adminckey, playerckey)
|
||||
return
|
||||
|
||||
else if(href_list["admindibs"])
|
||||
if(!check_rights(R_ADMIN|R_MOD)) return
|
||||
var/mob/M = locate(href_list["admindibs"])
|
||||
|
||||
if(M.client.adminhelped == 2)
|
||||
log_admin("[key_name(usr)] called dibs on [key_name(M)]'s adminhelp!")
|
||||
message_admins("[key_name_admin(usr)] has called dibs on [key_name_admin(M)]'s adminhelp!")
|
||||
message_mods("[key_name_admin(usr)] has called dibs on [key_name_admin(M)]'s adminhelp!")
|
||||
usr << "<font color=blue><b>You have taken over [key_name_admin(M)]'s adminhelp.</b></font>"
|
||||
usr << "[get_options_bar(M, 2, 1, 1)]"
|
||||
|
||||
M << "<font color=red><b>Your adminhelp will be tended to [usr.client.holder.fakekey ? "shortly" : "by [key_name(usr, 0, 0)]"]. Please allow the staff member a minute or two to type up a response.</b></font>"
|
||||
M.client.adminhelped = 1
|
||||
else
|
||||
usr << "<font color=red><b>The adminhelp has already been claimed.</b></font>"
|
||||
return
|
||||
@@ -18,7 +18,13 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
|
||||
if(src.handle_spam_prevention(msg,MUTE_ADMINHELP))
|
||||
return
|
||||
|
||||
adminhelped = 1 //Determines if they get the message to reply by clicking the name.
|
||||
adminhelped = 2 //Determines if they get the message to reply by clicking the name.
|
||||
|
||||
/*A wee bit of an update here: we're using the following table for adminhelped values:
|
||||
2 - Adminhelp has not been claimed by anyone.
|
||||
1 - Adminhelp has been claimed, initial message has not been sent.
|
||||
0 - Adminhelp has been claimed, initial message has been sent.
|
||||
*/
|
||||
|
||||
/**src.verbs -= /client/verb/adminhelp
|
||||
|
||||
@@ -91,7 +97,7 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
|
||||
if(!mob) return //this doesn't happen
|
||||
|
||||
var/ref_mob = "\ref[mob]"
|
||||
msg = "\blue <b><font color=red>HELP: </font>[get_options_bar(mob, 2, 1, 1)][ai_found ? " (<A HREF='?_src_=holder;adminchecklaws=[ref_mob]'>CL</A>)" : ""]:</b> [msg]"
|
||||
msg = "\blue <b><font color=red>HELP: </font>[get_options_bar(mob, 3, 1, 1)][ai_found ? " (<A HREF='?_src_=holder;adminchecklaws=[ref_mob]'>CL</A>)" : ""]:</b> [msg]"
|
||||
|
||||
//send this msg to all admins
|
||||
var/admin_number_present = 0
|
||||
|
||||
@@ -41,6 +41,9 @@
|
||||
/mob/living/proc/get_scooped(var/mob/living/carbon/grabber)
|
||||
if(!holder_type)
|
||||
return
|
||||
if(buckled)
|
||||
grabber << "Perhaps you should unbuckle [src] first?"
|
||||
return
|
||||
var/obj/item/weapon/holder/H = new holder_type(loc)
|
||||
src.loc = H
|
||||
H.name = loc.name
|
||||
|
||||
@@ -149,8 +149,6 @@
|
||||
name = "lungs"
|
||||
parent_organ = "chest"
|
||||
removed_type = /obj/item/organ/lungs
|
||||
min_bruised_damage = 15
|
||||
min_broken_damage = 20
|
||||
|
||||
process()
|
||||
..()
|
||||
@@ -164,7 +162,9 @@
|
||||
owner.drip(10)
|
||||
if(prob(4))
|
||||
spawn owner.emote("me", 1, "gasps for air!")
|
||||
owner.losebreath += 15
|
||||
owner.losebreath += 6
|
||||
if(is_broken())
|
||||
owner.losebreath +=5
|
||||
|
||||
/datum/organ/internal/liver
|
||||
name = "liver"
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
idle_power_usage = 0
|
||||
active_power_usage = 0
|
||||
|
||||
interact_offline = 1
|
||||
|
||||
/obj/machinery/power/Del()
|
||||
disconnect_from_network()
|
||||
..()
|
||||
@@ -72,16 +74,17 @@
|
||||
/obj/machinery/proc/power_change(var/area/master_area = null) // called whenever the power settings of the containing area change
|
||||
// by default, check equipment channel & set flag
|
||||
// can override if needed
|
||||
var/has_power
|
||||
if (master_area)
|
||||
has_power = master_area.powered(power_channel)
|
||||
else
|
||||
has_power = powered(power_channel)
|
||||
|
||||
if(has_power)
|
||||
// var/has_power
|
||||
// if (master_area)
|
||||
// has_power = master_area.powered(power_channel)
|
||||
// else
|
||||
// has_power = powered(power_channel)
|
||||
//
|
||||
if(powered(power_channel))
|
||||
stat &= ~NOPOWER
|
||||
else
|
||||
stat |= NOPOWER
|
||||
return
|
||||
|
||||
// the powernet datum
|
||||
// each contiguous network of cables & nodes
|
||||
@@ -270,8 +273,8 @@
|
||||
//No animations will be performed by this proc.
|
||||
/proc/electrocute_mob(mob/living/carbon/M as mob, var/power_source, var/obj/source, var/siemens_coeff = 1.0)
|
||||
if(istype(M.loc,/obj/mecha)) return 0 //feckin mechs are dumb
|
||||
|
||||
//This is for performance optimization only.
|
||||
|
||||
//This is for performance optimization only.
|
||||
//DO NOT modify siemens_coeff here. That is checked in human/electrocute_act()
|
||||
if(istype(M,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = M
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
..()
|
||||
reagents.add_reagent("tea", 30)
|
||||
src.pixel_x = rand(-10.0, 10)
|
||||
src.pixel_y = rand(-10.0, 10)
|
||||
src.pixel_y = rand(0, 10)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/ice
|
||||
name = "Ice Cup"
|
||||
|
||||
+14
-1
@@ -11,7 +11,12 @@
|
||||
for (var/obj/item/weapon/cell/D in R.contents)
|
||||
D.charge += rand() * 100 + 50
|
||||
R << "\blue SYSTEM ALERT: Large energy boost detected!"
|
||||
return 1
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
H.nutrition += rand() * 100 + 50
|
||||
H << "\blue Your batteries gain a quick boost of energy!"
|
||||
return 1
|
||||
|
||||
/datum/artifact_effect/cellcharge/DoEffectAura()
|
||||
if(holder)
|
||||
@@ -24,6 +29,10 @@
|
||||
for (var/obj/item/weapon/cell/D in M.contents)
|
||||
D.charge += 25
|
||||
M << "\blue SYSTEM ALERT: Energy boost detected!"
|
||||
for (var/mob/living/carbon/human/H in range(effectrange,holder))
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
H.nutrition += 25
|
||||
H << "\blue Your batteries gain a quick boost of energy!"
|
||||
return 1
|
||||
|
||||
/datum/artifact_effect/cellcharge/DoEffectPulse()
|
||||
@@ -37,4 +46,8 @@
|
||||
for (var/obj/item/weapon/cell/D in M.contents)
|
||||
D.charge += rand() * 100
|
||||
M << "\blue SYSTEM ALERT: Energy boost detected!"
|
||||
for (var/mob/living/carbon/human/H in range(effectrange,holder))
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
H.nutrition += rand() * 100
|
||||
H << "\blue Your batteries gain a quick boost of energy!"
|
||||
return 1
|
||||
|
||||
@@ -11,8 +11,11 @@
|
||||
for (var/obj/item/weapon/cell/D in R.contents)
|
||||
D.charge = max(D.charge - rand() * 100, 0)
|
||||
R << "\blue SYSTEM ALERT: Energy drain detected!"
|
||||
return 1
|
||||
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
H.nutrition += rand() * 100 + 50
|
||||
H << "\red You feel your batteries draining."
|
||||
return 1
|
||||
|
||||
/datum/artifact_effect/celldrain/DoEffectAura()
|
||||
@@ -26,6 +29,10 @@
|
||||
for (var/obj/item/weapon/cell/D in M.contents)
|
||||
D.charge = max(D.charge - 50,0)
|
||||
M << "\red SYSTEM ALERT: Energy drain detected!"
|
||||
for (var/mob/living/carbon/human/H in range(effectrange,holder))
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
H.nutrition -= 25
|
||||
H << "\red You feel your batteries draining."
|
||||
return 1
|
||||
|
||||
/datum/artifact_effect/celldrain/DoEffectPulse()
|
||||
@@ -39,4 +46,8 @@
|
||||
for (var/obj/item/weapon/cell/D in M.contents)
|
||||
D.charge = max(D.charge - rand() * 150,0)
|
||||
M << "\red SYSTEM ALERT: Energy drain detected!"
|
||||
for (var/mob/living/carbon/human/H in range(effectrange,holder))
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
H.nutrition -= rand() * 100
|
||||
H << "\red You feel your batteries draining."
|
||||
return 1
|
||||
|
||||
@@ -15,7 +15,10 @@
|
||||
/datum/artifact_effect/dnaswitch/DoEffectTouch(var/mob/toucher)
|
||||
var/weakness = GetAnomalySusceptibility(toucher)
|
||||
if(ishuman(toucher) && prob(weakness * 100))
|
||||
toucher << pick("\green You feel a little different.",\
|
||||
var/mob/living/carbon/human/H = toucher
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
return 1
|
||||
H << pick("\green You feel a little different.",\
|
||||
"\green You feel very strange.",\
|
||||
"\green Your stomach churns.",\
|
||||
"\green Your skin feels loose.",\
|
||||
@@ -23,15 +26,17 @@
|
||||
"\green You feel a tingling sensation in your chest.",\
|
||||
"\green Your entire body vibrates.")
|
||||
if(prob(75))
|
||||
scramble(1, toucher, weakness * severity)
|
||||
scramble(1, H, weakness * severity)
|
||||
else
|
||||
scramble(0, toucher, weakness * severity)
|
||||
scramble(0, H, weakness * severity)
|
||||
return 1
|
||||
|
||||
/datum/artifact_effect/dnaswitch/DoEffectAura()
|
||||
if(holder)
|
||||
for(var/mob/living/carbon/human/H in range(src.effectrange,holder))
|
||||
var/weakness = GetAnomalySusceptibility(H)
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
return 1
|
||||
if(prob(weakness * 100))
|
||||
if(prob(30))
|
||||
H << pick("\green You feel a little different.",\
|
||||
@@ -50,6 +55,8 @@
|
||||
if(holder)
|
||||
for(var/mob/living/carbon/human/H in range(200, holder))
|
||||
var/weakness = GetAnomalySusceptibility(H)
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
return 1
|
||||
if(prob(weakness * 100))
|
||||
if(prob(75))
|
||||
H << pick("\green You feel a little different.",\
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
|
||||
if(ishuman(toucher))
|
||||
var/mob/living/carbon/human/H = toucher
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
return 1
|
||||
for(var/datum/organ/external/affecting in H.organs)
|
||||
if(affecting && istype(affecting))
|
||||
affecting.heal_damage(25 * weakness, 25 * weakness)
|
||||
|
||||
@@ -8,6 +8,10 @@
|
||||
var/weakness = GetAnomalySusceptibility(toucher)
|
||||
if(iscarbon(toucher) && prob(weakness * 100))
|
||||
var/mob/living/carbon/C = toucher
|
||||
if(ishuman(C))
|
||||
var/mob/living/carbon/human/H = C
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
return 1
|
||||
C << "\red A painful discharge of energy strikes you!"
|
||||
C.adjustOxyLoss(rand(5,25) * weakness)
|
||||
C.adjustToxLoss(rand(5,25) * weakness)
|
||||
@@ -24,6 +28,10 @@
|
||||
for (var/mob/living/carbon/C in range(src.effectrange,holder))
|
||||
var/weakness = GetAnomalySusceptibility(C)
|
||||
if(prob(weakness * 100))
|
||||
if(ishuman(C))
|
||||
var/mob/living/carbon/human/H = C
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
return 1
|
||||
if(prob(10))
|
||||
C << "\red You feel a painful force radiating from something nearby."
|
||||
C.adjustBruteLoss(1 * weakness)
|
||||
@@ -38,6 +46,10 @@
|
||||
for (var/mob/living/carbon/C in range(effectrange, holder))
|
||||
var/weakness = GetAnomalySusceptibility(C)
|
||||
if(prob(weakness * 100))
|
||||
if(ishuman(C))
|
||||
var/mob/living/carbon/human/H = C
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
return 1
|
||||
C << "\red A wave of painful energy strikes you!"
|
||||
C.adjustBruteLoss(3 * weakness)
|
||||
C.adjustFireLoss(3 * weakness)
|
||||
|
||||
@@ -14,6 +14,13 @@
|
||||
R.adjustBruteLoss(rand(-10,-30))
|
||||
R.adjustFireLoss(rand(-10,-30))
|
||||
return 1
|
||||
if (ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
H << "\blue The damage to your body appears to be mending itself."
|
||||
H.adjustBruteLoss(rand(-10,-30))
|
||||
H.adjustFireLoss(rand(-10,-30))
|
||||
return 1
|
||||
|
||||
/datum/artifact_effect/roboheal/DoEffectAura()
|
||||
if(holder)
|
||||
@@ -23,6 +30,12 @@
|
||||
M.adjustBruteLoss(-1)
|
||||
M.adjustFireLoss(-1)
|
||||
M.updatehealth()
|
||||
for (var/mob/living/carbon/human/H in range(src.effectrange,holder))
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
H << "\blue The damage to your body appears to be mending itself."
|
||||
H.adjustBruteLoss(-1)
|
||||
H.adjustFireLoss(-1)
|
||||
H.updatehealth()
|
||||
return 1
|
||||
|
||||
/datum/artifact_effect/roboheal/DoEffectPulse()
|
||||
@@ -32,4 +45,10 @@
|
||||
M.adjustBruteLoss(-10)
|
||||
M.adjustFireLoss(-10)
|
||||
M.updatehealth()
|
||||
for (var/mob/living/carbon/human/H in range(src.effectrange,holder))
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
H << "\blue The damage to your body appears to be mending itself."
|
||||
H.adjustBruteLoss(-10)
|
||||
H.adjustFireLoss(-10)
|
||||
H.updatehealth()
|
||||
return 1
|
||||
|
||||
@@ -14,6 +14,13 @@
|
||||
R.adjustBruteLoss(rand(10,50))
|
||||
R.adjustFireLoss(rand(10,50))
|
||||
return 1
|
||||
if (ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
H << "\red The metal chassis of your body starts to crumple and heat up!"
|
||||
H.adjustBruteLoss(rand(10,50))
|
||||
H.adjustFireLoss(rand(10, 50))
|
||||
return 1
|
||||
|
||||
/datum/artifact_effect/robohurt/DoEffectAura()
|
||||
if(holder)
|
||||
@@ -22,6 +29,12 @@
|
||||
M.adjustBruteLoss(1)
|
||||
M.adjustFireLoss(1)
|
||||
M.updatehealth()
|
||||
for (var/mob/living/carbon/human/H in range(src.effectrange,holder))
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
if(prob(10)) H << "\red Your screen flickers and your servos buzz."
|
||||
H.adjustBruteLoss(1)
|
||||
H.adjustFireLoss(1)
|
||||
H.updatehealth()
|
||||
return 1
|
||||
|
||||
/datum/artifact_effect/robohurt/DoEffectPulse()
|
||||
@@ -31,4 +44,10 @@
|
||||
M.adjustBruteLoss(10)
|
||||
M.adjustFireLoss(10)
|
||||
M.updatehealth()
|
||||
for (var/mob/living/carbon/human/H in range(src.effectrange,holder))
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
H << "\red Your screen flickers and your servos buzz."
|
||||
H.adjustBruteLoss(10)
|
||||
H.adjustFireLoss(10)
|
||||
H.updatehealth()
|
||||
return 1
|
||||
|
||||
@@ -12,7 +12,10 @@
|
||||
var/weakness = GetAnomalySusceptibility(toucher)
|
||||
if(ishuman(toucher) && prob(weakness * 100))
|
||||
var/mob/living/carbon/human/H = toucher
|
||||
H << pick("\blue You feel like taking a nap.","\blue You feel a yawn coming on.","\blue You feel a little tired.")
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
H << pick("\blue Your core processor begins to slow down.","\blue Your sensory input begins to slow down.")
|
||||
else
|
||||
H << pick("\blue You feel like taking a nap.","\blue You feel a yawn coming on.","\blue You feel a little tired.")
|
||||
H.drowsyness = min(H.drowsyness + rand(5,25) * weakness, 50 * weakness)
|
||||
H.eye_blurry = min(H.eye_blurry + rand(1,3) * weakness, 50 * weakness)
|
||||
return 1
|
||||
@@ -26,7 +29,10 @@
|
||||
var/weakness = GetAnomalySusceptibility(H)
|
||||
if(prob(weakness * 100))
|
||||
if(prob(10))
|
||||
H << pick("\blue You feel like taking a nap.","\blue You feel a yawn coming on.","\blue You feel a little tired.")
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
H << pick("\blue Your core processor begins to slow down.","\blue Your sensory input begins to slow down.")
|
||||
else
|
||||
H << pick("\blue You feel like taking a nap.","\blue You feel a yawn coming on.","\blue You feel a little tired.")
|
||||
H.drowsyness = min(H.drowsyness + 1 * weakness, 25 * weakness)
|
||||
H.eye_blurry = min(H.eye_blurry + 1 * weakness, 25 * weakness)
|
||||
for (var/mob/living/silicon/robot/R in range(src.effectrange,holder))
|
||||
@@ -36,9 +42,13 @@
|
||||
/datum/artifact_effect/sleepy/DoEffectPulse()
|
||||
if(holder)
|
||||
for(var/mob/living/carbon/human/H in range(src.effectrange, holder))
|
||||
|
||||
var/weakness = GetAnomalySusceptibility(H)
|
||||
if(prob(weakness * 100))
|
||||
H << pick("\blue You feel like taking a nap.","\blue You feel a yawn coming on.","\blue You feel a little tired.")
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
H << pick("\blue Your core processor begins to slow down.","\blue Your sensory input begins to slow down.")
|
||||
else
|
||||
H << pick("\blue You feel like taking a nap.","\blue You feel a yawn coming on.","\blue You feel a little tired.")
|
||||
H.drowsyness = min(H.drowsyness + rand(5,15) * weakness, 50 * weakness)
|
||||
H.eye_blurry = min(H.eye_blurry + rand(5,15) * weakness, 50 * weakness)
|
||||
for (var/mob/living/silicon/robot/R in range(src.effectrange,holder))
|
||||
|
||||
@@ -70,6 +70,11 @@
|
||||
S.sample_item(src, user)
|
||||
return
|
||||
|
||||
else if(istype(W,/obj/item/weapon/hand_labeler/))
|
||||
var/obj/item/weapon/hand_labeler/HL = W
|
||||
HL.afterattack(src, user)
|
||||
return
|
||||
|
||||
..()
|
||||
if(prob(33))
|
||||
src.visible_message("<span class='warning'>[src] crumbles away, leaving some dust and gravel behind.</span>")
|
||||
|
||||
Reference in New Issue
Block a user