mirror of
https://github.com/Aurorastation/Aurora-Old.git
synced 2026-08-30 08:06:19 +01:00
Merge branch 'master' into development
Conflicts: code/game/machinery/cryopod.dm code/game/objects/structures/stool_bed_chair_nest/bed.dm code/modules/supermatter/supermatter.dm
This commit is contained in:
@@ -17,6 +17,27 @@ world/IsBanned(key,address,computer_id)
|
||||
AddBan(ckey(key), computer_id, "Use of ToR", "Automated Ban", 0, 0)
|
||||
return list("reason"="Using ToR", "desc"="\nReason: The network you are using to connect has been banned.\nIf you believe this is a mistake, please request help at [config.banappeals]")
|
||||
|
||||
if(config && config.ip_blacklist_enabled)
|
||||
testing("Loading Blacklist")
|
||||
var/text = file2text("data/ip_blacklist.txt")
|
||||
if (!text)
|
||||
error("Failed to load data/ip_blacklist.txt")
|
||||
else
|
||||
var/list/lines = text2list(text, "\n")
|
||||
for(var/line in lines)
|
||||
if (!line)
|
||||
continue
|
||||
|
||||
if (copytext(line, 1, 2) == ";")
|
||||
continue
|
||||
|
||||
var/banned_address = copytext(line, 1, length(line)+1)
|
||||
testing("Blacklist: address:[address] - banned_address:[banned_address]")
|
||||
if(banned_address == address)
|
||||
log_access("Failed Login: [src] - Blacklisted IP")
|
||||
message_admins("\blue Failed Login: [src] - Blacklisted IP")
|
||||
AddBan(ckey(key), computer_id, "Bad IP", "Automated Ban", 0, 0)
|
||||
return list("reason"="IP Blacklisted", "desc"="\nReason: This IP has been blacklisted from the server.\nIf you believe this is a mistake, please request help at [config.banappeals]")
|
||||
|
||||
if(config.ban_legacy_system)
|
||||
|
||||
|
||||
@@ -740,12 +740,50 @@ var/global/floorIsLava = 0
|
||||
ooc_allowed = !( ooc_allowed )
|
||||
if (ooc_allowed)
|
||||
world << "<B>The OOC channel has been globally enabled!</B>"
|
||||
ooc_dev_allowed = 1
|
||||
ooc_mod_allowed = 1
|
||||
else
|
||||
world << "<B>The OOC channel has been globally disabled!</B>"
|
||||
log_admin("[key_name(usr)] toggled OOC.")
|
||||
message_admins("[key_name_admin(usr)] toggled OOC.", 1)
|
||||
feedback_add_details("admin_verb","TOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/datum/admins/proc/toggledevooc()
|
||||
set category = "Server"
|
||||
set desc="Toggles Developer OOC"
|
||||
set name="Toggle Dev OOC"
|
||||
if(ooc_allowed)
|
||||
usr << "OOC needs to be muted first"
|
||||
return
|
||||
ooc_dev_allowed = !( ooc_dev_allowed )
|
||||
var/looc_status
|
||||
if (ooc_dev_allowed)
|
||||
looc_status = "Enabled"
|
||||
else
|
||||
looc_status = "Disabled"
|
||||
log_admin("[key_name(usr)] [looc_status] Developer OOC.")
|
||||
message_admins("[key_name_admin(usr)] [looc_status] Developer OOC.", 1)
|
||||
msg_scopes("<B>Developer OOC has been [looc_status]</B>",1,1)
|
||||
feedback_add_details("admin_verb","TDOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/datum/admins/proc/togglemodooc()
|
||||
set category = "Server"
|
||||
set desc="Toggles Moderators OOC"
|
||||
set name="Toggle Mod OOC"
|
||||
if(ooc_allowed)
|
||||
usr << "OOC needs to be muted first"
|
||||
return
|
||||
ooc_mod_allowed = !( ooc_mod_allowed )
|
||||
var/looc_status
|
||||
if (ooc_mod_allowed)
|
||||
looc_status = "Enabled"
|
||||
else
|
||||
looc_status = "Disabled"
|
||||
log_admin("[key_name(usr)] toggled Mod OOC.")
|
||||
message_admins("[key_name_admin(usr)] [looc_status] Moderator OOC.", 1)
|
||||
message_mods("<B>Moderator OOC has been [looc_status]</B>")
|
||||
feedback_add_details("admin_verb","TMOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/datum/admins/proc/togglelooc()
|
||||
set category = "Server"
|
||||
set desc="Globally Toggles LOOC"
|
||||
@@ -753,14 +791,49 @@ var/global/floorIsLava = 0
|
||||
looc_allowed = !( looc_allowed )
|
||||
if (looc_allowed)
|
||||
world << "<B>The LOOC channel has been globally enabled!</B>"
|
||||
looc_dev_allowed = 1
|
||||
looc_mod_allowed = 1
|
||||
else
|
||||
world << "<B>The LOOC channel has been globally disabled!</B>"
|
||||
log_admin("[key_name(usr)] toggled LOOC.")
|
||||
message_admins("[key_name_admin(usr)] toggled LOOC.", 1)
|
||||
feedback_add_details("admin_verb","TLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/datum/admins/proc/toggledevlooc()
|
||||
set category = "Server"
|
||||
set desc="Toggles Developer LOOC"
|
||||
set name="Toggle Dev LOOC"
|
||||
if(looc_allowed)
|
||||
usr << "Looc needs to be muted first"
|
||||
return
|
||||
looc_dev_allowed = !( looc_dev_allowed )
|
||||
var/looc_status
|
||||
if (looc_dev_allowed)
|
||||
looc_status = "Enabled"
|
||||
else
|
||||
looc_status = "Disabled"
|
||||
log_admin("[key_name(usr)] [looc_status] Developer LOOC.")
|
||||
message_admins("[key_name_admin(usr)] [looc_status] Developer LOOC.", 1)
|
||||
msg_scopes("<B>Developer LOOC has been [looc_status]</B>",1,1)
|
||||
feedback_add_details("admin_verb","TDLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/datum/admins/proc/togglemodlooc()
|
||||
set category = "Server"
|
||||
set desc="Toggles Moderator LOOC"
|
||||
set name="Toggle Mod LOOC"
|
||||
if(looc_allowed)
|
||||
usr << "Looc needs to be muted first"
|
||||
return
|
||||
looc_mod_allowed = !( looc_mod_allowed )
|
||||
var/looc_status
|
||||
if (looc_mod_allowed)
|
||||
looc_status = "Enabled"
|
||||
else
|
||||
looc_status = "Disabled"
|
||||
log_admin("[key_name(usr)] [looc_status] Moderator LOOC.")
|
||||
message_admins("[key_name_admin(usr)] [looc_status] Moderator LOOC.", 1)
|
||||
message_mods("<B>Moderator LOOC has been [looc_status]</B>")
|
||||
feedback_add_details("admin_verb","TMLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/datum/admins/proc/toggledsay()
|
||||
set category = "Server"
|
||||
@@ -879,8 +952,8 @@ var/global/floorIsLava = 0
|
||||
if (!ticker || ticker.current_state != GAME_STATE_PREGAME)
|
||||
ticker.delay_end = !ticker.delay_end
|
||||
log_admin("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].")
|
||||
message_admins("\blue [key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1)
|
||||
message_mods("\blue [key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1)
|
||||
message_admins("\blue [key_name(usr)] [ticker.delay_end ? "<font color=#FF0000>delayed</font> the round end" : "has made the round end <font color=#00FF00>normally</font>"].", 1)
|
||||
message_mods("\blue [key_name(usr)] [ticker.delay_end ? "<font color=#FF0000>delayed</font> the round end" : "has made the round end <font color=#00FF00>normally</font>"].", 1)
|
||||
return //alert("Round end delayed", null, null, null, null, null)
|
||||
going = !( going )
|
||||
if (!( going ))
|
||||
|
||||
@@ -59,7 +59,11 @@ var/list/admin_verbs_admin = list(
|
||||
/client/proc/secrets,
|
||||
/client/proc/toggleprayers,
|
||||
/datum/admins/proc/toggleooc, /*toggles ooc on/off for everyone*/
|
||||
/datum/admins/proc/toggledevooc,
|
||||
/datum/admins/proc/togglemodooc,
|
||||
/datum/admins/proc/togglelooc,
|
||||
/datum/admins/proc/togglemodlooc,
|
||||
/datum/admins/proc/toggledevlooc,
|
||||
/datum/admins/proc/toggleoocdead, /*toggles ooc on/off for everyone who is dead*/
|
||||
/datum/admins/proc/toggledsay, /*toggles dsay on/off for everyone*/
|
||||
/client/proc/game_panel, /*game panel, allows to change game-mode etc*/
|
||||
@@ -138,6 +142,7 @@ var/list/admin_verbs_dev = list(
|
||||
/client/proc/cmd_dev_say,
|
||||
/client/proc/cmd_dev_bst,
|
||||
/client/proc/cmd_dev_reset_gravity,
|
||||
/client/proc/cmd_dev_reset_floating,
|
||||
/client/proc/togglescopeslogs
|
||||
)
|
||||
var/list/admin_verbs_spawn = list(
|
||||
@@ -188,7 +193,10 @@ var/list/admin_verbs_debug = list(
|
||||
/client/proc/toggledebuglogs,
|
||||
/client/proc/SDQL_query,
|
||||
/client/proc/SDQL2_query,
|
||||
/client/proc/cmd_dev_reset_gravity
|
||||
/client/proc/cmd_dev_reset_gravity,
|
||||
/client/proc/cmd_dev_reset_floating,
|
||||
/client/proc/cleartox,
|
||||
/client/proc/fillspace
|
||||
)
|
||||
var/list/admin_verbs_possess = list(
|
||||
/proc/possess,
|
||||
@@ -330,6 +338,7 @@ var/list/admin_verbs_mod = list(
|
||||
admin_verbs_rejuv,
|
||||
admin_verbs_sounds,
|
||||
admin_verbs_spawn,
|
||||
admin_verbs_dev,
|
||||
/*Debug verbs added by "show debug verbs"*/
|
||||
/client/proc/Cell,
|
||||
/client/proc/do_not_use_these,
|
||||
@@ -961,3 +970,42 @@ var/list/admin_verbs_mod = list(
|
||||
usr << "You now will get advanced debug logs"
|
||||
else
|
||||
usr << "You now won't get advanced debug logs"
|
||||
|
||||
/client/proc/cleartox()
|
||||
set category = "Special Verbs"
|
||||
set name = "Clear Toxin/Fire in Zone"
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
|
||||
var/datum/gas_mixture/environment = usr.loc.return_air()
|
||||
environment.toxins_archived = null
|
||||
environment.toxins = 0
|
||||
environment.carbon_dioxide = 0
|
||||
environment.carbon_dioxide_archived = null
|
||||
environment.oxygen = 21.8366
|
||||
environment.oxygen_archived = null
|
||||
environment.nitrogen = 82.1472
|
||||
environment.nitrogen_archived = null
|
||||
environment.temperature_archived = null
|
||||
environment.temperature = 293.15
|
||||
environment.update_values()
|
||||
var/turf/simulated/location = get_turf(usr)
|
||||
if(location.zone)
|
||||
for(var/turf/T in location.zone.contents)
|
||||
for(var/obj/fire/F in T.contents)
|
||||
del(F)
|
||||
for(var/obj/fire/FF in world)
|
||||
del(FF)
|
||||
|
||||
/client/proc/fillspace()
|
||||
set category = "Special Verbs"
|
||||
set name = "Fill Space with floor"
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
var/area/location = usr.loc.loc
|
||||
if(location.name != "Space")
|
||||
for(var/turf/space/S in location)
|
||||
S.ChangeTurf(/turf/simulated/floor/plating)
|
||||
if(location.name == "Space")
|
||||
for(var/turf/space/S in range(2,usr.loc))
|
||||
S.ChangeTurf(/turf/simulated/floor/plating)
|
||||
@@ -81,7 +81,9 @@
|
||||
body += "<a href='?src=\ref[src];traitor="+ref+"'>TP</a> - "
|
||||
body += "<a href='?src=\ref[usr];priv_msg=\ref"+ref+"'>PM</a> - "
|
||||
body += "<a href='?src=\ref[src];subtlemessage="+ref+"'>SM</a> - "
|
||||
body += "<a href='?src=\ref[src];adminplayerobservejump="+ref+"'>JMP</a><br>"
|
||||
body += "<a href='?src=\ref[src];adminplayerobservejump="+ref+"'>JMP</a> - "
|
||||
body += "<a href='?src=\ref[src];admin_wind_player="+ref+"'>WIND</a><br>"
|
||||
|
||||
if(antagonist > 0)
|
||||
body += "<font size='2'><a href='?src=\ref[src];check_antagonist=1'><font color='red'><b>Antagonist</b></font></a></font>";
|
||||
|
||||
|
||||
@@ -2768,3 +2768,20 @@
|
||||
if("list")
|
||||
PlayerNotesPage(text2num(href_list["index"]))
|
||||
return
|
||||
|
||||
if(href_list["admin_wind_player"])
|
||||
|
||||
var/mob/M = locate(href_list["admin_wind_player"])
|
||||
if(!ismob(M))
|
||||
usr << "This can only be used on instances of type /mob"
|
||||
return
|
||||
|
||||
if(!M.ckey) //sanity
|
||||
usr << "This mob has no ckey"
|
||||
return
|
||||
|
||||
if(alert("Wind [M]?",,"Yes","No")!="Yes")
|
||||
return
|
||||
|
||||
M.weakened = 500
|
||||
return
|
||||
|
||||
@@ -40,8 +40,7 @@
|
||||
bst.name = "Bluespace Technician"
|
||||
bst.real_name = "Bluespace Technician"
|
||||
bst.voice_name = "Bluespace Technician"
|
||||
// bst.h_style = "hair_crewcut"
|
||||
// bst.update_hair()
|
||||
bst.h_style = "Crewcut"
|
||||
|
||||
//Items
|
||||
var/obj/item/clothing/under/U = new /obj/item/clothing/under/rank/centcom_officer/bst(bst)
|
||||
@@ -77,9 +76,11 @@
|
||||
id.name = "[id.assignment]"
|
||||
bst.equip_to_slot_or_del(id, slot_wear_id)
|
||||
bst.update_inv_wear_id()
|
||||
bst.regenerate_icons()
|
||||
|
||||
//Add the rest of the languages
|
||||
//Because universal speak doesn't work right.
|
||||
bst.add_language("Sol Common")
|
||||
bst.add_language("Sinta'unathi")
|
||||
bst.add_language("Siik'Maas")
|
||||
bst.add_language("Skrellian")
|
||||
@@ -98,7 +99,10 @@
|
||||
spawn(5)
|
||||
s.start()
|
||||
bst.anchored = 0
|
||||
spawn(10)
|
||||
del(s)
|
||||
log_debug("Bluespace Tech Spawned: X:[bst.x] Y:[bst.y] Z:[bst.z] User:[src]")
|
||||
|
||||
feedback_add_details("admin_verb","BST")
|
||||
return 1
|
||||
|
||||
@@ -119,14 +123,108 @@
|
||||
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
||||
s.set_up(5, 1, src)
|
||||
s.start()
|
||||
var/mob/dead/observer/ghost = new(src) //Transfer safety to observer spawning proc.
|
||||
ghost.key = key
|
||||
ghost.mind.name = "[ghost.key] BSTech"
|
||||
ghost.name = "[ghost.key] BSTech"
|
||||
ghost.real_name = "[ghost.key] BSTech"
|
||||
ghost.voice_name = "[ghost.key] BSTech"
|
||||
spawn(5)
|
||||
del(s)
|
||||
|
||||
if(key && species.name != "Human")
|
||||
switch(species.name)
|
||||
if("Tajaran")
|
||||
bsc()
|
||||
if("Machine")
|
||||
bsb()
|
||||
if("Diona")
|
||||
bsd()
|
||||
if("Unathi")
|
||||
bsu()
|
||||
if("Skrell")
|
||||
bss()
|
||||
|
||||
/* if(species.name != "Tajaran")
|
||||
if(species.name == "Machine" && key)
|
||||
h_style = "blue IPC screen"
|
||||
regenerate_icons()
|
||||
*/
|
||||
if(key)
|
||||
var/mob/dead/observer/ghost = new(src) //Transfer safety to observer spawning proc.
|
||||
ghost.key = key
|
||||
/* if(species.name == "Machine")
|
||||
ghost.mind.name = "Bluespace Bot"
|
||||
ghost.name = "Bluespace Bot"
|
||||
ghost.real_name = "Bluespace Bot"
|
||||
ghost.voice_name = "Bluespace Bot"
|
||||
else
|
||||
*/
|
||||
ghost.mind.name = "[ghost.key] BSTech"
|
||||
ghost.name = "[ghost.key] BSTech"
|
||||
ghost.real_name = "[ghost.key] BSTech"
|
||||
ghost.voice_name = "[ghost.key] BSTech"
|
||||
|
||||
del(src)
|
||||
|
||||
proc/bsc() //because we all have our unrealistic snowflakes right?
|
||||
if(set_species("Tajaran"))
|
||||
h_style = "Tajaran Ears"
|
||||
name = "Bluespace Cat"
|
||||
voice_name = "Bluespace Cat"
|
||||
real_name = "Bluespace Cat"
|
||||
mind.name = "Bluespace Cat"
|
||||
regenerate_icons()
|
||||
else
|
||||
ghostize(0)
|
||||
key = null
|
||||
suicide()
|
||||
|
||||
proc/bsb()
|
||||
if(set_species("Machine"))
|
||||
h_style = "blue IPC screen"
|
||||
name = "Bluespace Bot"
|
||||
voice_name = "Bluespace Bot"
|
||||
real_name = "Bluespace Bot"
|
||||
mind.name = "Bluespace Bot"
|
||||
regenerate_icons()
|
||||
else
|
||||
ghostize(0)
|
||||
key = null
|
||||
suicide()
|
||||
|
||||
proc/bsd()
|
||||
if(set_species("Diona"))
|
||||
name = "Bluespace Tree"
|
||||
voice_name = "Bluespace Tree"
|
||||
real_name = "Bluespace Tree"
|
||||
mind.name = "Bluespace Tree"
|
||||
regenerate_icons()
|
||||
else
|
||||
ghostize(0)
|
||||
key = null
|
||||
suicide()
|
||||
|
||||
proc/bsu()
|
||||
if(set_species("Unathi"))
|
||||
h_style = "Unathi Horns"
|
||||
name = "Bluespace Snake"
|
||||
voice_name = "Bluespace Snake"
|
||||
real_name = "Bluespace Snake"
|
||||
mind.name = "Bluespace Snake"
|
||||
regenerate_icons()
|
||||
else
|
||||
ghostize(0)
|
||||
key = null
|
||||
suicide()
|
||||
|
||||
proc/bss()
|
||||
if(set_species("Skrell"))
|
||||
h_style = "Skrell Male Tentacles"
|
||||
name = "Bluespace Squid"
|
||||
voice_name = "Bluespace Squid"
|
||||
real_name = "Bluespace Squid"
|
||||
mind.name = "Bluespace Squid"
|
||||
regenerate_icons()
|
||||
else
|
||||
ghostize(0)
|
||||
key = null
|
||||
suicide()
|
||||
|
||||
say(var/message)
|
||||
var/verb = "says in a subdued tone"
|
||||
..(message, verb)
|
||||
@@ -156,6 +254,8 @@
|
||||
translate_binary = 1
|
||||
translate_hive = 1
|
||||
canremove = 0
|
||||
keyslot1 = new /obj/item/device/encryptionkey/binary
|
||||
keyslot2 = new /obj/item/device/encryptionkey/ert
|
||||
|
||||
attack_hand()
|
||||
if(!usr)
|
||||
@@ -173,6 +273,9 @@
|
||||
has_sensor = 0
|
||||
sensor_mode = 0
|
||||
canremove = 0
|
||||
siemens_coefficient = 0
|
||||
cold_protection = FULL_BODY
|
||||
heat_protection = FULL_BODY
|
||||
|
||||
attack_hand()
|
||||
if(!usr)
|
||||
@@ -188,7 +291,7 @@
|
||||
name = "Bluespace Technician's gloves"
|
||||
desc = "A pair of modified gloves, 'BST' marked on the side."
|
||||
siemens_coefficient = 0
|
||||
permeability_coefficient = 0.05
|
||||
permeability_coefficient = 0
|
||||
canremove = 0
|
||||
|
||||
attack_hand()
|
||||
|
||||
@@ -67,20 +67,65 @@
|
||||
icon_state = "watch"
|
||||
item_state = "watchgloves"
|
||||
w_class = 1
|
||||
var/time = 1
|
||||
wired = 1
|
||||
// var/time = 1
|
||||
|
||||
verb/checktime()
|
||||
set category = "Object"
|
||||
set name = "Check Time"
|
||||
set src in usr
|
||||
|
||||
if(time == 1)
|
||||
if(wired && !clipped)
|
||||
usr << "You check your watch, spotting a digital collection of numbers reading '[worldtime2text()]'"
|
||||
else if(wired && clipped)
|
||||
usr << "You check your watch realising it's still open"
|
||||
else
|
||||
usr << "You check your watch as it dawns on you that it's broken"
|
||||
|
||||
verb/pointatwatch()
|
||||
set category = "Object"
|
||||
set name = "Point at watch"
|
||||
set src in usr
|
||||
|
||||
if(time == 1)
|
||||
if(wired && !clipped)
|
||||
usr.visible_message ("<span class='notice'>[usr] taps their foot on the floor, arrogantly pointing at the [src] on their wrist with a look of derision in their eyes.</span>", "<span class='notice'>You point down at the [src], an arrogant look about your eyes.</span>")
|
||||
else if(wired && clipped)
|
||||
usr.visible_message ("<span class='notice'>[usr] taps their foot on the floor, arrogantly pointing at the [src] on their wrist with a look of derision in their eyes, not noticing it's open</span>", "<span class='notice'>You point down at the [src], an arrogant look about your eyes.</span>")
|
||||
else
|
||||
usr.visible_message ("<span class='notice'>[usr] taps their foot on the floor, arrogantly pointing at the [src] on their wrist with a look of derision in their eyes, not noticing it's broken</span>", "<span class='notice'>You point down at the [src], an arrogant look about your eyes.</span>")
|
||||
|
||||
attackby(obj/item/weapon/W, mob/user)
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
if (clipped) //Using clipped because adding a new var for something is dumb
|
||||
user.visible_message("\blue [user] screws the cover of the [src] closed.","\blue You screw the cover of the [src] closed..")
|
||||
clipped = 0
|
||||
return
|
||||
// playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
|
||||
user.visible_message("\blue [user] unscrew the cover of the [src].","\blue You unscrew the cover of the [src].")
|
||||
clipped = 1
|
||||
return
|
||||
if(wired)
|
||||
return
|
||||
if(istype(W, /obj/item/weapon/cable_coil))
|
||||
var/obj/item/weapon/cable_coil/C = W
|
||||
if (!clipped)
|
||||
user << "<span class='notice'>The [src] is not open.</span>"
|
||||
return
|
||||
|
||||
if(wired)
|
||||
user << "<span class='notice'>The [src] are already wired.</span>"
|
||||
return
|
||||
|
||||
if(C.amount < 2)
|
||||
user << "<span class='notice'>There is not enough wire to cover the [src].</span>"
|
||||
return
|
||||
|
||||
C.use(2)
|
||||
wired = 1
|
||||
user << "<span class='notice'>You repair some wires in the [src].</span>"
|
||||
return
|
||||
|
||||
emp_act(severity)
|
||||
if(prob(50/severity))
|
||||
wired = 0
|
||||
..()
|
||||
@@ -248,8 +248,13 @@
|
||||
|
||||
attack_self(mob/user)
|
||||
if(user.r_hand == src || user.l_hand == src)
|
||||
var/mobgender
|
||||
if(user.gender == "male")
|
||||
mobgender = "guy"
|
||||
else
|
||||
mobgender = "gal"
|
||||
for(var/mob/O in viewers(user, null))
|
||||
O.show_message(text("\red [] uses [] to comb their hair with incredible style and sophistication. What a guy.", user, src), 1)
|
||||
O.show_message(text("\red [] uses [] to comb their hair with incredible style and sophistication. What a [mobgender].", user, src), 1)
|
||||
return
|
||||
|
||||
/obj/item/weapon/fluff/hugo_cinderbacth_1 //thatoneguy: Hugo Cinderbatch
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
return
|
||||
else if(user.zone_sel.selecting == "mouth")
|
||||
user.visible_message("[user] swabs [M]'s mouth for a saliva sample.", "You swab [M]'s mouth for a saliva sample.")
|
||||
dna = M.dna.unique_enzymes
|
||||
dna += M.dna.unique_enzymes
|
||||
used = 1
|
||||
name = "swab of [M]'s DNA"
|
||||
desc = "[initial(desc)] <br> \blue The label on the vial reads 'Sample of [M]'s DNA'."
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
|
||||
/mob/living/simple_animal/hostile/giant_spider/death()
|
||||
total_spiders -= 1
|
||||
lying = 1
|
||||
if(total_spiders <= (MAX_SPIDERS - 2) && !spider_can_spawn)
|
||||
spider_can_spawn = 1
|
||||
if(total_spiders < 0) //Admin mess around protection
|
||||
@@ -53,6 +54,7 @@
|
||||
/mob/living/simple_animal/hostile/giant_spider/Life() //Checks to see if spider has been respawned from var edits
|
||||
if(stat == DEAD)
|
||||
if(health > 0)
|
||||
lying = 0
|
||||
total_spiders += 1
|
||||
..()
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
else
|
||||
src.dna = user.dna.unique_enzymes
|
||||
user << "\blue You feel your palm heat up as the gun reads your DNA profile."
|
||||
desc += "<br>Linked to: [user.real_name]"
|
||||
|
||||
Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0)
|
||||
if(src.dna != user.dna.unique_enzymes)
|
||||
|
||||
@@ -153,15 +153,17 @@
|
||||
/obj/structure/reagent_dispensers/fueltank/attack_ghost(mob/user as mob)
|
||||
if(user.client && user.client.inquisitive_ghost)
|
||||
examine()
|
||||
if(!src.defuse && user.client.holder)
|
||||
if(!user.client.holder)
|
||||
return
|
||||
if(!src.defuse && ((user.client.holder.rights & R_ADMIN) || (user.client.holder.rights & R_MOD)))
|
||||
src.defuse = 1
|
||||
message_admins("[key_name_admin(user)] defused fueltank at ([loc.x],[loc.y],[loc.z]).")
|
||||
message_mods("[key_name_admin(user)] defused fueltank at ([loc.x],[loc.y],[loc.z]).")
|
||||
message_admins("[key_name_admin(user)] <font color=#00FF00>defused</font> fueltank at ([loc.x],[loc.y],[loc.z]).")
|
||||
message_mods("[key_name_admin(user)] <font color=#00FF00>defused</font> fueltank at ([loc.x],[loc.y],[loc.z]).")
|
||||
else
|
||||
if(!src.armed && user.client.holder)
|
||||
if(!src.armed && ((user.client.holder.rights & R_ADMIN) || (user.client.holder.rights & R_MOD)))
|
||||
src.defuse = 0
|
||||
message_admins("[key_name_admin(user)] reset fuse on fueltank at ([loc.x],[loc.y],[loc.z]).")
|
||||
message_mods("[key_name_admin(user)] reset fuse on fueltank at ([loc.x],[loc.y],[loc.z]).")
|
||||
message_admins("[key_name_admin(user)] <font color=#FF0000>reset</font> fuse on fueltank at ([loc.x],[loc.y],[loc.z]).")
|
||||
message_mods("[key_name_admin(user)] <font color=#FF0000>reset</font> fuse on fueltank at ([loc.x],[loc.y],[loc.z]).")
|
||||
|
||||
/obj/structure/reagent_dispensers/fueltank/bullet_act(var/obj/item/projectile/Proj)
|
||||
if(istype(Proj ,/obj/item/projectile/beam)||istype(Proj,/obj/item/projectile/bullet))
|
||||
|
||||
@@ -154,13 +154,13 @@
|
||||
|
||||
if(damage > explosion_point)
|
||||
for(var/mob/living/mob in living_mob_list)
|
||||
if(loc.z == mob.loc.z)
|
||||
if(istype(mob, /mob/living/carbon/human))
|
||||
//Hilariously enough, running into a closet should make you get hit the hardest.
|
||||
var/mob/living/carbon/human/H = mob
|
||||
H.hallucination += max(50, min(300, DETONATION_HALLUCINATION * sqrt(1 / (get_dist(mob, src) + 1)) ) )
|
||||
var/rads = DETONATION_RADS * sqrt( 1 / (get_dist(mob, src) + 1) )
|
||||
mob.apply_effect(rads, IRRADIATE)
|
||||
if(istype(mob, /mob/living/carbon/human))
|
||||
if(mob.loc.z != src.z)
|
||||
continue
|
||||
//Hilariously enough, running into a closet should make you get hit the hardest.
|
||||
mob:hallucination += max(50, min(300, DETONATION_HALLUCINATION * sqrt(1 / (get_dist(mob, src) + 1)) ) )
|
||||
var/rads = DETONATION_RADS * sqrt( 1 / (get_dist(mob, src) + 1) )
|
||||
mob.apply_effect(rads, IRRADIATE)
|
||||
|
||||
explode()
|
||||
else
|
||||
@@ -204,8 +204,16 @@
|
||||
equilibrium_power = 250
|
||||
icon_state = base_icon_state
|
||||
|
||||
<<<<<<< HEAD
|
||||
temp_factor = ( (equilibrium_power/DECAY_FACTOR)**3 )/800
|
||||
power = max( (removed.temperature * temp_factor) * oxygen + power, 0)
|
||||
=======
|
||||
//Also keep in mind we are only adding this temperature to (efficiency)% of the one tile the rock
|
||||
//is on. An increase of 4*C @ 25% efficiency here results in an increase of 1*C / (#tilesincore) overall.
|
||||
|
||||
var/thermal_power = THERMAL_RELEASE_MODIFIER
|
||||
if(removed.total_moles < 35) thermal_power += 750 //If you don't add coolant, you are going to have a bad time.
|
||||
>>>>>>> master
|
||||
|
||||
//We've generated power, now let's transfer it to the collectors for storing/usage
|
||||
transfer_energy()
|
||||
@@ -368,4 +376,4 @@
|
||||
return
|
||||
|
||||
/obj/machinery/power/supermatter/RepelAirflowDest(n)
|
||||
return
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user