mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Merge remote-tracking branch 'upstream/master' into dev
This commit is contained in:
@@ -1299,6 +1299,7 @@
|
|||||||
#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_teleport.dm"
|
#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_teleport.dm"
|
||||||
#include "code\modules\research\xenoarchaeology\finds\finds.dm"
|
#include "code\modules\research\xenoarchaeology\finds\finds.dm"
|
||||||
#include "code\modules\research\xenoarchaeology\finds\finds_defines.dm"
|
#include "code\modules\research\xenoarchaeology\finds\finds_defines.dm"
|
||||||
|
#include "code\modules\research\xenoarchaeology\finds\finds_eguns.dm"
|
||||||
#include "code\modules\research\xenoarchaeology\finds\finds_fossils.dm"
|
#include "code\modules\research\xenoarchaeology\finds\finds_fossils.dm"
|
||||||
#include "code\modules\research\xenoarchaeology\finds\finds_misc.dm"
|
#include "code\modules\research\xenoarchaeology\finds\finds_misc.dm"
|
||||||
#include "code\modules\research\xenoarchaeology\finds\finds_special.dm"
|
#include "code\modules\research\xenoarchaeology\finds\finds_special.dm"
|
||||||
|
|||||||
@@ -819,7 +819,7 @@ table tr:first-child th:first-child { border: none;}
|
|||||||
var/list/selected = TLV[env]
|
var/list/selected = TLV[env]
|
||||||
var/list/thresholds = list("lower bound", "low warning", "high warning", "upper bound")
|
var/list/thresholds = list("lower bound", "low warning", "high warning", "upper bound")
|
||||||
var/newval = input("Enter [thresholds[threshold]] for [env]", "Alarm triggers", selected[threshold]) as null|num
|
var/newval = input("Enter [thresholds[threshold]] for [env]", "Alarm triggers", selected[threshold]) as null|num
|
||||||
if (isnull(newval) || ..() || (locked && issilicon(usr)))
|
if (isnull(newval) || ..() || (locked && !issilicon(usr)))
|
||||||
return
|
return
|
||||||
if (newval<0)
|
if (newval<0)
|
||||||
selected[threshold] = -1.0
|
selected[threshold] = -1.0
|
||||||
|
|||||||
@@ -311,6 +311,7 @@ update_flag
|
|||||||
release_log += "Valve was <b>opened</b> by [usr] ([usr.ckey]), starting the transfer into the [holding]<br>"
|
release_log += "Valve was <b>opened</b> by [usr] ([usr.ckey]), starting the transfer into the [holding]<br>"
|
||||||
else
|
else
|
||||||
release_log += "Valve was <b>opened</b> by [usr] ([usr.ckey]), starting the transfer into the <font color='red'><b>air</b></font><br>"
|
release_log += "Valve was <b>opened</b> by [usr] ([usr.ckey]), starting the transfer into the <font color='red'><b>air</b></font><br>"
|
||||||
|
log_open()
|
||||||
valve_open = !valve_open
|
valve_open = !valve_open
|
||||||
|
|
||||||
if (href_list["remove_tank"])
|
if (href_list["remove_tank"])
|
||||||
|
|||||||
@@ -184,3 +184,16 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
/obj/machinery/portable_atmospherics/proc/log_open()
|
||||||
|
if(air_contents.gas.len == 0)
|
||||||
|
return
|
||||||
|
|
||||||
|
var/gases = ""
|
||||||
|
for(var/gas in air_contents.gas)
|
||||||
|
if(gases)
|
||||||
|
gases += ", [gas]"
|
||||||
|
else
|
||||||
|
gases = gas
|
||||||
|
log_admin("[usr] ([usr.ckey]) opened '[src.name]' containing [gases].")
|
||||||
|
message_admins("[usr] ([usr.ckey]) opened '[src.name]' containing [gases].")
|
||||||
|
|||||||
@@ -77,7 +77,7 @@
|
|||||||
|
|
||||||
/obj/item/weapon/evidencebag/attack_self(mob/user as mob)
|
/obj/item/weapon/evidencebag/attack_self(mob/user as mob)
|
||||||
if(contents.len)
|
if(contents.len)
|
||||||
var/obj/item/I = stored_item
|
var/obj/item/I = contents[1]
|
||||||
user.visible_message("[user] takes [I] out of [src]", "You take [I] out of [src].",\
|
user.visible_message("[user] takes [I] out of [src]", "You take [I] out of [src].",\
|
||||||
"You hear someone rustle around in a plastic bag, and remove something.")
|
"You hear someone rustle around in a plastic bag, and remove something.")
|
||||||
overlays.Cut() //remove the overlays
|
overlays.Cut() //remove the overlays
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
user << "<span class='notice'>You add [(W.name == "photo") ? "the photo" : W.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].</span>"
|
user << "<span class='notice'>You add [(W.name == "photo") ? "the photo" : W.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].</span>"
|
||||||
user.drop_from_inventory(W)
|
user.drop_from_inventory(W)
|
||||||
W.loc = src
|
W.loc = src
|
||||||
else if(istype(W, /obj/item/weapon/flame/lighter))
|
else if(istype(W, /obj/item/weapon/flame))
|
||||||
burnpaper(W, user)
|
burnpaper(W, user)
|
||||||
else if(istype(W, /obj/item/weapon/paper_bundle))
|
else if(istype(W, /obj/item/weapon/paper_bundle))
|
||||||
user.drop_from_inventory(W)
|
user.drop_from_inventory(W)
|
||||||
@@ -69,7 +69,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
/obj/item/weapon/paper_bundle/proc/burnpaper(obj/item/weapon/flame/lighter/P, mob/user)
|
/obj/item/weapon/paper_bundle/proc/burnpaper(obj/item/weapon/flame/P, mob/user)
|
||||||
var/class = "<span class='warning'>"
|
var/class = "<span class='warning'>"
|
||||||
|
|
||||||
if(P.lit && !user.restrained())
|
if(P.lit && !user.restrained())
|
||||||
|
|||||||
@@ -146,6 +146,7 @@
|
|||||||
"You wonder what the creator's mouth was shaped like")]."
|
"You wonder what the creator's mouth was shaped like")]."
|
||||||
if(4)
|
if(4)
|
||||||
name = "statuette"
|
name = "statuette"
|
||||||
|
icon = 'icons/obj/xenoarchaeology.dmi'
|
||||||
item_type = "statuette"
|
item_type = "statuette"
|
||||||
icon_state = "statuette"
|
icon_state = "statuette"
|
||||||
additional_desc = "It depicts a [pick("small","ferocious","wild","pleasing","hulking")] \
|
additional_desc = "It depicts a [pick("small","ferocious","wild","pleasing","hulking")] \
|
||||||
@@ -154,6 +155,8 @@
|
|||||||
if(prob(25))
|
if(prob(25))
|
||||||
new_item = new /obj/item/weapon/vampiric(src.loc)
|
new_item = new /obj/item/weapon/vampiric(src.loc)
|
||||||
if(5)
|
if(5)
|
||||||
|
name = "instrument"
|
||||||
|
icon = 'icons/obj/xenoarchaeology.dmi'
|
||||||
item_type = "instrument"
|
item_type = "instrument"
|
||||||
icon_state = "instrument"
|
icon_state = "instrument"
|
||||||
if(prob(30))
|
if(prob(30))
|
||||||
@@ -256,17 +259,17 @@
|
|||||||
if(16)
|
if(16)
|
||||||
apply_prefix = 0
|
apply_prefix = 0
|
||||||
if(prob(25))
|
if(prob(25))
|
||||||
|
icon = 'icons/obj/xenoarchaeology.dmi'
|
||||||
item_type = "smooth green crystal"
|
item_type = "smooth green crystal"
|
||||||
icon_state = "Green lump"
|
icon_state = "Green lump"
|
||||||
else if(prob(33))
|
else if(prob(33))
|
||||||
|
icon = 'icons/obj/xenoarchaeology.dmi'
|
||||||
item_type = "irregular purple crystal"
|
item_type = "irregular purple crystal"
|
||||||
icon_state = "Phazon"
|
icon_state = "Phazon"
|
||||||
else if(prob(50))
|
else
|
||||||
|
icon = 'icons/obj/xenoarchaeology.dmi'
|
||||||
item_type = "rough red crystal"
|
item_type = "rough red crystal"
|
||||||
icon_state = "changerock"
|
icon_state = "changerock"
|
||||||
else
|
|
||||||
item_type = "smooth red crystal"
|
|
||||||
icon_state = "ore"
|
|
||||||
additional_desc = pick("It shines faintly as it catches the light.","It appears to have a faint inner glow.","It seems to draw you inward as you look it at.","Something twinkles faintly as you look at it.","It's mesmerizing to behold.")
|
additional_desc = pick("It shines faintly as it catches the light.","It appears to have a faint inner glow.","It seems to draw you inward as you look it at.","Something twinkles faintly as you look at it.","It's mesmerizing to behold.")
|
||||||
|
|
||||||
apply_material_decorations = 0
|
apply_material_decorations = 0
|
||||||
@@ -285,8 +288,8 @@
|
|||||||
if(18)
|
if(18)
|
||||||
new_item = new /obj/item/device/radio/beacon(src.loc)
|
new_item = new /obj/item/device/radio/beacon(src.loc)
|
||||||
talkative = 0
|
talkative = 0
|
||||||
new_item.icon_state = "unknown[rand(1,4)]"
|
|
||||||
new_item.icon = 'icons/obj/xenoarchaeology.dmi'
|
new_item.icon = 'icons/obj/xenoarchaeology.dmi'
|
||||||
|
new_item.icon_state = "unknown[rand(1,4)]"
|
||||||
new_item.desc = ""
|
new_item.desc = ""
|
||||||
if(19)
|
if(19)
|
||||||
apply_prefix = 0
|
apply_prefix = 0
|
||||||
@@ -339,10 +342,10 @@
|
|||||||
if(26)
|
if(26)
|
||||||
//energy gun
|
//energy gun
|
||||||
var/spawn_type = pick(\
|
var/spawn_type = pick(\
|
||||||
/obj/item/weapon/gun/energy/laser/practice,\
|
/obj/item/weapon/gun/energy/laser/practice/xenoarch,\
|
||||||
/obj/item/weapon/gun/energy/laser,\
|
/obj/item/weapon/gun/energy/laser/xenoarch,\
|
||||||
/obj/item/weapon/gun/energy/xray,\
|
/obj/item/weapon/gun/energy/xray/xenoarch,\
|
||||||
/obj/item/weapon/gun/energy/laser/captain)
|
/obj/item/weapon/gun/energy/laser/captain/xenoarch)
|
||||||
if(spawn_type)
|
if(spawn_type)
|
||||||
var/obj/item/weapon/gun/energy/new_gun = new spawn_type(src.loc)
|
var/obj/item/weapon/gun/energy/new_gun = new spawn_type(src.loc)
|
||||||
new_item = new_gun
|
new_item = new_gun
|
||||||
@@ -451,7 +454,7 @@
|
|||||||
//robot remains
|
//robot remains
|
||||||
apply_prefix = 0
|
apply_prefix = 0
|
||||||
item_type = "[pick("mechanical","robotic","cyborg")] [pick("remains","chassis","debris")]"
|
item_type = "[pick("mechanical","robotic","cyborg")] [pick("remains","chassis","debris")]"
|
||||||
icon = 'icons/effects/blood.dmi'
|
icon = 'icons/mob/robots.dmi'
|
||||||
icon_state = "remainsrobot"
|
icon_state = "remainsrobot"
|
||||||
additional_desc = pick("Almost mistakeable for the remains of a modern cyborg.",\
|
additional_desc = pick("Almost mistakeable for the remains of a modern cyborg.",\
|
||||||
"They are barely recognisable as anything other than a pile of waste metals.",\
|
"They are barely recognisable as anything other than a pile of waste metals.",\
|
||||||
|
|||||||
25
code/modules/research/xenoarchaeology/finds/finds_eguns.dm
Normal file
25
code/modules/research/xenoarchaeology/finds/finds_eguns.dm
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
//snowflake guns for xenoarch because you can't override the update_icon() proc inside the giant mess that is find creation
|
||||||
|
/obj/item/weapon/gun/energy/laser/xenoarch
|
||||||
|
icon = 'icons/obj/xenoarchaeology.dmi'
|
||||||
|
update_icon()
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/weapon/gun/energy/laser/practice/xenoarch
|
||||||
|
icon = 'icons/obj/xenoarchaeology.dmi'
|
||||||
|
update_icon()
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/weapon/gun/energy/laser/practice/xenoarch
|
||||||
|
icon = 'icons/obj/xenoarchaeology.dmi'
|
||||||
|
update_icon()
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/weapon/gun/energy/xray/xenoarch
|
||||||
|
icon = 'icons/obj/xenoarchaeology.dmi'
|
||||||
|
update_icon()
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/weapon/gun/energy/laser/captain/xenoarch
|
||||||
|
icon = 'icons/obj/xenoarchaeology.dmi'
|
||||||
|
update_icon()
|
||||||
|
return
|
||||||
@@ -73,7 +73,8 @@
|
|||||||
//update the sample bag
|
//update the sample bag
|
||||||
filled_bag.icon_state = "evidence"
|
filled_bag.icon_state = "evidence"
|
||||||
var/image/I = image("icon"=R, "layer"=FLOAT_LAYER)
|
var/image/I = image("icon"=R, "layer"=FLOAT_LAYER)
|
||||||
filled_bag.underlays += I
|
filled_bag.overlays += I
|
||||||
|
filled_bag.overlays += "evidence"
|
||||||
filled_bag.w_class = 1
|
filled_bag.w_class = 1
|
||||||
|
|
||||||
user << "\blue You take a core sample of the [item_to_sample]."
|
user << "\blue You take a core sample of the [item_to_sample]."
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
var/strengthen_rate = 0.2
|
var/strengthen_rate = 0.2
|
||||||
var/max_strengthen_rate = 0.5 //the maximum rate that the generator can increase the average field strength
|
var/max_strengthen_rate = 0.5 //the maximum rate that the generator can increase the average field strength
|
||||||
var/dissipation_rate = 0.030 //the percentage of the shield strength that needs to be replaced each second
|
var/dissipation_rate = 0.030 //the percentage of the shield strength that needs to be replaced each second
|
||||||
var/min_dissipation = 0.1 //will dissipate by at least this rate in renwicks per field tile (otherwise field would never dissipate completely as dissipation is a percentage)
|
var/min_dissipation = 0.01 //will dissipate by at least this rate in renwicks per field tile (otherwise field would never dissipate completely as dissipation is a percentage)
|
||||||
var/powered = 0
|
var/powered = 0
|
||||||
var/check_powered = 1
|
var/check_powered = 1
|
||||||
var/obj/machinery/shield_capacitor/owned_capacitor
|
var/obj/machinery/shield_capacitor/owned_capacitor
|
||||||
|
|||||||
3526
maps/tgstation2.dmm
3526
maps/tgstation2.dmm
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user