Merge pull request #1016 from Erthilo/master
Mask changes, TG updates, sprites fixes, and custom items
@@ -489,6 +489,7 @@
|
||||
#include "code\game\machinery\flasher.dm"
|
||||
#include "code\game\machinery\floodlight.dm"
|
||||
#include "code\game\machinery\Freezer.dm"
|
||||
#include "code\game\machinery\gateway.dm"
|
||||
#include "code\game\machinery\hologram.dm"
|
||||
#include "code\game\machinery\hydroponics.dm"
|
||||
#include "code\game\machinery\igniter.dm"
|
||||
@@ -1035,6 +1036,7 @@
|
||||
#include "code\modules\mob\organ\organ_external.dm"
|
||||
#include "code\modules\mob\organ\organ_internal.dm"
|
||||
#include "code\modules\mob\organ\pain.dm"
|
||||
#include "code\modules\mob\simple_animal\behemoth.dm"
|
||||
#include "code\modules\mob\simple_animal\cat.dm"
|
||||
#include "code\modules\mob\simple_animal\constructs.dm"
|
||||
#include "code\modules\mob\simple_animal\corgi.dm"
|
||||
|
||||
@@ -795,34 +795,18 @@
|
||||
..()
|
||||
|
||||
|
||||
/datum/supply_packs/poster
|
||||
contains = list("/obj/item/weapon/contraband/poster",) //We randomly pick 5 items from this list through the constructor, look below
|
||||
name = "Poster crate"
|
||||
/datum/supply_packs/contraband
|
||||
contains = list("/obj/item/weapon/contraband/poster","/obj/item/weapon/cigpacket/dromedaryco") //We randomly pick 5 items from this list through the constructor, look below
|
||||
name = "Contraband crate"
|
||||
cost = 30
|
||||
containertype = "/obj/structure/closet/crate/poster"
|
||||
containername = "Poster crate"
|
||||
containertype = "/obj/structure/closet/crate/contraband"
|
||||
containername = "Contraband crate"
|
||||
contraband = 1
|
||||
group = "Secure Storage"
|
||||
group = "NanoTrasen Contraband Storage"
|
||||
|
||||
/datum/supply_packs/poster/New()
|
||||
var/list/tempContains = list()
|
||||
for(var/i = 0,i<5,i++)
|
||||
tempContains += pick(contains)
|
||||
src.contains = tempContains
|
||||
..()
|
||||
|
||||
/datum/supply_packs/cigarettes
|
||||
contains = list("/obj/item/weapon/cigpacket/dromedaryco",
|
||||
"/obj/item/weapon/cigpacket/dromedaryco",
|
||||
"/obj/item/weapon/cigpacket/dromedaryco",
|
||||
"/obj/item/weapon/cigpacket/dromedaryco",
|
||||
"/obj/item/weapon/cigpacket/dromedaryco",
|
||||
"/obj/item/weapon/cigpacket/dromedaryco",)
|
||||
name = "DromedaryCo cigarettes crate"
|
||||
cost = 15
|
||||
containertype = "/obj/structure/closet/crate/cigarettes"
|
||||
containername = "DromedaryCo cigarettes crate"
|
||||
contraband = 1
|
||||
group = "Secure Storage"
|
||||
|
||||
//SUPPLY PACKS
|
||||
..()
|
||||
@@ -19,20 +19,20 @@
|
||||
for(var/datum/objective/OBJ in H.mind.objectives)
|
||||
H << "<B>Objective #[obj_count]</B>: [OBJ.explanation_text]"
|
||||
obj_count++
|
||||
var/randomize = pick("taser","egun","laser","revolver","smg","decloner","deagle","gyrojet","pulse","silenced","cannon","shotgun","freeze","uzi","crossbow")
|
||||
var/randomize = pick("taser","egun","laser","revolver","smg","nuclear","deagle","gyrojet","pulse","silenced","cannon","shotgun","mateba","uzi","crossbow")
|
||||
switch (randomize)
|
||||
if("taser")
|
||||
new /obj/item/weapon/gun/energy/taser(get_turf(H))
|
||||
if("egun")
|
||||
new /obj/item/weapon/gun/energy(get_turf(H))
|
||||
new /obj/item/weapon/gun/energy/gun(get_turf(H))
|
||||
if("laser")
|
||||
new /obj/item/weapon/gun/energy/laser(get_turf(H))
|
||||
if("revolver")
|
||||
new /obj/item/weapon/gun/projectile(get_turf(H))
|
||||
if("smg")
|
||||
new /obj/item/weapon/gun/projectile/automatic/c20r(get_turf(H))
|
||||
if("decloner")
|
||||
new /obj/item/weapon/gun/energy/decloner(get_turf(H))
|
||||
if("nuclear")
|
||||
new /obj/item/weapon/gun/energy/gun/nuclear(get_turf(H))
|
||||
if("deagle")
|
||||
new /obj/item/weapon/gun/projectile/deagle/camo(get_turf(H))
|
||||
if("gyrojet")
|
||||
@@ -45,8 +45,8 @@
|
||||
new /obj/item/weapon/gun/energy/lasercannon(get_turf(H))
|
||||
if("shotgun")
|
||||
new /obj/item/weapon/gun/projectile/shotgun/pump/combat(get_turf(H))
|
||||
if("freeze")
|
||||
new /obj/item/weapon/gun/energy/temperature(get_turf(H))
|
||||
if("mateba")
|
||||
new /obj/item/weapon/gun/projectile/mateba(get_turf(H))
|
||||
if("uzi")
|
||||
new /obj/item/weapon/gun/projectile/automatic/mini_uzi(get_turf(H))
|
||||
if("crossbow")
|
||||
|
||||
@@ -238,13 +238,12 @@
|
||||
access_heads, access_ai_upload, access_construction, access_robotics,
|
||||
access_mint, access_ce, access_RC_announce, access_keycard_auth, access_tcomsat)
|
||||
if("Research Director")
|
||||
return list(access_medlab, access_rd,
|
||||
access_heads, access_tox,
|
||||
access_tox_storage, access_chemistry, access_teleporter,
|
||||
access_research, access_robotics, access_xenobiology, access_RC_announce,
|
||||
access_keycard_auth, access_tcomsat)
|
||||
/*if("Virologist")
|
||||
return list(access_medical, access_morgue, access_virology)*/
|
||||
return list(access_rd, access_heads, access_tox,
|
||||
access_tox_storage, access_teleporter, access_medlab,
|
||||
access_research, access_robotics, access_xenobiology,
|
||||
access_RC_announce, access_keycard_auth, access_tcomsat)
|
||||
// if("Virologist")
|
||||
// return list(access_medical, access_morgue, access_virology)
|
||||
if("Chief Medical Officer")
|
||||
return list(access_medical, access_morgue, access_medlab, access_heads,
|
||||
access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce,
|
||||
@@ -299,17 +298,17 @@
|
||||
if(1) //security
|
||||
return list(access_security, access_brig, access_armory, access_forensics_lockers, access_court, access_hos)
|
||||
if(2) //medbay
|
||||
return list(access_medical, access_medlab, access_morgue, access_chemistry, access_virology, access_cmo, access_surgery)
|
||||
return list(access_medical, access_medlab, access_morgue, access_chemistry, access_virology, access_surgery, access_cmo)
|
||||
if(3) //research
|
||||
return list(access_tox, access_tox_storage, access_rd, access_hydroponics, access_research, access_xenobiology)
|
||||
return list(access_research, access_tox, access_tox_storage, access_xenobiology, access_rd)
|
||||
if(4) //engineering and maintenance
|
||||
return list(access_engine, access_engine_equip, access_maint_tunnels, access_external_airlocks, access_emergency_storage, access_tech_storage, access_atmospherics, access_construction, access_robotics, access_ce)
|
||||
return list(access_engine, access_engine_equip, access_maint_tunnels, access_external_airlocks, access_tech_storage, access_atmospherics, access_construction, access_robotics, access_ce)
|
||||
if(5) //command
|
||||
return list(access_change_ids, access_ai_upload, access_teleporter, access_eva, access_heads, access_captain, access_all_personal_lockers, access_mint_vault, access_heads_vault, access_hop, access_RC_announce, access_keycard_auth, access_tcomsat)
|
||||
return list(access_heads, access_change_ids, access_ai_upload, access_teleporter, access_eva, access_all_personal_lockers, access_heads_vault, access_RC_announce, access_keycard_auth, access_tcomsat, access_hop, access_captain)
|
||||
if(6) //station general
|
||||
return list(access_chapel_office, access_kitchen,access_bar, access_janitor, access_crematorium, access_library, access_theatre, access_lawyer, access_clown, access_mime)
|
||||
return list(access_kitchen,access_bar, access_hydroponics, access_janitor, access_chapel_office, access_crematorium, access_library, access_theatre, access_lawyer, access_clown, access_mime)
|
||||
if(7) //supply
|
||||
return list(access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mailsorting, access_mint)
|
||||
return list(access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_mining, access_mining_station)
|
||||
|
||||
/proc/get_region_accesses_name(var/code)
|
||||
switch(code)
|
||||
@@ -340,29 +339,29 @@
|
||||
if(access_security)
|
||||
return "Security"
|
||||
if(access_brig)
|
||||
return "Brig"
|
||||
return "Brig Cells"
|
||||
if(access_court)
|
||||
return "Courtroom"
|
||||
if(access_forensics_lockers)
|
||||
return "Forensics"
|
||||
return "Detective's Office"
|
||||
if(access_medical)
|
||||
return "Medical"
|
||||
if(access_medlab)
|
||||
return "Med-Sci"
|
||||
return "Genetics Lab"
|
||||
if(access_morgue)
|
||||
return "Morgue"
|
||||
if(access_tox)
|
||||
return "Toxins Research"
|
||||
return "Research Lab"
|
||||
if(access_tox_storage)
|
||||
return "Toxins Storage"
|
||||
if(access_chemistry)
|
||||
return "Toxins Chemical Lab"
|
||||
return "Chemistry Lab"
|
||||
if(access_rd)
|
||||
return "RD Private"
|
||||
if(access_bar)
|
||||
return "Bar"
|
||||
if(access_janitor)
|
||||
return "Janitorial Equipment"
|
||||
return "Custodial Closet"
|
||||
if(access_engine)
|
||||
return "Engineering"
|
||||
if(access_engine_equip)
|
||||
@@ -370,7 +369,7 @@
|
||||
if(access_maint_tunnels)
|
||||
return "Maintenance"
|
||||
if(access_external_airlocks)
|
||||
return "External Airlock"
|
||||
return "External Airlocks"
|
||||
if(access_emergency_storage)
|
||||
return "Emergency Storage"
|
||||
if(access_change_ids)
|
||||
@@ -382,11 +381,11 @@
|
||||
if(access_eva)
|
||||
return "EVA"
|
||||
if(access_heads)
|
||||
return "Head's Quarters/Bridge"
|
||||
return "Bridge"
|
||||
if(access_captain)
|
||||
return "Captain's Quarters"
|
||||
if(access_all_personal_lockers)
|
||||
return "Personal Locker"
|
||||
return "Personal Lockers"
|
||||
if(access_chapel_office)
|
||||
return "Chapel Office"
|
||||
if(access_tech_storage)
|
||||
@@ -398,7 +397,7 @@
|
||||
if(access_armory)
|
||||
return "Armory"
|
||||
if(access_construction)
|
||||
return "Construction Site"
|
||||
return "Construction Areas"
|
||||
if(access_kitchen)
|
||||
return "Kitchen"
|
||||
if(access_hydroponics)
|
||||
@@ -440,9 +439,9 @@
|
||||
if(access_heads_vault)
|
||||
return "Main Vault"
|
||||
if(access_mining_station)
|
||||
return "Mining Station"
|
||||
return "Mining Station EVA"
|
||||
if(access_xenobiology)
|
||||
return "Xenobiology"
|
||||
return "Xenobiology Lab"
|
||||
if(access_hop)
|
||||
return "HoP Private"
|
||||
if(access_hos)
|
||||
@@ -450,11 +449,11 @@
|
||||
if(access_ce)
|
||||
return "CE Private"
|
||||
if(access_RC_announce)
|
||||
return "RC announcements"
|
||||
return "RC Announcements"
|
||||
if(access_keycard_auth)
|
||||
return "Keycode auth. device"
|
||||
return "Keycode Auth. Device"
|
||||
if(access_tcomsat)
|
||||
return "Telecommunications Satellite"
|
||||
return "Telecoms Satellite"
|
||||
|
||||
/proc/get_centcom_access_desc(A)
|
||||
switch(A)
|
||||
@@ -478,10 +477,10 @@
|
||||
return "Code Gold"
|
||||
|
||||
/proc/get_all_jobs()
|
||||
return list("Assistant", "Station Engineer", "Shaft Miner", "Detective", "Medical Doctor", "Captain", "Security Officer", "Warden",
|
||||
"Geneticist", "Scientist", "Head of Security", "Head of Personnel", "Atmospheric Technician",
|
||||
"Chaplain", "Bartender", "Chemist", "Janitor", "Chef", "Roboticist", "Quartermaster",
|
||||
"Chief Engineer", "Research Director", "Botanist", "Librarian", "Lawyer", "Virologist", "Cargo Technician", "Chief Medical Officer")
|
||||
return list("Assistant", "Captain", "Head of Personnel", "Bartender", "Chef", "Botanist", "Quartermaster", "Cargo Technician",
|
||||
"Shaft Miner", "Janitor", "Librarian", "Lawyer", "Chaplain", "Chief Engineer", "Station Engineer",
|
||||
"Atmospheric Technician", "Roboticist", "Chief Medical Officer", "Medical Doctor", "Geneticist",
|
||||
"Research Director", "Scientist", "Chemist", "Head of Security", "Warden", "Detective", "Security Officer")
|
||||
|
||||
/proc/get_all_centcom_jobs()
|
||||
return list("VIP Guest","Custodian","Thunderdome Overseer","Intel Officer","Medical Officer","Death Commando","Research Officer","BlackOps Commander","Supreme Commander")
|
||||
|
||||
@@ -60,6 +60,32 @@
|
||||
|
||||
|
||||
|
||||
//Chemist is a medical job damnit //YEAH FUCK YOU SCIENCE -Pete
|
||||
/datum/job/chemist
|
||||
title = "Chemist"
|
||||
flag = CHEMIST
|
||||
department_flag = MEDSCI
|
||||
faction = "Station"
|
||||
total_positions = 1
|
||||
spawn_positions = 1
|
||||
supervisors = "the chief medical officer"
|
||||
selection_color = "#ffeef0"
|
||||
|
||||
|
||||
equip(var/mob/living/carbon/human/H)
|
||||
if(!H) return 0
|
||||
if(H.backbag == 2) H.equip_if_possible(new /obj/item/weapon/storage/backpack(H), H.slot_back)
|
||||
if(H.backbag == 3) H.equip_if_possible(new /obj/item/weapon/storage/backpack/satchel(H), H.slot_back)
|
||||
if(H.backbag == 4) H.equip_if_possible(new /obj/item/weapon/storage/backpack/satchel_chem(H), H.slot_back)
|
||||
H.equip_if_possible(new /obj/item/device/radio/headset/headset_medsci(H), H.slot_ears)
|
||||
H.equip_if_possible(new /obj/item/clothing/under/rank/chemist(H), H.slot_w_uniform)
|
||||
H.equip_if_possible(new /obj/item/clothing/shoes/white(H), H.slot_shoes)
|
||||
H.equip_if_possible(new /obj/item/device/pda/toxins(H), H.slot_belt)
|
||||
H.equip_if_possible(new /obj/item/clothing/suit/storage/labcoat/chemist(H), H.slot_wear_suit)
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
/datum/job/geneticist
|
||||
title = "Geneticist"
|
||||
flag = GENETICIST
|
||||
@@ -67,7 +93,7 @@
|
||||
faction = "Station"
|
||||
total_positions = 1
|
||||
spawn_positions = 1
|
||||
supervisors = "the chief medical officer and research director"
|
||||
supervisors = "the chief medical officer"
|
||||
selection_color = "#ffeef0"
|
||||
|
||||
|
||||
|
||||
@@ -46,29 +46,4 @@
|
||||
H.equip_if_possible(new /obj/item/clothing/suit/storage/labcoat/science(H), H.slot_wear_suit)
|
||||
H.equip_if_possible(new /obj/item/clothing/mask/gas(H), H.slot_wear_mask)
|
||||
H.equip_if_possible(new /obj/item/weapon/tank/oxygen(H), H.slot_l_hand)
|
||||
return 1
|
||||
|
||||
|
||||
//Chemist is a medical job damnit
|
||||
/datum/job/chemist
|
||||
title = "Chemist"
|
||||
flag = CHEMIST
|
||||
department_flag = MEDSCI
|
||||
faction = "Station"
|
||||
total_positions = 1
|
||||
spawn_positions = 1
|
||||
supervisors = "the chief medical officer and the research director"
|
||||
selection_color = "#ffeeff"
|
||||
|
||||
|
||||
equip(var/mob/living/carbon/human/H)
|
||||
if(!H) return 0
|
||||
if(H.backbag == 2) H.equip_if_possible(new /obj/item/weapon/storage/backpack(H), H.slot_back)
|
||||
if(H.backbag == 3) H.equip_if_possible(new /obj/item/weapon/storage/backpack/satchel(H), H.slot_back)
|
||||
if(H.backbag == 4) H.equip_if_possible(new /obj/item/weapon/storage/backpack/satchel_chem(H), H.slot_back)
|
||||
H.equip_if_possible(new /obj/item/device/radio/headset/headset_medsci(H), H.slot_ears)
|
||||
H.equip_if_possible(new /obj/item/clothing/under/rank/chemist(H), H.slot_w_uniform)
|
||||
H.equip_if_possible(new /obj/item/clothing/shoes/white(H), H.slot_shoes)
|
||||
H.equip_if_possible(new /obj/item/device/pda/toxins(H), H.slot_belt)
|
||||
H.equip_if_possible(new /obj/item/clothing/suit/storage/labcoat/chemist(H), H.slot_wear_suit)
|
||||
return 1
|
||||
return 1
|
||||
@@ -419,6 +419,7 @@ Airlock index -> wire color are { 9, 4, 6, 7, 5, 8, 1, 2, 3 }.
|
||||
if(15) new/obj/structure/door_assembly/door_assembly_eng/glass( src.loc ) //issue 301 -mysthic
|
||||
if(16) new/obj/structure/door_assembly/door_assembly_sec/glass( src.loc )
|
||||
if(17) new/obj/structure/door_assembly/door_assembly_med/glass( src.loc )
|
||||
if(21) new/obj/structure/door_assembly/door_assembly_research( src.loc )
|
||||
var/obj/item/weapon/airlock_electronics/ae
|
||||
if (!electronics)
|
||||
ae = new/obj/item/weapon/airlock_electronics( src.loc )
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
|
||||
if (href_list["style"])
|
||||
style_name = input("Select the door's paint scheme.", "Door Style", style_name) in \
|
||||
list("General", "Command", "Security", "Engineering", "Medical", "Maintenance", "Airlock", "Freezer")
|
||||
list("General", "Command", "Security", "Engineering", "Medical", "Maintenance", "Airlock", "Freezer", "Research")
|
||||
|
||||
switch(style_name)
|
||||
if("General")
|
||||
@@ -105,6 +105,8 @@
|
||||
style = /obj/structure/door_assembly/door_assembly_ext
|
||||
if("Freezer")
|
||||
style = /obj/structure/door_assembly/door_assembly_fre
|
||||
if("Research")
|
||||
style = /obj/structure/door_assembly/door_assembly_research
|
||||
|
||||
attack_self(usr)
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
/obj/structure/gatewayplaceholder
|
||||
density = 1
|
||||
anchored = 1
|
||||
icon = 'gateway.dmi'
|
||||
|
||||
/obj/structure/gatewayplaceholder/one
|
||||
name = "Gateway"
|
||||
desc = "A gateway"
|
||||
icon_state = "off1"
|
||||
|
||||
/obj/structure/gatewayplaceholder/two
|
||||
name = "Gateway"
|
||||
desc = "A gateway"
|
||||
icon_state = "off2"
|
||||
|
||||
/obj/structure/gatewayplaceholder/three
|
||||
name = "Gateway"
|
||||
desc = "A gateway"
|
||||
icon_state = "off3"
|
||||
|
||||
/obj/structure/gatewayplaceholder/four
|
||||
name = "Gateway"
|
||||
desc = "A gateway"
|
||||
icon_state = "off4"
|
||||
|
||||
/obj/structure/gatewayplaceholder/five
|
||||
name = "Gateway"
|
||||
desc = "A gateway"
|
||||
icon_state = "off5"
|
||||
|
||||
/obj/structure/gatewayplaceholder/six
|
||||
name = "Gateway"
|
||||
desc = "A gateway"
|
||||
icon_state = "off6"
|
||||
|
||||
/obj/structure/gatewayplaceholder/seven
|
||||
name = "Gateway"
|
||||
desc = "A gateway"
|
||||
icon_state = "off7"
|
||||
|
||||
/obj/structure/gatewayplaceholder/eight
|
||||
name = "Gateway"
|
||||
desc = "A gateway"
|
||||
icon_state = "off8"
|
||||
|
||||
/obj/structure/gatewayplaceholder/nine
|
||||
name = "Gateway"
|
||||
desc = "A gateway"
|
||||
icon_state = "off9"
|
||||
@@ -410,7 +410,6 @@ THERMAL GLASSES
|
||||
src.item_state = "ushankadown"
|
||||
user << "You lower the ear flaps on the ushanka."
|
||||
|
||||
|
||||
/obj/item/clothing/glasses/thermal/emp_act(severity)
|
||||
if(istype(src.loc, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/M = src.loc
|
||||
@@ -429,18 +428,19 @@ THERMAL GLASSES
|
||||
/obj/item/clothing/head/helmet/space/rig/engspace_helmet/verb/toggle()
|
||||
set category = "Object"
|
||||
set name = "Toggle Helmet Visor"
|
||||
if(src.up)
|
||||
src.up = !src.up
|
||||
src.see_face = !src.see_face
|
||||
src.flags |= HEADCOVERSEYES
|
||||
icon_state = "engspace_helmet"
|
||||
usr << "You toggle the reflective tint on."
|
||||
else
|
||||
src.up = !src.up
|
||||
src.see_face = !src.see_face
|
||||
src.flags &= ~HEADCOVERSEYES
|
||||
icon_state = "engspace_helmet_clear"
|
||||
usr << "You toggle the reflective tint off."
|
||||
if(usr.canmove && usr.stat != 2 && !usr.restrained())
|
||||
if(src.up)
|
||||
src.up = !src.up
|
||||
src.see_face = !src.see_face
|
||||
src.flags |= HEADCOVERSEYES
|
||||
icon_state = "engspace_helmet"
|
||||
usr << "You toggle the reflective tint on."
|
||||
else
|
||||
src.up = !src.up
|
||||
src.see_face = !src.see_face
|
||||
src.flags &= ~HEADCOVERSEYES
|
||||
icon_state = "engspace_helmet_clear"
|
||||
usr << "You toggle the reflective tint off."
|
||||
usr.update_clothing()
|
||||
|
||||
/obj/item/clothing/head/helmet/space/rig/cespace_helmet/attack_self()
|
||||
@@ -449,17 +449,38 @@ THERMAL GLASSES
|
||||
/obj/item/clothing/head/helmet/space/rig/cespace_helmet/verb/toggle()
|
||||
set category = "Object"
|
||||
set name = "Toggle Helmet Visor"
|
||||
if(src.up)
|
||||
src.up = !src.up
|
||||
src.see_face = !src.see_face
|
||||
src.flags |= HEADCOVERSEYES
|
||||
icon_state = "cespace_helmet"
|
||||
usr << "You toggle the reflective tint on."
|
||||
else
|
||||
src.up = !src.up
|
||||
src.see_face = !src.see_face
|
||||
src.flags &= ~HEADCOVERSEYES
|
||||
icon_state = "cespace_helmet_clear"
|
||||
usr << "You toggle the reflective tint off."
|
||||
if(usr.canmove && usr.stat != 2 && !usr.restrained())
|
||||
if(src.up)
|
||||
src.up = !src.up
|
||||
src.see_face = !src.see_face
|
||||
src.flags |= HEADCOVERSEYES
|
||||
icon_state = "cespace_helmet"
|
||||
usr << "You toggle the reflective tint on."
|
||||
else
|
||||
src.up = !src.up
|
||||
src.see_face = !src.see_face
|
||||
src.flags &= ~HEADCOVERSEYES
|
||||
icon_state = "cespace_helmet_clear"
|
||||
usr << "You toggle the reflective tint off."
|
||||
usr.update_clothing()
|
||||
|
||||
/obj/item/clothing/mask/breath/verb/toggle()
|
||||
set name = "Adjust Mask"
|
||||
set category = "Object"
|
||||
if(usr.canmove && usr.stat != 2 && !usr.restrained())
|
||||
if(src.icon_state == "medical")
|
||||
usr << "You can't seem to adjust this mask."
|
||||
return
|
||||
if(src.icon_state == "breath_low")
|
||||
src.icon_state = "breath"
|
||||
src.item_state = "breath"
|
||||
src.flags |= SUITSPACE|HEADSPACE|MASKCOVERSMOUTH
|
||||
protective_temperature = 420
|
||||
usr << "You are now breathing through your mask."
|
||||
else if(src.icon_state == "breath")
|
||||
src.icon_state = "breath_low"
|
||||
src.item_state = "breath_low"
|
||||
src.flags &= ~(SUITSPACE|HEADSPACE|MASKCOVERSMOUTH)
|
||||
protective_temperature = 270
|
||||
usr << "Your mask is now hanging on your neck."
|
||||
usr.update_clothing()
|
||||
@@ -192,6 +192,14 @@
|
||||
item_state = "graycoat"
|
||||
color = "graycoat"
|
||||
|
||||
/obj/item/clothing/suit/storage/det_suit/fluff/leatherjack //atomicdog92: Seth Sealis
|
||||
name = "leather jacket"
|
||||
desc = "A black leather coat, popular amongst punks, greasers, and other galactic scum."
|
||||
icon = 'custom_items.dmi'
|
||||
icon_state = "leatherjack"
|
||||
item_state = "leatherjack"
|
||||
color = "leatherjack"
|
||||
|
||||
//////////// Uniforms ////////////
|
||||
|
||||
/obj/item/clothing/under/fluff/jumpsuitdown //searif: Yuki Matsuda
|
||||
@@ -221,15 +229,15 @@
|
||||
flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH
|
||||
w_class = 2
|
||||
gas_transfer_coefficient = 0.90
|
||||
/*
|
||||
/obj/item/clothing/mask/mara_kilpatrick_1
|
||||
|
||||
/obj/item/clothing/mask/mara_kilpatrick_1 //staghorn: Mara Kilpatrick
|
||||
name = "shamrock pendant"
|
||||
desc = "A silver and emerald shamrock pendant. It has the initials \"M.K.\" engraved on the back."
|
||||
icon = 'custom_items.dmi'
|
||||
icon_state = "mara_kilpatrick_1"
|
||||
flags = FPRINT|TABLEPASS
|
||||
w_class = 1
|
||||
*/
|
||||
|
||||
//////////// Shoes ////////////
|
||||
|
||||
/obj/item/clothing/shoes/fluff/leatherboots //serithi: Serithi Artalis
|
||||
|
||||
@@ -71,7 +71,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
if(key)
|
||||
var/mob/dead/observer/ghost = new(src)
|
||||
ghost.key = key
|
||||
ghost.timeofdeath = timeofdeath
|
||||
if(timeofdeath)
|
||||
ghost.timeofdeath = timeofdeath
|
||||
verbs -= /mob/proc/ghost
|
||||
if (ghost.client)
|
||||
ghost.client.eye = ghost
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
/mob/living/simple_animal/constructbehemoth
|
||||
name = "Behemoth"
|
||||
real_name = "Behemoth"
|
||||
original_name = "Behemoth"
|
||||
desc = "The pinnacle of occult technology, Behemoths are the ultimate weapon in the Cult of Nar-Sie's arsenal."
|
||||
icon = 'mob.dmi'
|
||||
icon_state = "behemoth"
|
||||
icon_living = "behemoth"
|
||||
icon_dead = "shade_dead"
|
||||
maxHealth = 750
|
||||
health = 750
|
||||
speak_emote = list("rumbles")
|
||||
emote_hear = list("wails","screeches")
|
||||
response_help = "thinks better of touching"
|
||||
response_disarm = "flails at"
|
||||
response_harm = "harmlessly punches the"
|
||||
harm_intent_damage = 0
|
||||
melee_damage_lower = 50
|
||||
melee_damage_upper = 50
|
||||
attacktext = "brutally crushes"
|
||||
minbodytemp = 0
|
||||
maxbodytemp = 4000
|
||||
min_oxy = 0
|
||||
max_co2 = 0
|
||||
max_tox = 0
|
||||
speed = 5
|
||||
wall_smash = 1
|
||||
nopush = 1
|
||||
a_intent = "harm"
|
||||
stop_automated_movement = 1
|
||||
canstun = 0
|
||||
canweaken = 0
|
||||
var/energy = 0
|
||||
var/max_energy = 1000
|
||||
|
||||
|
||||
Life()
|
||||
..()
|
||||
if(stat == 2)
|
||||
new /obj/item/weapon/ectoplasm (src.loc)
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if((M.client && !( M.blinded )))
|
||||
M.show_message("\red [src] collapses in a shattered heap ")
|
||||
ghostize(0)
|
||||
del src
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/constructbehemoth/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
if(O.force)
|
||||
if(O.force >= 11)
|
||||
health -= O.force
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if ((M.client && !( M.blinded )))
|
||||
M.show_message("\red \b [src] has been attacked with the [O] by [user]. ")
|
||||
else
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if ((M.client && !( M.blinded )))
|
||||
M.show_message("\red \b The [O] bounces harmlessly off of [src]. ")
|
||||
else
|
||||
usr << "\red This weapon is ineffective, it does no damage."
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if ((M.client && !( M.blinded )))
|
||||
M.show_message("\red [user] gently taps [src] with the [O]. ")
|
||||
|
||||
|
||||
/mob/living/simple_animal/constructbehemoth/Bump(atom/movable/AM as mob|obj, yes)
|
||||
|
||||
spawn( 0 )
|
||||
if ((!( yes ) || now_pushing))
|
||||
return
|
||||
now_pushing = 1
|
||||
if(ismob(AM))
|
||||
var/mob/tmob = AM
|
||||
if(tmob.nopush)
|
||||
now_pushing = 0
|
||||
return
|
||||
|
||||
tmob.LAssailant = src
|
||||
now_pushing = 0
|
||||
..()
|
||||
if (!( istype(AM, /atom/movable) ))
|
||||
return
|
||||
if (!( now_pushing ))
|
||||
now_pushing = 1
|
||||
if (!( AM.anchored ))
|
||||
var/t = get_dir(src, AM)
|
||||
if (istype(AM, /obj/structure/window))
|
||||
if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST)
|
||||
for(var/obj/structure/window/win in get_step(AM,t))
|
||||
now_pushing = 0
|
||||
return
|
||||
step(AM, t)
|
||||
now_pushing = null
|
||||
return
|
||||
return
|
||||
|
||||
|
||||
////////////////Powers//////////////////
|
||||
|
||||
|
||||
/*
|
||||
/client/proc/summon_cultist()
|
||||
set category = "Behemoth"
|
||||
set name = "Summon Cultist (300)"
|
||||
set desc = "Teleport a cultist to your location"
|
||||
if (istype(usr,/mob/living/simple_animal/constructbehemoth))
|
||||
|
||||
if(usr.energy<300)
|
||||
usr << "\red You do not have enough power stored!"
|
||||
return
|
||||
|
||||
if(usr.stat)
|
||||
return
|
||||
|
||||
usr.energy -= 300
|
||||
var/list/mob/living/cultists = new
|
||||
for(var/datum/mind/H in ticker.mode.cult)
|
||||
if (istype(H.current,/mob/living))
|
||||
cultists+=H.current
|
||||
var/mob/cultist = input("Choose the one who you want to summon", "Followers of Geometer") as null|anything in (cultists - usr)
|
||||
if(!cultist)
|
||||
return
|
||||
if (cultist == usr) //just to be sure.
|
||||
return
|
||||
cultist.loc = usr.loc
|
||||
usr.visible_message("/red [cultist] appears in a flash of red light as [usr] glows with power")*/
|
||||
@@ -1,4 +1,5 @@
|
||||
asanadas: Book Berner: /obj/item/clothing/under/chameleon/psyche, /obj/item/clothing/glasses/meson/fluff/book_berner_1
|
||||
atomicdog92: Seth Sealis: /obj/item/clothing/suit/storage/det_suit/fluff/leatherjack
|
||||
chinsky: Victor Kaminski: /obj/item/fluff/victor_kaminsky_1
|
||||
chinsky: Summer Springfield: /obj/item/weapon/camera_test/fluff/orange
|
||||
compactninja: Ysyr Rylias: /obj/item/weapon/reagent_containers/food/drinks/dry_ramen, /obj/item/weapon/reagent_containers/food/drinks/dry_ramen, /obj/item/weapon/reagent_containers/food/drinks/dry_ramen, /obj/item/weapon/reagent_containers/food/drinks/dry_ramen
|
||||
@@ -27,6 +28,7 @@ serithi: Serithi Artalis: /obj/item/clothing/glasses/fluff/serithi_artalis_1, /o
|
||||
silentthunder: Val McNeil: /obj/item/fluff/val_mcneil_1
|
||||
spaceman96: Trenna Seber: /obj/item/weapon/pen/fluff/multi, /obj/item/clothing/suit/storage/labcoat/fluff/pink
|
||||
sparklysheep: Cado Keppel: /obj/item/weapon/fluff/cado_keppel_1
|
||||
staghorn: Mara Kilpatrick: /obj/item/clothing/mask/mara_kilpatrick_1
|
||||
tastyfish: Cindy Robertson: /obj/item/weapon/wrapping_paper
|
||||
thebreadbocks: Steve Johnson: /obj/item/fluff/steve_johnson_1
|
||||
themij: Taryn Kifer: /obj/item/clothing/head/helmet/greenbandana/fluff/taryn_kifer_1
|
||||
|
||||
@@ -53,6 +53,9 @@ should be listed in the changelog upon commit though. Thanks. -->
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">Custom item updates!</li>
|
||||
<li class="bugfix">Respawn should now work properly.</li>
|
||||
<li class="rscadd">Even more customs!</li>
|
||||
<li class="tweak">Chemistry and Genetics is now strictly under the Chief Medical Officer. The Research Director no longer has access to chemistry.</li>
|
||||
<li class="rscadd">You can now adjust breath masks to hang around your neck. Credit to Spamcat!</li>
|
||||
</ul>
|
||||
<h3 class="author">TG updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
|
||||
|
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 122 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 247 KiB After Width: | Height: | Size: 248 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 18 KiB |