MindSwap once again does not need robes, however its range has been reduced to contact .
EI NATH will once again gib the target. Head Revs will get a failure message if they are unable to convert a human they flashed. Syndie suits taken out of the station, EVA now has 6 Grey, Engineering gets two RIGs, Mining still has 3. Engineering Rad suits also protect vs biological hazards a bit Fixed a cult convert bug I made a few commits ago. Steal a RIG objective removed. SecSunglasses now have the hud built in. Added more sprites for Kor git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2051 316c924e-a436-60f5-8080-3fe189b3f50e
@@ -4,10 +4,10 @@
|
||||
|
||||
school = "transmutation"
|
||||
charge_max = 600
|
||||
clothes_req = 1
|
||||
clothes_req = 0
|
||||
invocation = "GIN'YU CAPAN"
|
||||
invocation_type = "whisper"
|
||||
range = 7
|
||||
range = 1
|
||||
var/list/protected_roles = list("Wizard","Changeling","Cultist") //which roles are immune to the spell
|
||||
var/list/compatible_mobs = list(/mob/living/carbon/human,/mob/living/carbon/monkey) //which types of mobs are affected by the spell. NOTE: change at your own risk
|
||||
var/base_spell_loss_chance = 20 //base probability of the wizard losing a spell in the process
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
invocation_type = "shout"
|
||||
range = 1
|
||||
|
||||
destroys = "disintegrate"
|
||||
destroys = "gib"
|
||||
|
||||
sparks_spread = 1
|
||||
sparks_amt = 4
|
||||
|
||||
@@ -9,8 +9,7 @@
|
||||
var/unacidable = 0 //universal "unacidabliness" var, here so you can use it in any obj.
|
||||
animate_movement = 2
|
||||
var/throwforce = 1
|
||||
proc
|
||||
handle_internal_lifeform(mob/lifeform_inside_me, breath_request)
|
||||
proc/handle_internal_lifeform(mob/lifeform_inside_me, breath_request)
|
||||
//Return: (NONSTANDARD)
|
||||
// null if object handles breathing logic for lifeform
|
||||
// datum/air_group to tell lifeform to process using that breath return
|
||||
@@ -20,7 +19,7 @@
|
||||
else
|
||||
return null
|
||||
|
||||
initialize()
|
||||
proc/initialize()
|
||||
|
||||
/obj/signpost
|
||||
icon = 'stationobjs.dmi'
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
desc = "A hood with radiation protective properties. Label: Made with lead, do not eat insulation"
|
||||
radiation_protection = 0.35
|
||||
flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH
|
||||
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 0, rad = 100)
|
||||
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 60, rad = 100)
|
||||
|
||||
/obj/item/clothing/head/bomb_hood
|
||||
name = "bomb hood"
|
||||
@@ -153,30 +153,6 @@
|
||||
armor = list(melee = 75, bullet = 10, laser = 50, taser = 10, bomb = 25, bio = 10, rad = 0)
|
||||
protective_temperature = 500
|
||||
heat_transfer_coefficient = 0.10
|
||||
var/obj/item/clothing/glasses/hud/security/shud = null
|
||||
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if((istype(W,/obj/item/clothing/glasses/hud/security)) && (!istype(src, /obj/item/clothing/head/helmet/space)) && (!shud))
|
||||
user.remove_from_mob(W)
|
||||
shud = W
|
||||
W.loc = src
|
||||
user << "You attach the [W.name] to the [src.name]."
|
||||
desc = "Standard Security gear. This helmet has a [shud.name] attached to it."
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
attack_self(mob/user as mob)
|
||||
if(shud)
|
||||
shud.loc = get_turf(src)
|
||||
user << "You take the [shud.name] off of the [src.name]."
|
||||
shud = null
|
||||
desc = "Standard Security gear."
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
|
||||
/obj/item/clothing/head/secsoft
|
||||
name = "Soft Cap"
|
||||
@@ -195,38 +171,6 @@
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 0, bullet = 0, laser = 2, taser = 2, bomb = 0, bio = 25, rad = 25)
|
||||
|
||||
/obj/item/clothing/head/helmet/space/engineering
|
||||
name = "Engineering space helmet"
|
||||
desc = "A special helmet designed for work in a hazardous, low-pressure environment. Painted in Engineering Orange to designate its department of origin."
|
||||
icon_state = "helm_engineering0"
|
||||
item_state = "helm-orange"
|
||||
var/brightness_on = 4
|
||||
var/on = 0
|
||||
radiation_protection = 0.25
|
||||
armor = list(melee = 40, bullet = 30, laser = 20, taser = 5, bomb = 35, bio = 50, rad = 50)
|
||||
|
||||
/obj/item/clothing/head/helmet/space/command
|
||||
name = "Command space helmet"
|
||||
desc = "A special helmet designed to work in a hazardous, low-pressure environment. Painted in Command Blue to designate its department of origin."
|
||||
icon_state = "helm-command"
|
||||
item_state = "helm-command"
|
||||
radiation_protection = 0.25
|
||||
armor = list(melee = 40, bullet = 30, laser = 20, taser = 5, bomb = 35, bio = 50, rad = 50)
|
||||
|
||||
/obj/item/clothing/head/helmet/space/command/chief_engineer
|
||||
name = "Chief engineer space helmet"
|
||||
desc = "A special helmet designed to work in a hazardous, low-pressure environment. Bears the insignia of the chief engineer."
|
||||
icon_state = "helm_ce0"
|
||||
item_state = "helm-ce"
|
||||
var/brightness_on = 4
|
||||
var/on = 0
|
||||
|
||||
/obj/item/clothing/head/helmet/space/command/chief_medical_officer
|
||||
name = "Chief medical offier space helmet"
|
||||
desc = "A special helmet designed to work in a hazardous, low-pressure environment. Bears the insignia of the chief medical officer."
|
||||
icon_state = "helm-cmo"
|
||||
item_state = "helm-cmo"
|
||||
|
||||
/obj/item/clothing/head/helmet/space/capspace
|
||||
name = "space helmet"
|
||||
icon_state = "capspace"
|
||||
@@ -237,13 +181,6 @@
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 60, bullet = 50, laser = 50, taser = 25, bomb = 50, bio = 20, rad = 20)
|
||||
|
||||
/obj/item/clothing/head/helmet/space/rig
|
||||
desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding."
|
||||
name = "rig helmet"
|
||||
icon_state = "rig"
|
||||
item_state = "rig_helm"
|
||||
radiation_protection = 0.25
|
||||
armor = list(melee = 40, bullet = 30, laser = 20, taser = 5, bomb = 35, bio = 50, rad = 50)
|
||||
|
||||
/obj/item/clothing/head/helmet/space/syndicate
|
||||
name = "red space helmet"
|
||||
@@ -275,15 +212,15 @@
|
||||
icon_state = "syndicate-helm-green-dark"
|
||||
item_state = "syndicate-helm-green-dark"
|
||||
|
||||
/*/obj/item/clothing/head/helmet/space/syndicate/orange
|
||||
/obj/item/clothing/head/helmet/space/syndicate/orange
|
||||
name = "Orange Space Helmet"
|
||||
icon_state = "syndicate-helm-orange"
|
||||
item_state = "syndicate-helm-orange"*/ //As I said: Best used for engineering suits
|
||||
item_state = "syndicate-helm-orange"
|
||||
|
||||
/*/obj/item/clothing/head/helmet/space/syndicate/blue
|
||||
/obj/item/clothing/head/helmet/space/syndicate/blue
|
||||
name = "Blue Space Helmet"
|
||||
icon_state = "syndicate-helm-blue"
|
||||
item_state = "syndicate-helm-blue"*/
|
||||
item_state = "syndicate-helm-blue"
|
||||
|
||||
/obj/item/clothing/head/helmet/space/syndicate/black
|
||||
name = "Black Space Helmet"
|
||||
@@ -300,10 +237,10 @@
|
||||
icon_state = "syndicate-helm-black-blue"
|
||||
item_state = "syndicate-helm-black-blue"
|
||||
|
||||
/*/obj/item/clothing/head/helmet/space/syndicate/black/med
|
||||
/obj/item/clothing/head/helmet/space/syndicate/black/med
|
||||
name = "Black Space Helmet"
|
||||
icon_state = "syndicate-helm-black-med"
|
||||
item_state = "syndicate-helm-black"*/
|
||||
item_state = "syndicate-helm-black"
|
||||
|
||||
/obj/item/clothing/head/helmet/space/syndicate/black/orange
|
||||
name = "Black Space Helmet"
|
||||
@@ -315,10 +252,10 @@
|
||||
icon_state = "syndicate-helm-black-red"
|
||||
item_state = "syndicate-helm-black-red"
|
||||
|
||||
/*/obj/item/clothing/head/helmet/space/syndicate/black/engie
|
||||
obj/item/clothing/head/helmet/space/syndicate/black/engie
|
||||
name = "Black Space Helmet"
|
||||
icon_state = "syndicate-helm-black-engie"
|
||||
item_state = "syndicate-helm-black"*/
|
||||
item_state = "syndicate-helm-black"
|
||||
|
||||
/obj/item/clothing/head/syndicatefake
|
||||
name = "red space helmet replica"
|
||||
|
||||
@@ -451,51 +451,33 @@
|
||||
slowdown = 3
|
||||
armor = list(melee = 20, bullet = 15, laser = 10, taser = 3, bomb = 15, bio = 30, rad = 40)
|
||||
|
||||
/obj/item/clothing/suit/space/engineering
|
||||
name = "Engineering space suit"
|
||||
desc = "Much like its generic counterpart, the spacesuit is painted a bright orange color to designate its department of origin."
|
||||
icon_state = "suit-orange"
|
||||
item_state = "suit-orange"
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/satchel,/obj/item/device/t_scanner)
|
||||
|
||||
/obj/item/clothing/head/helmet/space/rig
|
||||
name = "Rig helmet"
|
||||
desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding."
|
||||
icon_state = "rig-engineering"
|
||||
item_state = "rig_helm"
|
||||
armor = list(melee = 40, bullet = 30, laser = 20, taser = 5, bomb = 35, bio = 50, rad = 50)
|
||||
slowdown = 2
|
||||
radiation_protection = 0.50
|
||||
|
||||
/obj/item/clothing/suit/space/command
|
||||
name = "Command space suit"
|
||||
desc = "Much like its generic counterpart, the spacesuit is painted a dark blue color to designate its department of origin."
|
||||
icon_state = "suit-command"
|
||||
item_state = "suit-command"
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/gun/energy)
|
||||
armor = list(melee = 40, bullet = 30, laser = 20, taser = 5, bomb = 35, bio = 50, rad = 50)
|
||||
slowdown = 2
|
||||
radiation_protection = 0.25
|
||||
|
||||
/obj/item/clothing/suit/space/command/chief_engineer
|
||||
name = "Chief engineer suit"
|
||||
desc = "Much like its generic counterpart, the spacesuit is painted a black and dark yellow color to designate its department of origin."
|
||||
icon_state = "suit-ce"
|
||||
item_state = "syndicate-black"
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/satchel,/obj/item/device/t_scanner,/obj/item/weapon/gun/energy)
|
||||
radiation_protection = 0.50
|
||||
|
||||
/obj/item/clothing/suit/space/command/chief_medical_officer
|
||||
name = "Chief medical officer suit"
|
||||
desc = "Much like its generic counterpart, the spacesuit is marked with the red cross to designate its department of origin."
|
||||
icon_state = "suit-cmo"
|
||||
item_state = "syndicate-black"
|
||||
radiation_protection = 0.25
|
||||
allowed = list(/obj/item/device/flashlight)
|
||||
|
||||
/obj/item/clothing/head/helmet/space/rig/mining
|
||||
icon_state = "rig-mining"
|
||||
item_state = "rig_helm"
|
||||
|
||||
/obj/item/clothing/suit/space/rig
|
||||
name = "Rig suit"
|
||||
desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding."
|
||||
icon_state = "rig"
|
||||
icon_state = "rig-engineering"
|
||||
item_state = "rig_suit"
|
||||
radiation_protection = 0.50
|
||||
slowdown = 2
|
||||
armor = list(melee = 40, bullet = 30, laser = 20, taser = 5, bomb = 35, bio = 50, rad = 50)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/satchel)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/satchel,/obj/item/device/t_scanner)
|
||||
|
||||
/obj/item/clothing/suit/space/rig/mining
|
||||
icon_state = "rig-mining"
|
||||
item_state = "rig_suit"
|
||||
|
||||
|
||||
/obj/item/clothing/suit/space/syndicate
|
||||
name = "red space suit"
|
||||
@@ -531,15 +513,15 @@
|
||||
icon_state = "syndicate-green-dark"
|
||||
item_state = "syndicate-green-dark"
|
||||
|
||||
/*/obj/item/clothing/suit/space/syndicate/orange
|
||||
/obj/item/clothing/suit/space/syndicate/orange
|
||||
name = "Orange Space Suit"
|
||||
icon_state = "syndicate-orange"
|
||||
item_state = "syndicate-orange"*/ //Best used as an engineering suit, nyoro~n ;3 As is the other stuff below
|
||||
item_state = "syndicate-orange"
|
||||
|
||||
/*/obj/item/clothing/suit/space/syndicate/blue
|
||||
/obj/item/clothing/suit/space/syndicate/blue
|
||||
name = "Blue Space Suit"
|
||||
icon_state = "syndicate-blue"
|
||||
item_state = "syndicate-blue"*/
|
||||
item_state = "syndicate-blue"
|
||||
|
||||
/obj/item/clothing/suit/space/syndicate/black
|
||||
name = "Black Space Suit"
|
||||
@@ -556,10 +538,10 @@
|
||||
icon_state = "syndicate-black-blue"
|
||||
item_state = "syndicate-black-blue"
|
||||
|
||||
/*/obj/item/clothing/suit/space/syndicate/black/med
|
||||
/obj/item/clothing/suit/space/syndicate/black/med
|
||||
name = "Green Space Suit"
|
||||
icon_state = "syndicate-black-med"
|
||||
item_state = "syndicate-black"*/
|
||||
item_state = "syndicate-black"
|
||||
|
||||
/obj/item/clothing/suit/space/syndicate/black/orange
|
||||
name = "Black and Orange Space Suit"
|
||||
@@ -571,10 +553,10 @@
|
||||
icon_state = "syndicate-black-red"
|
||||
item_state = "syndicate-black-red"
|
||||
|
||||
/*/obj/item/clothing/suit/space/syndicate/black/engie
|
||||
/obj/item/clothing/suit/space/syndicate/black/engie
|
||||
name = "Black Engineering Space Suit"
|
||||
icon_state = "syndicate-black-engie"
|
||||
item_state = "syndicate-black"*/
|
||||
item_state = "syndicate-black"
|
||||
|
||||
/obj/item/clothing/suit/syndicatefake
|
||||
name = "red space suit replica"
|
||||
|
||||
@@ -26,6 +26,16 @@
|
||||
m_amt = 1000
|
||||
origin_tech = "materials=2"
|
||||
|
||||
/obj/item/weapon/sord
|
||||
name = "SORD"
|
||||
desc = "This thing is so unspeakably shitty you are having a hard time even holding it."
|
||||
icon_state = "sord"
|
||||
item_state = "sord"
|
||||
flags = FPRINT | ONBELT | TABLEPASS
|
||||
force = 2
|
||||
throwforce = 1
|
||||
w_class = 3
|
||||
|
||||
/obj/item/weapon/bodybag
|
||||
name = "body bag"
|
||||
desc = "Bag mixed with a bit of body."
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
|
||||
|
||||
/datum/game_mode
|
||||
var
|
||||
list/datum/mind/cult = list()
|
||||
@@ -11,7 +9,7 @@
|
||||
|
||||
/proc/is_convertable_to_cult(datum/mind/mind)
|
||||
if(!istype(mind)) return 0
|
||||
if(istype(mind.current, /mob/living/carbon/human) && !(mind.assigned_role in list("Captain", "Head of Security", "Security Officer", "Detective", "Chaplain", "Warden"))) return 0
|
||||
if(istype(mind.current, /mob/living/carbon/human) && (mind.assigned_role in list("Captain", "Head of Security", "Security Officer", "Detective", "Chaplain", "Warden"))) return 0
|
||||
for(var/obj/item/weapon/implant/loyalty/L in mind.current)
|
||||
if(L && L.implanted)
|
||||
return 0
|
||||
|
||||
@@ -258,7 +258,6 @@ datum/objective/steal
|
||||
"a pair of magboots" = /obj/item/clothing/shoes/magboots,
|
||||
"the station blueprints" = /obj/item/blueprints,
|
||||
"thermal optics" = /obj/item/clothing/glasses/thermal,
|
||||
"a mining rig suit" = /obj/item/clothing/suit/space/rig,
|
||||
"a nasa voidsuit" = /obj/item/clothing/suit/space/nasavoid,
|
||||
"28 moles of plasma (full tank)" = /obj/item/weapon/tank,
|
||||
)
|
||||
|
||||
@@ -325,7 +325,7 @@
|
||||
src.equip_if_possible(new /obj/item/clothing/head/helmet/warden(src), slot_head)
|
||||
src.equip_if_possible(new /obj/item/clothing/shoes/black(src), slot_shoes)
|
||||
src.equip_if_possible(new /obj/item/clothing/gloves/black(src), slot_gloves)
|
||||
src.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(src), slot_glasses)
|
||||
src.equip_if_possible(new /obj/item/clothing/glasses/sunglasses/sechud(src), slot_glasses)
|
||||
src.equip_if_possible(new /obj/item/clothing/mask/gas/emergency(src), slot_wear_mask)
|
||||
src.equip_if_possible(new /obj/item/weapon/gun/energy/taser(src), slot_s_store)
|
||||
src.equip_if_possible(new /obj/item/weapon/handcuffs(src), slot_in_backpack)
|
||||
@@ -354,7 +354,7 @@
|
||||
src.equip_if_possible(new /obj/item/clothing/mask/gas/emergency(src), slot_wear_mask)
|
||||
src.equip_if_possible(new /obj/item/weapon/storage/backpack/security (src), slot_back)
|
||||
src.equip_if_possible(new /obj/item/weapon/storage/box(src.back), slot_in_backpack)
|
||||
src.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(src), slot_glasses)
|
||||
src.equip_if_possible(new /obj/item/clothing/glasses/sunglasses/sechud(src), slot_glasses)
|
||||
src.equip_if_possible(new /obj/item/weapon/handcuffs(src), slot_in_backpack)
|
||||
src.equip_if_possible(new /obj/item/weapon/gun/energy(src), slot_s_store)
|
||||
src.equip_if_possible(new /obj/item/device/flash(src), slot_l_store)
|
||||
|
||||
@@ -74,15 +74,15 @@
|
||||
|
||||
if(href_list["inject1"])
|
||||
var/obj/item/weapon/implant/I = locate(href_list["inject1"])
|
||||
I.trigger(1)
|
||||
I.activate(1)
|
||||
|
||||
else if(href_list["inject5"])
|
||||
var/obj/item/weapon/implant/I = locate(href_list["inject5"])
|
||||
I.trigger(5)
|
||||
I.activate(5)
|
||||
|
||||
else if(href_list["inject10"])
|
||||
var/obj/item/weapon/implant/I = locate(href_list["inject10"])
|
||||
I.trigger(10)
|
||||
I.activate(10)
|
||||
|
||||
else if(href_list["lock"])
|
||||
if(src.allowed(usr))
|
||||
|
||||
@@ -32,29 +32,11 @@
|
||||
HELMET = new /obj/item/clothing/head/helmet/space/
|
||||
MASK = new /obj/item/clothing/mask/breath
|
||||
|
||||
/obj/machinery/suit_storage_unit/engineering_unit
|
||||
SUIT = new /obj/item/clothing/suit/space/engineering
|
||||
HELMET = new /obj/item/clothing/head/helmet/space/engineering
|
||||
MASK = new /obj/item/clothing/mask/breath
|
||||
|
||||
/obj/machinery/suit_storage_unit/chief_engineer_unit
|
||||
SUIT = new /obj/item/clothing/suit/space/command/chief_engineer
|
||||
HELMET = new /obj/item/clothing/head/helmet/space/command/chief_engineer
|
||||
MASK = new /obj/item/clothing/mask/breath
|
||||
|
||||
/obj/machinery/suit_storage_unit/chief_medical_officer_unit
|
||||
SUIT = new /obj/item/clothing/suit/space/command/chief_medical_officer
|
||||
HELMET = new /obj/item/clothing/head/helmet/space/command/chief_medical_officer
|
||||
MASK = new /obj/item/clothing/mask/breath
|
||||
|
||||
/obj/machinery/suit_storage_unit/command_unit
|
||||
SUIT = new /obj/item/clothing/suit/space/command
|
||||
HELMET = new /obj/item/clothing/head/helmet/space/command
|
||||
MASK = new /obj/item/clothing/mask/breath
|
||||
|
||||
/obj/machinery/suit_storage_unit/New()
|
||||
src.update_icon()
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/update_icon()
|
||||
var/hashelmet = 0
|
||||
var/hassuit = 0
|
||||
@@ -67,6 +49,7 @@
|
||||
hashuman = 1
|
||||
icon_state = text("suitstorage[][][][][][][][][]",hashelmet,hassuit,hashuman,src.isopen,src.islocked,src.isUV,src.ispowered,src.isbroken,src.issuperUV)
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/power_change()
|
||||
if( powered() )
|
||||
src.ispowered = 1
|
||||
@@ -81,6 +64,7 @@
|
||||
src.dump_everything()
|
||||
src.update_icon()
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
@@ -96,6 +80,7 @@
|
||||
else
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/attack_hand(mob/user as mob)
|
||||
var/dat
|
||||
if(..())
|
||||
@@ -156,6 +141,7 @@
|
||||
onclose(user, "suit_storage_unit")
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/Topic(href, href_list) //I fucking HATE this proc
|
||||
if(..())
|
||||
return
|
||||
@@ -202,6 +188,7 @@
|
||||
src.add_fingerprint(usr)
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/proc/toggleUV(mob/user as mob)
|
||||
var/protected = 0
|
||||
var/mob/living/carbon/human/H = user
|
||||
@@ -227,6 +214,7 @@
|
||||
src.issuperUV = 1
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/proc/togglesafeties(mob/user as mob)
|
||||
var/protected = 0
|
||||
var/mob/living/carbon/human/H = user
|
||||
@@ -247,6 +235,7 @@
|
||||
user << "You push the button. The coloured LED next to it changes."
|
||||
src.safetieson = !src.safetieson
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/proc/dispense_helmet(mob/user as mob)
|
||||
if(!src.HELMET)
|
||||
return //Do I even need this sanity check? Nyoro~n
|
||||
@@ -255,6 +244,7 @@
|
||||
src.HELMET = null
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/proc/dispense_suit(mob/user as mob)
|
||||
if(!src.SUIT)
|
||||
return
|
||||
@@ -263,6 +253,7 @@
|
||||
src.SUIT = null
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/proc/dispense_mask(mob/user as mob)
|
||||
if(!src.MASK)
|
||||
return
|
||||
@@ -271,6 +262,7 @@
|
||||
src.MASK = null
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/proc/dump_everything()
|
||||
src.islocked = 0 //locks go free
|
||||
if(src.SUIT)
|
||||
@@ -286,6 +278,7 @@
|
||||
src.eject_occupant(OCCUPANT)
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/proc/toggle_open(mob/user as mob)
|
||||
if(src.islocked || src.isUV)
|
||||
user << "<font color='red'>Unable to open unit.</font>"
|
||||
@@ -296,6 +289,7 @@
|
||||
src.isopen = !src.isopen
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/proc/toggle_lock(mob/user as mob)
|
||||
if(src.OCCUPANT && src.safetieson)
|
||||
user << "<font color='red'>The Unit's safety protocols disallow locking when a biological form is detected inside its compartments.</font>"
|
||||
@@ -305,6 +299,7 @@
|
||||
src.islocked = !src.islocked
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/proc/start_UV(mob/user as mob)
|
||||
if(src.isUV || src.isopen) //I'm bored of all these sanity checks
|
||||
return
|
||||
@@ -383,11 +378,13 @@
|
||||
user << "Test. You gave him 8 damage"
|
||||
return*/
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/proc/cycletimeleft()
|
||||
if(src.cycletime_left >= 1)
|
||||
src.cycletime_left--
|
||||
return src.cycletime_left
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/proc/eject_occupant(mob/user as mob)
|
||||
if (src.islocked)
|
||||
return
|
||||
@@ -412,6 +409,7 @@
|
||||
src.update_icon()
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/verb/get_out()
|
||||
set name = "Eject Suit Storage Unit"
|
||||
set category = "Object"
|
||||
@@ -425,6 +423,7 @@
|
||||
src.update_icon()
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/verb/move_inside()
|
||||
set name = "Hide in Suit Storage Unit"
|
||||
set category = "Object"
|
||||
@@ -463,6 +462,7 @@
|
||||
src.OCCUPANT = null //Testing this as a backup sanity test
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/attackby(obj/item/I as obj, mob/user as mob)
|
||||
if(!src.ispowered)
|
||||
return
|
||||
@@ -551,9 +551,11 @@
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/attack_ai(mob/user as mob)
|
||||
return src.attack_hand(user)
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/attack_paw(mob/user as mob)
|
||||
user << "<font color='blue'>The console controls are far too complicated for your tiny brain!</font>"
|
||||
return
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
new /obj/item/device/flash(src)
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/clothing/head/helmet(src)
|
||||
new /obj/item/clothing/glasses/sunglasses(src)
|
||||
new /obj/item/clothing/glasses/sunglasses/sechud(src)
|
||||
new /obj/item/weapon/melee/baton(src)
|
||||
return
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
new /obj/item/clothing/gloves/black( src )
|
||||
new /obj/item/weapon/storage/lglo_kit( src )
|
||||
new /obj/item/weapon/fcardholder( src )
|
||||
new /obj/item/weapon/clipboard( src )
|
||||
new /obj/item/device/detective_scanner( src )
|
||||
return
|
||||
|
||||
@@ -56,7 +57,7 @@
|
||||
new /obj/item/device/flash( src )
|
||||
new /obj/item/clothing/under/rank/head_of_security( src )
|
||||
new /obj/item/clothing/shoes/brown( src )
|
||||
new /obj/item/clothing/glasses/sunglasses( src )
|
||||
new /obj/item/clothing/glasses/sunglasses/sechud( src )
|
||||
new /obj/item/clothing/suit/armor/hos( src )
|
||||
new /obj/item/clothing/head/helmet( src )
|
||||
new /obj/item/weapon/storage/flashbang_kit(src)
|
||||
|
||||
@@ -46,22 +46,28 @@
|
||||
flick("e_flash", M.flash)
|
||||
|
||||
if(ishuman(M))
|
||||
if(user.mind in ticker.mode.head_revolutionaries)
|
||||
var/revsafe = 0
|
||||
for(var/obj/item/weapon/implant/loyalty/L in M)
|
||||
if(L && L.implanted)
|
||||
revsafe = 1
|
||||
break
|
||||
if(M.mind.has_been_rev)
|
||||
revsafe = 1
|
||||
revsafe = 2
|
||||
if(!revsafe)
|
||||
if(user.mind in ticker.mode.head_revolutionaries)
|
||||
ticker.mode.add_revolutionary(M.mind)
|
||||
M.mind.has_been_rev = 1
|
||||
ticker.mode.add_revolutionary(M.mind)
|
||||
else if(revsafe == 1)
|
||||
user << "\red Something seems to be blocking the flash!"
|
||||
else
|
||||
user << "\red This mind seems resistant to the flash!"
|
||||
else
|
||||
flashfail = 1
|
||||
|
||||
else if(isrobot(M))
|
||||
else if(issilicon(M))
|
||||
M.weakened = max(user.weakened, rand(5,10))
|
||||
|
||||
if(isrobot(user))
|
||||
spawn(0)
|
||||
var/atom/movable/overlay/animation = new(user.loc)
|
||||
animation.layer = user.layer + 1
|
||||
|
||||
@@ -104,6 +104,7 @@
|
||||
user.sd_SetLuminosity(user.luminosity - brightness_on)
|
||||
src.sd_SetLuminosity(brightness_on)
|
||||
|
||||
/*
|
||||
/obj/item/clothing/head/helmet/space/engineering/verb/toggle()
|
||||
set name = "Toggle Helmet Light"
|
||||
set category = "Object"
|
||||
@@ -164,3 +165,4 @@
|
||||
usr.sd_SetLuminosity(usr.luminosity - brightness_on)
|
||||
src.sd_SetLuminosity(brightness_on)
|
||||
|
||||
*/
|
||||
@@ -7,11 +7,16 @@
|
||||
allow_reagents = 0
|
||||
proc
|
||||
trigger(emote, source as mob)
|
||||
activate()
|
||||
implanted(source as mob)
|
||||
get_data()
|
||||
|
||||
|
||||
trigger()
|
||||
trigger(emote, source as mob)
|
||||
return
|
||||
|
||||
|
||||
activate()
|
||||
return
|
||||
|
||||
|
||||
@@ -81,30 +86,6 @@ ID (1-100):
|
||||
<A href='byond://?src=\ref[src];tracking_id=10'>+</A><BR>"}
|
||||
return dat
|
||||
|
||||
Topic(href, href_list)
|
||||
..()
|
||||
if (usr.stat)
|
||||
return
|
||||
var/obj/item/weapon/implantpad/IP = (locate(/obj/item/weapon/implantpad) in usr)
|
||||
if(IP)
|
||||
if(IP.case)
|
||||
if(IP.case.imp == src)
|
||||
usr.machine = src
|
||||
if (href_list["id"])
|
||||
src.id += text2num(href_list["id"])
|
||||
src.id = min(100, src.id)
|
||||
src.id = max(1, src.id)
|
||||
if (istype(src.loc, /mob))
|
||||
attack_self(src.loc)
|
||||
else
|
||||
for(var/mob/M in viewers(1, src))
|
||||
if (M.client)
|
||||
src.attack_self(M)
|
||||
src.add_fingerprint(usr)
|
||||
return
|
||||
usr << browse(null, "window=implantpad")
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/implant/explosive
|
||||
@@ -126,6 +107,11 @@ ID (1-100):
|
||||
return dat
|
||||
|
||||
|
||||
activate(var/cause)
|
||||
if((!cause) || (!src.imp_in)) return 0
|
||||
//explode here
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/implant/chem
|
||||
name = "chem"
|
||||
@@ -158,10 +144,10 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
R.my_atom = src
|
||||
|
||||
|
||||
trigger(var/number = 0)
|
||||
if((!number) || (!src.imp_in)) return 0
|
||||
activate(var/cause)
|
||||
if((!cause) || (!src.imp_in)) return 0
|
||||
var/mob/living/carbon/R = src.imp_in
|
||||
src.reagents.trans_to(R, number)
|
||||
src.reagents.trans_to(R, cause)
|
||||
R << "You hear a faint *beep*."
|
||||
if(!src.reagents.total_volume)
|
||||
R << "You hear a faint click from your chest."
|
||||
|
||||
@@ -41,11 +41,12 @@
|
||||
else
|
||||
health_text = "[round(src.occupant.health,0.1)]"
|
||||
|
||||
var/dat = {"<B>Implanter Status</B><BR>
|
||||
<B>Current occupant:</B> [src.occupant ? "<BR>Name: [src.occupant]<BR>Health: [health_text]<BR>" : "<FONT color=red>None</FONT>"]<BR>
|
||||
<B>Implants:</B> [src.implant_list.len ? "[implant_list.len]" : "<A href='?src=\ref[src];replenish=1'>Replenish</A>"]<BR>
|
||||
[src.ready ? "<A href='?src=\ref[src];implant=1'>Implant</A>" : "Recharging"]<BR>
|
||||
"}
|
||||
var/dat ="<B>Implanter Status</B><BR>"
|
||||
|
||||
dat +="<B>Current occupant:</B> [src.occupant ? "<BR>Name: [src.occupant]<BR>Health: [health_text]<BR>" : "<FONT color=red>None</FONT>"]<BR>"
|
||||
dat += "<B>Implants:</B> [src.implant_list.len ? "[implant_list.len]" : "<A href='?src=\ref[src];replenish=1'>Replenish</A>"]<BR>"
|
||||
if(src.occupant)
|
||||
dat += "[src.ready ? "<A href='?src=\ref[src];implant=1'>Implant</A>" : "Recharging"]<BR>"
|
||||
user.machine = src
|
||||
user << browse(dat, "window=implant")
|
||||
onclose(user, "implant")
|
||||
@@ -54,6 +55,7 @@
|
||||
Topic(href, href_list)
|
||||
if((get_dist(src, usr) <= 1) || istype(usr, /mob/living/silicon/ai))
|
||||
if(href_list["implant"])
|
||||
if(src.occupant)
|
||||
injecting = 1
|
||||
go_out()
|
||||
ready = 0
|
||||
|
||||
@@ -74,17 +74,17 @@
|
||||
onclose(user, "implantpad")
|
||||
return
|
||||
|
||||
/*
|
||||
|
||||
Topic(href, href_list)
|
||||
..()
|
||||
if (usr.stat)
|
||||
return
|
||||
if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))))
|
||||
if ((usr.contents.Find(src)) || ((in_range(src, usr) && istype(src.loc, /turf))))
|
||||
usr.machine = src
|
||||
if (href_list["id"])
|
||||
if (href_list["tracking_id"])
|
||||
if ((istype(src.case, /obj/item/weapon/implantcase) && istype(src.case.imp, /obj/item/weapon/implant/tracking)))
|
||||
var/obj/item/weapon/implant/tracking/T = src.case.imp
|
||||
T.id += text2num(href_list["id"])
|
||||
T.id += text2num(href_list["tracking_id"])
|
||||
T.id = min(100, T.id)
|
||||
T.id = max(1, T.id)
|
||||
if (istype(src.loc, /mob))
|
||||
@@ -98,4 +98,4 @@
|
||||
else
|
||||
usr << browse(null, "window=implantpad")
|
||||
return
|
||||
return*/
|
||||
return
|
||||
@@ -36,13 +36,13 @@
|
||||
name = "Void Jetpack (oxygen)"
|
||||
desc = "It works well in a void."
|
||||
icon_state = "voidjetpack0"
|
||||
item_state = "jetpack"
|
||||
item_state = "jetpack-void"
|
||||
|
||||
/obj/item/weapon/tank/jetpack/black_jetpack
|
||||
name = "Black Jetpack (oxygen)"
|
||||
desc = "A black model of jetpacks."
|
||||
icon_state = "black_jetpack0"
|
||||
item_state = "black_jetpack"
|
||||
item_state = "jetpack-black"
|
||||
|
||||
/obj/item/weapon/tank/oxygen
|
||||
name = "Gas Tank (Oxygen)"
|
||||
|
||||
@@ -35,8 +35,3 @@
|
||||
/obj/structure/shuttle/engine/router
|
||||
name = "router"
|
||||
icon_state = "router"
|
||||
/obj/machinery/shuttle/engine/heater
|
||||
/obj/machinery/shuttle/engine/propulsion
|
||||
/obj/item/clothing/suit/armor/powered
|
||||
/obj/item/clothing/head/helmet/powered
|
||||
/obj/machinery/shuttle/engine/propulsion/burst
|
||||
@@ -1,16 +1,31 @@
|
||||
// GLASSES
|
||||
|
||||
/obj/item/clothing/glasses
|
||||
name = "glasses"
|
||||
icon = 'glasses.dmi'
|
||||
w_class = 2.0
|
||||
flags = GLASSESCOVERSEYES
|
||||
var
|
||||
vision_flags = 0
|
||||
darkness_view = 0//Base human is 2
|
||||
invisa_view = 0
|
||||
|
||||
/*
|
||||
SEE_SELF // can see self, no matter what
|
||||
SEE_MOBS // can see all mobs, no matter what
|
||||
SEE_OBJS // can see all objs, no matter what
|
||||
SEE_TURFS // can see all turfs (and areas), no matter what
|
||||
SEE_PIXELS// if an object is located on an unlit area, but some of its pixels are
|
||||
// in a lit area (via pixel_x,y or smooth movement), can see those pixels
|
||||
BLIND // can't see anything
|
||||
*/
|
||||
|
||||
|
||||
/obj/item/clothing/glasses/blindfold
|
||||
name = "blindfold"
|
||||
desc = "Makes you like...blind."
|
||||
icon_state = "blindfold"
|
||||
item_state = "blindfold"
|
||||
vision_flags = BLIND
|
||||
|
||||
|
||||
/obj/item/clothing/glasses/meson
|
||||
name = "Optical Meson Scanner"
|
||||
@@ -18,6 +33,9 @@
|
||||
icon_state = "meson"
|
||||
item_state = "glasses"
|
||||
origin_tech = "magnets=2;engineering=2"
|
||||
vision_flags = SEE_TURFS
|
||||
darkness_view = -2
|
||||
|
||||
|
||||
/obj/item/clothing/glasses/night
|
||||
name = "Night Vision Goggles"
|
||||
@@ -25,13 +43,18 @@
|
||||
icon_state = "night"
|
||||
item_state = "glasses"
|
||||
origin_tech = "magnets=2"
|
||||
vision_flags = SEE_TURFS
|
||||
darkness_view = 3
|
||||
|
||||
|
||||
/obj/item/clothing/glasses/material
|
||||
name = "Optical Material Scanner"
|
||||
desc = "Veru confusing glasses."
|
||||
desc = "Very confusing glasses."
|
||||
icon_state = "material"
|
||||
item_state = "glasses"
|
||||
origin_tech = "magnets=3;engineering=3"
|
||||
vision_flags = SEE_OBJS
|
||||
|
||||
|
||||
/obj/item/clothing/glasses/regular
|
||||
name = "Prescription Glasses"
|
||||
@@ -39,19 +62,33 @@
|
||||
icon_state = "glasses"
|
||||
item_state = "glasses"
|
||||
|
||||
|
||||
/obj/item/clothing/glasses/gglasses
|
||||
name = "Green Glasses"
|
||||
desc = "Forest green glasses, like the kind you'd wear when hatching a nasty scheme."
|
||||
icon_state = "gglasses"
|
||||
item_state = "gglasses"
|
||||
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses
|
||||
desc = "Strangely ancient technology used to help provide rudimentary eye cover. Enhanced shielding blocks many flashes."
|
||||
name = "Sunglasses"
|
||||
icon_state = "sun"
|
||||
item_state = "sunglasses"
|
||||
protective_temperature = 1300
|
||||
// var/already_worn = 0
|
||||
darkness_view = -1
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses/sechud
|
||||
name = "HUDSunglasses"
|
||||
desc = "Sunglasses with a HUD."
|
||||
icon_state = "sunhud"
|
||||
var/obj/item/clothing/glasses/hud/security/hud = null
|
||||
|
||||
New()
|
||||
..()
|
||||
src.hud = new/obj/item/clothing/glasses/hud/security(src)
|
||||
return
|
||||
|
||||
|
||||
/obj/item/clothing/glasses/thermal
|
||||
name = "Optical Thermal Scanner"
|
||||
@@ -59,6 +96,8 @@
|
||||
icon_state = "thermal"
|
||||
item_state = "glasses"
|
||||
origin_tech = "magnets=3"
|
||||
vision_flags = SEE_MOBS
|
||||
invisa_view = 2
|
||||
|
||||
/obj/item/clothing/glasses/thermal/monocle
|
||||
name = "Thermoncle"
|
||||
@@ -66,30 +105,12 @@
|
||||
icon_state = "thermoncle"
|
||||
flags = null //doesn't protect eyes because it's a monocle, duh
|
||||
|
||||
|
||||
/obj/item/clothing/glasses/thermal/eyepatch
|
||||
name = "Optical Thermal Eyepatch"
|
||||
desc = "An eyepatch with built-in thermal optics"
|
||||
icon_state = "eyepatch"
|
||||
item_state = "eyepatch"
|
||||
|
||||
/proc/RoundHealth(health)
|
||||
switch(health)
|
||||
if(100 to INFINITY)
|
||||
return "health100"
|
||||
if(70 to 100)
|
||||
return "health80"
|
||||
if(50 to 70)
|
||||
return "health60"
|
||||
if(30 to 50)
|
||||
return "health40"
|
||||
if(20 to 30)
|
||||
return "health25"
|
||||
if(5 to 15)
|
||||
return "health10"
|
||||
if(1 to 5)
|
||||
return "health1"
|
||||
if(-99 to 0)
|
||||
return "health0"
|
||||
else
|
||||
return "health-100"
|
||||
return "0"
|
||||
|
||||
|
||||
@@ -14,8 +14,54 @@
|
||||
name = "Health Scanner HUD"
|
||||
desc = "A heads-up display that scans the humans in view and provides accurate data about their health status."
|
||||
icon_state = "healthhud"
|
||||
proc
|
||||
RoundHealth(health)
|
||||
|
||||
|
||||
RoundHealth(health)
|
||||
switch(health)
|
||||
if(100 to INFINITY)
|
||||
return "health100"
|
||||
if(70 to 100)
|
||||
return "health80"
|
||||
if(50 to 70)
|
||||
return "health60"
|
||||
if(30 to 50)
|
||||
return "health40"
|
||||
if(20 to 30)
|
||||
return "health25"
|
||||
if(5 to 15)
|
||||
return "health10"
|
||||
if(1 to 5)
|
||||
return "health1"
|
||||
if(-99 to 0)
|
||||
return "health0"
|
||||
else
|
||||
return "health-100"
|
||||
return "0"
|
||||
|
||||
|
||||
process_hud(var/mob/M)
|
||||
if(!M) return
|
||||
if(!M.client) return
|
||||
var/client/C = M.client
|
||||
var/icon/tempHud = 'hud.dmi'
|
||||
for(var/mob/living/carbon/human/patient in view(M))
|
||||
var/foundVirus = 0
|
||||
for(var/datum/disease/D in patient.viruses)
|
||||
if(!D.hidden[SCANNER])
|
||||
foundVirus++
|
||||
if(patient.virus2)
|
||||
foundVirus++
|
||||
C.images += image(tempHud,patient,"hud[RoundHealth(patient.health)]")
|
||||
if(patient.stat == 2)
|
||||
C.images += image(tempHud,patient,"huddead")
|
||||
else if(patient.alien_egg_flag)
|
||||
C.images += image(tempHud,patient,"hudxeno")
|
||||
else if(foundVirus)
|
||||
C.images += image(tempHud,patient,"hudill")
|
||||
else
|
||||
C.images += image(tempHud,patient,"hudhealthy")
|
||||
|
||||
|
||||
/obj/item/clothing/glasses/hud/security
|
||||
@@ -23,6 +69,7 @@
|
||||
desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status."
|
||||
icon_state = "securityhud"
|
||||
|
||||
|
||||
process_hud(var/mob/M)
|
||||
if(!M) return
|
||||
if(!M.client) return
|
||||
@@ -15,8 +15,7 @@
|
||||
src << browse(null, "window=spideros")//Just in case.
|
||||
var/location = loc
|
||||
explosion(location, 1, 2, 3, 4)
|
||||
//src.flags = 0
|
||||
//reagents.handle_reactions() //No magic stomach for corpses.
|
||||
|
||||
canmove = 0
|
||||
if(src.client)
|
||||
src.blind.layer = 0
|
||||
@@ -27,13 +26,10 @@
|
||||
hand = 1
|
||||
drop_item()
|
||||
hand = h
|
||||
if (istype(wear_suit, /obj/item/clothing/suit/armor/a_i_a_ptank))
|
||||
var/obj/item/clothing/suit/armor/a_i_a_ptank/A = wear_suit
|
||||
bombers += "[key] has detonated a suicide bomb. Temp = [A.part4.air_contents.temperature-T0C]."
|
||||
// world << "Detected that [src.key] is wearing a bomb" debug stuff
|
||||
if(A.status && prob(90))
|
||||
// world << "Bomb has ignited?"
|
||||
A.part4.ignite()
|
||||
//This is where the suicide assemblies checks would go
|
||||
for (var/obj/item/weapon/implant/I in src)
|
||||
if (I.implanted)
|
||||
I.activate(10)
|
||||
|
||||
if (client)
|
||||
spawn(10)
|
||||
@@ -44,27 +40,9 @@
|
||||
if(mind)
|
||||
mind.store_memory("Time of death: [tod]", 0)
|
||||
sql_report_death(src)
|
||||
//src.icon_state = "dead"
|
||||
|
||||
//Calls the rounds wincheck, mainly for wizard, malf, and changeling now
|
||||
ticker.mode.check_win()
|
||||
|
||||
/*
|
||||
if (ticker.mode.name == "Corporate Restructuring" && ticker.target != src)
|
||||
src.unlock_medal("Expendable", 1)
|
||||
|
||||
//For restructuring
|
||||
if (ticker.mode.name == "Corporate Restructuring" || ticker.mode.name == "revolution")
|
||||
ticker.check_win()
|
||||
|
||||
if (ticker.mode.name == "wizard" && src == ticker.killer)
|
||||
world << "<FONT size = 3><B>Research Station Victory</B></FONT>"
|
||||
world << "<B>The Wizard has been killed!</B> The wizards federation has been taught an important lesson."
|
||||
ticker.processing = 0
|
||||
sleep(100)
|
||||
world << "\blue Rebooting due to end of game"
|
||||
world.Reboot()
|
||||
*/ //TODO: FIX
|
||||
|
||||
//Traitor's dead! Oh no!
|
||||
if (ticker.mode.name == "traitor" && src.mind && src.mind.special_role == "traitor")
|
||||
message_admins("\red Traitor [key_name_admin(src)] has died.")
|
||||
|
||||
@@ -87,43 +87,6 @@
|
||||
|
||||
..() //for organs
|
||||
|
||||
/*
|
||||
................................................ ..........................._,-~"<22><>"~-,
|
||||
.................................................. ................__<5F>-~"<22><>:::,-~~-,_::::"-
|
||||
.................................................. ..........<2E>~"<22>::::::::::::::"::::::::::::::::::::::\
|
||||
.................................................. .__<5F><5F><EFBFBD>-"::::::::::::::::::::::::::::::::::::::::::::::"~-,
|
||||
..........................................__-~"::,-':::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::~-,
|
||||
..........................._______~"___-~"::::::::::::::::::::::::::::::::::::::::::::: ::: :: :::::::::::"-,
|
||||
......................,~"::::::::::::::<3A><>::::::::: ::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::,: |
|
||||
....................:/:::::::::::::::::__-~":::::::::::::::::::::::::::::::::::::::::::::::::_,-~":'\'-,:\:|:\|::\|\::\:|
|
||||
...................,'::::::::,-~~"~"_::',::|::::::::::::::::::::::::::::::::::: :: :::,~ ':\'-,::',"-\::'':"::::::::\|:|/
|
||||
..............._,-'"~----":::/,~"<22>"-:|::|::|:::::::::::::::::::::::::::::::::::,~"::\'-,:\;;'-';;;;;;;;;;;,-'::\::|/
|
||||
............,-'::::::::::::::::'-\~"O<>_/::,'::|:::::::::::::::::::::::::::::::::,-',::\'-,:|::";;;;;;;;;;;;,-':\:'-,::\
|
||||
............|:::::::::::::::::-,_'~'::::,-'::,':::::::::::::::::::::::::::::,-':\'-,:\'-,';;';;;;;;;;;;;;;,-':\:::'\-,|''
|
||||
............|::,-~"::::::::::::::"~~":::,-'::::::::::::::::::::::::_,-~':\'-,|:"'";;;;;;;;;;;;;;,-'<27>::'-,:',\|
|
||||
.........../::/::::::::::::::::::::::::::::::::::::::::::::_,<2C>-~"<22>\:\'-,|;''-';;;;;;;;;;;;;;;;;;,-'--,::\-:\:\|
|
||||
........./::::|:::::::::::::::::::::::::::::::::::::::::,-';;'-';;;;',/;\/;;;;;;;;;;;;;;;;;;;;,-,|:::\-,:|\|..\|
|
||||
......./:::::::\:::::::::::::::::::::::::::::::::::::,-';;;;;;;;;;;;;;;;;;;;;;;;;;;,-~'''("-,\:::|\:|::''
|
||||
......,':::::::,'::::::::::::::::::::::::::::::::: :,-'/;;;;;;;;;;;;;;;;;;;;;;;;;,--'::::::/"~'
|
||||
.....,'::::::::|:::::::::::::::::::::::::::::,<2C>-~"::|;;;;;;;;;;;;;;;;;;;;;,-'::::::::,'::::/
|
||||
..../:::::::::|:::::::::::::<3A>---~~""<22><><EFBFBD>::',:::::,';;;;;;;;;;;;;;;;;;;,'::::::::: :: |_,-'
|
||||
..,'::::::::::::",:,-~"<22>::::::::"-,::::::::::|:::/;;;;;;;;;;;;;;;;;;;,':::::::|::::,'
|
||||
./:::::::::::::::|:::::::::::::::::::"-,:::::::\:::|<7C><><EFBFBD>"""~-,~,_/::::::::,':::/
|
||||
::::::::::::::::::::::::::::::::::::::"~-,_::|::\: : : : : : |: : \::::::::/:/
|
||||
::::::::::::::::::::::::::::::",:::::::::::::"-':::\: : : : : : |: : :\::::::\ APRIL FOOLS LOVE UHANGAY
|
||||
::::::::::::::::::::::::::::::::",:::::::::::::: ::::\: : : : : : \: : : |:::::;;\
|
||||
::::::::::::::::::"-,:::::::::::::::",:::::::::::::::/|\ ,: : : : : : : |::::,'/|::::|
|
||||
:::::::::::::::::::::"-,:::::::::::::::"-,_::::::::::\|:/|,: : : : : : : |::: |'-,/|:::|
|
||||
::::::::::::::::::::::::"~-,_::::::::::::::"~-,_:::"-,/|/\::::::::::: \::: \"-/|::|
|
||||
:::::::::::::::::::::::::::::::"~-,__:::::::::::',"-,:::"_|/\:|\: : : : \::\":/|\|
|
||||
::::::::::::::::::::::::::::::::::::::::"~-,_:::::\:::\:::"~/_:|:|\: : : '-,\::"::,'\
|
||||
:::::::::::::::::::::::::::::::::::::::::::::::"-,_:'-,::\:::::::"-,|:||\,-, : '-,\:::|-'-
|
||||
:::::::::::::::::::::::::::::::::::::::::::::::::: ::,-,'"-:"~,:::::"/_/::|-/\--';;\:::/: ||\-,
|
||||
:::::::::::::::::::::::::::::::::::::::::::::::::: :/...'-,::::::"~<7E>::::"-,/_:|:/\:/|/|/|_/:|
|
||||
:::::::::::::::::::::::::::::::::::::::::::::::::: |......"-,::::::::"~-:::::""~~~"<22>:::|
|
||||
:::::::::::::::::::::::::::::::::::::::::::::::::: |........."-,_::::::::::::::::::::::::::::/
|
||||
:::::::::::::::::::::::::::::::::::::::::::::::::\ .............."~--<2D>_____<5F><5F>-~~"
|
||||
*/
|
||||
|
||||
/mob/living/carbon/human
|
||||
proc
|
||||
@@ -138,6 +101,7 @@
|
||||
oxyloss = max(oxyloss, 0)
|
||||
fireloss = max(fireloss, 0)
|
||||
|
||||
|
||||
update_mind()
|
||||
if(!mind && client)
|
||||
mind = new
|
||||
@@ -147,6 +111,7 @@
|
||||
mind.assigned_role = "Assistant"
|
||||
mind.key = key
|
||||
|
||||
|
||||
handle_disabilities()
|
||||
if (disabilities & 2)
|
||||
if ((prob(1) && paralysis < 1 && r_epil < 1))
|
||||
@@ -193,8 +158,8 @@
|
||||
if(3)
|
||||
emote("drool")
|
||||
|
||||
handle_mutations_and_radiation()
|
||||
|
||||
handle_mutations_and_radiation()
|
||||
if(fireloss)
|
||||
if(mutations & COLD_RESISTANCE || (prob(1) && prob(75)))
|
||||
heal_organ_damage(0,1)
|
||||
@@ -320,8 +285,7 @@
|
||||
//if (internals) //should be unnecessary, uncomment if it isn't. -raftaf0
|
||||
// internals.icon_state = "internal1"
|
||||
return internal.remove_air_volume(volume_needed)
|
||||
else
|
||||
if (internals)
|
||||
else if(internals)
|
||||
internals.icon_state = "internal0"
|
||||
return null
|
||||
|
||||
@@ -844,27 +808,22 @@
|
||||
see_invisible = 0
|
||||
else if(istype(glasses, /obj/item/clothing/glasses/hud/health))
|
||||
if(client)
|
||||
glasses:process_hud(src)
|
||||
if (!druggy)
|
||||
see_invisible = 0
|
||||
|
||||
var/icon/tempHud = 'hud.dmi'
|
||||
for(var/mob/living/carbon/human/patient in view(src))
|
||||
else if(istype(glasses, /obj/item/clothing/glasses/hud/security))
|
||||
if(client)
|
||||
glasses:process_hud(src)
|
||||
if (!druggy)
|
||||
see_invisible = 0
|
||||
|
||||
var/foundVirus = 0
|
||||
for(var/datum/disease/D in patient.viruses)
|
||||
if(!D.hidden[SCANNER])
|
||||
foundVirus++
|
||||
|
||||
if(patient.virus2)
|
||||
foundVirus++
|
||||
|
||||
client.images += image(tempHud,patient,"hud[RoundHealth(patient.health)]")
|
||||
if(patient.stat == 2)
|
||||
client.images += image(tempHud,patient,"huddead")
|
||||
else if(patient.alien_egg_flag)
|
||||
client.images += image(tempHud,patient,"hudxeno")
|
||||
else if(foundVirus)
|
||||
client.images += image(tempHud,patient,"hudill")
|
||||
else
|
||||
client.images += image(tempHud,patient,"hudhealthy")
|
||||
else if(istype(glasses, /obj/item/clothing/glasses/sunglasses))
|
||||
see_in_dark = 1
|
||||
if(istype(glasses, /obj/item/clothing/glasses/sunglasses/sechud))
|
||||
if(client)
|
||||
if(glasses:hud)
|
||||
glasses:hud:process_hud(src)
|
||||
if (!druggy)
|
||||
see_invisible = 0
|
||||
|
||||
@@ -887,23 +846,23 @@
|
||||
if(!seer)
|
||||
see_invisible = 0
|
||||
|
||||
else if (istype(glasses, /obj/item/clothing/glasses/sunglasses))
|
||||
see_in_dark = 1
|
||||
else if(istype(head, /obj/item/clothing/head/helmet/welding))
|
||||
if(!head:up && tinted_weldhelh)
|
||||
see_in_dark = 1
|
||||
|
||||
if(istype(glasses, /obj/item/clothing/glasses/hud/security))
|
||||
/*
|
||||
if (istype(glasses, /obj/item/clothing/glasses))
|
||||
sight = glasses.vision_flags
|
||||
see_in_dark = 2 + glasses.darkness_view
|
||||
see_invisible = invisa_view
|
||||
|
||||
if(istype(glasses, /obj/item/clothing/glasses/hud))
|
||||
if(client)
|
||||
glasses:process_hud(src)
|
||||
if(!druggy)
|
||||
see_invisible = 0
|
||||
else if((istype(head, /obj/item/clothing/head/helmet)) && (!istype(head, /obj/item/clothing/head/helmet/space)))
|
||||
if(client)
|
||||
if(head:shud)
|
||||
head:shud:process_hud(src)
|
||||
if(!druggy)
|
||||
see_invisible = 0
|
||||
*/
|
||||
//Should finish this up later
|
||||
|
||||
|
||||
|
||||
if (sleep) sleep.icon_state = text("sleep[]", sleeping)
|
||||
if (rest) rest.icon_state = text("rest[]", resting)
|
||||
|
||||
@@ -49,3 +49,25 @@
|
||||
client.images += image(tempHud,patient,"hudill")
|
||||
else
|
||||
client.images += image(tempHud,patient,"hudhealthy")
|
||||
|
||||
/mob/living/silicon/pai/proc/RoundHealth(health)
|
||||
switch(health)
|
||||
if(100 to INFINITY)
|
||||
return "health100"
|
||||
if(70 to 100)
|
||||
return "health80"
|
||||
if(50 to 70)
|
||||
return "health60"
|
||||
if(30 to 50)
|
||||
return "health40"
|
||||
if(20 to 30)
|
||||
return "health25"
|
||||
if(5 to 15)
|
||||
return "health10"
|
||||
if(1 to 5)
|
||||
return "health1"
|
||||
if(-99 to 0)
|
||||
return "health0"
|
||||
else
|
||||
return "health-100"
|
||||
return "0"
|
||||
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 170 KiB After Width: | Height: | Size: 170 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 18 KiB |
@@ -525,7 +525,7 @@
|
||||
"ake" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/security/hos)
|
||||
"akf" = (/obj/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor,/area/security/hos)
|
||||
"akg" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/security/main)
|
||||
"akh" = (/obj/table,/obj/item/device/timer,/obj/item/clothing/glasses/hud/security,/turf/simulated/floor,/area/security/main)
|
||||
"akh" = (/obj/table,/obj/item/device/timer,/turf/simulated/floor,/area/security/main)
|
||||
"aki" = (/obj/table,/obj/item/device/radio,/turf/simulated/floor,/area/security/main)
|
||||
"akj" = (/obj/stool/chair{dir = 8},/obj/landmark/start{name = "Security Officer"},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor,/area/security/main)
|
||||
"akk" = (/obj/machinery/camera{c_tag = "Security"; dir = 8; network = "SS13"},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/closet/wardrobe/red,/turf/simulated/floor,/area/security/main)
|
||||
@@ -563,7 +563,7 @@
|
||||
"akQ" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4},/turf/simulated/floor,/area/security/warden)
|
||||
"akR" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/security/warden)
|
||||
"akS" = (/obj/stool/chair{dir = 4},/obj/landmark/start{name = "Warden"},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_x = 25; pixel_y = 20},/turf/simulated/floor,/area/security/warden)
|
||||
"akT" = (/obj/table/reinforced,/obj/machinery/door/window/westright{name = "Warden's Desk"; req_access_txt = "3"},/obj/machinery/door/window/eastleft{name = "Warden's Desk"},/obj/window/reinforced,/obj/item/clothing/mask/gas/emergency,/obj/item/clothing/glasses/thermal,/obj/item/clothing/glasses/hud/security,/turf/simulated/floor,/area/security/warden)
|
||||
"akT" = (/obj/table/reinforced,/obj/machinery/door/window/westright{name = "Warden's Desk"; req_access_txt = "3"},/obj/machinery/door/window/eastleft{name = "Warden's Desk"},/obj/window/reinforced,/obj/item/clothing/glasses/thermal,/turf/simulated/floor,/area/security/warden)
|
||||
"akU" = (/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/main)
|
||||
"akV" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
|
||||
"akW" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
|
||||
@@ -573,7 +573,7 @@
|
||||
"ala" = (/obj/disposalpipe/segment,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main)
|
||||
"alb" = (/obj/closet/extinguisher{pixel_x = -5; pixel_y = 30},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/main)
|
||||
"alc" = (/obj/table,/obj/item/weapon/paper/sop,/turf/simulated/floor,/area/security/main)
|
||||
"ald" = (/obj/table,/obj/item/device/flash,/obj/item/clothing/glasses/hud/security,/turf/simulated/floor,/area/security/main)
|
||||
"ald" = (/obj/table,/obj/item/device/flash,/turf/simulated/floor,/area/security/main)
|
||||
"ale" = (/obj/stool/chair{dir = 4},/turf/simulated/floor,/area/security/main)
|
||||
"alf" = (/obj/machinery/computer/secure_data,/turf/simulated/floor,/area/security/main)
|
||||
"alg" = (/obj/grille,/obj/window/reinforced{dir = 4},/obj/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/security/brig)
|
||||
@@ -1249,7 +1249,7 @@
|
||||
"aya" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall/r_wall,/area/maintenance/fpmaint)
|
||||
"ayb" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/embedded_controller/radio/airlock_controller{airpump_tag = "EVA_airlock_pump"; exterior_door_tag = "EVA_airlock_exterior"; id_tag = "EVA_airlock_control"; interior_door_tag = "EVA_airlock_interior"; pixel_x = -24; pixel_y = 0; sensor_tag = "EVA_airlock_sensor"},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
||||
"ayc" = (/obj/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/jetpack,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/ai_monitored/storage/eva)
|
||||
"ayd" = (/obj/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/jetpack/black_jetpack,/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva)
|
||||
"ayd" = (/obj/rack{dir = 8; layer = 2.9},/obj/machinery/atmospherics/pipe/simple,/obj/item/weapon/tank/jetpack,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva)
|
||||
"aye" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||
"ayf" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||
"ayg" = (/obj/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva)
|
||||
@@ -1363,8 +1363,8 @@
|
||||
"aAk" = (/obj/machinery/atmospherics/pipe/simple,/obj/disposalpipe/segment{dir = 4},/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
||||
"aAl" = (/obj/disposalpipe/segment{dir = 4},/obj/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/obj/rack{dir = 1},/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
||||
"aAm" = (/obj/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva)
|
||||
"aAn" = (/obj/machinery/suit_storage_unit/engineering_unit{name = "Engineering Suit Storage Unit"},/obj/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "EVA South-East"; dir = 1},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/ai_monitored/storage/eva)
|
||||
"aAo" = (/obj/machinery/suit_storage_unit/engineering_unit{name = "Engineering Suit Storage Unit"},/obj/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/ai_monitored/storage/eva)
|
||||
"aAn" = (/obj/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "EVA South-East"; dir = 1},/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/ai_monitored/storage/eva)
|
||||
"aAo" = (/obj/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple,/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/ai_monitored/storage/eva)
|
||||
"aAp" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||
"aAq" = (/obj/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||
"aAr" = (/obj/machinery/suit_storage_unit/standard_unit,/obj/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/machinery/camera{c_tag = "EVA South-East"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/ai_monitored/storage/eva)
|
||||
@@ -1492,7 +1492,7 @@
|
||||
"aCJ" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
|
||||
"aCK" = (/obj/machinery/atmospherics/pipe/manifold,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
|
||||
"aCL" = (/obj/reagent_dispensers/watertank,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva)
|
||||
"aCM" = (/obj/machinery/suit_storage_unit/command_unit{name = "Command Suit Storage Unit"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
|
||||
"aCM" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
|
||||
"aCN" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore)
|
||||
"aCO" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
|
||||
"aCP" = (/obj/machinery/atmospherics/pipe/simple{dir = 5},/obj/disposalpipe/segment{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
|
||||
@@ -5303,7 +5303,7 @@
|
||||
"bXY" = (/obj/machinery/field_generator,/turf/simulated/floor/plating,/area/engine/engineering)
|
||||
"bXZ" = (/obj/machinery/emitter,/turf/simulated/floor/plating,/area/engine/engineering)
|
||||
"bYa" = (/obj/machinery/power/apc{cell_type = 10000; dir = 1; name = "Engineering APC"; pixel_x = 0; pixel_y = 25},/obj/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "yellow"},/area/engine/engineering)
|
||||
"bYb" = (/obj/window/reinforced{dir = 4},/obj/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/machinery/suit_storage_unit/engineering_unit{pixel_x = 0},/turf/simulated/floor,/area/engine/engineering)
|
||||
"bYb" = (/obj/window/reinforced{dir = 4},/obj/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/turf/simulated/floor,/area/engine/engineering)
|
||||
"bYc" = (/obj/machinery/power/smes,/obj/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engine/engine_smes)
|
||||
"bYd" = (/obj/machinery/power/smes,/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engine_smes)
|
||||
"bYe" = (/obj/machinery/power/smes,/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/engine/engine_smes)
|
||||
@@ -5317,7 +5317,7 @@
|
||||
"bYm" = (/obj/machinery/computer/atmos_alert,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/turf/simulated/floor,/area/engine/chiefs_office)
|
||||
"bYn" = (/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/turf/simulated/floor,/area/engine/chiefs_office)
|
||||
"bYo" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/portable_atmospherics/canister/oxygen,/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/turf/simulated/floor,/area/engine/chiefs_office)
|
||||
"bYp" = (/obj/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/suit_storage_unit/chief_engineer_unit,/turf/simulated/floor,/area/engine/chiefs_office)
|
||||
"bYp" = (/obj/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/turf/simulated/floor,/area/engine/chiefs_office)
|
||||
"bYq" = (/obj/machinery/power/apc{dir = 1; name = "CE office APC"; pixel_x = 0; pixel_y = 25},/obj/secure_closet/engineering_chief{req_access_txt = "0"},/obj/cable{tag = "Streight"; icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/engine/chiefs_office)
|
||||
"bYr" = (/obj/grille,/obj/window/reinforced{dir = 4},/obj/window/reinforced,/obj/window/reinforced{dir = 8},/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/turf/simulated/floor/plating,/area/engine/chiefs_office)
|
||||
"bYs" = (/turf/simulated/floor,/area/engine/engineering)
|
||||
@@ -5445,7 +5445,7 @@
|
||||
"caK" = (/obj/machinery/power/apc{dir = 8; name = "Aft Maintenance APC"; pixel_x = -25; pixel_y = 0},/obj/cable,/turf/simulated/floor/plating,/area/maintenance/aft)
|
||||
"caL" = (/obj/table,/obj/machinery/cell_charger,/obj/machinery/camera{c_tag = "Engineering SMES Room"; dir = 4; network = "SS13"},/turf/simulated/floor,/area/engine/engineering)
|
||||
"caM" = (/obj/table,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/module/power_control,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor,/area/engine/engineering)
|
||||
"caN" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/rack{dir = 8; layer = 2.9},/obj/item/clothing/head/helmet/welding{pixel_x = -3; pixel_y = 5},/turf/simulated/floor,/area/engine/engineering)
|
||||
"caN" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/turf/simulated/floor,/area/engine/engineering)
|
||||
"caO" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/table,/obj/item/weapon/book/manual/engineering_singularity_safety,/obj/item/clothing/gloves/yellow,/turf/simulated/floor,/area/engine/engineering)
|
||||
"caP" = (/obj/machinery/dispenser,/turf/simulated/floor,/area/engine/engineering)
|
||||
"caQ" = (/obj/grille,/obj/window/reinforced{dir = 8},/obj/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/floor/plating,/area/engine/engineering)
|
||||
@@ -7796,8 +7796,8 @@
|
||||
"cTV" = (/turf/simulated/floor,/area/mine/storage)
|
||||
"cTW" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/mine/storage)
|
||||
"cTX" = (/obj/grille,/obj/window/reinforced{dir = 8},/obj/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/storage)
|
||||
"cTY" = (/obj/rack,/obj/item/clothing/suit/space/rig,/obj/item/clothing/head/helmet/space/rig,/obj/item/clothing/mask/breath,/turf/simulated/floor,/area/mine/eva)
|
||||
"cTZ" = (/obj/rack,/obj/item/clothing/suit/space/rig,/obj/item/clothing/head/helmet/space/rig,/obj/item/clothing/mask/breath,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/mine/eva)
|
||||
"cTY" = (/obj/rack,/obj/item/clothing/suit/space/rig/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/mining,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/mine/eva)
|
||||
"cTZ" = (/obj/rack,/obj/item/clothing/suit/space/rig/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/mining,/turf/simulated/floor,/area/mine/eva)
|
||||
"cUa" = (/obj/reagent_dispensers/fueltank,/turf/simulated/floor,/area/mine/eva)
|
||||
"cUb" = (/obj/table,/obj/item/weapon/satchel,/obj/item/clothing/glasses/meson,/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/mine/west_outpost)
|
||||
"cUc" = (/obj/machinery/door/airlock/glass{name = "Mining Outpost Break Room"; req_access_txt = "54"},/turf/simulated/floor,/area/mine/west_outpost)
|
||||
@@ -9232,7 +9232,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSacSacO
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacRZcOJcOJcOJcOJcOJcOJcOJcOJcSacSacSacSacSacSacSacOJcOJcOJcOJcOJcOJcSacSacSacSacSacSacSacSacSacQncQncQncQncQncQncQncQncTecTfcTgcQncQncQncPQcOQcOQcOQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOQcOQcOQcPQcPQcPQcPQcPQcPQcPQcOQcOQcOQcOQcOQcOQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOQcOQcPQcTccThcTicTjcThcTicTccQncQncQncQncQncQncQncQncQncQncQnaaacOPaaaaaaaaaaaaaaaaaaaaacOQcOQcOQcOQcOQcPQcPQcQncRBcQncQncQncSgcShcSicQncQncQncQncQncQncQncRGcRGcPQcOQcOQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSacSacOJcOJcOJcOJcOJcOJcSacSacSacSacSacSacSacOJcOJcOJcOJcOJcOJcSacSacSacSacQncQncTkcTkcTkcTkcTkcTkcTlcTmcTmcTncTkcTkcTkcTkcQncQncQncPQcOQcOQcOQcOQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOQcOQcOQcOQcPQcPQcQncQncQncQncQncPQcPQcPQcPQcPQcOQcOQcOQcOQcOQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOQcOQcPQcTccTocTpcTjcTocTpcTccTqcTqcTqcTrcTscTtcTqcQncQncQncQncQnaaaaaaaaaaaaaaaaaaaaaaaaaaacOQcOQcOQcPQcPQcQncQncQncQncQncQncSjcSkcTucQncQncQncQncQncQncQncQncQncPQcPQcOQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacRZcSacOJcOJcOJcOJcOJcOJcSacSacSacSacSacSacSacOJcOJcOJcOJcOJcSacSacPQcQncQncQncTkcTvcTwcTxcTycTzcTAcTBcTBcTBcTCcTDcTwcTCcQncQncQncPQcPQcPQcPQcOQcOQcOQcOQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOQcOQcOQcPQcPQcQncQncQncQncQncQncQncQncQncQncPQcPQcPQcPQcPQcOQcOQcOQcOQcOAcOAcOAcOAcOAcOQcOQcOQcPQcTccTjcTEcTjcTjcTEcTjcTFcTFcTGcTHcTHcTHcTIcQncQncQncQncQncQnaaaaaaaaaaaaaaaaaaaaaaaaaaacPQcPQcPQcQncQncQncQncQncQncQncQncTJcTKcTLcTMcTKcTKcQncQncQncQncQncQncPQcOQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacRZcSacSacOJcOJcOJcSacSacSacSacSacSacSacSacOJcOJcOJcSacSacOQcPQcQncQncQncTkcTNcTwcTOcTPcTwcTwcTwcTwcTwcTQcTwcTwcTQcQncQncQncQncQncQncPQcPQcPQcOQcOQcOQcOQcOQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOQcOQcPQcPQcRmcQncQncQncQncQncQncQncQncQncQncQncQncQncQncQncPQcPQcOQcOQcOQcOQcOQcOQcOQcOQcOQcOQcOQcPQcTccTRcTpcTScTTcTUcTjcTFcTFcTVcTVcTVcTWcTXcQncQncQncQncQncQnaaaaaaaaaaaaaaaaaaaaaaaaaaacQncQncQncQncQncQncQncQncQncQncQncTJcTYcTZcTYcUacTKcQncQncQncQncQncRYcRmcPQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacRZcSacSacOJcOJcOJcSacSacSacSacSacSacSacSacOJcOJcOJcSacSacOQcPQcQncQncQncTkcTNcTwcTOcTPcTwcTwcTwcTwcTwcTQcTwcTwcTQcQncQncQncQncQncQncPQcPQcPQcOQcOQcOQcOQcOQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOQcOQcPQcPQcRmcQncQncQncQncQncQncQncQncQncQncQncQncQncQncQncPQcPQcOQcOQcOQcOQcOQcOQcOQcOQcOQcOQcOQcPQcTccTRcTpcTScTTcTUcTjcTFcTFcTVcTVcTVcTWcTXcQncQncQncQncQncQnaaaaaaaaaaaaaaaaaaaaaaaaaaacQncQncQncQncQncQncQncQncQncQncQncTJcTYcTZcTZcUacTKcQncQncQncQncQncRYcRmcPQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSacSacOJcOJcOJcSacSacSacSacSacSacSacSacSacSacSacSacSacOQcPQcQncQncQncTkcUbcTwcTwcUccTwcTwcTwcTwcTwcTCcUdcUdcTCcQncQncQncQncQncQncQncQncPQcPQcPQcPQcOQcOQcOQcOQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOAcOAcOQcOQcPQcPQcQncRBcQncQncQncQncQncQncQncQncQncQncQncQncQncQncQncQncPQcPQcPQcPQcOQcOQcOQcOQcOQcOQcOQcOQcPQcTccUecUfcUgcUhcUicTjcTFcTFcUjcUkcUlcUmcUncQncQncQncQncQncOPaaaaaacOPaaaaaaaaaaaacOPaaaaaaaaacQncQncQncQncQncUocUocUpcUqcTJcUrcUscUscUtcTKcTKcTKcTKcQncQncQncQncPQcPQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSacRZcSacSacSacSacSacSacSacSacSacSacSacSacSacSacOQcPQcPQcQncQncTkcUucTwcTwcTycTwcTwcTwcTwcUvcTkcTkcTkcTkcSgcSicQncQncQncQncQncQncQncQncQncPQcOQcOQcOQcOQcOQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOQcOQcOQcPQcQncQncQncQncQncQncQncQncQncQncQncSgcSicQncQncQncQncQncQncQncQncQncPQcPQcOQcOQcOQcOQcOQcTccTccTccTccUwcUxcUycUwcUzcTjcUAcUAcUAcUAcUBcUCcTqcUDcUEcQncQnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOPcQncQncUFcUqcUGcUGcUHcUIcUJcUKcUKcULcUMcUKcUNcUOcQncQncQncQncRocPQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSacSacRZcSacSacSacRZcSacSacSacSacSacOQcOQcPQcQncQncTkcUdcTwcTwcTPcUPcUQcURcTwcUScUTcUUcUVcUWcSycSzcUXcSBcSBcSBcSBcSBcSCcQncQncQncRGcOQcOQcOQcOQcOQcOQcOQcOQcOAcOAcOAcOQcOQcOQcOQcPQcPQcQncQncSGcSrcSrcSrcSrcSrcSrcSrcSxcSycSzcSAcSBcSBcSBcSCcQncQncQncQncQncPQcOQcOQcOQcOQcOQcTccUYcUZcVacUGcVbcVccVdcUGcUGcVecVfcUGcVdcVccVbcVecUGcVgcVhcVicVjcVkcVkcVkcVkcVkcVkcVkcVkcVkcVkcVkcVkcVkcVlcUpcVmcVncVocUGcVpcVqcVrcVscUKcUKcUKcVtcUKcUKcVtcQncQncQncQncRocPQcOQcOQcOAcOAcOAcOAcOAcOAcOAcOAcOAcOAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
|
||||
@@ -80,6 +80,8 @@
|
||||
#define FILE_DIR "code/modules/admin/verbs"
|
||||
#define FILE_DIR "code/modules/assembly"
|
||||
#define FILE_DIR "code/modules/chemical"
|
||||
#define FILE_DIR "code/modules/clothing"
|
||||
#define FILE_DIR "code/modules/clothing/glasses"
|
||||
#define FILE_DIR "code/modules/critters"
|
||||
#define FILE_DIR "code/modules/critters/hivebots"
|
||||
#define FILE_DIR "code/modules/food"
|
||||
@@ -272,7 +274,6 @@
|
||||
#include "code\defines\obj\clothing\costume.dm"
|
||||
#include "code\defines\obj\clothing\ears.dm"
|
||||
#include "code\defines\obj\clothing\gimmick.dm"
|
||||
#include "code\defines\obj\clothing\glasses.dm"
|
||||
#include "code\defines\obj\clothing\gloves.dm"
|
||||
#include "code\defines\obj\clothing\head.dm"
|
||||
#include "code\defines\obj\clothing\jumpsuit.dm"
|
||||
@@ -566,7 +567,6 @@
|
||||
#include "code\game\objects\items\robot_parts.dm"
|
||||
#include "code\game\objects\items\shock_kit.dm"
|
||||
#include "code\game\objects\items\trash.dm"
|
||||
#include "code\game\objects\items\clothing\hud.dm"
|
||||
#include "code\game\objects\items\clothing\powerarmor.dm"
|
||||
#include "code\game\objects\items\clothing\powerarmorcomponents.dm"
|
||||
#include "code\game\objects\items\weapons\AI_modules.dm"
|
||||
@@ -676,6 +676,8 @@
|
||||
#include "code\modules\chemical\Chemistry-Reagents.dm"
|
||||
#include "code\modules\chemical\Chemistry-Recipes.dm"
|
||||
#include "code\modules\chemical\Chemistry-Tools.dm"
|
||||
#include "code\modules\clothing\glasses\glasses.dm"
|
||||
#include "code\modules\clothing\glasses\hud.dm"
|
||||
#include "code\modules\critters\adefine.dm"
|
||||
#include "code\modules\critters\critterAI.dm"
|
||||
#include "code\modules\critters\critters.dm"
|
||||
|
||||