diff --git a/code/__defines/gamemode.dm b/code/__defines/gamemode.dm index 5f67308094..a0eede2f42 100644 --- a/code/__defines/gamemode.dm +++ b/code/__defines/gamemode.dm @@ -50,7 +50,7 @@ var/list/be_special_flags = list( "Wizard" = BE_WIZARD, "Malf AI" = BE_MALF, "Revolutionary" = BE_REV, - "Xenomorph" = BE_ALIEN, + "Genaprawn" = BE_ALIEN, //CHOMPedit "Positronic Brain" = BE_AI, "Cultist" = BE_CULTIST, "Renegade" = BE_RENEGADE, diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm index 42ada669a6..f867182c09 100644 --- a/code/__defines/misc.dm +++ b/code/__defines/misc.dm @@ -77,7 +77,7 @@ #define DO_AUTOPILOT 5 // Setting this much higher than 1024 could allow spammers to DOS the server easily. -#define MAX_MESSAGE_LEN 2048 //VOREStation Edit - I'm not sure about "easily". It can be a little longer. +#define MAX_MESSAGE_LEN 4096 //CHOMPStation Edit - This is what it means to go even further byond #define MAX_PAPER_MESSAGE_LEN 6144 #define MAX_BOOK_MESSAGE_LEN 24576 #define MAX_RECORD_LENGTH 24576 @@ -502,3 +502,5 @@ GLOBAL_LIST_INIT(all_volume_channels, list( #define APPEARANCECHANGER_CHANGED_F_HAIRSTYLE "Facial Hair Style" #define APPEARANCECHANGER_CHANGED_F_HAIRCOLOR "Facial Hair Color" #define APPEARANCECHANGER_CHANGED_EYES "Eye Color" + +#define GET_DECL(D) (ispath(D, /decl) ? (decls_repository.fetched_decls[D] || decls_repository.get_decl(D)) : null) diff --git a/code/__defines/mobs.dm b/code/__defines/mobs.dm index 1e2b2e63f3..dccd83f557 100644 --- a/code/__defines/mobs.dm +++ b/code/__defines/mobs.dm @@ -316,13 +316,13 @@ #define SPECIES_VR_SKELETON "Virtual Reality Skeleton" #define SPECIES_VR_VOX "Virtual Reality Vox" -// Ayyy IDs. -#define SPECIES_XENO "Xenomorph" -#define SPECIES_XENO_DRONE "Xenomorph Drone" -#define SPECIES_XENO_HUNTER "Xenomorph Hunter" -#define SPECIES_XENO_SENTINEL "Xenomorph Sentinel" -#define SPECIES_XENO_QUEEN "Xenomorph Queen" - +// Ayyy IDs. CHOMPedit +#define SPECIES_GENA "Genaprawn" +#define SPECIES_GENA_DRONE "Genaprawn Drone" +#define SPECIES_GENA_HUNTER "Genaprawn Hunter" +#define SPECIES_GENA_SENTINEL "Genaprawn Sentinel" +#define SPECIES_GENA_QUEEN "Genaprawn Queen" +//CHOMPedit end // Misc species. Mostly unused but might as well be complete. #define SPECIES_SHADOW "Shadow" #define SPECIES_SKELETON "Skeleton" diff --git a/code/__defines/species_languages.dm b/code/__defines/species_languages.dm index 3239e8fa1a..bdfbebb1bc 100644 --- a/code/__defines/species_languages.dm +++ b/code/__defines/species_languages.dm @@ -49,11 +49,13 @@ #define AG_SLEEPY 0x40 // fatigue/exhaustion // Species spawn flags -#define SPECIES_IS_WHITELISTED 0x1 // Must be whitelisted to play. -#define SPECIES_IS_RESTRICTED 0x2 // Is not a core/normally playable species. (castes, mutantraces) -#define SPECIES_CAN_JOIN 0x4 // Species is selectable in chargen. -#define SPECIES_NO_FBP_CONSTRUCTION 0x8 // FBP of this species can't be made in-game. -#define SPECIES_NO_FBP_CHARGEN 0x10 // FBP of this species can't be selected at chargen. +#define SPECIES_IS_WHITELISTED 0x1 // Must be whitelisted to play. +#define SPECIES_IS_RESTRICTED 0x2 // Is not a core/normally playable species. (castes, mutantraces) +#define SPECIES_CAN_JOIN 0x4 // Species is selectable in chargen. +#define SPECIES_NO_FBP_CONSTRUCTION 0x8 // FBP of this species can't be made in-game. +#define SPECIES_NO_FBP_CHARGEN 0x10 // FBP of this species can't be selected at chargen. +#define SPECIES_NO_POSIBRAIN 0x20 // FBP of this species cannot have a positronic brain. +#define SPECIES_NO_DRONEBRAIN 0x40 // FBP of this species cannot have a drone intelligence. // Species appearance flags #define HAS_SKIN_TONE 0x1 // Skin tone selectable in chargen. (0-255) diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm index 7fb383f760..b5b1d82dea 100644 --- a/code/_helpers/global_lists_vr.dm +++ b/code/_helpers/global_lists_vr.dm @@ -224,7 +224,9 @@ var/global/list/edible_trash = list(/obj/item/broken_device, /obj/item/weapon/storage/fancy/egg_box, /obj/item/weapon/storage/wallet, /obj/item/weapon/storage/vore_egg, - /obj/item/weapon/material/kitchen) //chompstation addition + /obj/item/weapon/material/kitchen, //chompstation addition + /obj/item/weapon/bikehorn/tinytether + ) var/global/list/contamination_flavors = list( "Generic" = contamination_flavors_generic, @@ -464,11 +466,11 @@ var/global/list/remainless_species = list(SPECIES_PROMETHEAN, SPECIES_MONKEY_NEVREAN, SPECIES_MONKEY_SERGAL, SPECIES_MONKEY_VULPKANIN, - SPECIES_XENO, //Same for xenos, - SPECIES_XENO_DRONE, - SPECIES_XENO_HUNTER, - SPECIES_XENO_SENTINEL, - SPECIES_XENO_QUEEN, + SPECIES_GENA, //Same for xenos, CHOMPedit + SPECIES_GENA_DRONE, + SPECIES_GENA_HUNTER, + SPECIES_GENA_SENTINEL, + SPECIES_GENA_QUEEN, //CHOMPedit end SPECIES_SHADOW, SPECIES_GOLEM, //Some special species that may or may not be ever used in event too, SPECIES_SHADEKIN) //Shadefluffers just poof away diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 6e9d32f90f..05abb31211 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -231,7 +231,7 @@ var/list/gamemode_cache = list() // 15, 45, 70 minutes respectively var/static/list/event_delay_upper = list(EVENT_LEVEL_MUNDANE = 9000, EVENT_LEVEL_MODERATE = 27000, EVENT_LEVEL_MAJOR = 42000) - var/static/aliens_allowed = 1 //CHOMPedit to 1. This not only allows the natural spawning of xenos, but also the ability to lay eggs. Xenomorphs cannot lay eggs if this is 0 + var/static/aliens_allowed = 1 //CHOMPedit to 1. This not only allows the natural spawning of xenos, but also the ability to lay eggs. Genaprawns cannot lay eggs if this is 0 var/static/ninjas_allowed = 0 var/static/abandon_allowed = 1 var/static/ooc_allowed = 1 diff --git a/code/controllers/subsystems/plants.dm b/code/controllers/subsystems/plants.dm index e70f62d5fe..cc066cb99d 100644 --- a/code/controllers/subsystems/plants.dm +++ b/code/controllers/subsystems/plants.dm @@ -74,7 +74,7 @@ SUBSYSTEM_DEF(plants) S.update_seed() //Might as well mask the gene types while we're at it. - var/list/gene_datums = decls_repository.decls_of_subtype(/decl/plantgene) + var/list/gene_datums = decls_repository.get_decls_of_subtype(/decl/plantgene) var/list/used_masks = list() var/list/plant_traits = ALL_GENES while(plant_traits && plant_traits.len) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index fc12a5b1ee..a3627ada9b 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -302,7 +302,7 @@ var/global/list/PDA_Manifest = list() manifest_inject(H) return -/datum/datacore/proc/manifest_modify(var/name, var/assignment) +/datum/datacore/proc/manifest_modify(var/name, var/assignment, var/rank) ResetPDAManifest() var/datum/data/record/foundrecord var/real_title = assignment @@ -316,11 +316,17 @@ var/global/list/PDA_Manifest = list() var/list/all_jobs = get_job_datums() for(var/datum/job/J in all_jobs) - var/list/alttitles = get_alternate_titles(J.title) - if(!J) continue - if(assignment in alttitles) - real_title = J.title + if(J.title == rank) //If we have a rank, just default to using that. + real_title = rank break + else if(J.title == assignment) + real_title = assignment + break + else + var/list/alttitles = get_alternate_titles(J.title) + if(assignment in alttitles) + real_title = J.title + break if(foundrecord) foundrecord.fields["rank"] = assignment @@ -333,7 +339,7 @@ var/global/list/PDA_Manifest = list() var/datum/job/J = SSjob.get_job(H.mind.assigned_role) hidden = J?.offmap_spawn - /* Note: Due to cached_character_icon, a number of emergent properties occur due to the initialization + /* Note: Due to cached_character_icon, a number of emergent properties occur due to the initialization * order of readied-up vs latejoiners. Namely, latejoiners will get a uniform in their datacore picture, but readied-up will * not. This is due to the fact that SSticker calls data_core.manifest_inject() inside of ticker/proc/create_characters(), * but does not equip them until ticker/proc/equip_characters(), which is called later. So, this proc is literally called before diff --git a/code/datums/outfits/jobs/cargo.dm b/code/datums/outfits/jobs/cargo.dm index 1b48efcb9d..e7b8701a37 100644 --- a/code/datums/outfits/jobs/cargo.dm +++ b/code/datums/outfits/jobs/cargo.dm @@ -24,7 +24,7 @@ l_ear = /obj/item/device/radio/headset/headset_mine backpack = /obj/item/weapon/storage/backpack/industrial satchel_one = /obj/item/weapon/storage/backpack/satchel/eng - id_type = /obj/item/weapon/card/id/cargo + id_type = /obj/item/weapon/card/id/cargo/miner pda_type = /obj/item/device/pda/shaftminer backpack_contents = list(/obj/item/weapon/tool/crowbar = 1, /obj/item/weapon/storage/bag/ore = 1) flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL diff --git a/code/datums/outfits/jobs/civilian.dm b/code/datums/outfits/jobs/civilian.dm index c8d588a145..cda81f977f 100644 --- a/code/datums/outfits/jobs/civilian.dm +++ b/code/datums/outfits/jobs/civilian.dm @@ -1,6 +1,6 @@ /decl/hierarchy/outfit/job/assistant name = OUTFIT_JOB_NAME(USELESS_JOB) //VOREStation Edit - Visitor not Assistant - id_type = /obj/item/weapon/card/id/assistant + id_type = /obj/item/weapon/card/id/generic //VOREStation Edit /decl/hierarchy/outfit/job/assistant/visitor name = OUTFIT_JOB_NAME("Visitor") @@ -25,7 +25,7 @@ /decl/hierarchy/outfit/job/service/bartender name = OUTFIT_JOB_NAME("Bartender") uniform = /obj/item/clothing/under/rank/bartender - id_type = /obj/item/weapon/card/id/civilian + id_type = /obj/item/weapon/card/id/civilian/service/bartender //VOREStation Edit pda_type = /obj/item/device/pda/bar backpack_contents = list(/obj/item/clothing/accessory/permit/gun/bar = 1) @@ -44,7 +44,7 @@ uniform = /obj/item/clothing/under/rank/chef suit = /obj/item/clothing/suit/chef head = /obj/item/clothing/head/chefhat - id_type = /obj/item/weapon/card/id/civilian + id_type = /obj/item/weapon/card/id/civilian/service/chef //VOREStation Edit pda_type = /obj/item/device/pda/chef /decl/hierarchy/outfit/job/service/chef/cook @@ -68,13 +68,13 @@ backpack = /obj/item/weapon/storage/backpack/hydroponics satchel_one = /obj/item/weapon/storage/backpack/satchel/hyd messenger_bag = /obj/item/weapon/storage/backpack/messenger/hyd - id_type = /obj/item/weapon/card/id/civilian + id_type = /obj/item/weapon/card/id/civilian/service/botanist //VOREStation Edit pda_type = /obj/item/device/pda/botanist /decl/hierarchy/outfit/job/service/janitor name = OUTFIT_JOB_NAME("Janitor") uniform = /obj/item/clothing/under/rank/janitor - id_type = /obj/item/weapon/card/id/civilian + id_type = /obj/item/weapon/card/id/civilian/service/janitor //VOREStation Edit pda_type = /obj/item/device/pda/janitor /decl/hierarchy/outfit/job/librarian @@ -84,6 +84,9 @@ id_type = /obj/item/weapon/card/id/civilian pda_type = /obj/item/device/pda/librarian +/decl/hierarchy/outfit/job/librarian/journalist + id_type = /obj/item/weapon/card/id/civilian/journalist + /decl/hierarchy/outfit/job/internal_affairs_agent name = OUTFIT_JOB_NAME("Internal affairs agent") l_ear = /obj/item/device/radio/headset/ia @@ -92,14 +95,14 @@ shoes = /obj/item/clothing/shoes/brown glasses = /obj/item/clothing/glasses/sunglasses/big l_hand = /obj/item/weapon/clipboard - id_type = /obj/item/weapon/card/id/civilian + id_type = /obj/item/weapon/card/id/civilian/internal_affairs pda_type = /obj/item/device/pda/lawyer /decl/hierarchy/outfit/job/chaplain name = OUTFIT_JOB_NAME("Chaplain") uniform = /obj/item/clothing/under/rank/chaplain l_hand = /obj/item/weapon/storage/bible - id_type = /obj/item/weapon/card/id/civilian + id_type = /obj/item/weapon/card/id/civilian/chaplain pda_type = /obj/item/device/pda/chaplain /decl/hierarchy/outfit/job/explorer @@ -111,7 +114,7 @@ gloves = /obj/item/clothing/gloves/black l_ear = /obj/item/device/radio/headset id_slot = slot_wear_id - id_type = /obj/item/weapon/card/id/civilian + id_type = /obj/item/weapon/card/id/exploration //VOREStation Edit pda_slot = slot_belt pda_type = /obj/item/device/pda/cargo // Brown looks more rugged r_pocket = /obj/item/device/gps/explorer diff --git a/code/datums/outfits/jobs/civilian_vr.dm b/code/datums/outfits/jobs/civilian_vr.dm index 7d39ae8c1b..3acfffdfd1 100644 --- a/code/datums/outfits/jobs/civilian_vr.dm +++ b/code/datums/outfits/jobs/civilian_vr.dm @@ -1,5 +1,5 @@ /decl/hierarchy/outfit/job/assistant/worker - id_type = /obj/item/weapon/card/id/civilian + id_type = /obj/item/weapon/card/id/civilian/service /decl/hierarchy/outfit/job/assistant/cargo id_type = /obj/item/weapon/card/id/cargo @@ -16,3 +16,6 @@ /decl/hierarchy/outfit/job/assistant/officer id_type = /obj/item/weapon/card/id/security + +/decl/hierarchy/outfit/job/assistant/entertainer + id_type = /obj/item/weapon/card/id/civilian/entertainer diff --git a/code/datums/outfits/jobs/command_vr.dm b/code/datums/outfits/jobs/command_vr.dm new file mode 100644 index 0000000000..5e90123ffc --- /dev/null +++ b/code/datums/outfits/jobs/command_vr.dm @@ -0,0 +1,5 @@ +/decl/hierarchy/outfit/job/hop + id_type = /obj/item/weapon/card/id/silver/hop + +/decl/hierarchy/outfit/job/secretary + id_type = /obj/item/weapon/card/id/silver/secretary \ No newline at end of file diff --git a/code/datums/outfits/jobs/engineering.dm b/code/datums/outfits/jobs/engineering.dm index 3da60103c2..a2aba61a96 100644 --- a/code/datums/outfits/jobs/engineering.dm +++ b/code/datums/outfits/jobs/engineering.dm @@ -30,5 +30,5 @@ name = OUTFIT_JOB_NAME("Atmospheric technician") uniform = /obj/item/clothing/under/rank/atmospheric_technician belt = /obj/item/weapon/storage/belt/utility/atmostech - id_type = /obj/item/weapon/card/id/engineering + id_type = /obj/item/weapon/card/id/engineering/atmos pda_type = /obj/item/device/pda/atmos diff --git a/code/datums/outfits/jobs/medical.dm b/code/datums/outfits/jobs/medical.dm index ae996b2f08..6622d3b285 100644 --- a/code/datums/outfits/jobs/medical.dm +++ b/code/datums/outfits/jobs/medical.dm @@ -65,7 +65,7 @@ suit = /obj/item/clothing/suit/storage/toggle/labcoat/chemist backpack = /obj/item/weapon/storage/backpack/chemistry satchel_one = /obj/item/weapon/storage/backpack/satchel/chem - id_type = /obj/item/weapon/card/id/medical + id_type = /obj/item/weapon/card/id/medical/chemist pda_type = /obj/item/device/pda/chemist /decl/hierarchy/outfit/job/medical/geneticist @@ -75,7 +75,7 @@ backpack = /obj/item/weapon/storage/backpack/genetics r_pocket = /obj/item/device/flashlight/pen satchel_one = /obj/item/weapon/storage/backpack/satchel/gen - id_type = /obj/item/weapon/card/id/medical + id_type = /obj/item/weapon/card/id/medical/geneticist pda_type = /obj/item/device/pda/geneticist /decl/hierarchy/outfit/job/medical/psychiatrist @@ -83,7 +83,7 @@ uniform = /obj/item/clothing/under/rank/psych suit = /obj/item/clothing/suit/storage/toggle/labcoat shoes = /obj/item/clothing/shoes/laceup - id_type = /obj/item/weapon/card/id/medical + id_type = /obj/item/weapon/card/id/medical/psych /decl/hierarchy/outfit/job/medical/psychiatrist/psychologist name = OUTFIT_JOB_NAME("Psychologist") @@ -97,7 +97,7 @@ l_hand = /obj/item/weapon/storage/firstaid/regular belt = /obj/item/weapon/storage/belt/medical/emt pda_slot = slot_l_store - id_type = /obj/item/weapon/card/id/medical + id_type = /obj/item/weapon/card/id/medical/emt flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL /decl/hierarchy/outfit/job/medical/paramedic/emt diff --git a/code/datums/outfits/jobs/medical_vr.dm b/code/datums/outfits/jobs/medical_vr.dm new file mode 100644 index 0000000000..e9b2c1a0d0 --- /dev/null +++ b/code/datums/outfits/jobs/medical_vr.dm @@ -0,0 +1,2 @@ +/decl/hierarchy/outfit/job/medical/doctor/virologist + id_type = /obj/item/weapon/card/id/medical/virologist \ No newline at end of file diff --git a/code/datums/outfits/jobs/science_vr.dm b/code/datums/outfits/jobs/science_vr.dm new file mode 100644 index 0000000000..cf0e9e4b3a --- /dev/null +++ b/code/datums/outfits/jobs/science_vr.dm @@ -0,0 +1,8 @@ +/decl/hierarchy/outfit/job/science/xenobiologist + id_type = /obj/item/weapon/card/id/science/xenobiologist + +/decl/hierarchy/outfit/job/science/xenobotanist + name = OUTFIT_JOB_NAME("Xenobotanist") + uniform = /obj/item/clothing/under/rank/scientist + id_type = /obj/item/weapon/card/id/science/xenobotanist + suit = /obj/item/clothing/suit/storage/toggle/labcoat/science \ No newline at end of file diff --git a/code/datums/outfits/jobs/security.dm b/code/datums/outfits/jobs/security.dm index f4928816e6..63be50e21c 100644 --- a/code/datums/outfits/jobs/security.dm +++ b/code/datums/outfits/jobs/security.dm @@ -20,7 +20,7 @@ name = OUTFIT_JOB_NAME("Warden") uniform = /obj/item/clothing/under/rank/warden l_pocket = /obj/item/device/flash - id_type = /obj/item/weapon/card/id/security + id_type = /obj/item/weapon/card/id/security/warden pda_type = /obj/item/device/pda/warden /decl/hierarchy/outfit/job/security/detective @@ -31,7 +31,7 @@ l_pocket = /obj/item/weapon/flame/lighter/zippo shoes = /obj/item/clothing/shoes/laceup r_hand = /obj/item/weapon/storage/briefcase/crimekit - id_type = /obj/item/weapon/card/id/security + id_type = /obj/item/weapon/card/id/security/detective pda_type = /obj/item/device/pda/detective backpack = /obj/item/weapon/storage/backpack satchel_one = /obj/item/weapon/storage/backpack/satchel/norm diff --git a/code/datums/outfits/jobs/special_vr.dm b/code/datums/outfits/jobs/special_vr.dm index dd8316358b..6dea4e4cfa 100644 --- a/code/datums/outfits/jobs/special_vr.dm +++ b/code/datums/outfits/jobs/special_vr.dm @@ -9,6 +9,21 @@ id_type = /obj/item/weapon/card/id/centcom pda_type = /obj/item/device/pda/centcom +/decl/hierarchy/outfit/job/emergency_responder + name = OUTFIT_JOB_NAME("Emergency Responder") + uniform = /obj/item/clothing/under/ert + shoes = /obj/item/clothing/shoes/boots/swat + gloves = /obj/item/clothing/gloves/swat + l_ear = /obj/item/device/radio/headset/ert + glasses = /obj/item/clothing/glasses/sunglasses + back = /obj/item/weapon/storage/backpack/satchel + id_type = /obj/item/weapon/card/id/centcom/ERT + pda_type = /obj/item/device/pda/centcom + + post_equip(var/mob/living/carbon/human/H) + ..() + ert.add_antagonist(H.mind) + /decl/hierarchy/outfit/job/clown name = OUTFIT_JOB_NAME("Clown") uniform = /obj/item/clothing/under/rank/clown @@ -16,6 +31,7 @@ shoes = /obj/item/clothing/shoes/clown_shoes mask = /obj/item/clothing/mask/gas/clown_hat backpack_contents = list(/obj/item/weapon/stamp/clown = 1, /obj/item/weapon/bikehorn = 1) + id_type = /obj/item/weapon/card/id/civilian/clown pda_type = /obj/item/device/pda/clown flags = 0 @@ -26,8 +42,9 @@ head = /obj/item/clothing/head/soft/mime mask = /obj/item/clothing/mask/gas/mime backpack_contents = list(/obj/item/weapon/pen/crayon/mime = 1) + id_type = /obj/item/weapon/card/id/civilian/mime pda_type = /obj/item/device/pda/mime - + post_equip(var/mob/living/carbon/human/H) ..() if(H.backbag == 1) diff --git a/code/datums/outfits/outfit_vr.dm b/code/datums/outfits/outfit_vr.dm index 3a3376c178..c41b5673aa 100644 --- a/code/datums/outfits/outfit_vr.dm +++ b/code/datums/outfits/outfit_vr.dm @@ -116,7 +116,7 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go id_slot = slot_wear_id pda_slot = slot_l_store pda_type = /obj/item/device/pda/explorer - id_type = /obj/item/weapon/card/id/explorer + id_type = /obj/item/weapon/card/id/exploration id_pda_assignment = "Explorer" flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL @@ -132,6 +132,7 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go id_slot = slot_wear_id pda_slot = slot_belt pda_type = /obj/item/device/pda + id_type = /obj/item/weapon/card/id/civilian/pilot id_pda_assignment = "Pilot" flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL @@ -145,6 +146,7 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go belt = /obj/item/weapon/storage/belt/medical/emt pda_slot = slot_l_store pda_type = /obj/item/device/pda/sar + id_type = /obj/item/weapon/card/id/exploration/fm id_pda_assignment = "Field Medic" flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL @@ -156,10 +158,10 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go id_slot = slot_wear_id pda_slot = slot_l_store pda_type = /obj/item/device/pda/pathfinder - id_type = /obj/item/weapon/card/id/explorer/head + id_type = /obj/item/weapon/card/id/exploration/head id_pda_assignment = "Pathfinder" flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL /decl/hierarchy/outfit/job/assistant/explorer - id_type = /obj/item/weapon/card/id/explorer + id_type = /obj/item/weapon/card/id/exploration flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL diff --git a/code/datums/repositories/decls.dm b/code/datums/repositories/decls.dm index 61b24c21e9..5217481ad9 100644 --- a/code/datums/repositories/decls.dm +++ b/code/datums/repositories/decls.dm @@ -1,4 +1,20 @@ -/var/repository/decls/decls_repository = new() +// /decl is a subtype used for singletons that should never have more than one instance +// in existence at a time. If you want to use a /decl you should use a pattern like: +// var/decl/somedecl/mydecl = GET_DECL(/decl/somedecl) + +// /decls are created the first time they are fetched from decls_repository and will +// automatically call Initialize() and such when created in this way. + +// decls_repository.get_decls_of_type() and decls_repository.get_decls_of_subtype() +// can be used similarly to typesof() and subtypesof(), returning assoc instance lists. + +// The /decl commandments: +// I. Thou shalt not create a /decl with new(). +// II. Thou shalt not del() or qdel() a /decl. +// III. Thou shalt not write a decl that relies on arguments supplied to New(). +// IV. Thou shalt not call Initialize() on a /decl. + +var/repository/decls/decls_repository = new() /repository/decls var/list/fetched_decls @@ -11,29 +27,45 @@ fetched_decl_types = list() fetched_decl_subtypes = list() -/repository/decls/proc/decls_of_type(var/decl_prototype) - . = fetched_decl_types[decl_prototype] - if(!.) - . = get_decls(typesof(decl_prototype)) - fetched_decl_types[decl_prototype] = . - -/repository/decls/proc/decls_of_subtype(var/decl_prototype) - . = fetched_decl_subtypes[decl_prototype] - if(!.) - . = get_decls(subtypesof(decl_prototype)) - fetched_decl_subtypes[decl_prototype] = . - /repository/decls/proc/get_decl(var/decl_type) + ASSERT(ispath(decl_type)) . = fetched_decls[decl_type] if(!.) . = new decl_type() fetched_decls[decl_type] = . + var/decl/decl = . + if(istype(decl)) + decl.Initialize() + /repository/decls/proc/get_decls(var/list/decl_types) . = list() for(var/decl_type in decl_types) - .[decl_type] = get_decl(decl_type) + .[decl_type] = get_decl(decl_type) -/decls/Destroy() +/repository/decls/proc/get_decls_unassociated(var/list/decl_types) + . = list() + for(var/decl_type in decl_types) + . += get_decl(decl_type) + +/repository/decls/proc/get_decls_of_type(var/decl_prototype) + . = fetched_decl_types[decl_prototype] + if(!.) + . = get_decls(typesof(decl_prototype)) + fetched_decl_types[decl_prototype] = . + +/repository/decls/proc/get_decls_of_subtype(var/decl_prototype) + . = fetched_decl_subtypes[decl_prototype] + if(!.) + . = get_decls(subtypesof(decl_prototype)) + fetched_decl_subtypes[decl_prototype] = . + +/decl/proc/Initialize() + //SHOULD_CALL_PARENT(TRUE) + //SHOULD_NOT_SLEEP(TRUE) + return + +/decl/Destroy() + //SHOULD_CALL_PARENT(FALSE) crash_with("Prevented attempt to delete a decl instance: [log_info_line(src)]") - return QDEL_HINT_LETMELIVE // Prevents Decl destruction + return QDEL_HINT_LETMELIVE // Prevents decl destruction diff --git a/code/datums/roundstats/_defines_local.dm b/code/datums/roundstats/_defines_local.dm new file mode 100644 index 0000000000..951d7118ff --- /dev/null +++ b/code/datums/roundstats/_defines_local.dm @@ -0,0 +1,7 @@ + +#define GOAL_GENERAL "Common Goal" +#define GOAL_MEDICAL "Medical Goal" +#define GOAL_SECURITY "Security Goal" +#define GOAL_ENGINEERING "Engineering Goal" +#define GOAL_CARGO "Cargo Goal" +#define GOAL_RESEARCH "Research Goal" diff --git a/code/_global_vars/roundstats.dm b/code/datums/roundstats/roundstats.dm similarity index 70% rename from code/_global_vars/roundstats.dm rename to code/datums/roundstats/roundstats.dm index cdaf28f609..c5ceb686a7 100644 --- a/code/_global_vars/roundstats.dm +++ b/code/datums/roundstats/roundstats.dm @@ -1,55 +1,57 @@ - -//This is for the round end stats system. - -//roundstat is used for easy finding of the variables, if you ever want to delete all of this, -//just search roundstat and you'll find everywhere this thing reaches into. -//It used to be bazinga but it only fly with microwaves. - -GLOBAL_VAR_INIT(cans_opened_roundstat, 0) -GLOBAL_VAR_INIT(lights_switched_on_roundstat, 0) -GLOBAL_VAR_INIT(turbo_lift_floors_moved_roundstat, 0) -GLOBAL_VAR_INIT(lost_limbs_shift_roundstat, 0) -GLOBAL_VAR_INIT(seed_planted_shift_roundstat, 0) -GLOBAL_VAR_INIT(step_taken_shift_roundstat, 0) -GLOBAL_VAR_INIT(destroyed_research_items_roundstat, 0) -GLOBAL_VAR_INIT(items_sold_shift_roundstat, 0) -GLOBAL_VAR_INIT(disposals_flush_shift_roundstat, 0) -GLOBAL_VAR_INIT(rocks_drilled_roundstat, 0) -GLOBAL_VAR_INIT(mech_destroyed_roundstat, 0) - -/hook/roundend/proc/RoundEnd()//bazinga - - var/stats_printed_roundstat = 0 //Placeholder used as a counter. - var/list/valid_stats_list = list() //This is to be populated with the good shit - - if(GLOB.cans_opened_roundstat > 0) - valid_stats_list.Add("[GLOB.cans_opened_roundstat] cans were drank today!") - if(GLOB.lights_switched_on_roundstat > 0) - valid_stats_list.Add("[GLOB.lights_switched_on_roundstat] light switches were flipped today!") - if(GLOB.turbo_lift_floors_moved_roundstat > 20) - valid_stats_list.Add("The elevator moved up [GLOB.turbo_lift_floors_moved_roundstat] floors today!") - if(GLOB.lost_limbs_shift_roundstat > 1) - valid_stats_list.Add("[GLOB.lost_limbs_shift_roundstat] limbs left their owners bodies this shift, oh no!") - if(GLOB.seed_planted_shift_roundstat > 20) - valid_stats_list.Add("[GLOB.seed_planted_shift_roundstat] were planted according to our sensors this shift.") - if(GLOB.step_taken_shift_roundstat > 900) - valid_stats_list.Add("The employees walked a total of [GLOB.step_taken_shift_roundstat] steps for this shift! It should put them on the road to fitness!") - if(GLOB.destroyed_research_items_roundstat > 13) - valid_stats_list.Add("[GLOB.destroyed_research_items_roundstat] objects were destroyed in the name of Science! Keep it up!") - if(GLOB.items_sold_shift_roundstat > 15) - valid_stats_list.Add("The vending machines sold [GLOB.items_sold_shift_roundstat] items today.") - if(GLOB.disposals_flush_shift_roundstat > 40) - valid_stats_list.Add("The disposal system flushed a whole [GLOB.disposals_flush_shift_roundstat] times for this shift. We should really invest in waste treatement.") - if(GLOB.rocks_drilled_roundstat > 80) - valid_stats_list.Add("Our strong miners pulverized a whole [GLOB.rocks_drilled_roundstat] rock into piles of pathetic rubble.") - if(GLOB.mech_destroyed_roundstat > 1) - valid_stats_list.Add("How did you guys manage to break a mech? Those are expensive!") - - - to_world("Shift trivia!") - - while(stats_printed_roundstat < 6) - var/body = pick(valid_stats_list) - stats_printed_roundstat++ - to_world("[body]")//line that deletes the thing you just posted. - valid_stats_list -= body + +/* + * lbnesquik - Github + * Provided massive components of this. Polaris PR #5720. + */ + +//This is for the round end stats system. + +//roundstat is used for easy finding of the variables, if you ever want to delete all of this, +//just search roundstat and you'll find everywhere this thing reaches into. +//It used to be bazinga but it only fly with microwaves. + +GLOBAL_VAR_INIT(cans_opened_roundstat, 0) +GLOBAL_VAR_INIT(lights_switched_on_roundstat, 0) +GLOBAL_VAR_INIT(turbo_lift_floors_moved_roundstat, 0) +GLOBAL_VAR_INIT(lost_limbs_shift_roundstat, 0) +GLOBAL_VAR_INIT(seed_planted_shift_roundstat, 0) +GLOBAL_VAR_INIT(step_taken_shift_roundstat, 0) +GLOBAL_VAR_INIT(destroyed_research_items_roundstat, 0) +GLOBAL_VAR_INIT(items_sold_shift_roundstat, 0) +GLOBAL_VAR_INIT(disposals_flush_shift_roundstat, 0) +GLOBAL_VAR_INIT(rocks_drilled_roundstat, 0) +GLOBAL_VAR_INIT(mech_destroyed_roundstat, 0) + +/hook/roundend/proc/RoundTrivia()//bazinga + var/list/valid_stats_list = list() //This is to be populated with the good shit + + if(GLOB.lost_limbs_shift_roundstat > 1) + valid_stats_list.Add("[GLOB.lost_limbs_shift_roundstat] limbs left their owners bodies this shift, oh no!") + else if(GLOB.destroyed_research_items_roundstat > 13) + valid_stats_list.Add("[GLOB.destroyed_research_items_roundstat] objects were destroyed in the name of Science! Keep it up!") + else if(GLOB.mech_destroyed_roundstat > 1) + valid_stats_list.Add("[GLOB.mech_destroyed_roundstat] mechs were destroyed this shift. What did you do?") + else if(GLOB.seed_planted_shift_roundstat > 20) + valid_stats_list.Add("[GLOB.seed_planted_shift_roundstat] were planted according to our sensors this shift.") + + if(GLOB.rocks_drilled_roundstat > 80) + valid_stats_list.Add("Our strong miners pulverized a whole [GLOB.rocks_drilled_roundstat] piles of pathetic rubble.") + else if(GLOB.items_sold_shift_roundstat > 15) + valid_stats_list.Add("The vending machines sold [GLOB.items_sold_shift_roundstat] items today.") + else if(GLOB.step_taken_shift_roundstat > 900) + valid_stats_list.Add("The employees walked a total of [GLOB.step_taken_shift_roundstat] steps for this shift! It should put them on the road to fitness!") + + if(GLOB.cans_opened_roundstat > 0) + valid_stats_list.Add("[GLOB.cans_opened_roundstat] cans were drank today!") + else if(GLOB.lights_switched_on_roundstat > 0) + valid_stats_list.Add("[GLOB.lights_switched_on_roundstat] light switches were flipped today!") + else if(GLOB.turbo_lift_floors_moved_roundstat > 20) + valid_stats_list.Add("The elevator moved up [GLOB.turbo_lift_floors_moved_roundstat] floors today!") + else if(GLOB.disposals_flush_shift_roundstat > 40) + valid_stats_list.Add("The disposal system flushed a whole [GLOB.disposals_flush_shift_roundstat] times for this shift. We should really invest in waste treatement.") + + if(LAZYLEN(valid_stats_list)) + to_world("Shift trivia!") + + for(var/body in valid_stats_list) + to_world("[body]") diff --git a/code/datums/supplypacks/costumes_vr.dm b/code/datums/supplypacks/costumes_vr.dm index e31fb2415a..5d65a98ca9 100644 --- a/code/datums/supplypacks/costumes_vr.dm +++ b/code/datums/supplypacks/costumes_vr.dm @@ -23,16 +23,16 @@ name = "Teshari smocks" num_contained = 4 contains = list( - /obj/item/clothing/under/seromi/smock, - /obj/item/clothing/under/seromi/smock/white, - /obj/item/clothing/under/seromi/smock/red, - /obj/item/clothing/under/seromi/smock/yellow, - /obj/item/clothing/under/seromi/smock/rainbow, - /obj/item/clothing/under/seromi/smock/dress, - /obj/item/clothing/under/seromi/smock/blackutilitysmock, - /obj/item/clothing/under/seromi/smock/greydress, - /obj/item/clothing/under/seromi/smock/blackutility, - /obj/item/clothing/under/seromi/smock/bluegreydress + /obj/item/clothing/under/teshari/smock, + /obj/item/clothing/under/teshari/smock/white, + /obj/item/clothing/under/teshari/smock/red, + /obj/item/clothing/under/teshari/smock/yellow, + /obj/item/clothing/under/teshari/smock/rainbow, + /obj/item/clothing/under/teshari/smock/dress, + /obj/item/clothing/under/teshari/smock/blackutilitysmock, + /obj/item/clothing/under/teshari/smock/greydress, + /obj/item/clothing/under/teshari/smock/blackutility, + /obj/item/clothing/under/teshari/smock/bluegreydress ) cost = 20 containertype = /obj/structure/closet/crate @@ -42,18 +42,18 @@ name = "Teshari undercoats" num_contained = 4 contains = list( - /obj/item/clothing/under/seromi/undercoat/standard/orange_grey, - /obj/item/clothing/under/seromi/undercoat/standard/rainbow, - /obj/item/clothing/under/seromi/undercoat/standard/lightgrey_grey, - /obj/item/clothing/under/seromi/undercoat/standard/white_grey, - /obj/item/clothing/under/seromi/undercoat/standard/red_grey, - /obj/item/clothing/under/seromi/undercoat/standard/orange, - /obj/item/clothing/under/seromi/undercoat/standard/yellow_grey, - /obj/item/clothing/under/seromi/undercoat/standard/green_grey, - /obj/item/clothing/under/seromi/undercoat/standard/blue_grey, - /obj/item/clothing/under/seromi/undercoat/standard/purple_grey, - /obj/item/clothing/under/seromi/undercoat/standard/pink_grey, - /obj/item/clothing/under/seromi/undercoat/standard/brown_grey + /obj/item/clothing/under/teshari/undercoat/standard/orange_grey, + /obj/item/clothing/under/teshari/undercoat/standard/rainbow, + /obj/item/clothing/under/teshari/undercoat/standard/lightgrey_grey, + /obj/item/clothing/under/teshari/undercoat/standard/white_grey, + /obj/item/clothing/under/teshari/undercoat/standard/red_grey, + /obj/item/clothing/under/teshari/undercoat/standard/orange, + /obj/item/clothing/under/teshari/undercoat/standard/yellow_grey, + /obj/item/clothing/under/teshari/undercoat/standard/green_grey, + /obj/item/clothing/under/teshari/undercoat/standard/blue_grey, + /obj/item/clothing/under/teshari/undercoat/standard/purple_grey, + /obj/item/clothing/under/teshari/undercoat/standard/pink_grey, + /obj/item/clothing/under/teshari/undercoat/standard/brown_grey ) cost = 20 containertype = /obj/structure/closet/crate @@ -63,18 +63,18 @@ name = "Teshari undercoats (black)" num_contained = 4 contains = list( - /obj/item/clothing/under/seromi/undercoat, - /obj/item/clothing/under/seromi/undercoat/standard/black_orange, - /obj/item/clothing/under/seromi/undercoat/standard/black_grey, - /obj/item/clothing/under/seromi/undercoat/standard/black_white, - /obj/item/clothing/under/seromi/undercoat/standard/black_red, - /obj/item/clothing/under/seromi/undercoat/standard/black, - /obj/item/clothing/under/seromi/undercoat/standard/black_yellow, - /obj/item/clothing/under/seromi/undercoat/standard/black_green, - /obj/item/clothing/under/seromi/undercoat/standard/black_blue, - /obj/item/clothing/under/seromi/undercoat/standard/black_purple, - /obj/item/clothing/under/seromi/undercoat/standard/black_pink, - /obj/item/clothing/under/seromi/undercoat/standard/black_brown + /obj/item/clothing/under/teshari/undercoat, + /obj/item/clothing/under/teshari/undercoat/standard/black_orange, + /obj/item/clothing/under/teshari/undercoat/standard/black_grey, + /obj/item/clothing/under/teshari/undercoat/standard/black_white, + /obj/item/clothing/under/teshari/undercoat/standard/black_red, + /obj/item/clothing/under/teshari/undercoat/standard/black, + /obj/item/clothing/under/teshari/undercoat/standard/black_yellow, + /obj/item/clothing/under/teshari/undercoat/standard/black_green, + /obj/item/clothing/under/teshari/undercoat/standard/black_blue, + /obj/item/clothing/under/teshari/undercoat/standard/black_purple, + /obj/item/clothing/under/teshari/undercoat/standard/black_pink, + /obj/item/clothing/under/teshari/undercoat/standard/black_brown ) cost = 20 containertype = /obj/structure/closet/crate @@ -84,18 +84,18 @@ name = "Teshari cloaks" num_contained = 4 contains = list( - /obj/item/clothing/suit/storage/seromi/cloak/standard/white, - /obj/item/clothing/suit/storage/seromi/cloak/standard/white_grey, - /obj/item/clothing/suit/storage/seromi/cloak/standard/red_grey, - /obj/item/clothing/suit/storage/seromi/cloak/standard/orange_grey, - /obj/item/clothing/suit/storage/seromi/cloak/standard/yellow_grey, - /obj/item/clothing/suit/storage/seromi/cloak/standard/green_grey, - /obj/item/clothing/suit/storage/seromi/cloak/standard/blue_grey, - /obj/item/clothing/suit/storage/seromi/cloak/standard/purple_grey, - /obj/item/clothing/suit/storage/seromi/cloak/standard/pink_grey, - /obj/item/clothing/suit/storage/seromi/cloak/standard/brown_grey, - /obj/item/clothing/suit/storage/seromi/cloak/standard/rainbow, - /obj/item/clothing/suit/storage/seromi/cloak/standard/orange + /obj/item/clothing/suit/storage/teshari/cloak/standard/white, + /obj/item/clothing/suit/storage/teshari/cloak/standard/white_grey, + /obj/item/clothing/suit/storage/teshari/cloak/standard/red_grey, + /obj/item/clothing/suit/storage/teshari/cloak/standard/orange_grey, + /obj/item/clothing/suit/storage/teshari/cloak/standard/yellow_grey, + /obj/item/clothing/suit/storage/teshari/cloak/standard/green_grey, + /obj/item/clothing/suit/storage/teshari/cloak/standard/blue_grey, + /obj/item/clothing/suit/storage/teshari/cloak/standard/purple_grey, + /obj/item/clothing/suit/storage/teshari/cloak/standard/pink_grey, + /obj/item/clothing/suit/storage/teshari/cloak/standard/brown_grey, + /obj/item/clothing/suit/storage/teshari/cloak/standard/rainbow, + /obj/item/clothing/suit/storage/teshari/cloak/standard/orange ) cost = 40 containertype = /obj/structure/closet/crate @@ -105,19 +105,19 @@ name = "Teshari cloaks (black)" num_contained = 4 contains = list( - /obj/item/clothing/suit/storage/seromi/cloak, - /obj/item/clothing/suit/storage/seromi/cloak/standard/black_red, - /obj/item/clothing/suit/storage/seromi/cloak/standard/black_orange, - /obj/item/clothing/suit/storage/seromi/cloak/standard/black_yellow, - /obj/item/clothing/suit/storage/seromi/cloak/standard/black_green, - /obj/item/clothing/suit/storage/seromi/cloak/standard/black_blue, - /obj/item/clothing/suit/storage/seromi/cloak/standard/black_purple, - /obj/item/clothing/suit/storage/seromi/cloak/standard/black_pink, - /obj/item/clothing/suit/storage/seromi/cloak/standard/black_brown, - /obj/item/clothing/suit/storage/seromi/cloak/standard/black_grey, - /obj/item/clothing/suit/storage/seromi/cloak/standard/black_white, - /obj/item/clothing/suit/storage/seromi/cloak/standard/black_glow, - /obj/item/clothing/suit/storage/seromi/cloak/standard/dark_retrowave + /obj/item/clothing/suit/storage/teshari/cloak, + /obj/item/clothing/suit/storage/teshari/cloak/standard/black_red, + /obj/item/clothing/suit/storage/teshari/cloak/standard/black_orange, + /obj/item/clothing/suit/storage/teshari/cloak/standard/black_yellow, + /obj/item/clothing/suit/storage/teshari/cloak/standard/black_green, + /obj/item/clothing/suit/storage/teshari/cloak/standard/black_blue, + /obj/item/clothing/suit/storage/teshari/cloak/standard/black_purple, + /obj/item/clothing/suit/storage/teshari/cloak/standard/black_pink, + /obj/item/clothing/suit/storage/teshari/cloak/standard/black_brown, + /obj/item/clothing/suit/storage/teshari/cloak/standard/black_grey, + /obj/item/clothing/suit/storage/teshari/cloak/standard/black_white, + /obj/item/clothing/suit/storage/teshari/cloak/standard/black_glow, + /obj/item/clothing/suit/storage/teshari/cloak/standard/dark_retrowave ) cost = 40 containertype = /obj/structure/closet/crate @@ -127,16 +127,16 @@ name = "Teshari worksuits" num_contained = 4 contains = list( - /obj/item/clothing/under/seromi/undercoat/standard/worksuit, - /obj/item/clothing/under/seromi/undercoat/standard/worksuit/blackpurple, - /obj/item/clothing/under/seromi/undercoat/standard/worksuit/blackorange, - /obj/item/clothing/under/seromi/undercoat/standard/worksuit/blackblue, - /obj/item/clothing/under/seromi/undercoat/standard/worksuit/blackgreen, - /obj/item/clothing/under/seromi/undercoat/standard/worksuit/whitered, - /obj/item/clothing/under/seromi/undercoat/standard/worksuit/whitepurple, - /obj/item/clothing/under/seromi/undercoat/standard/worksuit/whiteorange, - /obj/item/clothing/under/seromi/undercoat/standard/worksuit/whiteblue, - /obj/item/clothing/under/seromi/undercoat/standard/worksuit/whitegreen + /obj/item/clothing/under/teshari/undercoat/standard/worksuit, + /obj/item/clothing/under/teshari/undercoat/standard/worksuit/blackpurple, + /obj/item/clothing/under/teshari/undercoat/standard/worksuit/blackorange, + /obj/item/clothing/under/teshari/undercoat/standard/worksuit/blackblue, + /obj/item/clothing/under/teshari/undercoat/standard/worksuit/blackgreen, + /obj/item/clothing/under/teshari/undercoat/standard/worksuit/whitered, + /obj/item/clothing/under/teshari/undercoat/standard/worksuit/whitepurple, + /obj/item/clothing/under/teshari/undercoat/standard/worksuit/whiteorange, + /obj/item/clothing/under/teshari/undercoat/standard/worksuit/whiteblue, + /obj/item/clothing/under/teshari/undercoat/standard/worksuit/whitegreen ) cost = 20 containertype = /obj/structure/closet/crate @@ -146,18 +146,18 @@ name = "Teshari cloaks (belted)" num_contained = 4 contains = list( - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/orange_grey, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/rainbow, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/lightgrey_grey, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/white_grey, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/red_grey, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/orange, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/yellow_grey, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/green_grey, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/blue_grey, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/purple_grey, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/pink_grey, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/brown_grey + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/orange_grey, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/rainbow, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/lightgrey_grey, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/white_grey, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/red_grey, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/orange, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/yellow_grey, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/green_grey, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/blue_grey, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/purple_grey, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/pink_grey, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/brown_grey ) cost = 40 containertype = /obj/structure/closet/crate @@ -167,20 +167,20 @@ name = "Teshari cloaks (belted, black)" num_contained = 4 contains = list( - /obj/item/clothing/suit/storage/seromi/beltcloak, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_orange, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_grey, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_midgrey, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_lightgrey, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_white, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_red, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/black, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_yellow, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_green, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_blue, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_purple, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_pink, - /obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_brown + /obj/item/clothing/suit/storage/teshari/beltcloak, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_orange, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_grey, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_midgrey, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_lightgrey, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_white, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_red, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/black, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_yellow, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_green, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_blue, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_purple, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_pink, + /obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_brown ) cost = 40 containertype = /obj/structure/closet/crate diff --git a/code/datums/supplypacks/recreation_vr.dm b/code/datums/supplypacks/recreation_vr.dm index db81cd2061..8eb64c7c29 100644 --- a/code/datums/supplypacks/recreation_vr.dm +++ b/code/datums/supplypacks/recreation_vr.dm @@ -86,3 +86,23 @@ containertype = /obj/structure/closet/crate containername = "Shiny clothes crate" cost = 30 + +//3/19/21 +/datum/supply_pack/recreation/smoleworld + name = "Smole Bulding Bricks" + contains = list( + /obj/item/weapon/storage/smolebrickcase, /obj/item/weapon/storage/smolebrickcase, + ) + cost = 50 + containertype = /obj/structure/closet/crate + containername = "Smole Bulding Brick crate" + +/datum/supply_pack/recreation/smolesnackplanets + name = "Snack planets pack" + num_contained = 4 + contains = list( + /obj/item/weapon/storage/bagoplanets, /obj/item/weapon/storage/bagoplanets + ) + cost = 25 + containertype = /obj/structure/closet/crate + containername = "Snack planets crate" diff --git a/code/datums/uplink/ammunition_vr.dm b/code/datums/uplink/ammunition_vr.dm index 3235bb7311..18235e5343 100644 --- a/code/datums/uplink/ammunition_vr.dm +++ b/code/datums/uplink/ammunition_vr.dm @@ -18,3 +18,5 @@ name = "Void cell" path = /obj/item/weapon/cell/device/weapon/recharge/alien/hybrid item_cost = DEFAULT_TELECRYSTAL_AMOUNT * 1.5 + antag_roles = list("ert") + blacklisted = 1 diff --git a/code/datums/uplink/backup.dm b/code/datums/uplink/backup.dm index 40f2a468f6..3e21676da3 100644 --- a/code/datums/uplink/backup.dm +++ b/code/datums/uplink/backup.dm @@ -11,7 +11,7 @@ This type comes with a directional shield projector, a supressive fire energy weapon, \ a stunbaton, handcuffs, an agent ID, energy sword, pinpointer, and a jetpack." item_cost = DEFAULT_TELECRYSTAL_AMOUNT * 1.5 - antag_roles = list("mercenary") + antag_roles = list("mercenary", "ert") //VOREStation Edit path = /obj/item/weapon/antag_spawner/syndicate_drone/protector /datum/uplink_item/item/backup/syndicate_drone_combat_medic @@ -21,7 +21,7 @@ a powerful hypospray that can create many potent chemicals, an agent ID, energy \ sword, pinpointer, and a jetpack." item_cost = DEFAULT_TELECRYSTAL_AMOUNT * 1.5 - antag_roles = list("mercenary") + antag_roles = list("mercenary", "ert") //VOREStation Edit path = /obj/item/weapon/antag_spawner/syndicate_drone/combat_medic /datum/uplink_item/item/backup/syndicate_drone_mechanist @@ -31,5 +31,5 @@ a cryptographic sequencer, an AI detector, the ability to analyze and repair full-body prosthetics, \ a set of construction materials, an ionic rapier, an agent ID, energy sword, pinpointer, and a jetpack." item_cost = DEFAULT_TELECRYSTAL_AMOUNT * 1.5 - antag_roles = list("mercenary") + antag_roles = list("mercenary", "ert") //VOREStation Edit path = /obj/item/weapon/antag_spawner/syndicate_drone/mechanist \ No newline at end of file diff --git a/code/datums/uplink/medical_vr.dm b/code/datums/uplink/medical_vr.dm index 8f0264d3e9..5b4a0f31cc 100644 --- a/code/datums/uplink/medical_vr.dm +++ b/code/datums/uplink/medical_vr.dm @@ -100,3 +100,66 @@ name = "Healing Nanite pill bottle" item_cost = 30 path = /obj/item/weapon/storage/pill_bottle/healing_nanites + +/datum/uplink_item/item/medical/vermicetol + name = "Vermicetol Bottle" + item_cost = 30 + path = /obj/item/weapon/reagent_containers/glass/bottle/vermicetol + antag_roles = list("ert") + blacklisted = 1 + +/datum/uplink_item/item/medical/dermaline + name = "Dermaline Bottle" + item_cost = 30 + path = /obj/item/weapon/reagent_containers/glass/bottle/dermaline + antag_roles = list("ert") + blacklisted = 1 + +/datum/uplink_item/item/medical/carthatoline + name = "Carthatoline Bottle" + item_cost = 30 + path = /obj/item/weapon/reagent_containers/glass/bottle/carthatoline + antag_roles = list("ert") + blacklisted = 1 + +/datum/uplink_item/item/medical/dexalinp + name = "Dexalin Plus Bottle" + item_cost = 30 + path = /obj/item/weapon/reagent_containers/glass/bottle/dexalinp + antag_roles = list("ert") + blacklisted = 1 + +/datum/uplink_item/item/medical/tramadol + name = "Tramadol Bottle" + item_cost = 30 + path = /obj/item/weapon/reagent_containers/glass/bottle/tramadol + antag_roles = list("ert") + blacklisted = 1 + +/datum/uplink_item/item/medical/arithrazine + name = "Arithrazine Bottle" + item_cost = 50 + path = /obj/item/weapon/reagent_containers/glass/bottle/arithrazine + antag_roles = list("ert") + blacklisted = 1 + +/datum/uplink_item/item/medical/corophizine + name = "Corophizine Bottle" + item_cost = 50 + path = /obj/item/weapon/reagent_containers/glass/bottle/corophizine + antag_roles = list("ert") + blacklisted = 1 + +/datum/uplink_item/item/medical/rezadone + name = "Rezadone Bottle" + item_cost = 50 + path = /obj/item/weapon/reagent_containers/glass/bottle/rezadone + antag_roles = list("ert") + blacklisted = 1 + +/datum/uplink_item/item/medical/defib + name = "Combat Defibrilator" + item_cost = 90 + path = /obj/item/device/defib_kit/compact/combat + antag_roles = list("mercenary", "ert") + blacklisted = 1 diff --git a/code/datums/uplink/tools_vr.dm b/code/datums/uplink/tools_vr.dm index 9d0a8e0232..ad68f76922 100644 --- a/code/datums/uplink/tools_vr.dm +++ b/code/datums/uplink/tools_vr.dm @@ -26,6 +26,11 @@ item_cost = 5 path = /obj/item/device/survivalcapsule +/datum/uplink_item/item/tools/popcabin + name = "Cabin Capsule" + item_cost = 5 + path = /obj/item/device/survivalcapsule/popcabin + /datum/uplink_item/item/tools/nanopaste name = "Nanopaste (Advanced)" item_cost = 10 @@ -46,6 +51,16 @@ item_cost = 15 path = /obj/item/modular_computer/tablet/preset/custom_loadout/advanced +/datum/uplink_item/item/tools/metal + name = "Metal (50 sheets)" + item_cost = 15 + path = /obj/fiftyspawner/steel + +/datum/uplink_item/item/tools/glass + name = "Glass (50 sheets)" + item_cost = 15 + path = /obj/fiftyspawner/glass + /datum/uplink_item/item/tools/elitelaptop name = "Laptop (Advanced)" item_cost = 20 diff --git a/code/datums/uplink/visible_weapons.dm b/code/datums/uplink/visible_weapons.dm index d3ed1dcec3..b939e953de 100644 --- a/code/datums/uplink/visible_weapons.dm +++ b/code/datums/uplink/visible_weapons.dm @@ -103,7 +103,7 @@ name = "Anti-Materiel Rifle (14.5mm)" item_cost = DEFAULT_TELECRYSTAL_AMOUNT path = /obj/item/weapon/gun/projectile/heavysniper - antag_roles = list("mercenary") + antag_roles = list("mercenary", "ert") //VOREStation Edit /datum/uplink_item/item/visible_weapons/heavysnipertraitor name = "Anti-Materiel Rifle (14.5mm)" diff --git a/code/game/antagonist/alien/xenomorph.dm b/code/game/antagonist/alien/xenomorph.dm index e69db8aee7..fa64c879d4 100644 --- a/code/game/antagonist/alien/xenomorph.dm +++ b/code/game/antagonist/alien/xenomorph.dm @@ -3,8 +3,8 @@ var/datum/antagonist/xenos/xenomorphs /datum/antagonist/xenos id = MODE_XENOMORPH role_type = BE_ALIEN - role_text = "Xenomorph" - role_text_plural = "Xenomorphs" + role_text = "Genaprawn" //CHOMPedit + role_text_plural = "Genaprawns" //CHOMPedit mob_path = /mob/living/carbon/alien/larva bantype = "Xenomorph" flags = ANTAG_OVERRIDE_MOB | ANTAG_RANDSPAWN | ANTAG_OVERRIDE_JOB | ANTAG_VOTABLE diff --git a/code/game/area/Space Station 13 areas_vr.dm b/code/game/area/Space Station 13 areas_vr.dm index d9a132cd4f..cdc5ffe96c 100644 --- a/code/game/area/Space Station 13 areas_vr.dm +++ b/code/game/area/Space Station 13 areas_vr.dm @@ -177,3 +177,9 @@ /area/engineering/engine_gas name = "\improper Engine Gas Storage" icon_state = "engine_waste" + +//holodeck 3/29/21 +/area/holodeck/source_smoleworld + name = "\improper Holodeck - Smolworld" + + diff --git a/code/game/gamemodes/technomancer/core_obj.dm b/code/game/gamemodes/technomancer/core_obj.dm index a943330ff6..7d00e82ecc 100644 --- a/code/game/gamemodes/technomancer/core_obj.dm +++ b/code/game/gamemodes/technomancer/core_obj.dm @@ -13,7 +13,7 @@ TECH_COMBAT = 7, TECH_MAGNET = 9, TECH_DATA = 5 ) sprite_sheets = list( - "Teshari" = 'icons/mob/species/seromi/back.dmi' + SPECIES_TESHARI = 'icons/mob/species/teshari/back.dmi' ) var/energy = 10000 var/max_energy = 10000 diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index f84e191b54..78798a5add 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -205,6 +205,7 @@ // Librarian Alt Titles /datum/alt_title/journalist title = "Journalist" + title_outfit = /decl/hierarchy/outfit/job/librarian/journalist title_blurb = "The Journalist uses the Library as a base of operations, from which they can report the news and goings-on on the station with their camera." /datum/alt_title/writer diff --git a/code/game/jobs/job/civilian_vr.dm b/code/game/jobs/job/civilian_vr.dm index b84be39912..1ac859eb10 100644 --- a/code/game/jobs/job/civilian_vr.dm +++ b/code/game/jobs/job/civilian_vr.dm @@ -194,7 +194,7 @@ minimal_access = list(access_entertainment) pto_type = PTO_CIVILIAN - outfit_type = /decl/hierarchy/outfit/job/assistant + outfit_type = /decl/hierarchy/outfit/job/assistant/entertainer job_description = "An entertainer does just that, entertains! Put on plays, play music, sing songs, tell stories, or read your favorite fanfic." alt_titles = list("Performer" = /datum/alt_title/performer, "Musician" = /datum/alt_title/musician, "Stagehand" = /datum/alt_title/stagehand, "Actor" = /datum/alt_title/actor, "Dancer" = /datum/alt_title/dancer, "Singer" = /datum/alt_title/singer, diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 0f52e67b8c..c08bcb2d82 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -157,7 +157,7 @@ switch(action) if("modify") if(modify) - data_core.manifest_modify(modify.registered_name, modify.assignment) + data_core.manifest_modify(modify.registered_name, modify.assignment, modify.rank) modify.name = "[modify.registered_name]'s ID Card ([modify.assignment])" if(ishuman(usr)) modify.forceMove(get_turf(src)) diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 8d4202d421..5aa7f077c6 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -380,7 +380,7 @@ return if(isnull(subject) || (!(ishuman(subject))) || (!subject.dna)) if(isalien(subject)) - set_scan_temp("Xenomorphs are not scannable.", "bad") + set_scan_temp("Genaprawns are not scannable.", "bad") //CHOMPedit SStgui.update_uis(src) return // can add more conditions for specific non-human messages here diff --git a/code/game/machinery/computer/guestpass.dm b/code/game/machinery/computer/guestpass.dm index 0090d03b7a..e2e1535728 100644 --- a/code/game/machinery/computer/guestpass.dm +++ b/code/game/machinery/computer/guestpass.dm @@ -41,7 +41,7 @@ /obj/item/weapon/card/id/guest/attack_self(mob/living/user as mob) if(user.a_intent == I_HURT) - if(icon_state == "guest_invalid") + if(icon_state == "guest-invalid") to_chat(user, "This guest pass is already deactivated!") return @@ -49,7 +49,8 @@ if(confirm == "Yes") //rip guest pass \The [user] deactivates \the [src].") - icon_state = "guest_invalid" + icon_state = "guest-invalid" + update_icon() expiration_time = world.time expired = 1 return ..() @@ -66,7 +67,8 @@ /obj/item/weapon/card/id/guest/process() if(expired == 0 && world.time >= expiration_time) visible_message("\The [src] flashes a few times before turning red.") - icon_state = "guest_invalid" + icon_state = "guest-invalid" + update_icon() expired = 1 world.time = expiration_time return diff --git a/code/game/machinery/computer/timeclock_vr.dm b/code/game/machinery/computer/timeclock_vr.dm index 8cfc711c18..80ce7a701d 100644 --- a/code/game/machinery/computer/timeclock_vr.dm +++ b/code/game/machinery/computer/timeclock_vr.dm @@ -177,7 +177,7 @@ card.rank = newjob.title card.assignment = newassignment card.name = text("[card.registered_name]'s ID Card ([card.assignment])") - data_core.manifest_modify(card.registered_name, card.assignment) + data_core.manifest_modify(card.registered_name, card.assignment, card.rank) card.last_job_switch = world.time callHook("reassign_employee", list(card)) newjob.current_positions++ @@ -203,7 +203,7 @@ card.rank = ptojob.title card.assignment = ptojob.title card.name = text("[card.registered_name]'s ID Card ([card.assignment])") - data_core.manifest_modify(card.registered_name, card.assignment) + data_core.manifest_modify(card.registered_name, card.assignment, card.rank) card.last_job_switch = world.time callHook("reassign_employee", list(card)) var/mob/living/carbon/human/H = usr diff --git a/code/game/machinery/computer3/computers/card.dm b/code/game/machinery/computer3/computers/card.dm index 35eb699531..f9e43aaa7d 100644 --- a/code/game/machinery/computer3/computers/card.dm +++ b/code/game/machinery/computer3/computers/card.dm @@ -312,14 +312,14 @@ writer.assignment = t1 writer.name = text("[writer.registered_name]'s ID Card ([writer.assignment])") - data_core.manifest_modify(writer.registered_name, writer.assignment) + data_core.manifest_modify(writer.registered_name, writer.assignment, writer.rank) callHook("reassign_employee", list(writer)) if("reg" in href_list) if(auth) writer.registered_name = href_list["reg"] writer.name = text("[writer.registered_name]'s ID Card ([writer.assignment])") - data_core.manifest_modify(writer.registered_name, writer.assignment) + data_core.manifest_modify(writer.registered_name, writer.assignment, writer.rank) callHook("reassign_employee", list(writer)) computer.updateUsrDialog() diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 01a890bd79..84dcf0c7c5 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -172,7 +172,7 @@ desc = "This variant appears to be much more rugged." req_one_access = list(access_heads) icon_state = "turret_cover_industrial" - installation = /obj/item/weapon/gun/energy/phasegun + installation = /obj/item/weapon/gun/energy/locked/phasegun/unlocked health = 200 maxhealth = 200 turret_type = "industrial" @@ -354,7 +354,7 @@ lethal_shot_sound = 'sound/weapons/Laser.ogg' shot_delay = 1 SECOND - if(/obj/item/weapon/gun/energy/phasegun) + if(/obj/item/weapon/gun/energy/locked/phasegun/unlocked) icon_color = "orange" lethal_icon_color = "orange" lethal_projectile = /obj/item/projectile/energy/phase/heavy diff --git a/code/game/machinery/syndicatebeacon_vr.dm b/code/game/machinery/syndicatebeacon_vr.dm index ef6b3da0bb..668b36dcb7 100644 --- a/code/game/machinery/syndicatebeacon_vr.dm +++ b/code/game/machinery/syndicatebeacon_vr.dm @@ -25,7 +25,7 @@ updateUsrDialog() return var/mob/M = locate(href_list["traitormob"]) - if(M.mind.special_role || jobban_isbanned(M, "Syndicate")) + if(M.mind.tcrystals > 0 || jobban_isbanned(M, "Syndicate")) temptext = "We have no need for you at this time. Have a pleasant day.
" updateUsrDialog() return @@ -33,7 +33,9 @@ if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/N = M to_chat(N, "Access granted, here are the supplies!") - traitors.equip(N) + traitors.spawn_uplink(N) + N.mind.tcrystals = DEFAULT_TELECRYSTAL_AMOUNT + N.mind.accept_tcrystals = 1 message_admins("[N]/([N.ckey]) has recieved an uplink and telecrystals from the syndicate beacon.") updateUsrDialog() diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 4f3d532c27..58107d9d0b 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -572,7 +572,7 @@ GLOBAL_LIST_EMPTY(vending_products) vend_ready = 1 currently_vending = null SStgui.update_uis(src) - + GLOB.items_sold_shift_roundstat++ /obj/machinery/vending/proc/do_logging(datum/stored_item/vending_product/R, mob/user, var/vending = 0) if(user.GetIdCard()) diff --git a/code/game/machinery/vending_machines_vr.dm b/code/game/machinery/vending_machines_vr.dm index 1b43b46c26..7573e19a6a 100644 --- a/code/game/machinery/vending_machines_vr.dm +++ b/code/game/machinery/vending_machines_vr.dm @@ -271,1308 +271,6 @@ req_log_access = access_cmo has_logs = 1 -/obj/machinery/vending/loadout - name = "Fingers and Toes" - desc = "A special vendor for gloves and shoes!" - product_ads = "Do you have fingers and toes? COVER THEM UP!;Show me your toes! Wait. NO DON'T! BUY NEW SHOES!;Don't leave prints, BUY SOME GLOVES!;Remember to check your shoes for micros! You don't have to let them out, but just check for them!;Fingers and Toes is not liable for micro entrapment or abuse under the feet of our patrons.!;This little piggy went WE WE WE all the way down to FINGERS AND TOES to pick up some sweet new gloves and shoes." - icon = 'icons/obj/vending_vr.dmi' - icon_state = "glovesnshoes" - products = list(/obj/item/clothing/gloves/evening = 5, - /obj/item/clothing/gloves/fingerless = 5, - /obj/item/clothing/gloves/black = 5, - /obj/item/clothing/gloves/blue = 5, - /obj/item/clothing/gloves/brown = 5, - /obj/item/clothing/gloves/color = 5, - /obj/item/clothing/gloves/green = 5, - /obj/item/clothing/gloves/grey = 5, - /obj/item/clothing/gloves/sterile/latex = 5, - /obj/item/clothing/gloves/light_brown = 5, - /obj/item/clothing/gloves/sterile/nitrile = 5, - /obj/item/clothing/gloves/orange = 5, - /obj/item/clothing/gloves/purple = 5, - /obj/item/clothing/gloves/red = 5, - /obj/item/clothing/gloves/fluff/siren = 5, - /obj/item/clothing/gloves/white = 5, - /obj/item/clothing/gloves/duty = 5, - /obj/item/clothing/shoes/athletic = 5, - /obj/item/clothing/shoes/boots/fluff/siren = 5, - /obj/item/clothing/shoes/slippers = 5, - /obj/item/clothing/shoes/boots/cowboy/classic = 5, - /obj/item/clothing/shoes/boots/cowboy = 5, - /obj/item/clothing/shoes/boots/duty = 5, - /obj/item/clothing/shoes/flats/white/color = 5, - /obj/item/clothing/shoes/flipflop = 5, - /obj/item/clothing/shoes/heels = 5, - /obj/item/clothing/shoes/hitops/black = 5, - /obj/item/clothing/shoes/hitops/blue = 5, - /obj/item/clothing/shoes/hitops/green = 5, - /obj/item/clothing/shoes/hitops/orange = 5, - /obj/item/clothing/shoes/hitops/purple = 5, - /obj/item/clothing/shoes/hitops/red = 5, - /obj/item/clothing/shoes/flats/white/color = 5, - /obj/item/clothing/shoes/hitops/yellow = 5, - /obj/item/clothing/shoes/boots/jackboots = 5, - /obj/item/clothing/shoes/boots/jungle = 5, - /obj/item/clothing/shoes/black/cuffs = 5, - /obj/item/clothing/shoes/black/cuffs/blue = 5, - /obj/item/clothing/shoes/black/cuffs/red = 5, - /obj/item/clothing/shoes/sandal = 5, - /obj/item/clothing/shoes/black = 5, - /obj/item/clothing/shoes/blue = 5, - /obj/item/clothing/shoes/brown = 5, - /obj/item/clothing/shoes/laceup = 5, - /obj/item/clothing/shoes/green = 5, - /obj/item/clothing/shoes/laceup/brown = 5, - /obj/item/clothing/shoes/orange = 5, - /obj/item/clothing/shoes/purple = 5, - /obj/item/clothing/shoes/red = 5, - /obj/item/clothing/shoes/white = 5, - /obj/item/clothing/shoes/yellow = 5, - /obj/item/clothing/shoes/skater = 5, - /obj/item/clothing/shoes/boots/cowboy/snakeskin = 5, - /obj/item/clothing/shoes/boots/jackboots/toeless = 5, - /obj/item/clothing/shoes/boots/workboots/toeless = 5, - /obj/item/clothing/shoes/boots/winter = 5, - /obj/item/clothing/shoes/boots/workboots = 5, - /obj/item/clothing/shoes/footwraps = 5) - prices = list(/obj/item/clothing/gloves/evening = 50, - /obj/item/clothing/gloves/fingerless = 50, - /obj/item/clothing/gloves/black = 50, - /obj/item/clothing/gloves/blue = 50, - /obj/item/clothing/gloves/brown = 50, - /obj/item/clothing/gloves/color = 50, - /obj/item/clothing/gloves/green = 50, - /obj/item/clothing/gloves/grey = 50, - /obj/item/clothing/gloves/sterile/latex = 100, - /obj/item/clothing/gloves/light_brown = 50, - /obj/item/clothing/gloves/sterile/nitrile = 100, - /obj/item/clothing/gloves/orange = 50, - /obj/item/clothing/gloves/purple = 50, - /obj/item/clothing/gloves/red = 50, - /obj/item/clothing/gloves/fluff/siren = 50, - /obj/item/clothing/gloves/white = 50, - /obj/item/clothing/gloves/duty = 150, - /obj/item/clothing/shoes/athletic = 50, - /obj/item/clothing/shoes/boots/fluff/siren = 50, - /obj/item/clothing/shoes/slippers = 50, - /obj/item/clothing/shoes/boots/cowboy/classic = 50, - /obj/item/clothing/shoes/boots/cowboy = 50, - /obj/item/clothing/shoes/boots/duty = 100, - /obj/item/clothing/shoes/flats/white/color = 50, - /obj/item/clothing/shoes/flipflop = 50, - /obj/item/clothing/shoes/heels = 50, - /obj/item/clothing/shoes/hitops/black = 50, - /obj/item/clothing/shoes/hitops/blue = 50, - /obj/item/clothing/shoes/hitops/green = 50, - /obj/item/clothing/shoes/hitops/orange = 50, - /obj/item/clothing/shoes/hitops/purple = 50, - /obj/item/clothing/shoes/hitops/red = 50, - /obj/item/clothing/shoes/flats/white/color = 50, - /obj/item/clothing/shoes/hitops/yellow = 50, - /obj/item/clothing/shoes/boots/jackboots = 50, - /obj/item/clothing/shoes/boots/jungle = 100, - /obj/item/clothing/shoes/black/cuffs = 50, - /obj/item/clothing/shoes/black/cuffs/blue = 50, - /obj/item/clothing/shoes/black/cuffs/red = 50, - /obj/item/clothing/shoes/sandal = 50, - /obj/item/clothing/shoes/black = 50, - /obj/item/clothing/shoes/blue = 50, - /obj/item/clothing/shoes/brown = 50, - /obj/item/clothing/shoes/laceup = 50, - /obj/item/clothing/shoes/green = 50, - /obj/item/clothing/shoes/laceup/brown = 50, - /obj/item/clothing/shoes/orange = 50, - /obj/item/clothing/shoes/purple = 50, - /obj/item/clothing/shoes/red = 50, - /obj/item/clothing/shoes/white = 50, - /obj/item/clothing/shoes/yellow = 50, - /obj/item/clothing/shoes/skater = 50, - /obj/item/clothing/shoes/boots/cowboy/snakeskin = 50, - /obj/item/clothing/shoes/boots/jackboots/toeless = 50, - /obj/item/clothing/shoes/boots/workboots/toeless = 50, - /obj/item/clothing/shoes/boots/winter = 50, - /obj/item/clothing/shoes/boots/workboots = 50, - /obj/item/clothing/shoes/footwraps = 50) - premium = list(/obj/item/clothing/gloves/rainbow = 1, - /obj/item/clothing/shoes/rainbow = 1,) - contraband = list(/obj/item/clothing/shoes/syndigaloshes = 1, - /obj/item/clothing/shoes/clown_shoes = 1) - -/obj/machinery/vending/loadout/uniform - name = "The Basics" - desc = "A vendor using compressed matter cartridges to store large amounts of basic station uniforms." - product_ads = "Don't get caught naked!;Pick up your uniform!;Using compressed matter cartridges and VERY ETHICAL labor practices, we bring you the uniforms you need!;No uniform? No problem!;We've got your covered!;The Basics is not responsible for being crushed under the amount of things inside our machines. DO NOT VEND IN EXCESS!!" - icon_state = "loadout" - vend_delay = 16 - products = list(/obj/item/device/pda = 50, - /obj/item/device/radio/headset = 50, - /obj/item/weapon/storage/backpack/ = 10, - /obj/item/weapon/storage/backpack/messenger = 10, - /obj/item/weapon/storage/backpack/satchel = 10, - /obj/item/clothing/under/color = 5, - /obj/item/clothing/under/color/aqua = 5, - /obj/item/clothing/under/color/black = 5, - /obj/item/clothing/under/color/blackjumpskirt = 5, - /obj/item/clothing/under/color/blue = 5, - /obj/item/clothing/under/color/brown = 5, - /obj/item/clothing/under/color/green = 5, - /obj/item/clothing/under/color/grey = 5, - /obj/item/clothing/under/color/orange = 5, - /obj/item/clothing/under/color/pink = 5, - /obj/item/clothing/under/color/red = 5, - /obj/item/clothing/under/color/white = 5, - /obj/item/clothing/under/color/yellow = 5, - /obj/item/clothing/shoes/black = 20, - /obj/item/clothing/shoes/white = 20) - prices = list() - -/obj/machinery/vending/loadout/accessory - name = "Looty Inc." - desc = "A special vendor for accessories." - product_ads = "Want shinies? We have the shinies.;Need that special something to complete your outfit? We have what you need!;Ditch that old dull dangly something you've got and pick up one of our shinies!;Bracelets, collars, scarfs rings and more! We have the fancy things you need!;Does your pet need a collar? We don't judge! Keep them in line with one of one of ours!;Top of the line materials! 'Hand crafted' goods!" - icon_state = "accessory" - vend_delay = 6 - products = list(/obj/item/clothing/accessory = 5, - /obj/item/clothing/accessory/armband/med/color = 10, - /obj/item/clothing/accessory/asymmetric = 5, - /obj/item/clothing/accessory/asymmetric/purple = 5, - /obj/item/clothing/accessory/asymmetric/green = 5, - /obj/item/clothing/accessory/bracelet = 5, - /obj/item/clothing/accessory/bracelet/material = 5, - /obj/item/clothing/accessory/bracelet/friendship = 5, - /obj/item/clothing/accessory/chaps = 5, - /obj/item/clothing/accessory/chaps/black = 5, - /obj/item/weapon/storage/briefcase/clutch = 1, - /obj/item/clothing/accessory/collar = 5, - /obj/item/clothing/accessory/collar/bell = 5, - /obj/item/clothing/accessory/collar/spike = 5, - /obj/item/clothing/accessory/collar/pink = 5, - /obj/item/clothing/accessory/collar/holo = 5, - /obj/item/clothing/accessory/collar/shock = 5, - /obj/item/weapon/storage/belt/fannypack = 1, - /obj/item/weapon/storage/belt/fannypack/white = 5, - /obj/item/clothing/accessory/fullcape = 5, - /obj/item/clothing/accessory/halfcape = 5, - /obj/item/clothing/accessory/hawaii = 5, - /obj/item/clothing/accessory/hawaii/random = 5, - /obj/item/clothing/accessory/locket = 5, - /obj/item/weapon/storage/backpack/purse = 1, - /obj/item/clothing/accessory/sash = 5, - /obj/item/clothing/accessory/scarf = 5, - /obj/item/clothing/accessory/scarf/red = 5, - /obj/item/clothing/accessory/scarf/darkblue = 5, - /obj/item/clothing/accessory/scarf/purple = 5, - /obj/item/clothing/accessory/scarf/yellow = 5, - /obj/item/clothing/accessory/scarf/orange = 5, - /obj/item/clothing/accessory/scarf/lightblue = 5, - /obj/item/clothing/accessory/scarf/white = 5, - /obj/item/clothing/accessory/scarf/black = 5, - /obj/item/clothing/accessory/scarf/zebra = 5, - /obj/item/clothing/accessory/scarf/christmas = 5, - /obj/item/clothing/accessory/scarf/stripedred = 5, - /obj/item/clothing/accessory/scarf/stripedgreen = 5, - /obj/item/clothing/accessory/scarf/stripedblue = 5, - /obj/item/clothing/accessory/jacket = 5, - /obj/item/clothing/accessory/jacket/checkered = 5, - /obj/item/clothing/accessory/jacket/burgundy = 5, - /obj/item/clothing/accessory/jacket/navy = 5, - /obj/item/clothing/accessory/jacket/charcoal = 5, - /obj/item/clothing/accessory/vest = 5, - /obj/item/clothing/accessory/sweater = 5, - /obj/item/clothing/accessory/sweater/pink = 5, - /obj/item/clothing/accessory/sweater/mint = 5, - /obj/item/clothing/accessory/sweater/blue = 5, - /obj/item/clothing/accessory/sweater/heart = 5, - /obj/item/clothing/accessory/sweater/nt = 5, - /obj/item/clothing/accessory/sweater/keyhole = 5, - /obj/item/clothing/accessory/sweater/winterneck = 5, - /obj/item/clothing/accessory/sweater/uglyxmas = 5, - /obj/item/clothing/accessory/sweater/flowersweater = 5, - /obj/item/clothing/accessory/sweater/redneck = 5, - /obj/item/clothing/accessory/tie = 5, - /obj/item/clothing/accessory/tie/horrible = 5, - /obj/item/clothing/accessory/tie/white = 5, - /obj/item/clothing/accessory/tie/navy = 5, - /obj/item/clothing/accessory/tie/yellow = 5, - /obj/item/clothing/accessory/tie/darkgreen = 5, - /obj/item/clothing/accessory/tie/black = 5, - /obj/item/clothing/accessory/tie/red_long = 5, - /obj/item/clothing/accessory/tie/red_clip = 5, - /obj/item/clothing/accessory/tie/blue_long = 5, - /obj/item/clothing/accessory/tie/blue_clip = 5, - /obj/item/clothing/accessory/tie/red = 5, - /obj/item/clothing/accessory/wcoat = 5, - /obj/item/clothing/accessory/wcoat/red = 5, - /obj/item/clothing/accessory/wcoat/grey = 5, - /obj/item/clothing/accessory/wcoat/brown = 5, - /obj/item/clothing/accessory/wcoat/gentleman = 5, - /obj/item/clothing/accessory/wcoat/swvest = 5, - /obj/item/clothing/accessory/wcoat/swvest/blue = 5, - /obj/item/clothing/accessory/wcoat/swvest/red = 5, - /obj/item/weapon/storage/wallet = 5, - /obj/item/weapon/storage/wallet/poly = 5, - /obj/item/weapon/storage/wallet/womens = 5, - /obj/item/weapon/lipstick = 5, - /obj/item/weapon/lipstick/purple = 5, - /obj/item/weapon/lipstick/jade = 5, - /obj/item/weapon/lipstick/black = 5, - /obj/item/clothing/ears/earmuffs = 5, - /obj/item/clothing/ears/earmuffs/headphones = 5, - /obj/item/clothing/ears/earring/stud = 5, - /obj/item/clothing/ears/earring/dangle = 5, - /obj/item/clothing/gloves/ring/mariner = 5, - /obj/item/clothing/gloves/ring/engagement = 5, - /obj/item/clothing/gloves/ring/seal/signet = 5, - /obj/item/clothing/gloves/ring/seal/mason = 5, - /obj/item/clothing/gloves/ring/material/plastic = 5, - /obj/item/clothing/gloves/ring/material/steel = 5, - /obj/item/clothing/gloves/ring/material/gold = 5, - /obj/item/clothing/glasses/eyepatch = 5, - /obj/item/clothing/glasses/gglasses = 5, - /obj/item/clothing/glasses/regular/hipster = 5, - /obj/item/clothing/glasses/rimless = 5, - /obj/item/clothing/glasses/thin = 5, - /obj/item/clothing/glasses/monocle = 5, - /obj/item/clothing/glasses/goggles = 5, - /obj/item/clothing/glasses/fluff/spiffygogs = 5, - /obj/item/clothing/glasses/fakesunglasses = 5, - /obj/item/clothing/glasses/fakesunglasses/aviator = 5, - /obj/item/clothing/mask/bandana/blue = 5, - /obj/item/clothing/mask/bandana/gold = 5, - /obj/item/clothing/mask/bandana/green = 5, - /obj/item/clothing/mask/bandana/red = 5, - /obj/item/clothing/mask/surgical = 5) - prices = list(/obj/item/clothing/accessory = 50, - /obj/item/clothing/accessory/armband/med/color = 50, - /obj/item/clothing/accessory/asymmetric = 50, - /obj/item/clothing/accessory/asymmetric/purple = 50, - /obj/item/clothing/accessory/asymmetric/green = 50, - /obj/item/clothing/accessory/bracelet = 50, - /obj/item/clothing/accessory/bracelet/material = 50, - /obj/item/clothing/accessory/bracelet/friendship = 50, - /obj/item/clothing/accessory/chaps = 50, - /obj/item/clothing/accessory/chaps/black = 50, - /obj/item/weapon/storage/briefcase/clutch = 50, - /obj/item/clothing/accessory/collar = 50, - /obj/item/clothing/accessory/collar/bell = 50, - /obj/item/clothing/accessory/collar/spike = 50, - /obj/item/clothing/accessory/collar/pink = 50, - /obj/item/clothing/accessory/collar/holo = 50, - /obj/item/clothing/accessory/collar/shock = 50, - /obj/item/weapon/storage/belt/fannypack = 50, - /obj/item/weapon/storage/belt/fannypack/white = 50, - /obj/item/clothing/accessory/fullcape = 50, - /obj/item/clothing/accessory/halfcape = 50, - /obj/item/clothing/accessory/hawaii = 50, - /obj/item/clothing/accessory/hawaii/random = 50, - /obj/item/clothing/accessory/locket = 50, - /obj/item/weapon/storage/backpack/purse = 50, - /obj/item/clothing/accessory/sash = 50, - /obj/item/clothing/accessory/scarf = 5, - /obj/item/clothing/accessory/scarf/red = 50, - /obj/item/clothing/accessory/scarf/darkblue = 50, - /obj/item/clothing/accessory/scarf/purple = 50, - /obj/item/clothing/accessory/scarf/yellow = 100, - /obj/item/clothing/accessory/scarf/orange = 50, - /obj/item/clothing/accessory/scarf/lightblue = 50, - /obj/item/clothing/accessory/scarf/white = 50, - /obj/item/clothing/accessory/scarf/black = 50, - /obj/item/clothing/accessory/scarf/zebra = 50, - /obj/item/clothing/accessory/scarf/christmas = 50, - /obj/item/clothing/accessory/scarf/stripedred = 50, - /obj/item/clothing/accessory/scarf/stripedgreen = 50, - /obj/item/clothing/accessory/scarf/stripedblue = 50, - /obj/item/clothing/accessory/jacket = 50, - /obj/item/clothing/accessory/jacket/checkered = 50, - /obj/item/clothing/accessory/jacket/burgundy = 50, - /obj/item/clothing/accessory/jacket/navy = 50, - /obj/item/clothing/accessory/jacket/charcoal = 50, - /obj/item/clothing/accessory/vest = 50, - /obj/item/clothing/accessory/sweater = 50, - /obj/item/clothing/accessory/sweater/pink = 50, - /obj/item/clothing/accessory/sweater/mint = 50, - /obj/item/clothing/accessory/sweater/blue = 50, - /obj/item/clothing/accessory/sweater/heart = 50, - /obj/item/clothing/accessory/sweater/nt = 5, - /obj/item/clothing/accessory/sweater/keyhole = 50, - /obj/item/clothing/accessory/sweater/winterneck = 50, - /obj/item/clothing/accessory/sweater/uglyxmas = 5, - /obj/item/clothing/accessory/sweater/flowersweater = 50, - /obj/item/clothing/accessory/sweater/redneck = 50, - /obj/item/clothing/accessory/tie = 50, - /obj/item/clothing/accessory/tie/horrible = 50, - /obj/item/clothing/accessory/tie/white = 50, - /obj/item/clothing/accessory/tie/navy = 50, - /obj/item/clothing/accessory/tie/yellow = 50, - /obj/item/clothing/accessory/tie/darkgreen = 50, - /obj/item/clothing/accessory/tie/black = 50, - /obj/item/clothing/accessory/tie/red_long = 50, - /obj/item/clothing/accessory/tie/red_clip = 50, - /obj/item/clothing/accessory/tie/blue_long = 50, - /obj/item/clothing/accessory/tie/blue_clip = 50, - /obj/item/clothing/accessory/tie/red = 50, - /obj/item/clothing/accessory/wcoat = 50, - /obj/item/clothing/accessory/wcoat/red = 50, - /obj/item/clothing/accessory/wcoat/grey = 50, - /obj/item/clothing/accessory/wcoat/brown = 50, - /obj/item/clothing/accessory/wcoat/gentleman = 50, - /obj/item/clothing/accessory/wcoat/swvest = 50, - /obj/item/clothing/accessory/wcoat/swvest/blue = 50, - /obj/item/clothing/accessory/wcoat/swvest/red = 50, - /obj/item/weapon/storage/wallet = 50, - /obj/item/weapon/storage/wallet/poly = 50, - /obj/item/weapon/storage/wallet/womens = 50, - /obj/item/weapon/lipstick = 50, - /obj/item/weapon/lipstick/purple = 50, - /obj/item/weapon/lipstick/jade = 50, - /obj/item/weapon/lipstick/black = 50, - /obj/item/clothing/ears/earmuffs = 50, - /obj/item/clothing/ears/earmuffs/headphones = 50, - /obj/item/clothing/ears/earring/stud = 50, - /obj/item/clothing/ears/earring/dangle = 50, - /obj/item/clothing/gloves/ring/mariner = 50, - /obj/item/clothing/gloves/ring/engagement = 50, - /obj/item/clothing/gloves/ring/seal/signet = 50, - /obj/item/clothing/gloves/ring/seal/mason = 50, - /obj/item/clothing/gloves/ring/material/plastic = 50, - /obj/item/clothing/gloves/ring/material/steel = 50, - /obj/item/clothing/gloves/ring/material/gold = 100, - /obj/item/clothing/glasses/eyepatch = 50, - /obj/item/clothing/glasses/gglasses = 50, - /obj/item/clothing/glasses/regular/hipster = 50, - /obj/item/clothing/glasses/rimless = 50, - /obj/item/clothing/glasses/thin = 50, - /obj/item/clothing/glasses/monocle = 50, - /obj/item/clothing/glasses/goggles = 50, - /obj/item/clothing/glasses/fluff/spiffygogs = 50, - /obj/item/clothing/glasses/fakesunglasses = 50, - /obj/item/clothing/glasses/fakesunglasses/aviator = 50, - /obj/item/clothing/mask/bandana/blue = 50, - /obj/item/clothing/mask/bandana/gold = 50, - /obj/item/clothing/mask/bandana/green = 50, - /obj/item/clothing/mask/bandana/red = 50, - /obj/item/clothing/mask/surgical = 50) - premium = list(/obj/item/weapon/bedsheet/rainbow = 1) - contraband = list(/obj/item/clothing/mask/gas/clown_hat = 1) - -/obj/machinery/vending/loadout/clothing - name = "General Jump" - desc = "A special vendor using compressed matter cartridges to store large amounts of clothing." - product_ads = "Tired of your grey jumpsuit? Spruce yourself up!;We have the outfit for you!;Don't let that grey jumpsuit get you down, get a ROBUST outfit right now!;Using compressed matter catridges and VERY ETHICAL labor practices to bring YOU the clothing you crave!;Are you sure you want to go to work in THAT?;All of our wares have a whole TWO pockets!" - icon_state = "clothing" - vend_delay = 16 - products = list(/obj/item/clothing/under/bathrobe = 5, - /obj/item/clothing/under/dress/black_corset = 5, - /obj/item/clothing/under/blazer = 5, - /obj/item/clothing/under/blazer/skirt = 5, - /obj/item/clothing/under/cheongsam = 5, - /obj/item/clothing/under/cheongsam/red = 5, - /obj/item/clothing/under/cheongsam/blue = 5, - /obj/item/clothing/under/cheongsam/black = 5, - /obj/item/clothing/under/cheongsam/darkred = 5, - /obj/item/clothing/under/cheongsam/green = 5, - /obj/item/clothing/under/cheongsam/purple = 5, - /obj/item/clothing/under/cheongsam/darkblue = 5, - /obj/item/clothing/under/croptop = 5, - /obj/item/clothing/under/croptop/red = 5, - /obj/item/clothing/under/croptop/grey = 5, - /obj/item/clothing/under/cuttop = 5, - /obj/item/clothing/under/cuttop/red = 5, - /obj/item/clothing/under/suit_jacket/female/skirt = 5, - /obj/item/clothing/under/dress/dress_fire = 5, - /obj/item/clothing/under/dress/flamenco = 5, - /obj/item/clothing/under/dress/flower_dress = 5, - /obj/item/clothing/under/fluff/gnshorts = 5, - /obj/item/clothing/under/color = 5, - /obj/item/clothing/under/color/aqua = 5, - /obj/item/clothing/under/color/black = 5, - /obj/item/clothing/under/color/blackf = 5, - /obj/item/clothing/under/color/blackjumpskirt = 5, - /obj/item/clothing/under/color/blue = 5, - /obj/item/clothing/under/color/brown = 5, - /obj/item/clothing/under/color/darkblue = 5, - /obj/item/clothing/under/color/darkred = 5, - /obj/item/clothing/under/color/green = 5, - /obj/item/clothing/under/color/grey = 5, - /obj/item/clothing/under/color/lightblue = 5, - /obj/item/clothing/under/color/lightbrown = 5, - /obj/item/clothing/under/color/lightgreen = 5, - /obj/item/clothing/under/color/lightpurple = 5, - /obj/item/clothing/under/color/lightred = 5, - /obj/item/clothing/under/color/orange = 5, - /obj/item/clothing/under/color/pink = 5, - /obj/item/clothing/under/color/prison = 5, - /obj/item/clothing/under/color/ranger = 5, - /obj/item/clothing/under/color/red = 5, - /obj/item/clothing/under/color/white = 5, - /obj/item/clothing/under/color/yellow = 5, - /obj/item/clothing/under/color/yellowgreen = 5, - /obj/item/clothing/under/aether = 5, - /obj/item/clothing/under/focal = 5, - /obj/item/clothing/under/hephaestus = 5, - /obj/item/clothing/under/wardt = 5, - /obj/item/clothing/under/kilt = 5, - /obj/item/clothing/under/fluff/latexmaid = 5, - /obj/item/clothing/under/dress/lilacdress = 5, - /obj/item/clothing/under/dress/white2 = 5, - /obj/item/clothing/under/dress/white4 = 5, - /obj/item/clothing/under/dress/maid = 5, - /obj/item/clothing/under/dress/maid/sexy = 5, - /obj/item/clothing/under/dress/maid/janitor = 5, - /obj/item/clothing/under/harness = 5, //CHOMP Edit: Added gear harness, - /obj/item/clothing/under/moderncoat = 5, - /obj/item/clothing/under/permit = 5, - /obj/item/clothing/under/oldwoman = 5, - /obj/item/clothing/under/frontier = 5, - /obj/item/clothing/under/mbill = 5, - /obj/item/clothing/under/pants/baggy/ = 5, - /obj/item/clothing/under/pants/baggy/classicjeans = 5, - /obj/item/clothing/under/pants/baggy/mustangjeans = 5, - /obj/item/clothing/under/pants/baggy/blackjeans = 5, - /obj/item/clothing/under/pants/baggy/greyjeans = 5, - /obj/item/clothing/under/pants/baggy/youngfolksjeans = 5, - /obj/item/clothing/under/pants/baggy/white = 5, - /obj/item/clothing/under/pants/baggy/red = 5, - /obj/item/clothing/under/pants/baggy/black = 5, - /obj/item/clothing/under/pants/baggy/tan = 5, - /obj/item/clothing/under/pants/baggy/track = 5, - /obj/item/clothing/under/pants/baggy/khaki = 5, - /obj/item/clothing/under/pants/baggy/camo = 5, - /obj/item/clothing/under/pants/utility/ = 5, - /obj/item/clothing/under/pants/utility/orange = 5, - /obj/item/clothing/under/pants/utility/blue = 5, - /obj/item/clothing/under/pants/utility/white = 5, - /obj/item/clothing/under/pants/utility/red = 5, - /obj/item/clothing/under/pants/chaps = 5, - /obj/item/clothing/under/pants/chaps/black = 5, - /obj/item/clothing/under/pants/track = 5, - /obj/item/clothing/under/pants/track/red = 5, - /obj/item/clothing/under/pants/track/white = 5, - /obj/item/clothing/under/pants/track/green = 5, - /obj/item/clothing/under/pants/track/blue = 5, - /obj/item/clothing/under/pants/yogapants = 5, - /obj/item/clothing/under/ascetic = 5, - /obj/item/clothing/under/dress/white3 = 5, - /obj/item/clothing/under/skirt/pleated = 5, - /obj/item/clothing/under/dress/darkred = 5, - /obj/item/clothing/under/dress/redeveninggown = 5, - /obj/item/clothing/under/dress/red_swept_dress = 5, - /obj/item/clothing/under/dress/sailordress = 5, - /obj/item/clothing/under/dress/sari = 5, - /obj/item/clothing/under/dress/sari/green = 5, - /obj/item/clothing/under/dress/qipao = 5, - /obj/item/clothing/under/dress/qipao/red = 5, - /obj/item/clothing/under/dress/qipao/white = 5, - /obj/item/clothing/under/shorts/red = 5, - /obj/item/clothing/under/shorts/green = 5, - /obj/item/clothing/under/shorts/blue = 5, - /obj/item/clothing/under/shorts/black = 5, - /obj/item/clothing/under/shorts/grey = 5, - /obj/item/clothing/under/shorts/white = 5, - /obj/item/clothing/under/shorts/jeans = 5, - /obj/item/clothing/under/shorts/jeans/ = 5, - /obj/item/clothing/under/shorts/jeans/classic = 5, - /obj/item/clothing/under/shorts/jeans/mustang = 5, - /obj/item/clothing/under/shorts/jeans/youngfolks = 5, - /obj/item/clothing/under/shorts/jeans/black = 5, - /obj/item/clothing/under/shorts/jeans/grey = 5, - /obj/item/clothing/under/shorts/khaki/ = 5, - /obj/item/clothing/under/skirt/loincloth = 5, - /obj/item/clothing/under/skirt/khaki = 5, - /obj/item/clothing/under/skirt/blue = 5, - /obj/item/clothing/under/skirt/red = 5, - /obj/item/clothing/under/skirt/denim = 5, - /obj/item/clothing/under/skirt/pleated = 5, - /obj/item/clothing/under/skirt/outfit/plaid_blue = 5, - /obj/item/clothing/under/skirt/outfit/plaid_red = 5, - /obj/item/clothing/under/skirt/outfit/plaid_purple = 5, - /obj/item/clothing/under/overalls/sleek = 5, - /obj/item/clothing/under/sl_suit = 5, - /obj/item/clothing/under/gentlesuit = 5, - /obj/item/clothing/under/gentlesuit/skirt = 5, - /obj/item/clothing/under/suit_jacket = 5, - /obj/item/clothing/under/suit_jacket/really_black/skirt = 5, - /obj/item/clothing/under/suit_jacket/really_black = 5, - /obj/item/clothing/under/suit_jacket/female/skirt = 5, - /obj/item/clothing/under/suit_jacket/female/ = 5, - /obj/item/clothing/under/suit_jacket/red = 5, - /obj/item/clothing/under/suit_jacket/red/skirt = 5, - /obj/item/clothing/under/suit_jacket/charcoal = 5, - /obj/item/clothing/under/suit_jacket/charcoal/skirt = 5, - /obj/item/clothing/under/suit_jacket/navy = 5, - /obj/item/clothing/under/suit_jacket/navy/skirt = 5, - /obj/item/clothing/under/suit_jacket/burgundy = 5, - /obj/item/clothing/under/suit_jacket/burgundy/skirt = 5, - /obj/item/clothing/under/suit_jacket/checkered = 5, - /obj/item/clothing/under/suit_jacket/checkered/skirt = 5, - /obj/item/clothing/under/suit_jacket/tan = 5, - /obj/item/clothing/under/suit_jacket/tan/skirt = 5, - /obj/item/clothing/under/scratch = 5, - /obj/item/clothing/under/scratch/skirt = 5, - /obj/item/clothing/under/sundress = 5, - /obj/item/clothing/under/sundress_white = 5, - /obj/item/clothing/under/rank/psych/turtleneck/sweater = 5, - /obj/item/weapon/storage/box/fluff/swimsuit = 5, - /obj/item/weapon/storage/box/fluff/swimsuit/blue = 5, - /obj/item/weapon/storage/box/fluff/swimsuit/purple = 5, - /obj/item/weapon/storage/box/fluff/swimsuit/green = 5, - /obj/item/weapon/storage/box/fluff/swimsuit/red = 5, - /obj/item/weapon/storage/box/fluff/swimsuit/white = 5, - /obj/item/weapon/storage/box/fluff/swimsuit/earth = 5, - /obj/item/weapon/storage/box/fluff/swimsuit/engineering = 5, - /obj/item/weapon/storage/box/fluff/swimsuit/science = 5, - /obj/item/weapon/storage/box/fluff/swimsuit/security = 5, - /obj/item/weapon/storage/box/fluff/swimsuit/medical = 5, - /obj/item/clothing/under/utility = 5, - /obj/item/clothing/under/utility/grey = 5, - /obj/item/clothing/under/utility/blue = 5, - /obj/item/clothing/under/fluff/v_nanovest = 5, - /obj/item/clothing/under/dress/westernbustle = 5, - /obj/item/clothing/under/wedding/bride_white = 5, - /obj/item/weapon/storage/backpack/ = 5, - /obj/item/weapon/storage/backpack/messenger = 5, - /obj/item/weapon/storage/backpack/satchel = 5) - prices = list(/obj/item/clothing/under/bathrobe = 50, - /obj/item/clothing/under/dress/black_corset = 50, - /obj/item/clothing/under/blazer = 50, - /obj/item/clothing/under/blazer/skirt = 50, - /obj/item/clothing/under/cheongsam = 50, - /obj/item/clothing/under/cheongsam/red = 50, - /obj/item/clothing/under/cheongsam/blue = 50, - /obj/item/clothing/under/cheongsam/black = 50, - /obj/item/clothing/under/cheongsam/darkred = 50, - /obj/item/clothing/under/cheongsam/green = 50, - /obj/item/clothing/under/cheongsam/purple = 50, - /obj/item/clothing/under/cheongsam/darkblue = 50, - /obj/item/clothing/under/croptop = 50, - /obj/item/clothing/under/croptop/red = 50, - /obj/item/clothing/under/croptop/grey = 50, - /obj/item/clothing/under/cuttop = 50, - /obj/item/clothing/under/cuttop/red = 50, - /obj/item/clothing/under/suit_jacket/female/skirt = 50, - /obj/item/clothing/under/dress/dress_fire = 50, - /obj/item/clothing/under/dress/flamenco = 50, - /obj/item/clothing/under/dress/flower_dress = 50, - /obj/item/clothing/under/fluff/gnshorts = 50, - /obj/item/clothing/under/color = 50, - /obj/item/clothing/under/color/aqua = 50, - /obj/item/clothing/under/color/black = 50, - /obj/item/clothing/under/color/blackf = 50, - /obj/item/clothing/under/color/blackjumpskirt = 50, - /obj/item/clothing/under/color/blue = 50, - /obj/item/clothing/under/color/brown = 50, - /obj/item/clothing/under/color/darkblue = 50, - /obj/item/clothing/under/color/darkred = 50, - /obj/item/clothing/under/color/green = 50, - /obj/item/clothing/under/color/grey = 50, - /obj/item/clothing/under/color/lightblue = 50, - /obj/item/clothing/under/color/lightbrown = 50, - /obj/item/clothing/under/color/lightgreen = 50, - /obj/item/clothing/under/color/lightpurple = 50, - /obj/item/clothing/under/color/lightred = 50, - /obj/item/clothing/under/color/orange = 50, - /obj/item/clothing/under/color/pink = 50, - /obj/item/clothing/under/color/prison = 50, - /obj/item/clothing/under/color/ranger = 50, - /obj/item/clothing/under/color/red = 50, - /obj/item/clothing/under/color/white = 50, - /obj/item/clothing/under/color/yellow = 50, - /obj/item/clothing/under/color/yellowgreen = 50, - /obj/item/clothing/under/aether = 50, - /obj/item/clothing/under/focal = 50, - /obj/item/clothing/under/hephaestus = 50, - /obj/item/clothing/under/wardt = 50, - /obj/item/clothing/under/kilt = 50, - /obj/item/clothing/under/fluff/latexmaid = 50, - /obj/item/clothing/under/dress/lilacdress = 50, - /obj/item/clothing/under/dress/white2 = 50, - /obj/item/clothing/under/dress/white4 = 50, - /obj/item/clothing/under/dress/maid = 50, - /obj/item/clothing/under/dress/maid/sexy = 50, - /obj/item/clothing/under/dress/maid/janitor = 50, - /obj/item/clothing/under/moderncoat = 50, - /obj/item/clothing/under/permit = 50, - /obj/item/clothing/under/oldwoman = 50, - /obj/item/clothing/under/frontier = 50, - /obj/item/clothing/under/mbill = 50, - /obj/item/clothing/under/pants/baggy/ = 50, - /obj/item/clothing/under/pants/baggy/classicjeans = 50, - /obj/item/clothing/under/pants/baggy/mustangjeans = 50, - /obj/item/clothing/under/pants/baggy/blackjeans = 50, - /obj/item/clothing/under/pants/baggy/greyjeans = 50, - /obj/item/clothing/under/pants/baggy/youngfolksjeans = 50, - /obj/item/clothing/under/pants/baggy/white = 50, - /obj/item/clothing/under/pants/baggy/red = 50, - /obj/item/clothing/under/pants/baggy/black = 50, - /obj/item/clothing/under/pants/baggy/tan = 50, - /obj/item/clothing/under/pants/baggy/track = 50, - /obj/item/clothing/under/pants/baggy/khaki = 50, - /obj/item/clothing/under/pants/baggy/camo = 50, - /obj/item/clothing/under/pants/utility/ = 50, - /obj/item/clothing/under/pants/utility/orange = 50, - /obj/item/clothing/under/pants/utility/blue = 50, - /obj/item/clothing/under/pants/utility/white = 50, - /obj/item/clothing/under/pants/utility/red = 50, - /obj/item/clothing/under/pants/chaps = 50, - /obj/item/clothing/under/pants/chaps/black = 50, - /obj/item/clothing/under/pants/track = 50, - /obj/item/clothing/under/pants/track/red = 50, - /obj/item/clothing/under/pants/track/white = 50, - /obj/item/clothing/under/pants/track/green = 50, - /obj/item/clothing/under/pants/track/blue = 50, - /obj/item/clothing/under/pants/yogapants = 50, - /obj/item/clothing/under/ascetic = 50, - /obj/item/clothing/under/dress/white3 = 50, - /obj/item/clothing/under/skirt/pleated = 50, - /obj/item/clothing/under/dress/darkred = 50, - /obj/item/clothing/under/dress/redeveninggown = 50, - /obj/item/clothing/under/dress/red_swept_dress = 50, - /obj/item/clothing/under/dress/sailordress = 50, - /obj/item/clothing/under/dress/sari = 50, - /obj/item/clothing/under/dress/sari/green = 50, - /obj/item/clothing/under/dress/qipao = 50, - /obj/item/clothing/under/dress/qipao/red = 50, - /obj/item/clothing/under/dress/qipao/white = 50, - /obj/item/clothing/under/shorts/red = 50, - /obj/item/clothing/under/shorts/green = 50, - /obj/item/clothing/under/shorts/blue = 50, - /obj/item/clothing/under/shorts/black = 50, - /obj/item/clothing/under/shorts/grey = 50, - /obj/item/clothing/under/shorts/white = 50, - /obj/item/clothing/under/shorts/jeans = 50, - /obj/item/clothing/under/shorts/jeans/ = 50, - /obj/item/clothing/under/shorts/jeans/classic = 50, - /obj/item/clothing/under/shorts/jeans/mustang = 50, - /obj/item/clothing/under/shorts/jeans/youngfolks = 50, - /obj/item/clothing/under/shorts/jeans/black = 50, - /obj/item/clothing/under/shorts/jeans/grey = 50, - /obj/item/clothing/under/shorts/khaki/ = 50, - /obj/item/clothing/under/skirt/loincloth = 50, - /obj/item/clothing/under/skirt/khaki = 50, - /obj/item/clothing/under/skirt/blue = 50, - /obj/item/clothing/under/skirt/red = 50, - /obj/item/clothing/under/skirt/denim = 50, - /obj/item/clothing/under/skirt/pleated = 50, - /obj/item/clothing/under/skirt/outfit/plaid_blue = 50, - /obj/item/clothing/under/skirt/outfit/plaid_red = 50, - /obj/item/clothing/under/skirt/outfit/plaid_purple = 50, - /obj/item/clothing/under/overalls/sleek = 50, - /obj/item/clothing/under/sl_suit = 50, - /obj/item/clothing/under/gentlesuit = 50, - /obj/item/clothing/under/gentlesuit/skirt = 50, - /obj/item/clothing/under/suit_jacket = 50, - /obj/item/clothing/under/suit_jacket/really_black/skirt = 50, - /obj/item/clothing/under/suit_jacket/really_black = 50, - /obj/item/clothing/under/suit_jacket/female/skirt = 50, - /obj/item/clothing/under/suit_jacket/female/ = 50, - /obj/item/clothing/under/suit_jacket/red = 50, - /obj/item/clothing/under/suit_jacket/red/skirt = 50, - /obj/item/clothing/under/suit_jacket/charcoal = 50, - /obj/item/clothing/under/suit_jacket/charcoal/skirt = 50, - /obj/item/clothing/under/suit_jacket/navy = 50, - /obj/item/clothing/under/suit_jacket/navy/skirt = 50, - /obj/item/clothing/under/suit_jacket/burgundy = 50, - /obj/item/clothing/under/suit_jacket/burgundy/skirt = 50, - /obj/item/clothing/under/suit_jacket/checkered = 50, - /obj/item/clothing/under/suit_jacket/checkered/skirt = 50, - /obj/item/clothing/under/suit_jacket/tan = 50, - /obj/item/clothing/under/suit_jacket/tan/skirt = 50, - /obj/item/clothing/under/scratch = 50, - /obj/item/clothing/under/scratch/skirt = 50, - /obj/item/clothing/under/sundress = 50, - /obj/item/clothing/under/sundress_white = 50, - /obj/item/clothing/under/rank/psych/turtleneck/sweater = 50, - /obj/item/weapon/storage/box/fluff/swimsuit = 50, - /obj/item/weapon/storage/box/fluff/swimsuit/blue = 50, - /obj/item/weapon/storage/box/fluff/swimsuit/purple = 50, - /obj/item/weapon/storage/box/fluff/swimsuit/green = 50, - /obj/item/weapon/storage/box/fluff/swimsuit/red = 50, - /obj/item/weapon/storage/box/fluff/swimsuit/white = 50, - /obj/item/weapon/storage/box/fluff/swimsuit/earth = 50, - /obj/item/weapon/storage/box/fluff/swimsuit/engineering = 50, - /obj/item/weapon/storage/box/fluff/swimsuit/science = 50, - /obj/item/weapon/storage/box/fluff/swimsuit/security = 50, - /obj/item/weapon/storage/box/fluff/swimsuit/medical = 50, - /obj/item/clothing/under/utility = 50, - /obj/item/clothing/under/utility/grey = 50, - /obj/item/clothing/under/utility/blue = 50, - /obj/item/clothing/under/fluff/v_nanovest = 50, - /obj/item/clothing/under/dress/westernbustle = 50, - /obj/item/clothing/under/wedding/bride_white = 50, - /obj/item/weapon/storage/backpack/ = 50, - /obj/item/weapon/storage/backpack/messenger = 50, - /obj/item/weapon/storage/backpack/satchel = 50) - premium = list(/obj/item/clothing/under/color/rainbow = 1) - contraband = list(/obj/item/clothing/under/rank/clown = 1) - -/obj/machinery/vending/loadout/gadget - name = "Chips Co." - desc = "A special vendor for devices and gadgets." - product_ads = "You can't RESIST our great deals!;Feeling disconnected? We have a gadget for you!;You know you have the capacity to buy our capacitors!;FILL THAT HOLE IN YOUR HEART WITH OUR PLASTIC DISTRACTIONS!!!;Devices for everyone! Chips Co.!;ROBUST INVENTORY, GREAT PRICES! ;DON'T FORGET THE oyPAD 13s PRO! ON SALE NOW, ONLY ONE THOUSAND THALERS!" - icon_state = "gadgets" - vend_delay = 11 - products = list(/obj/item/clothing/suit/circuitry = 1, - /obj/item/clothing/head/circuitry = 1, - /obj/item/clothing/shoes/circuitry = 1, - /obj/item/clothing/gloves/circuitry = 1, - /obj/item/clothing/under/circuitry = 1, - /obj/item/clothing/glasses/circuitry = 1, - /obj/item/clothing/ears/circuitry = 1, - /obj/item/device/text_to_speech = 5, - /obj/item/device/paicard = 5, - /obj/item/device/communicator = 10, - /obj/item/device/communicator/watch = 10, - /obj/item/device/radio = 10, - /obj/item/device/camera = 5, - /obj/item/device/taperecorder = 5, - /obj/item/modular_computer/tablet/preset/custom_loadout/cheap = 5, - /obj/item/device/pda = 10, - /obj/item/device/radio/headset = 10, - /obj/item/device/flashlight = 5, - /obj/item/device/laser_pointer = 3, - /obj/item/clothing/glasses/omnihud = 10) - prices = list(/obj/item/clothing/suit/circuitry = 100, - /obj/item/clothing/head/circuitry = 100, - /obj/item/clothing/shoes/circuitry = 100, - /obj/item/clothing/gloves/circuitry = 100, - /obj/item/clothing/under/circuitry = 100, - /obj/item/clothing/glasses/circuitry = 100, - /obj/item/clothing/ears/circuitry = 100, - /obj/item/device/text_to_speech = 300, - /obj/item/device/paicard = 100, - /obj/item/device/communicator = 100, - /obj/item/device/communicator/watch = 100, - /obj/item/device/radio = 100, - /obj/item/device/camera = 100, - /obj/item/device/taperecorder = 100, - /obj/item/modular_computer/tablet/preset/custom_loadout/cheap = 1000, - /obj/item/device/pda = 50, - /obj/item/device/radio/headset = 50, - /obj/item/device/flashlight = 100, - /obj/item/device/laser_pointer = 200, - /obj/item/clothing/glasses/omnihud = 100) - premium = list(/obj/item/device/perfect_tele/one_beacon = 1) - contraband = list(/obj/item/weapon/disk/nifsoft/compliance = 1) - -/obj/machinery/vending/loadout/loadout_misc - name = "Bits and Bobs" - desc = "A special vendor for things and also stuff!" - product_ads = "You never know when you might need an umbrella.;Hey kid... want some cardemon cards?;Miscellaneous for your miscellaneous heart.;Who's bob? Wouldn't you like to know.;I'm sorry there's no grappling hooks in our umbrellas.;We sell things AND stuff." - icon_state = "loadout_misc" - products = list(/obj/item/weapon/cane = 5, - /obj/item/weapon/pack/cardemon = 25, - /obj/item/weapon/deck/holder = 5, - /obj/item/weapon/deck/cah = 5, - /obj/item/weapon/deck/cah/black = 5, - /obj/item/weapon/deck/tarot = 5, - /obj/item/weapon/deck/cards = 5, - /obj/item/weapon/pack/spaceball = 10, - /obj/item/weapon/storage/pill_bottle/dice = 5, - /obj/item/weapon/storage/pill_bottle/dice_nerd = 5, - /obj/item/weapon/melee/umbrella/random = 10) - prices = list(/obj/item/weapon/cane = 100, - /obj/item/weapon/pack/cardemon = 100, - /obj/item/weapon/deck/holder = 100, - /obj/item/weapon/deck/cah = 100, - /obj/item/weapon/deck/cah/black = 100, - /obj/item/weapon/deck/tarot = 100, - /obj/item/weapon/deck/cards = 100, - /obj/item/weapon/pack/spaceball = 100, - /obj/item/weapon/storage/pill_bottle/dice = 100, - /obj/item/weapon/storage/pill_bottle/dice_nerd = 100, - /obj/item/weapon/melee/umbrella/random = 100) - premium = list(/obj/item/toy/bosunwhistle = 1) - contraband = list(/obj/item/toy/katana = 1) - -/obj/machinery/vending/loadout/overwear - name = "Big D's Best" - desc = "A special vendor using compressed matter cartridges to store large amounts of overwear!" - product_ads = "Dress your best! It's what big D would want.;Overwear for all occasions!;Big D has what you need if what you need is some form of jacket!;Need a new hoodie? Bid D has you covered.;Big D says you need a new suit!;Big D smiles when he sees you in one of his coats!" - icon_state = "suit" - vend_delay = 16 - products = list(/obj/item/clothing/suit/storage/apron = 5, - /obj/item/clothing/suit/storage/flannel/aqua = 5, - /obj/item/clothing/suit/storage/toggle/bomber = 5, - /obj/item/clothing/suit/storage/bomber/alt = 5, - /obj/item/clothing/suit/storage/flannel/brown = 5, - /obj/item/clothing/suit/storage/toggle/cardigan = 5, - /obj/item/clothing/accessory/poncho/roles/cloak/custom = 5, - /obj/item/clothing/suit/storage/duster = 5, - /obj/item/clothing/suit/storage/toggle/denim_jacket = 5, - /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen = 5, - /obj/item/clothing/suit/storage/toggle/denim_jacket/sleeveless = 5, - /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen/sleeveless = 5, - /obj/item/clothing/suit/storage/fluff/gntop = 5, - /obj/item/clothing/suit/greatcoat = 5, - /obj/item/clothing/suit/storage/flannel = 5, - /obj/item/clothing/suit/storage/greyjacket = 5, - /obj/item/clothing/suit/storage/hazardvest = 5, - /obj/item/clothing/suit/storage/toggle/hoodie/black = 5, - /obj/item/clothing/suit/storage/toggle/hoodie/red = 5, - /obj/item/clothing/suit/storage/toggle/hoodie/blue = 5, - /obj/item/clothing/suit/storage/toggle/hoodie/green = 5, - /obj/item/clothing/suit/storage/toggle/hoodie/orange = 5, - /obj/item/clothing/suit/storage/toggle/hoodie/yellow = 5, - /obj/item/clothing/suit/storage/toggle/hoodie/cti = 5, - /obj/item/clothing/suit/storage/toggle/hoodie/mu = 5, - /obj/item/clothing/suit/storage/toggle/hoodie/nt = 5, - /obj/item/clothing/suit/storage/toggle/hoodie/smw = 5, - /obj/item/clothing/suit/storage/toggle/hoodie/nrti = 5, - /obj/item/clothing/suit/storage/fluff/jacket/field = 5, - /obj/item/clothing/suit/storage/fluff/jacket/air_cavalry = 5, - /obj/item/clothing/suit/storage/fluff/jacket/air_force = 5, - /obj/item/clothing/suit/storage/fluff/jacket/navy = 5, - /obj/item/clothing/suit/storage/fluff/jacket/special_forces = 5, - /obj/item/clothing/suit/kamishimo = 5, - /obj/item/clothing/suit/kimono = 5, - /obj/item/clothing/suit/storage/toggle/labcoat = 5, - /obj/item/clothing/suit/storage/toggle/labcoat/blue = 5, - /obj/item/clothing/suit/storage/toggle/labcoat/blue_edge = 5, - /obj/item/clothing/suit/storage/toggle/labcoat/green = 5, - /obj/item/clothing/suit/storage/toggle/labcoat/orange = 5, - /obj/item/clothing/suit/storage/toggle/labcoat/pink = 5, - /obj/item/clothing/suit/storage/toggle/labcoat/red = 5, - /obj/item/clothing/suit/storage/toggle/labcoat/yellow = 5, - /obj/item/clothing/suit/leathercoat = 5, - /obj/item/clothing/suit/storage/toggle/leather_jacket = 5, - /obj/item/clothing/suit/storage/leather_jacket_alt = 5, - /obj/item/clothing/suit/storage/toggle/brown_jacket = 5, - /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen = 5, - /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen = 5, - /obj/item/clothing/suit/storage/toggle/leather_jacket/sleeveless = 5, - /obj/item/clothing/suit/storage/toggle/brown_jacket/sleeveless = 5, - /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen/sleeveless = 5, - /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen/sleeveless = 5, - /obj/item/clothing/suit/storage/miljacket = 5, - /obj/item/clothing/suit/storage/miljacket/alt = 5, - /obj/item/clothing/suit/storage/miljacket/green = 5, - /obj/item/clothing/suit/storage/apron/overalls = 5, - /obj/item/clothing/suit/storage/toggle/peacoat = 5, - /obj/item/clothing/accessory/poncho = 5, - /obj/item/clothing/accessory/poncho/green = 5, - /obj/item/clothing/accessory/poncho/red = 5, - /obj/item/clothing/accessory/poncho/purple = 5, - /obj/item/clothing/accessory/poncho/blue = 5, - /obj/item/clothing/suit/jacket/puffer = 5, - /obj/item/clothing/suit/jacket/puffer/vest = 5, - /obj/item/clothing/suit/storage/flannel/red = 5, - /obj/item/clothing/suit/unathi/robe = 5, - /obj/item/clothing/suit/storage/toggle/internalaffairs = 5, - /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket = 5, - /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket = 5, - /obj/item/clothing/suit/suspenders = 5, - /obj/item/clothing/suit/storage/toggle/track = 5, - /obj/item/clothing/suit/storage/toggle/track/blue = 5, - /obj/item/clothing/suit/storage/toggle/track/green = 5, - /obj/item/clothing/suit/storage/toggle/track/red = 5, - /obj/item/clothing/suit/storage/toggle/track/white = 5, - /obj/item/clothing/suit/storage/trench = 5, - /obj/item/clothing/suit/storage/trench/grey = 5, - /obj/item/clothing/suit/varsity = 5, - /obj/item/clothing/suit/varsity/red = 5, - /obj/item/clothing/suit/varsity/purple = 5, - /obj/item/clothing/suit/varsity/green = 5, - /obj/item/clothing/suit/varsity/blue = 5, - /obj/item/clothing/suit/varsity/brown = 5, - /obj/item/clothing/suit/storage/hooded/wintercoat = 5, - /obj/item/clothing/suit/storage/seromi/cloak/standard/white_grey = 5) - prices = list(/obj/item/clothing/suit/storage/apron = 100, - /obj/item/clothing/suit/storage/flannel/aqua = 100, - /obj/item/clothing/suit/storage/toggle/bomber = 100, - /obj/item/clothing/suit/storage/bomber/alt = 100, - /obj/item/clothing/suit/storage/flannel/brown = 100, - /obj/item/clothing/suit/storage/toggle/cardigan = 100, - /obj/item/clothing/accessory/poncho/roles/cloak/custom = 100, - /obj/item/clothing/suit/storage/duster = 100, - /obj/item/clothing/suit/storage/toggle/denim_jacket = 100, - /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen = 100, - /obj/item/clothing/suit/storage/toggle/denim_jacket/sleeveless = 100, - /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen/sleeveless = 100, - /obj/item/clothing/suit/storage/fluff/gntop = 100, - /obj/item/clothing/suit/greatcoat = 100, - /obj/item/clothing/suit/storage/flannel = 100, - /obj/item/clothing/suit/storage/greyjacket = 100, - /obj/item/clothing/suit/storage/hazardvest = 100, - /obj/item/clothing/suit/storage/toggle/hoodie/black = 100, - /obj/item/clothing/suit/storage/toggle/hoodie/red = 100, - /obj/item/clothing/suit/storage/toggle/hoodie/blue = 100, - /obj/item/clothing/suit/storage/toggle/hoodie/green = 100, - /obj/item/clothing/suit/storage/toggle/hoodie/orange = 100, - /obj/item/clothing/suit/storage/toggle/hoodie/yellow = 100, - /obj/item/clothing/suit/storage/toggle/hoodie/cti = 100, - /obj/item/clothing/suit/storage/toggle/hoodie/mu = 100, - /obj/item/clothing/suit/storage/toggle/hoodie/nt = 100, - /obj/item/clothing/suit/storage/toggle/hoodie/smw = 100, - /obj/item/clothing/suit/storage/toggle/hoodie/nrti = 100, - /obj/item/clothing/suit/storage/fluff/jacket/field = 100, - /obj/item/clothing/suit/storage/fluff/jacket/air_cavalry = 100, - /obj/item/clothing/suit/storage/fluff/jacket/air_force = 100, - /obj/item/clothing/suit/storage/fluff/jacket/navy = 100, - /obj/item/clothing/suit/storage/fluff/jacket/special_forces = 100, - /obj/item/clothing/suit/kamishimo = 100, - /obj/item/clothing/suit/kimono = 100, - /obj/item/clothing/suit/storage/toggle/labcoat = 100, - /obj/item/clothing/suit/storage/toggle/labcoat/blue = 100, - /obj/item/clothing/suit/storage/toggle/labcoat/blue_edge = 100, - /obj/item/clothing/suit/storage/toggle/labcoat/green = 100, - /obj/item/clothing/suit/storage/toggle/labcoat/orange = 100, - /obj/item/clothing/suit/storage/toggle/labcoat/pink = 100, - /obj/item/clothing/suit/storage/toggle/labcoat/red = 100, - /obj/item/clothing/suit/storage/toggle/labcoat/yellow = 100, - /obj/item/clothing/suit/leathercoat = 100, - /obj/item/clothing/suit/storage/toggle/leather_jacket = 100, - /obj/item/clothing/suit/storage/leather_jacket_alt = 100, - /obj/item/clothing/suit/storage/toggle/brown_jacket = 100, - /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen = 100, - /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen = 100, - /obj/item/clothing/suit/storage/toggle/leather_jacket/sleeveless = 100, - /obj/item/clothing/suit/storage/toggle/brown_jacket/sleeveless = 100, - /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen/sleeveless = 100, - /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen/sleeveless = 100, - /obj/item/clothing/suit/storage/miljacket = 100, - /obj/item/clothing/suit/storage/miljacket/alt = 100, - /obj/item/clothing/suit/storage/miljacket/green = 100, - /obj/item/clothing/suit/storage/apron/overalls = 100, - /obj/item/clothing/suit/storage/toggle/peacoat = 100, - /obj/item/clothing/accessory/poncho = 100, - /obj/item/clothing/accessory/poncho/green = 100, - /obj/item/clothing/accessory/poncho/red = 100, - /obj/item/clothing/accessory/poncho/purple = 100, - /obj/item/clothing/accessory/poncho/blue = 100, - /obj/item/clothing/suit/jacket/puffer = 100, - /obj/item/clothing/suit/jacket/puffer/vest = 100, - /obj/item/clothing/suit/storage/flannel/red = 100, - /obj/item/clothing/suit/unathi/robe = 100, - /obj/item/clothing/suit/storage/toggle/internalaffairs = 100, - /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket = 100, - /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket = 100, - /obj/item/clothing/suit/suspenders = 100, - /obj/item/clothing/suit/storage/toggle/track = 100, - /obj/item/clothing/suit/storage/toggle/track/blue = 100, - /obj/item/clothing/suit/storage/toggle/track/green = 100, - /obj/item/clothing/suit/storage/toggle/track/red = 100, - /obj/item/clothing/suit/storage/toggle/track/white = 100, - /obj/item/clothing/suit/storage/trench = 100, - /obj/item/clothing/suit/storage/trench/grey = 100, - /obj/item/clothing/suit/varsity = 100, - /obj/item/clothing/suit/varsity/red = 100, - /obj/item/clothing/suit/varsity/purple = 100, - /obj/item/clothing/suit/varsity/green = 100, - /obj/item/clothing/suit/varsity/blue = 100, - /obj/item/clothing/suit/varsity/brown = 100, - /obj/item/clothing/suit/storage/hooded/wintercoat = 100, - /obj/item/clothing/suit/storage/seromi/cloak/standard/white_grey = 100) - premium = list(/obj/item/clothing/suit/imperium_monk = 3) - contraband = list(/obj/item/toy/katana = 1) - -/obj/machinery/vending/loadout/costume - name = "Thespian's Delight" - desc = "Sometimes nerds need costumes!" - product_ads = "Don't let your art be stifled!;Remember, practice makes perfect!;Break a leg!;Don't make me get the cane!;Thespian's Delight entering stage right!;Costumes for your acting needs!" - icon = 'icons/obj/vending.dmi' - icon_state = "theater" - products = list(/obj/item/clothing/suit/storage/hooded/carp_costume = 3, - /obj/item/clothing/suit/storage/hooded/carp_costume = 3, - /obj/item/clothing/suit/chickensuit = 3, - /obj/item/clothing/head/chicken = 3, - /obj/item/clothing/head/helmet/gladiator = 3, - /obj/item/clothing/under/gladiator = 3, - /obj/item/clothing/suit/storage/toggle/labcoat/mad = 3, - /obj/item/clothing/under/gimmick/rank/captain/suit = 3, - /obj/item/clothing/glasses/gglasses = 3, - /obj/item/clothing/head/flatcap = 3, - /obj/item/clothing/shoes/boots/jackboots = 3, - /obj/item/clothing/under/schoolgirl = 3, - /obj/item/clothing/head/kitty = 3, - /obj/item/clothing/glasses/sunglasses/blindfold = 3, - /obj/item/clothing/head/beret = 3, - /obj/item/clothing/under/skirt = 3, - /obj/item/clothing/under/suit_jacket = 3, - /obj/item/clothing/head/that = 3, - /obj/item/clothing/accessory/wcoat = 3, - /obj/item/clothing/under/scratch = 3, - /obj/item/clothing/shoes/white = 3, - /obj/item/clothing/gloves/white = 3, - /obj/item/clothing/under/kilt = 3, - /obj/item/clothing/glasses/monocle = 3, - /obj/item/clothing/under/sl_suit = 3, - /obj/item/clothing/mask/fakemoustache = 3, - /obj/item/weapon/cane = 3, - /obj/item/clothing/head/bowler = 3, - /obj/item/clothing/head/plaguedoctorhat = 3, - /obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 3, - /obj/item/clothing/mask/gas/plaguedoctor/fluff = 3, - /obj/item/clothing/under/owl = 3, - /obj/item/clothing/mask/gas/owl_mask = 3, - /obj/item/clothing/under/waiter = 3, - /obj/item/clothing/suit/storage/apron = 3, - /obj/item/clothing/under/pirate = 3, - /obj/item/clothing/head/pirate = 3, - /obj/item/clothing/suit/pirate = 3, - /obj/item/clothing/glasses/eyepatch = 3, - /obj/item/clothing/head/ushanka = 3, - /obj/item/clothing/under/soviet = 3, - /obj/item/clothing/suit/imperium_monk = 1, - /obj/item/clothing/suit/holidaypriest = 3, - /obj/item/clothing/head/witchwig = 3, - /obj/item/clothing/under/sundress = 3, - /obj/item/weapon/staff/broom = 3, - /obj/item/clothing/suit/wizrobe/fake = 3, - /obj/item/clothing/head/wizard/fake = 3, - /obj/item/weapon/staff = 3, - /obj/item/clothing/mask/gas/sexyclown = 3, - /obj/item/clothing/under/sexyclown = 3, - /obj/item/clothing/mask/gas/sexymime = 3, - /obj/item/clothing/under/sexymime = 3, - /obj/item/clothing/suit/storage/hooded/knight_costume = 3, - /obj/item/clothing/suit/storage/hooded/knight_costume/galahad = 3, - /obj/item/clothing/suit/storage/hooded/knight_costume/lancelot = 3, - /obj/item/clothing/suit/storage/hooded/knight_costume/robin = 3, - /obj/item/clothing/suit/armor/combat/crusader_costume = 3, - /obj/item/clothing/suit/armor/combat/crusader_costume/bedevere = 3, - /obj/item/clothing/head/helmet/combat/crusader_costume = 3, - /obj/item/clothing/head/helmet/combat/bedevere_costume = 3, - /obj/item/clothing/gloves/combat/knight_costume = 3, - /obj/item/clothing/gloves/combat/knight_costume/brown = 3, - /obj/item/clothing/shoes/knight_costume = 3, - /obj/item/clothing/shoes/knight_costume/black = 3) - prices = list(/obj/item/clothing/suit/storage/hooded/carp_costume = 200, - /obj/item/clothing/suit/storage/hooded/carp_costume = 200, - /obj/item/clothing/suit/chickensuit = 200, - /obj/item/clothing/head/chicken = 200, - /obj/item/clothing/head/helmet/gladiator = 300, - /obj/item/clothing/under/gladiator = 500, - /obj/item/clothing/suit/storage/toggle/labcoat/mad = 200, - /obj/item/clothing/under/gimmick/rank/captain/suit = 200, - /obj/item/clothing/glasses/gglasses = 200, - /obj/item/clothing/head/flatcap = 200, - /obj/item/clothing/shoes/boots/jackboots = 200, - /obj/item/clothing/under/schoolgirl = 200, - /obj/item/clothing/head/kitty = 200, - /obj/item/clothing/glasses/sunglasses/blindfold = 200, - /obj/item/clothing/head/beret = 200, - /obj/item/clothing/under/skirt = 200, - /obj/item/clothing/under/suit_jacket = 200, - /obj/item/clothing/head/that = 200, - /obj/item/clothing/accessory/wcoat = 200, - /obj/item/clothing/under/scratch = 200, - /obj/item/clothing/shoes/white = 200, - /obj/item/clothing/gloves/white = 200, - /obj/item/clothing/under/kilt = 200, - /obj/item/clothing/glasses/monocle = 400, - /obj/item/clothing/under/sl_suit = 200, - /obj/item/clothing/mask/fakemoustache = 200, - /obj/item/weapon/cane = 300, - /obj/item/clothing/head/bowler = 200, - /obj/item/clothing/head/plaguedoctorhat = 300, - /obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 300, - /obj/item/clothing/mask/gas/plaguedoctor/fluff = 600, - /obj/item/clothing/under/owl = 400, - /obj/item/clothing/mask/gas/owl_mask = 400, - /obj/item/clothing/under/waiter = 100, - /obj/item/clothing/suit/storage/apron = 200, - /obj/item/clothing/under/pirate = 300, - /obj/item/clothing/head/pirate = 400, - /obj/item/clothing/suit/pirate = 600, - /obj/item/clothing/glasses/eyepatch = 200, - /obj/item/clothing/head/ushanka = 200, - /obj/item/clothing/under/soviet = 200, - /obj/item/clothing/suit/imperium_monk = 2000, - /obj/item/clothing/suit/holidaypriest = 200, - /obj/item/clothing/head/witchwig = 200, - /obj/item/clothing/under/sundress = 50, - /obj/item/weapon/staff/broom = 400, - /obj/item/clothing/suit/wizrobe/fake = 200, - /obj/item/clothing/head/wizard/fake = 200, - /obj/item/weapon/staff = 400, - /obj/item/clothing/mask/gas/sexyclown = 600, - /obj/item/clothing/under/sexyclown = 200, - /obj/item/clothing/mask/gas/sexymime = 600, - /obj/item/clothing/under/sexymime = 200, - /obj/item/clothing/suit/storage/hooded/knight_costume = 200, - /obj/item/clothing/suit/storage/hooded/knight_costume/galahad = 200, - /obj/item/clothing/suit/storage/hooded/knight_costume/lancelot = 200, - /obj/item/clothing/suit/storage/hooded/knight_costume/robin = 200, - /obj/item/clothing/suit/armor/combat/crusader_costume = 200, - /obj/item/clothing/suit/armor/combat/crusader_costume/bedevere = 200, - /obj/item/clothing/head/helmet/combat/crusader_costume = 200, - /obj/item/clothing/head/helmet/combat/bedevere_costume = 200, - /obj/item/clothing/gloves/combat/knight_costume = 200, - /obj/item/clothing/gloves/combat/knight_costume/brown = 200, - /obj/item/clothing/shoes/knight_costume = 200, - /obj/item/clothing/shoes/knight_costume/black = 200) - premium = list(/obj/item/clothing/suit/imperium_monk = 3, - /obj/item/clothing/suit/barding/agatha = 2, - /obj/item/clothing/suit/barding/alt_agatha = 2, - /obj/item/clothing/suit/barding/mason = 2, - /obj/item/clothing/suit/drake_cloak = 2) - contraband = list(/obj/item/clothing/head/syndicatefake = 1, - /obj/item/clothing/suit/syndicatefake = 1) - -//TFF 19/12/19 - Brig version of a seed storage vendor -/obj/machinery/seed_storage/brig - name = "Prisoners' food seed storage" - starting_seeds = list( - /obj/item/seeds/appleseed = 3, - /obj/item/seeds/bananaseed = 3, - /obj/item/seeds/berryseed = 3, - /obj/item/seeds/cabbageseed = 3, - /obj/item/seeds/carrotseed = 3, - /obj/item/seeds/celery = 3, - /obj/item/seeds/chantermycelium = 3, - /obj/item/seeds/cherryseed = 3, - /obj/item/seeds/chiliseed = 3, - /obj/item/seeds/cocoapodseed = 3, - /obj/item/seeds/cornseed = 3, - /obj/item/seeds/durian = 3, - /obj/item/seeds/eggplantseed = 3, - /obj/item/seeds/grapeseed = 3, - /obj/item/seeds/grassseed = 3, - /obj/item/seeds/replicapod = 3, - /obj/item/seeds/lavenderseed = 3, - /obj/item/seeds/lemonseed = 3, - /obj/item/seeds/lettuce = 3, - /obj/item/seeds/limeseed = 3, - /obj/item/seeds/mtearseed = 2, - /obj/item/seeds/orangeseed = 3, - /obj/item/seeds/onionseed = 3, - /obj/item/seeds/peanutseed = 3, - /obj/item/seeds/plumpmycelium = 3, - /obj/item/seeds/poppyseed = 3, - /obj/item/seeds/potatoseed = 3, - /obj/item/seeds/pumpkinseed = 3, - /obj/item/seeds/rhubarb = 3, - /obj/item/seeds/riceseed = 3, - /obj/item/seeds/rose = 3, - /obj/item/seeds/soyaseed = 3, - /obj/item/seeds/pineapple = 3, - /obj/item/seeds/sugarcaneseed = 3, - /obj/item/seeds/sunflowerseed = 3, - /obj/item/seeds/shandseed = 2, - /obj/item/seeds/tobaccoseed = 3, - /obj/item/seeds/tomatoseed = 3, - /obj/item/seeds/towermycelium = 3, - /obj/item/seeds/vanilla = 3, - /obj/item/seeds/watermelonseed = 3, - /obj/item/seeds/wheatseed = 3, - /obj/item/seeds/whitebeetseed = 3, - /obj/item/seeds/wabback = 2) - -/obj/machinery/vending/hydronutrients/brig - name = "Brig NutriMax" - desc = "A plant nutrients vendor. Seems some items aren't included." - products = list(/obj/item/weapon/reagent_containers/glass/bottle/eznutrient = 6,/obj/item/weapon/reagent_containers/glass/bottle/left4zed = 4,/obj/item/weapon/reagent_containers/glass/bottle/robustharvest = 3,/obj/item/weapon/plantspray/pests = 20, - /obj/item/weapon/reagent_containers/glass/beaker = 4,/obj/item/weapon/storage/bag/plants = 5) - premium = list(/obj/item/weapon/reagent_containers/glass/bottle/ammonia = 10,/obj/item/weapon/reagent_containers/glass/bottle/diethylamine = 5) - -/obj/machinery/vending/emergencyfood - name = "Food Cube Dispenser" - desc = "An ominous machine dispensing food cubes. It will keep you fed, but at what cost?" - icon = 'icons/obj/vending_vr.dmi' - icon_state = "foodcube" - product_ads = "Afraid to starve?;Starvation is not an option!;Add water before consumption.;Let me take care of you.;Dire circumstances call for food cubes, do not let the taste deter you." - products = list(/obj/item/weapon/storage/box/wings/tray = 5, - /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle = 10) - contraband = list(/obj/item/weapon/storage/box/wings/tray = 5) - -/obj/machinery/vending/emergencyfood/filled - products = list(/obj/item/weapon/storage/box/wings/tray = 40) - contraband = list(/obj/item/weapon/storage/box/wings/tray = 20) - -/obj/machinery/vending/cola - icon_state = "Soda_Machine" - -/obj/machinery/vending/cola/soft - icon = 'icons/obj/vending_vr.dmi' - icon_state = "Cola_Machine" - -//Tweaked existing vendors -/obj/machinery/vending/hydroseeds/New() - products += list(/obj/item/seeds/shrinkshroom = 3,/obj/item/seeds/megashroom = 3) - ..() - -/obj/machinery/vending/security/New() - products += list(/obj/item/weapon/gun/energy/taser = 8,/obj/item/weapon/gun/energy/stunrevolver = 4, - /obj/item/weapon/reagent_containers/spray/pepper = 6,/obj/item/taperoll/police = 6, - /obj/item/clothing/glasses/omnihud/sec = 6) - ..() - -/obj/machinery/vending/tool/New() - products += list(/obj/item/weapon/reagent_containers/spray/windowsealant = 5) - ..() - -/obj/machinery/vending/engivend/New() - products += list(/obj/item/clothing/glasses/omnihud/eng = 6) - contraband += list(/obj/item/weapon/rms = 5) - ..() - -/obj/machinery/vending/medical/New() - products += list(/obj/item/weapon/storage/box/khcrystal = 4,/obj/item/weapon/backup_implanter = 3, - /obj/item/clothing/glasses/omnihud/med = 4, /obj/item/device/glasses_kit = 1, /obj/item/weapon/storage/quickdraw/syringe_case = 4) - ..() - -//I want this not just as part of the zoo. ;v -/obj/machinery/vending/food - name = "Food-O-Mat" - desc = "A technological marvel, supposedly able to cook or mix a large variety of food or drink." - icon_state = "hotfood" - products = list(/obj/item/weapon/tray = 8, - /obj/item/weapon/material/kitchen/utensil/fork = 6, - /obj/item/weapon/material/knife/plastic = 6, - /obj/item/weapon/material/kitchen/utensil/spoon = 6, - /obj/item/weapon/reagent_containers/food/snacks/tomatosoup = 8, - /obj/item/weapon/reagent_containers/food/snacks/mushroomsoup = 8, - /obj/item/weapon/reagent_containers/food/snacks/jellysandwich = 8, - /obj/item/weapon/reagent_containers/food/snacks/taco = 8, - /obj/item/weapon/reagent_containers/food/snacks/cheeseburger = 8, - /obj/item/weapon/reagent_containers/food/snacks/grilledcheese = 8, - /obj/item/weapon/reagent_containers/food/snacks/hotdog = 8, - /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato = 8, - /obj/item/weapon/reagent_containers/food/snacks/omelette = 8, - /obj/item/weapon/reagent_containers/food/snacks/pastatomato = 8, - /obj/item/weapon/reagent_containers/food/snacks/tofuburger = 8, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza = 2, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza = 2, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita = 2, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza = 2, - /obj/item/weapon/reagent_containers/food/snacks/waffles = 4, - /obj/item/weapon/reagent_containers/food/snacks/muffin = 4, - /obj/item/weapon/reagent_containers/food/snacks/appletart = 4, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake = 2, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread = 2, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread = 2 - ) - contraband = list(/obj/item/weapon/reagent_containers/food/snacks/mysterysoup = 10) - vend_delay = 15 - -/obj/machinery/vending/food/arojoan //Fluff vendor for the lewd houseboat. - name = "Custom Food-O-Mat" - desc = "Do you think Joan cooks? Of course not. Lazy squirrel!" - products = list(/obj/item/weapon/tray = 6, - /obj/item/weapon/material/kitchen/utensil/fork = 6, - /obj/item/weapon/material/knife/plastic = 6, - /obj/item/weapon/material/kitchen/utensil/spoon = 6, - /obj/item/weapon/reagent_containers/food/snacks/hotandsoursoup = 3, - /obj/item/weapon/reagent_containers/food/snacks/kitsuneudon = 3, - /obj/item/weapon/reagent_containers/food/snacks/generalschicken = 3, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/sushi = 2, - /obj/item/weapon/reagent_containers/food/snacks/jellysandwich = 3, - /obj/item/weapon/reagent_containers/food/snacks/grilledcheese = 3, - /obj/item/weapon/reagent_containers/food/snacks/hotdog = 3, - /obj/item/weapon/storage/box/wings = 2, - /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato = 3, - /obj/item/weapon/reagent_containers/food/snacks/omelette = 3, - /obj/item/weapon/reagent_containers/food/snacks/waffles = 3, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza = 1, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza = 1, - /obj/item/weapon/reagent_containers/food/snacks/appletart = 2, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake = 1, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread = 2, - /obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread = 2 - ) - contraband = list(/obj/item/weapon/reagent_containers/food/snacks/mysterysoup = 10) - vend_delay = 15 - /obj/machinery/vending/abductor name = "Abduct-U" desc = "A mysterious machine which can fabricate many tools for acquiring test subjects." @@ -1596,7 +294,7 @@ /obj/item/device/perfect_tele/alien = 1 ) vend_delay = 15 - + /obj/machinery/vending/loadout name = "Fingers and Toes" desc = "A special vendor for gloves and shoes!" @@ -2501,7 +1199,7 @@ /obj/item/clothing/suit/varsity/blue = 5, /obj/item/clothing/suit/varsity/brown = 5, /obj/item/clothing/suit/storage/hooded/wintercoat = 5, - /obj/item/clothing/suit/storage/seromi/cloak/standard/white_grey = 5) + /obj/item/clothing/suit/storage/teshari/cloak/standard/white_grey = 5) prices = list(/obj/item/clothing/suit/storage/apron = 100, /obj/item/clothing/suit/storage/flannel/aqua = 100, /obj/item/clothing/suit/storage/toggle/bomber = 100, @@ -2587,7 +1285,7 @@ /obj/item/clothing/suit/varsity/blue = 100, /obj/item/clothing/suit/varsity/brown = 100, /obj/item/clothing/suit/storage/hooded/wintercoat = 100, - /obj/item/clothing/suit/storage/seromi/cloak/standard/white_grey = 100) + /obj/item/clothing/suit/storage/teshari/cloak/standard/white_grey = 100) premium = list(/obj/item/clothing/suit/imperium_monk = 3) contraband = list(/obj/item/toy/katana = 1) @@ -3489,7 +2187,7 @@ /obj/item/clothing/suit/varsity/blue = 5, /obj/item/clothing/suit/varsity/brown = 5, /obj/item/clothing/suit/storage/hooded/wintercoat = 5, - /obj/item/clothing/suit/storage/seromi/cloak/standard/white_grey = 5, + /obj/item/clothing/suit/storage/teshari/cloak/standard/white_grey = 5, /obj/item/clothing/suit/imperium_monk = 3, /obj/item/clothing/head/helmet/space/void/engineering = 5, /obj/item/clothing/suit/space/void/engineering = 5, diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index c48f98fc33..eff908c898 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -67,9 +67,8 @@ //Tanning! for(var/obj/item/stack/hairlesshide/HH in washing) - var/obj/item/stack/WL = new HH.wet_type(src) - if(istype(WL)) - WL.amount = HH.amount + var/obj/item/stack/wetleather/WL = new(src) + WL.amount = HH.amount washing -= HH HH.forceMove(get_turf(src)) HH.use(HH.amount) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index e58e427892..7b5bd1ae61 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -319,10 +319,11 @@ cell = null internal_tank = null - GLOB.mech_destroyed_roundstat++ //CHOMP Edit This is for the roundtrivia system if(smoke_possible) //Just making sure nothing is running. qdel(smoke_system) + GLOB.mech_destroyed_roundstat++ + QDEL_NULL(pr_int_temp_processor) QDEL_NULL(pr_inertial_movement) QDEL_NULL(pr_give_air) diff --git a/code/game/objects/effects/alien/alien egg.dm b/code/game/objects/effects/alien/alien egg.dm index 3e96f93fbd..da12ae3f16 100644 --- a/code/game/objects/effects/alien/alien egg.dm +++ b/code/game/objects/effects/alien/alien egg.dm @@ -56,10 +56,10 @@ // Check for bans properly. if(jobban_isbanned(user, MODE_XENOMORPH)) - to_chat(user, "You are banned from playing a Xenomorph.") + to_chat(user, "You are banned from playing a Genaprawn.") //CHOMPedit return - var/confirm = alert(user, "Are you sure you want to join as a Xenomorph larva?", "Become Larva", "No", "Yes") + var/confirm = alert(user, "Are you sure you want to join as a Genaprawn larva?", "Become Larva", "No", "Yes") //CHOMPedit if(!src || confirm != "Yes") return diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 21b7463637..7c64f1b203 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -8,7 +8,7 @@ subspace_transmission = 1 canhear_range = 0 // can't hear headsets from very far away slot_flags = SLOT_EARS - sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/ears.dmi') + sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/teshari/ears.dmi') var/translate_binary = 0 var/translate_hive = 0 diff --git a/code/game/objects/items/devices/radio/headset_vr.dm b/code/game/objects/items/devices/radio/headset_vr.dm index 2682d9db97..8285fade75 100644 --- a/code/game/objects/items/devices/radio/headset_vr.dm +++ b/code/game/objects/items/devices/radio/headset_vr.dm @@ -22,7 +22,7 @@ icon_state = "nt_headset_alt" /obj/item/device/radio/headset - sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/ears.dmi', + sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/teshari/ears.dmi', SPECIES_WEREBEAST = 'icons/mob/species/werebeast/ears.dmi') /obj/item/device/radio/headset/mob_headset //Adminbus headset for simplemob shenanigans. diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index b122b590ad..791a36b8da 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -1,4 +1,5 @@ /obj/item/device/radio/intercom + listening = 0 //CHOMP Edit: Temporary bandaid fix for comms lag. name = "station intercom (General)" desc = "Talk through this." icon = 'icons/obj/radio_vr.dmi' //VOREStation Edit - New Icon @@ -215,4 +216,4 @@ /obj/item/device/radio/intercom/locked/confessional name = "confessional intercom" - frequency = 1480 \ No newline at end of file + frequency = 1480 diff --git a/code/game/objects/items/devices/translocator_vr.dm b/code/game/objects/items/devices/translocator_vr.dm index 348046cd64..36cfb226a2 100644 --- a/code/game/objects/items/devices/translocator_vr.dm +++ b/code/game/objects/items/devices/translocator_vr.dm @@ -552,3 +552,7 @@ GLOBAL_LIST_BOILERPLATE(premade_tele_beacons, /obj/item/device/perfect_tele_beac loc_network = "unkthree" /obj/item/device/perfect_tele/frontier/unknown/four loc_network = "unkfour" +/obj/item/device/perfect_tele/frontier/unknown/five + loc_network = "unkfive" +/obj/item/device/perfect_tele/frontier/unknown/six + loc_network = "unksix" diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 3076d2dfb8..c48f57e693 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -1,14 +1,18 @@ /obj/item/stack/animalhide name = "hide" desc = "The hide of some creature." + description_info = "Use something sharp, like a knife, to scrape the hairs/feathers/etc off this hide to prepare it for tanning." icon_state = "sheet-hide" drop_sound = 'sound/items/drop/cloth.ogg' pickup_sound = 'sound/items/pickup/cloth.ogg' amount = 1 + max_amount = 20 stacktype = "hide" no_variants = TRUE - - var/process_type = /obj/item/stack/hairlesshide +// This needs to be very clearly documented for players. Whether it should stay in the main description is up for debate. +/obj/item/stack/animalhide/examine(var/mob/user) + . = ..() + . += description_info /obj/item/stack/animalhide/human name = "skin" @@ -18,7 +22,6 @@ no_variants = FALSE drop_sound = 'sound/items/drop/leather.ogg' pickup_sound = 'sound/items/pickup/leather.ogg' - amount = 1 stacktype = "hide-human" /obj/item/stack/animalhide/corgi @@ -26,7 +29,6 @@ desc = "The by-product of corgi farming." singular_name = "corgi hide piece" icon_state = "sheet-corgi" - amount = 1 stacktype = "hide-corgi" /obj/item/stack/animalhide/cat @@ -34,7 +36,6 @@ desc = "The by-product of cat farming." singular_name = "cat hide piece" icon_state = "sheet-cat" - amount = 1 stacktype = "hide-cat" /obj/item/stack/animalhide/monkey @@ -42,7 +43,6 @@ desc = "The by-product of monkey farming." singular_name = "monkey hide piece" icon_state = "sheet-monkey" - amount = 1 stacktype = "hide-monkey" /obj/item/stack/animalhide/lizard @@ -50,7 +50,6 @@ desc = "Sssssss..." singular_name = "lizard skin piece" icon_state = "sheet-lizard" - amount = 1 stacktype = "hide-lizard" /obj/item/stack/animalhide/xeno @@ -58,7 +57,6 @@ desc = "The skin of a terrible creature." singular_name = "alien hide piece" icon_state = "sheet-xeno" - amount = 1 stacktype = "hide-xeno" //don't see anywhere else to put these, maybe together they could be used to make the xenos suit? @@ -68,7 +66,6 @@ singular_name = "alien chitin piece" icon = 'icons/mob/alien.dmi' icon_state = "chitin" - amount = 1 stacktype = "hide-chitin" /obj/item/xenos_claw @@ -88,19 +85,28 @@ if(has_edge(W) || is_sharp(W)) //visible message on mobs is defined as visible_message(var/message, var/self_message, var/blind_message) user.visible_message("\The [user] starts cutting hair off \the [src]", "You start cutting the hair off \the [src]", "You hear the sound of a knife rubbing against flesh") - if(do_after(user,50)) - to_chat(user, "You cut the hair from this [src.singular_name]") + var/scraped = 0 + while(amount > 0 && do_after(user, 2.5 SECONDS)) // 2.5s per hide //Try locating an exisitng stack on the tile and add to there if possible - for(var/obj/item/stack/hairlesshide/HS in user.loc) - if(HS.amount < 50 && istype(HS, process_type)) - HS.amount++ - src.use(1) - return - //If it gets to here it means it did not find a suitable stack on the tile. - var/obj/item/stack/HS = new process_type(usr.loc) - if(istype(HS)) - HS.amount = 1 + var/obj/item/stack/hairlesshide/H = null + for(var/obj/item/stack/hairlesshide/HS in user.loc) // Could be scraping something inside a locker, hence the .loc, not get_turf + if(HS.amount < HS.max_amount) + H = HS + break + + // Either we found a valid stack, in which case increment amount, + // Or we need to make a new stack + if(istype(H)) + H.amount++ + else + H = new /obj/item/stack/hairlesshide(user.loc) + + // Increment the amount src.use(1) + scraped++ + + if(scraped) + to_chat(user, SPAN_NOTICE("You scrape the hair off [scraped] hide\s.")) else ..() @@ -110,31 +116,43 @@ /obj/item/stack/hairlesshide name = "hairless hide" desc = "This hide was stripped of it's hair, but still needs tanning." + description_info = "Get it wet to continue tanning this into leather.
\ + You could set it in a river, wash it with a sink, or just splash water on it with a bucket." singular_name = "hairless hide piece" icon_state = "sheet-hairlesshide" no_variants = FALSE - amount = 1 + max_amount = 20 stacktype = "hairlesshide" - var/cleaning = FALSE // Can we be water_acted, or are we busy? To prevent accidental hide duplication and the collapse of causality. - var/wet_type = /obj/item/stack/wetleather +/obj/item/stack/hairlesshide/examine(var/mob/user) + . = ..() + . += description_info /obj/item/stack/hairlesshide/water_act(var/wateramount) - ..() - cleaning = TRUE - while(amount > 0 && wateramount > 0) - use(1) - wateramount-- - new wet_type(get_turf(src)) - cleaning = FALSE + . = ..() + wateramount = min(amount, round(wateramount)) + for(var/i in 1 to wateramount) + var/obj/item/stack/wetleather/H = null + for(var/obj/item/stack/wetleather/HS in get_turf(src)) // Doesn't have a user, can't just use their loc + if(HS.amount < HS.max_amount) + H = HS + break + + // Either we found a valid stack, in which case increment amount, + // Or we need to make a new stack + if(istype(H)) + H.amount++ + else + H = new /obj/item/stack/wetleather(get_turf(src)) - return + // Increment the amount + src.use(1) /obj/item/stack/hairlesshide/proc/rapidcure(var/stacknum = 1) stacknum = min(stacknum, amount) while(stacknum) - var/obj/item/stack/wetleather/I = new wet_type(get_turf(src)) + var/obj/item/stack/wetleather/I = new /obj/item/stack/wetleather(get_turf(src)) if(istype(I)) I.dry() @@ -146,16 +164,34 @@ /obj/item/stack/wetleather name = "wet leather" desc = "This leather has been cleaned but still needs to be dried." + description_info = "To finish tanning the leather, you need to dry it. \ + You could place it under a fire, \ + put it in a drying rack, \ + or build a tanning rack from steel or wooden boards." singular_name = "wet leather piece" icon_state = "sheet-wetleather" var/wetness = 30 //Reduced when exposed to high temperautres var/drying_threshold_temperature = 500 //Kelvin to start drying no_variants = FALSE - amount = 1 + max_amount = 20 stacktype = "wetleather" var/dry_type = /obj/item/stack/material/leather +/obj/item/stack/wetleather/examine(var/mob/user) + . = ..() + . += description_info + . += "\The [src] is [get_dryness_text()]." + +/obj/item/stack/wetleather/proc/get_dryness_text() + if(wetness > 20) + return "wet" + if(wetness > 10) + return "damp" + if(wetness) + return "almost dry" + return "dry" + /obj/item/stack/wetleather/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) ..() if(exposed_temperature >= drying_threshold_temperature) @@ -164,17 +200,87 @@ dry() /obj/item/stack/wetleather/proc/dry() - //Try locating an exisitng stack on the tile and add to there if possible - for(var/obj/item/stack/material/leather/HS in src.loc) - if(HS.amount < 50) - HS.amount++ - wetness = initial(wetness) - src.use(1) - return - //If it gets to here it means it did not find a suitable stack on the tile. - var/obj/item/stack/HS = new dry_type(src.loc) + var/obj/item/stack/material/leather/L = new(src.loc) + L.amount = amount + use(amount) + return L - if(istype(HS)) - HS.amount = 1 - wetness = initial(wetness) - src.use(1) +/obj/item/stack/wetleather/transfer_to(obj/item/stack/S, var/tamount=null, var/type_verified) + . = ..() + if(.) // If it transfers any, do a weighted average of the wetness + var/obj/item/stack/wetleather/W = S + var/oldamt = W.amount - . + W.wetness = round(((oldamt * W.wetness) + (. * wetness)) / W.amount) + + + +/obj/structure/tanning_rack + name = "tanning rack" + desc = "A rack used to stretch leather out and hold it taut during the tanning process." + icon = 'icons/obj/kitchen.dmi' + icon_state = "spike" + + var/obj/item/stack/wetleather/drying = null + +/obj/structure/tanning_rack/Initialize() + . = ..() + START_PROCESSING(SSobj, src) // SSObj fires ~every 2s , starting from wetness 30 takes ~1m + +/obj/structure/tanning_rack/Destroy() + STOP_PROCESSING(SSobj, src) + return ..() + +/obj/structure/tanning_rack/process() + if(drying && drying.wetness) + drying.wetness = max(drying.wetness - 1, 0) + if(!drying.wetness) + visible_message("The [drying] is dry!") + update_icon() + +/obj/structure/tanning_rack/examine(var/mob/user) + . = ..() + if(drying) + . += "\The [drying] is [drying.get_dryness_text()]." + +/obj/structure/tanning_rack/update_icon() + overlays.Cut() + if(drying) + var/image/I + if(drying.wetness) + I = image(icon, "leather_wet") + else + I = image(icon, "leather_dry") + add_overlay(I) + +/obj/structure/tanning_rack/attackby(var/atom/A, var/mob/user) + if(istype(A, /obj/item/stack/wetleather)) + if(!drying) // If not drying anything, start drying the thing + if(user.unEquip(A, target = src)) + drying = A + else // Drying something, add if possible + var/obj/item/stack/wetleather/W = A + W.transfer_to(drying, W.amount, TRUE) + update_icon() + return TRUE + return ..() + +/obj/structure/tanning_rack/attack_hand(var/mob/user) + if(drying) + var/obj/item/stack/S = drying + if(!drying.wetness) // If it's dry, make a stack of dry leather and prepare to put that in their hands + var/obj/item/stack/material/leather/L = new(src) + L.amount = drying.amount + drying.use(drying.amount) + S = L + + if(ishuman(user)) + var/mob/living/carbon/human/H = user + if(!H.put_in_any_hand_if_possible(S)) + S.forceMove(get_turf(src)) + else + S.forceMove(get_turf(src)) + drying = null + update_icon() + +/obj/structure/tanning_rack/attack_robot(var/mob/user) + attack_hand(user) // That has checks to \ No newline at end of file diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 924d753c28..0f7405096d 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -19,7 +19,7 @@ var/cuff_sound = 'sound/weapons/handcuffs.ogg' var/cuff_type = "handcuffs" var/use_time = 30 - sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/handcuffs.dmi') + sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/teshari/handcuffs.dmi') /obj/item/weapon/handcuffs/get_worn_icon_state(var/slot_name) if(slot_name == slot_handcuffed_str) @@ -214,7 +214,7 @@ var/last_chew = 0 origin_tech = list(TECH_MATERIAL = 1) breakouttime = 300 //Deciseconds = 30s = 0.5 minute cuff_type = "legcuffs" - sprite_sheets = list("Teshari" = 'icons/mob/species/seromi/handcuffs.dmi') + sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/teshari/handcuffs.dmi') elastic = 0 cuff_sound = 'sound/weapons/handcuffs.ogg' //This shold work for now. diff --git a/code/game/objects/items/weapons/id cards/cards.dm b/code/game/objects/items/weapons/id cards/cards.dm index fa56f6ccc1..e62268c2c1 100644 --- a/code/game/objects/items/weapons/id cards/cards.dm +++ b/code/game/objects/items/weapons/id cards/cards.dm @@ -13,19 +13,48 @@ */ /obj/item/weapon/card name = "card" - desc = "Does card things." - icon = 'icons/obj/card.dmi' + desc = "A tiny plaque of plastic. Does card things." + icon = 'icons/obj/card_new.dmi' w_class = ITEMSIZE_TINY slot_flags = SLOT_EARS var/associated_account_number = 0 + var/list/initial_sprite_stack = list("") + var/base_icon = 'icons/obj/card_new.dmi' + var/list/sprite_stack + var/list/files = list( ) drop_sound = 'sound/items/drop/card.ogg' pickup_sound = 'sound/items/pickup/card.ogg' +/obj/item/weapon/card/New() + . = ..() + reset_icon() + +/obj/item/weapon/card/proc/reset_icon() + sprite_stack = initial_sprite_stack + update_icon() + +/obj/item/weapon/card/update_icon() + if(!sprite_stack || !istype(sprite_stack) || sprite_stack == list("")) + icon = base_icon + icon_state = initial(icon_state) + + var/icon/I = null + for(var/iconstate in sprite_stack) + if(!iconstate) + iconstate = icon_state + if(I) + var/icon/IC = new(base_icon, iconstate) + I.Blend(IC, ICON_OVERLAY) + else + I = new/icon(base_icon, iconstate) + if(I) + icon = I + /obj/item/weapon/card/data - name = "data disk" - desc = "A disk of data." + name = "data card" + desc = "A solid-state storage card, used to back up or transfer information. What knowledge could it contain?" icon_state = "data" var/function = "storage" var/data = "null" @@ -35,20 +64,20 @@ pickup_sound = 'sound/items/pickup/disk.ogg' /obj/item/weapon/card/data/verb/label(t as text) - set name = "Label Disk" + set name = "Label Card" set category = "Object" set src in usr if (t) - src.name = text("data disk- '[]'", t) + src.name = text("data card- '[]'", t) else - src.name = "data disk" + src.name = "data card" src.add_fingerprint(usr) return /obj/item/weapon/card/data/clown name = "\proper the coordinates to clown planet" - icon_state = "data" + icon_state = "rainbow" item_state = "card-id" level = 2 desc = "This card contains coordinates to the fabled Clown Planet. Handle with care." @@ -62,7 +91,7 @@ /obj/item/weapon/card/emag_broken desc = "It's a card with a magnetic strip attached to some circuitry. It looks too busted to be used for anything but salvage." name = "broken cryptographic sequencer" - icon_state = "emag" + icon_state = "emag-spent" item_state = "card-id" origin_tech = list(TECH_MAGNET = 2, TECH_ILLEGAL = 2) @@ -107,4 +136,4 @@ uses += T.amount/2 //Gives 5 uses per 10 TC uses = CEILING(uses, 1) //Ensures no decimal uses nonsense, rounds up to be nice to_chat(usr, "You add \the [O] to \the [src]. Increasing the uses of \the [src] to [uses].") - qdel(O) \ No newline at end of file + qdel(O) diff --git a/code/game/objects/items/weapons/id cards/id_stacks.dm b/code/game/objects/items/weapons/id cards/id_stacks.dm new file mode 100644 index 0000000000..495697da7b --- /dev/null +++ b/code/game/objects/items/weapons/id cards/id_stacks.dm @@ -0,0 +1,148 @@ +// This is a defines file for card sprite stacks. If a new card set comes in, this file can just be disabled and a new one made to match the new sprites. +// Generally, if the icon file is card_xxx.dmi, this filename should be sprite_stacks_xxx.dm +// Please make sure that only the relevant sprite_stacks_xxx.file is included, if more are made. + +/obj/item/weapon/card + icon = 'icons/obj/card_new.dmi' // These are redefined here so that changing sprites is as easy as clicking the checkbox. + base_icon = 'icons/obj/card_new.dmi' + + // New sprite stacks can be defined here. You could theoretically change icon-states as well but right now this file compiles before station_ids.dm so those wouldn't be affected. + +/* +/obj/item/weapon/card/id/generic + initial_sprite_stack = list("base-stamp", "top-generic", "stamp-silhouette", "clip") + +// CENTCOM +/obj/item/weapon/card/id/centcom + initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "pips-gold") + +/obj/item/weapon/card/id/centcom/vip + initial_sprite_stack = list("base-stamp-gold", "top-blue", "stamp-n", "pips-gold") + +/obj/item/weapon/card/id/centcom/ERT + initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "pips-red", "stripe-red") + +// GENERIC COMMAND +/obj/item/weapon/card/id/silver + initial_sprite_stack = list("base-stamp-silver", "top-mime", "stamp-n-generic") + +/obj/item/weapon/card/id/silver/secretary + initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n") + +/obj/item/weapon/card/id/silver/hop + initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "stripe-white") + +// MEDICAL +/obj/item/weapon/card/id/medical + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n") + +/obj/item/weapon/card/id/medical/chemist + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "pips-orange") + +/obj/item/weapon/card/id/medical/geneticist + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "pips-purple") + +/obj/item/weapon/card/id/medical/psych + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "pips-purple") + +/obj/item/weapon/card/id/medical/emt + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "pips-blue") + +/obj/item/weapon/card/id/medical/head + initial_sprite_stack = list("base-stamp-silver", "top-medblu", "stamp-n", "stripe-gold") + +/obj/item/weapon/card/id/medical/sar + initial_sprite_stack = list("base-stamp", "top-darkgreen", "stamp-n", "pips-medblu") + +// SECURITY +/obj/item/weapon/card/id/security + initial_sprite_stack = list("base-stamp", "top-red", "stamp-n") + +/obj/item/weapon/card/id/security/detective + initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "pips-brown") + +/obj/item/weapon/card/id/security/warden + initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "pips-white") + +/obj/item/weapon/card/id/security/head + initial_sprite_stack = list("base-stamp-silver", "top-red", "stamp-n", "stripe-gold") + +// ENGINEERING +/obj/item/weapon/card/id/engineering + initial_sprite_stack = list("base-stamp", "top-orange", "stamp-n") + +/obj/item/weapon/card/id/engineering/atmos + initial_sprite_stack = list("base-stamp", "top-orange", "pips-medblu", "stamp-n") + +/obj/item/weapon/card/id/engineering/head + initial_sprite_stack = list("base-stamp-silver", "top-orange", "stamp-n", "stripe-gold") + +// SCIENCE +/obj/item/weapon/card/id/science + initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n") + +/obj/item/weapon/card/id/science/roboticist + initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "pips-orange") + +/obj/item/weapon/card/id/science/explorer + initial_sprite_stack = list("base-stamp", "top-darkgreen", "stamp-n") + +/obj/item/weapon/card/id/science/head + initial_sprite_stack = list("base-stamp-silver", "top-purple", "stamp-n", "stripe-gold") + +/obj/item/weapon/card/id/science/head/pathfinder + initial_sprite_stack = list("base-stamp-silver", "top-blue", "dept-exploration", "stamp-n", "pips-gold") + +// CARGO +/obj/item/weapon/card/id/cargo + initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n") + +/obj/item/weapon/card/id/cargo/miner + initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n", "pips-purple") + +/obj/item/weapon/card/id/cargo/head + initial_sprite_stack = list("base-stamp-silver", "top-brown", "stamp-n", "pips-gold") + +// CIVLIAN +/obj/item/weapon/card/id/civilian + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n") + +/obj/item/weapon/card/id/civilian/chaplain + initial_sprite_stack = list("base-stamp-silver", "top-dark", "stamp-cross", "pips-white") + +/obj/item/weapon/card/id/civilian/internal_affairs + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n") + +/obj/item/weapon/card/id/civilian/botanist + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-brown") + +/obj/item/weapon/card/id/civilian/bartender + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-dark") + +/obj/item/weapon/card/id/civilian/chef + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-white") + +/obj/item/weapon/card/id/civilian/janitor + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-purple") + +/obj/item/weapon/card/id/civilian/journalist + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n") + +/obj/item/weapon/card/id/civilian/clown + initial_sprite_stack = list("base-stamp", "top-rainbow", "stamp-n") + +/obj/item/weapon/card/id/civilian/mime + initial_sprite_stack = list("base-stamp", "top-white", "stamp-n", "stripe-black") + +/obj/item/weapon/card/id/civilian/pilot + initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "pips-blue") + +/obj/item/weapon/card/id/civilian/head + initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "stripe-white") + +/obj/item/weapon/card/id/syndicate + initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s") + +/obj/item/weapon/card/id/syndicate/officer + initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s", "pips-gold", "stripe-gold") +*/ \ No newline at end of file diff --git a/code/game/objects/items/weapons/id cards/id_stacks_vr.dm b/code/game/objects/items/weapons/id cards/id_stacks_vr.dm new file mode 100644 index 0000000000..7627d66cf3 --- /dev/null +++ b/code/game/objects/items/weapons/id cards/id_stacks_vr.dm @@ -0,0 +1,216 @@ +/obj/item/weapon/card + icon = 'icons/obj/card_new_vr.dmi' + base_icon = 'icons/obj/card_new_vr.dmi' + +//IDs + +/obj/item/weapon/card/id + initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n") + +/obj/item/weapon/card/id/generic + initial_sprite_stack = list("base-stamp", "top-generic", "stamp-silhouette", "clip") + +//Central + +/obj/item/weapon/card/id/centcom + initial_sprite_stack = list("base-stamp-silver", "top-darkgreen", "stamp-n", "pips-gold", "stripe-gold") + +/obj/item/weapon/card/id/centcom/vip + initial_sprite_stack = list("base-stamp-gold", "top-darkgreen", "stamp-n", "pips-gold", "stripe-gold") + +//ERT + +/obj/item/weapon/card/id/centcom/ERT + initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-red", "stripe-red") + +/obj/item/weapon/card/id/centcom/ERT/medic + initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-medblu", "stripe-medblu") + +/obj/item/weapon/card/id/centcom/ERT/commander + initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-gold", "stripe-gold") + +/obj/item/weapon/card/id/centcom/ERT/engineer + initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-orange", "stripe-orange") + +/obj/item/weapon/card/id/centcom/ERT/janitor + initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-purple", "stripe-purple") + +//Silver + +/obj/item/weapon/card/id/silver + initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n") + +/obj/item/weapon/card/id/silver/secretary + initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n") + +/obj/item/weapon/card/id/silver/hop + initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-gold") + +//Gold + +/obj/item/weapon/card/id/gold + initial_sprite_stack = list("base-stamp-gold", "top-blue", "stamp-n") + +/obj/item/weapon/card/id/gold/captain + initial_sprite_stack = list("base-stamp-gold", "top-blue", "stamp-n", "pips-gold") + +/obj/item/weapon/card/id/gold/captain/spare + initial_sprite_stack = list("base-stamp-gold", "top-gold", "stamp-n") + +//Medical + +/obj/item/weapon/card/id/medical + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n") + +/obj/item/weapon/card/id/medical/chemist + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-orange") + +/obj/item/weapon/card/id/medical/geneticist + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-purple") + +/obj/item/weapon/card/id/medical/psych + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-brown") + +/obj/item/weapon/card/id/medical/virologist + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-green") + +/obj/item/weapon/card/id/medical/emt + initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-blue") + +/obj/item/weapon/card/id/medical/head + initial_sprite_stack = list("base-stamp-silver", "top-medblu", "stamp-n", "pips-gold") + +//Security + +/obj/item/weapon/card/id/security + initial_sprite_stack = list("base-stamp", "top-red", "stamp-n") + +/obj/item/weapon/card/id/security/detective + initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "stripe-brown") + +/obj/item/weapon/card/id/security/warden + initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "stripe-white") + +/obj/item/weapon/card/id/security/head + initial_sprite_stack = list("base-stamp-silver", "top-red", "stamp-n", "pips-gold") + +//Engineering + +/obj/item/weapon/card/id/engineering + initial_sprite_stack = list("base-stamp", "top-orange", "stamp-n") + +/obj/item/weapon/card/id/engineering/atmos + initial_sprite_stack = list("base-stamp", "top-orange", "stripe-medblu", "stamp-n") + +/obj/item/weapon/card/id/engineering/head + initial_sprite_stack = list("base-stamp-silver", "top-orange", "stamp-n", "pips-gold") + +//Science + +/obj/item/weapon/card/id/science + initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n") + +/obj/item/weapon/card/id/science/roboticist + initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "stripe-brown") + +/obj/item/weapon/card/id/science/xenobiologist + initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "stripe-orange") + +/obj/item/weapon/card/id/science/xenobotanist + initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "stripe-green") + +/obj/item/weapon/card/id/science/head + initial_sprite_stack = list("base-stamp-silver", "top-purple", "stamp-n", "pips-gold") + +//Cargo + +/obj/item/weapon/card/id/cargo + initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n") + +/obj/item/weapon/card/id/cargo/miner + initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n", "stripe-purple") + +/obj/item/weapon/card/id/cargo/head + initial_sprite_stack = list("base-stamp-silver", "top-brown", "stamp-n", "pips-white") + +//Civilian + +/obj/item/weapon/card/id/civilian + initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n") + +/obj/item/weapon/card/id/civilian/chaplain + initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-cross", "stripe-white") + +/obj/item/weapon/card/id/civilian/journalist + initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-red") + +/obj/item/weapon/card/id/civilian/pilot + initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-pink") + +/obj/item/weapon/card/id/civilian/entertainer + initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-brown") + +/obj/item/weapon/card/id/civilian/clown + initial_sprite_stack = list("base-stamp", "top-rainbow", "stamp-n") + +/obj/item/weapon/card/id/civilian/mime + initial_sprite_stack = list("base-stamp", "top-white", "stamp-n", "stripe-black") + +/obj/item/weapon/card/id/civilian/internal_affairs + initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "stripe-black") + +//Service + +/obj/item/weapon/card/id/civilian/service + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n") + +/obj/item/weapon/card/id/civilian/service/botanist + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-darkgreen") + +/obj/item/weapon/card/id/civilian/service/bartender + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-black") + +/obj/item/weapon/card/id/civilian/service/chef + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-white") + +/obj/item/weapon/card/id/civilian/service/janitor + initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-purple") + +//Exploration + +/obj/item/weapon/card/id/exploration + initial_sprite_stack = list("base-stamp", "top-pink", "stamp-n") + +/obj/item/weapon/card/id/exploration/fm + initial_sprite_stack = list("base-stamp", "top-pink", "stamp-n", "stripe-medblu") + +/obj/item/weapon/card/id/exploration/head + initial_sprite_stack = list("base-stamp-silver", "top-pink", "stamp-n", "pips-white") + +//Talon + +/obj/item/weapon/card/id/talon + initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette") + +/obj/item/weapon/card/id/talon/doctor + initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-medblu", "stripe-medblu") + +/obj/item/weapon/card/id/talon/engineer + initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-orange", "stripe-orange") + +/obj/item/weapon/card/id/talon/officer + initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-red", "stripe-red") + +/obj/item/weapon/card/id/talon/pilot + initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-purple", "stripe-purple") + +/obj/item/weapon/card/id/talon/captain + initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-gold", "stripe-gold") + +//Antags + +/obj/item/weapon/card/id/syndicate + initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s") + +/obj/item/weapon/card/id/syndicate/officer + initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s", "pips-gold", "stripe-gold") \ No newline at end of file diff --git a/code/game/objects/items/weapons/id cards/station_ids.dm b/code/game/objects/items/weapons/id cards/station_ids.dm index b47d65fc2c..5a8fe7448d 100644 --- a/code/game/objects/items/weapons/id cards/station_ids.dm +++ b/code/game/objects/items/weapons/id cards/station_ids.dm @@ -1,11 +1,11 @@ /obj/item/weapon/card/id name = "identification card" desc = "A card used to provide ID and determine access across the station." - icon_state = "id" + icon_state = "generic-nt" item_state = "card-id" sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/id.dmi' + SPECIES_TESHARI = 'icons/mob/species/teshari/id.dmi' ) var/access = list() @@ -127,13 +127,13 @@ /obj/item/weapon/card/id/silver name = "identification card" desc = "A silver card which shows honour and dedication." - icon_state = "silver" + icon_state = "silver-id" item_state = "silver_id" /obj/item/weapon/card/id/gold name = "identification card" desc = "A golden card which shows power and might." - icon_state = "gold" + icon_state = "gold-id" item_state = "gold_id" preserve_item = 1 @@ -144,13 +144,14 @@ /obj/item/weapon/card/id/gold/captain/spare name = "\improper Site Manager's spare ID" desc = "The spare ID of the High Lord himself." + icon_state = "gold-id-alternate" registered_name = "Site Manager" /obj/item/weapon/card/id/synthetic name = "\improper Synthetic ID" desc = "Access module for NanoTrasen Synthetics" icon_state = "id-robot" - item_state = "tdgreen" + item_state = "idgreen" assignment = "Synthetic" /obj/item/weapon/card/id/synthetic/Initialize() @@ -172,7 +173,7 @@ /obj/item/weapon/card/id/centcom name = "\improper CentCom. ID" desc = "An ID straight from Central Command." - icon_state = "nanotrasen" + icon_state = "cc-id" registered_name = "Central Command" assignment = "General" @@ -187,7 +188,7 @@ /obj/item/weapon/card/id/centcom/ERT name = "\improper Emergency Response Team ID" assignment = "Emergency Response Team" - icon_state = "centcom" + icon_state = "ert-id" /obj/item/weapon/card/id/centcom/ERT/Initialize() . = ..() @@ -197,14 +198,13 @@ /obj/item/weapon/card/id/medical name = "identification card" desc = "A card issued to station medical staff." - icon_state = "med" + icon_state = "medical-id" primary_color = rgb(189,237,237) secondary_color = rgb(223,255,255) /obj/item/weapon/card/id/medical/head name = "identification card" desc = "A card which represents care and compassion." - icon_state = "medGold" primary_color = rgb(189,237,237) secondary_color = rgb(255,223,127) assignment = "Chief Medical Officer" @@ -213,14 +213,17 @@ /obj/item/weapon/card/id/security name = "identification card" desc = "A card issued to station security staff." - icon_state = "sec" + icon_state = "security-id" primary_color = rgb(189,47,0) secondary_color = rgb(223,127,95) +/obj/item/weapon/card/id/security/warden + assignment = "Warden" + rank = "Warden" + /obj/item/weapon/card/id/security/head name = "identification card" desc = "A card which represents honor and protection." - icon_state = "secGold" primary_color = rgb(189,47,0) secondary_color = rgb(255,223,127) assignment = "Head of Security" @@ -229,14 +232,17 @@ /obj/item/weapon/card/id/engineering name = "identification card" desc = "A card issued to station engineering staff." - icon_state = "eng" + icon_state = "engineering-id" primary_color = rgb(189,94,0) secondary_color = rgb(223,159,95) +/obj/item/weapon/card/id/engineering/atmos + assignment = "Atmospheric Technician" + rank = "Atmospheric Technician" + /obj/item/weapon/card/id/engineering/head name = "identification card" desc = "A card which represents creativity and ingenuity." - icon_state = "engGold" primary_color = rgb(189,94,0) secondary_color = rgb(255,223,127) assignment = "Chief Engineer" @@ -245,14 +251,13 @@ /obj/item/weapon/card/id/science name = "identification card" desc = "A card issued to station science staff." - icon_state = "sci" + icon_state = "science-id" primary_color = rgb(142,47,142) secondary_color = rgb(191,127,191) /obj/item/weapon/card/id/science/head name = "identification card" desc = "A card which represents knowledge and reasoning." - icon_state = "sciGold" primary_color = rgb(142,47,142) secondary_color = rgb(255,223,127) assignment = "Research Director" @@ -261,14 +266,13 @@ /obj/item/weapon/card/id/cargo name = "identification card" desc = "A card issued to station cargo staff." - icon_state = "cargo" + icon_state = "cargo-id" primary_color = rgb(142,94,0) secondary_color = rgb(191,159,95) /obj/item/weapon/card/id/cargo/head name = "identification card" desc = "A card which represents service and planning." - icon_state = "cargoGold" primary_color = rgb(142,94,0) secondary_color = rgb(255,223,127) assignment = "Quartermaster" @@ -281,7 +285,7 @@ /obj/item/weapon/card/id/civilian name = "identification card" desc = "A card issued to station civilian staff." - icon_state = "civ" + icon_state = "civilian-id" primary_color = rgb(0,94,142) secondary_color = rgb(95,159,191) assignment = "Civilian" @@ -290,13 +294,12 @@ /obj/item/weapon/card/id/civilian/head //This is not the HoP. There's no position that uses this right now. name = "identification card" desc = "A card which represents common sense and responsibility." - icon_state = "civGold" primary_color = rgb(0,94,142) secondary_color = rgb(255,223,127) /obj/item/weapon/card/id/external name = "identification card" desc = "An identification card of some sort. It does not look like it is issued by NT." - icon_state = "permit" + icon_state = "generic" primary_color = rgb(142,94,0) secondary_color = rgb(191,159,95) diff --git a/code/game/objects/items/weapons/id cards/station_ids_vr.dm b/code/game/objects/items/weapons/id cards/station_ids_vr.dm index 756ab3bc9c..0a9015145a 100644 --- a/code/game/objects/items/weapons/id cards/station_ids_vr.dm +++ b/code/game/objects/items/weapons/id cards/station_ids_vr.dm @@ -1,102 +1,273 @@ +/obj/item/weapon/card/id/event + var/configured = 0 + var/accessset = 0 + initial_sprite_stack = list() + var/list/title_strings = list() + var/preset_rank = FALSE + +/obj/item/weapon/card/id/event/attack_self(var/mob/user) + if(configured == 1) + return ..() + + if(!preset_rank) + var/title + if(user.client.prefs.player_alt_titles[user.job]) + title = user.client.prefs.player_alt_titles[user.job] + else + title = user.job + assignment = title + user.set_id_info(src) + if(user.mind && user.mind.initial_account) + associated_account_number = user.mind.initial_account.account_number + if(title_strings.len) + var/tempname = pick(title_strings) + name = tempname + " ([assignment])" + else + name = user.name + "'s ID card" + " ([assignment])" + + configured = 1 + to_chat(user, "Card settings set.") + +/obj/item/weapon/card/id/event/attackby(obj/item/I as obj, var/mob/user) + if(istype(I, /obj/item/weapon/card/id) && !accessset) + var/obj/item/weapon/card/id/O = I + access |= O.access + desc = I.desc + rank = O.rank + to_chat(user, "You copy the access from \the [I] to \the [src].") + user.drop_from_inventory(I) + qdel(I) + accessset = 1 + ..() + +/obj/item/weapon/card/id/event/accessset + accessset = 1 + + + /obj/item/weapon/card/id/gold/captain/spare/fakespare rank = "null" -/obj/item/weapon/card/id/itg +/obj/item/weapon/card/id/event/accessset/itg name = "identification card" desc = "A small card designating affiliation with the Ironcrest Transport Group." icon = 'icons/obj/card_vr.dmi' + base_icon = 'icons/obj/card_vr.dmi' icon_state = "itg" - item_state = "itg_id" -/obj/item/weapon/card/id/itg/green +/obj/item/weapon/card/id/event/accessset/itg/green icon_state = "itg_green" - item_state = "itg_green_id" -/obj/item/weapon/card/id/itg/red +/obj/item/weapon/card/id/event/accessset/itg/red icon_state = "itg_red" - item_state = "itg_red_id" -/obj/item/weapon/card/id/itg/purple +/obj/item/weapon/card/id/event/accessset/itg/purple icon_state = "itg_purple" - item_state = "itg_purple_id" -/obj/item/weapon/card/id/itg/white +/obj/item/weapon/card/id/event/accessset/itg/white icon_state = "itg_white" - item_state = "itg_white_id" -/obj/item/weapon/card/id/itg/orange +/obj/item/weapon/card/id/event/accessset/itg/orange icon_state = "itg_orange" - item_state = "itg_orange_id" -/obj/item/weapon/card/id/itg/blue +/obj/item/weapon/card/id/event/accessset/itg/blue icon_state = "itg_blue" - item_state = "itg_blue_id" -/obj/item/weapon/card/id/itg/event +/obj/item/weapon/card/id/event/accessset/itg/crew name = "\improper ITG Crew ID" assignment = "Crew" rank = "Crew" access = list(777) + preset_rank = TRUE -/obj/item/weapon/card/id/itg/event/pilot +/obj/item/weapon/card/id/event/accessset/itg/crew/pilot name = "\improper ITG Pilot's ID" desc = "An ID card belonging to the Pilot of an ITG vessel. The Pilot's responsibility is primarily to fly the ship. They may also be tasked to assist with cargo movement duties." assignment = "Pilot" rank = "Pilot" -/obj/item/weapon/card/id/itg/event/service +/obj/item/weapon/card/id/event/accessset/itg/crew/service name = "\improper ITG Cook's ID" desc = "An ID card belonging to the Cook of an ITG vessel. The Cook's responsibility is primarily to provide sustinence to the crew and passengers. The Cook answers to the Passenger Liason. In the absence of a Passenger Liason, the Cook is also responsible for tending to passenger related care and duties." assignment = "Cook" rank = "Cook" icon_state = "itg_green" - item_state = "itg_green_id" -/obj/item/weapon/card/id/itg/event/security +/obj/item/weapon/card/id/event/accessset/itg/crew/security name = "\improper ITG Security's ID" desc = "An ID card belonging to Security of an ITG vessel. Security's responsibility is primarily to protect the ship, cargo, or facility. They may also be tasked to assist with cargo movement duties and rescue operations. ITG Security is almost exclusively defensive. They should not start fights, but they are very capable of finishing them." assignment = "Security" rank = "Security" icon_state = "itg_red" - item_state = "itg_red_id" -/obj/item/weapon/card/id/itg/event/research +/obj/item/weapon/card/id/event/accessset/itg/crew/research name = "\improper ITG Research's ID" desc = "An ID card belonging to ITG Research staff. ITG Research staff primarily specializes in starship and starship engine design, and overcoming astronomic phenomena." assignment = "Research" rank = "Research" icon_state = "itg_purple" - item_state = "itg_purple_id" -/obj/item/weapon/card/id/itg/event/medical +/obj/item/weapon/card/id/event/accessset/itg/crew/medical name = "\improper ITG Medic's ID" desc = "An ID card belonging to the Medic of an ITG vessel. The Medic's responsibility is primarily to treat crew and passenger injuries. They may also be tasked with rescue operations." assignment = "Medic" rank = "Medic" icon_state = "itg_white" - item_state = "itg_white_id" -/obj/item/weapon/card/id/itg/event/engineer +/obj/item/weapon/card/id/event/accessset/itg/crew/engineer name = "\improper ITG Engineer's ID" desc = "An ID card belonging to the Engineer of an ITG vessel. The Engineer's responsibility is primarily to maintain the ship. They may also be tasked to assist with cargo movement duties." assignment = "Engineer" rank = "Engineer" icon_state = "itg_orange" - item_state = "itg_orange_id" -/obj/item/weapon/card/id/itg/event/passengerliason +/obj/item/weapon/card/id/event/accessset/itg/crew/passengerliason name = "\improper ITG Passenger Liason's ID" desc = "An ID card belonging to the Passenger Liason of an ITG vessel. The Passenger Liason's responsibility is primarily to manage and tend to passenger needs and maintain supplies and facilities for passenger use." assignment = "Passenger Liason" rank = "Passenger Liason" icon_state = "itg_blue" - item_state = "itg_blue_id" -/obj/item/weapon/card/id/itg/event/captain +/obj/item/weapon/card/id/event/accessset/itg/crew/captain name = "\improper ITG Captain's ID" desc = "An ID card belonging to the Captain of an ITG vessel. The Captain's responsibility is primarily to manage crew to ensure smooth ship operations. Captains often also often pilot the vessel when no dedicated pilot is assigned." assignment = "Captain" rank = "Captain" icon_state = "itg_blue" - item_state = "itg_blue_id" - access = list(777, 778) \ No newline at end of file + access = list(777, 778) + +/obj/item/weapon/card/id/event/altcard + icon = 'icons/obj/card_alt_vr.dmi' + base_icon = 'icons/obj/card_alt_vr.dmi' + icon_state = "id" + +/obj/item/weapon/card/id/event/altcard/spare + icon_state = "spare" + +/obj/item/weapon/card/id/event/altcard/clown + icon_state = "Clown" + +/obj/item/weapon/card/id/event/altcard/mime + icon_state = "Mime" + +/obj/item/weapon/card/id/event/altcard/centcom + icon_state = "CentCom Officer" + +/obj/item/weapon/card/id/event/altcard/ert + icon_state = "Emergency Responder" + +/obj/item/weapon/card/id/event/altcard/nt + icon_state = "nanotrasen" + +/obj/item/weapon/card/id/event/altcard/syndiegold + icon_state = "syndieGold" + +/obj/item/weapon/card/id/event/altcard/syndie + icon_state = "syndie" + +/obj/item/weapon/card/id/event/altcard/greengold + icon_state = "greenGold" + +/obj/item/weapon/card/id/event/altcard/pink + icon_state = "pink" + +/obj/item/weapon/card/id/event/altcard/pinkgold + icon_state = "pinkGold" + +/obj/item/weapon/card/id/event/polymorphic + var/base_icon_state + +/obj/item/weapon/card/id/event/polymorphic/digest_act(atom/movable/item_storage = null) + var/gimmeicon = icon + . = ..() + icon = gimmeicon + icon_state = base_icon_state + "_digested" + +/obj/item/weapon/card/id/event/polymorphic/altcard/attack_self(var/mob/user) + if(configured == 1) + return ..() + else + icon_state = user.job + base_icon_state = user.job + return ..() + +/obj/item/weapon/card/id/event/polymorphic/altcard + icon = 'icons/obj/card_alt_vr.dmi' + base_icon = 'icons/obj/card_alt_vr.dmi' + icon_state = "blank" + name = "contractor identification card" + desc = "An ID card typically used by contractors." + +/obj/item/weapon/card/id/event/polymorphic/itg/attack_self(var/mob/user) + if(!configured) + var/list/jobs_to_icon = list( //ITG only has a few kinds of icons so we have to group them up! + "Pilot" = "itg", + "Visitor" = "itg", + "Quartermaster" = "itg", + "Cargo Technician" = "itg", + "Shaft Miner" = "itg", + "Intern" = "itg", + "Talon Pilot" = "itg", + "Bartender" = "itg_green", + "Botanist" = "itg_green", + "Chef" = "itg_green", + "Janitor" = "itg_green", + "Chaplain" = "itg_green", + "Entertainer" = "itg_green", + "Janitor" = "itg_green", + "Librarian" = "itg_green", + "Warden" = "itg_red", + "Detective" = "itg_red", + "Security Officer" = "itg_red", + "Talon Guard" = "itg_red", + "Roboticist" = "itg_purple", + "Scientist" = "itg_purple", + "Xenobiologist" = "itg_purple", + "Xenobotanist" = "itg_purple", + "Pathfinder" = "itg_purple", + "Explorer" = "itg_purple", + "Chemist" = "itg_white", + "Medical Doctor" = "itg_white", + "Paramedic" = "itg_white", + "Psychiatrist" = "itg_white", + "Field Medic" = "itg_white", + "Talon Doctor" = "itg_white", + "Atmospheric Technician" = "itg_orange", + "Station Engineer" = "itg_orange", + "Off-duty Officer" = "itg_red", + "Off-duty Engineer" = "itg_orange", + "Off-duty Medic" = "itg_white", + "Off-duty Scientist" = "itg_purple", + "Off-duty Cargo" = "itg", + "Off-duty Explorer" = "itg_purple", + "Off-duty Worker" = "itg_green" + ) + var/guess = jobs_to_icon[user.job] + + if(!guess) + to_chat(user, "ITG Cards do not seem to be able to accept the access codes for your ID.") + return + else + icon_state = guess + base_icon_state = guess + . = ..() + name = user.name + "'s ITG ID card" + " ([assignment])" + + +/obj/item/weapon/card/id/event/polymorphic/itg/attackby(obj/item/I as obj, var/mob/user) + if(istype(I, /obj/item/weapon/card/id) && !accessset) + var/obj/item/weapon/card/id/O = I + var/list/itgdont = list("Site Manager", "Head of Personnel", "Command Secretary", "Head of Security", "Chief Engineer", "Chief Medical Officer", "Research Director", "Clown", "Mime", "Talon Captain") //If you're in as one of these you probably aren't representing ITG + if(O.rank in itgdont) + to_chat(user, "ITG Cards do not seem to be able to accept the access codes for your ID.") + return + . = ..() + desc = "A small card designating affiliation with the Ironcrest Transport Group. It has a NanoTrasen insignia and a lot of very small print on the back to do with practices and regulations for contractors to use." + + +/obj/item/weapon/card/id/event/polymorphic/itg + icon = 'icons/obj/card_vr.dmi' + base_icon = 'icons/obj/card_vr.dmi' + icon_state = "itg" + name = "\improper ITG identification card" + desc = "A small card designating affiliation with the Ironcrest Transport Group. It has a NanoTrasen insignia and a lot of very small print on the back to do with practices and regulations for contractors to use." diff --git a/code/game/objects/items/weapons/id cards/syndicate_ids.dm b/code/game/objects/items/weapons/id cards/syndicate_ids.dm index afb85ecb7a..01f6591104 100644 --- a/code/game/objects/items/weapons/id cards/syndicate_ids.dm +++ b/code/game/objects/items/weapons/id cards/syndicate_ids.dm @@ -1,6 +1,6 @@ /obj/item/weapon/card/id/syndicate name = "agent card" - icon_state = "syndicate" + icon_state = "generic-s" assignment = "Agent" origin_tech = list(TECH_ILLEGAL = 3) var/electronic_warfare = 1 @@ -67,11 +67,12 @@ if(!id_card_states) id_card_states = list() for(var/path in typesof(/obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/ID = path + var/obj/item/weapon/card/id/ID = new path() var/datum/card_state/CS = new() CS.icon_state = initial(ID.icon_state) CS.item_state = initial(ID.item_state) - CS.name = initial(ID.name) + " - " + initial(ID.icon_state) + CS.sprite_stack = ID.initial_sprite_stack + CS.name = initial(ID.name) id_card_states += CS id_card_states = dd_sortedObjectList(id_card_states) @@ -81,6 +82,7 @@ var/name var/icon_state var/item_state + var/sprite_stack /datum/card_state/dd_SortValue() return name @@ -89,5 +91,6 @@ name = "syndicate ID card" desc = "An ID straight from the Syndicate." registered_name = "Syndicate" - assignment = "Syndicate Overlord" - access = list(access_syndicate, access_external_airlocks) \ No newline at end of file + assignment = "Syndicate Commander" + icon_state = "syndicate-id" + access = list(access_syndicate, access_external_airlocks) diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 5741387b7b..8660d8a673 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -8,7 +8,7 @@ icon = 'icons/obj/clothing/backpack.dmi' icon_state = "backpack" sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/back.dmi' + SPECIES_TESHARI = 'icons/mob/species/teshari/back.dmi' ) w_class = ITEMSIZE_LARGE slot_flags = SLOT_BACK diff --git a/code/game/objects/items/weapons/storage/backpack_vr.dm b/code/game/objects/items/weapons/storage/backpack_vr.dm index c201dd5c72..ab83c87752 100644 --- a/code/game/objects/items/weapons/storage/backpack_vr.dm +++ b/code/game/objects/items/weapons/storage/backpack_vr.dm @@ -77,7 +77,7 @@ /obj/item/weapon/storage/backpack sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/back.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/back.dmi', SPECIES_WEREBEAST = 'icons/mob/species/werebeast/back.dmi') /obj/item/weapon/storage/backpack/ert diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index c3dba166bc..5dc7f83da8 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -11,7 +11,7 @@ equip_sound = 'sound/items/toolbelt_equip.ogg' drop_sound = 'sound/items/drop/toolbelt.ogg' pickup_sound = 'sound/items/pickup/toolbelt.ogg' - sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/belt.dmi') + sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/teshari/belt.dmi') var/show_above_suit = 0 diff --git a/code/game/objects/items/weapons/storage/belt_vr.dm b/code/game/objects/items/weapons/storage/belt_vr.dm index e726e30b9c..defdcc296b 100644 --- a/code/game/objects/items/weapons/storage/belt_vr.dm +++ b/code/game/objects/items/weapons/storage/belt_vr.dm @@ -1,6 +1,6 @@ /obj/item/weapon/storage/belt sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/belt.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/belt.dmi', SPECIES_WEREBEAST = 'icons/mob/species/werebeast/belt.dmi') /obj/item/weapon/storage/belt/explorer diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index f6045c6174..806d26c90b 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -8,7 +8,7 @@ var/list/global/tank_gauge_cache = list() name = "tank" icon = 'icons/obj/tank.dmi' sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/back.dmi' + SPECIES_TESHARI = 'icons/mob/species/teshari/back.dmi' ) drop_sound = 'sound/items/drop/gascan.ogg' pickup_sound = 'sound/items/pickup/gascan.ogg' diff --git a/code/game/objects/items/weapons/towels.dm b/code/game/objects/items/weapons/towels.dm index 2b41ce5163..77e1c43960 100644 --- a/code/game/objects/items/weapons/towels.dm +++ b/code/game/objects/items/weapons/towels.dm @@ -15,11 +15,11 @@ ..() switch(slot) if(slot_head) - sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/head.dmi') + sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/teshari/head.dmi') if(slot_wear_suit) - sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/suit.dmi') + sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/teshari/suit.dmi') if(slot_belt) - sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/belt.dmi') + sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/teshari/belt.dmi') /obj/item/weapon/towel/attack_self(mob/living/user as mob) user.visible_message(text("[] uses [] to towel themselves off.", user, src)) diff --git a/code/game/objects/items/weapons/weldbackpack_ch.dm b/code/game/objects/items/weapons/weldbackpack_ch.dm index dece91bbe9..0235e8403f 100644 --- a/code/game/objects/items/weapons/weldbackpack_ch.dm +++ b/code/game/objects/items/weapons/weldbackpack_ch.dm @@ -1,4 +1,4 @@ /obj/item/weapon/weldpack sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/back.dmi' - ) \ No newline at end of file + SPECIES_TESHARI = 'icons/mob/species/teshari/back.dmi' + ) diff --git a/code/game/objects/structures/crates_lockers/closets/misc_vr.dm b/code/game/objects/structures/crates_lockers/closets/misc_vr.dm index 73f69ba4a5..2111bd6667 100644 --- a/code/game/objects/structures/crates_lockers/closets/misc_vr.dm +++ b/code/game/objects/structures/crates_lockers/closets/misc_vr.dm @@ -28,8 +28,8 @@ req_one_access = list(access_explorer,access_brig) starts_with = list( - /obj/item/weapon/gun/energy/phasegun = 2, - /obj/item/weapon/gun/energy/phasegun/pistol, + /obj/item/weapon/gun/energy/locked/phasegun = 2, + /obj/item/weapon/gun/energy/locked/phasegun/pistol, /obj/item/weapon/cell/device/weapon = 2, /obj/item/clothing/accessory/permit/gun/planetside) diff --git a/code/game/objects/structures/trash_pile_vr.dm b/code/game/objects/structures/trash_pile_vr.dm index 593a961e4a..314ed06c69 100644 --- a/code/game/objects/structures/trash_pile_vr.dm +++ b/code/game/objects/structures/trash_pile_vr.dm @@ -255,6 +255,7 @@ prob(1);/obj/item/weapon/material/knife/tacknife, prob(1);/obj/item/weapon/storage/box/survival/space, prob(1);/obj/item/weapon/storage/secure/briefcase/trashmoney, + prob(1);/obj/item/device/survivalcapsule/popcabin, prob(1);/obj/item/weapon/reagent_containers/syringe/steroid) var/obj/item/I = new path() diff --git a/code/modules/admin/admin_vr.dm b/code/modules/admin/admin_vr.dm new file mode 100644 index 0000000000..356d69a376 --- /dev/null +++ b/code/modules/admin/admin_vr.dm @@ -0,0 +1,12 @@ +/datum/admins/proc/set_uplink(mob/living/carbon/human/H as mob) + set category = "Debug" + set name = "Set Uplink" + set desc = "Allows admins to set up an uplink on a character. This will be required for a character to use telecrystals." + set popup_menu = FALSE + + if(check_rights(R_ADMIN|R_DEBUG)) + traitors.spawn_uplink(H) + H.mind.tcrystals = DEFAULT_TELECRYSTAL_AMOUNT + H.mind.accept_tcrystals = 1 + else + to_chat(usr, "You do not have access to this command.") \ No newline at end of file diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index af9d6ca5bc..f793a9c9fe 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -1,8 +1,8 @@ /client/proc/cmd_admin_say(msg as text) set category = "Special Verbs" - set name = "Asay" //Gave this shit a shorter name so you only have to time out "asay" rather than "admin say" to use it --NeoFite + set name = "Asay" //Gave this shit a shorter name so you only have to time out "asay" rather than "admin say" to use it --NeoFite set hidden = 1 - if(!check_rights(R_ADMIN|R_STEALTH)) //VOREStation Edit + if(!check_rights(R_ADMIN)) //VOREStation Edit //CHOMPEdit meh, our stuff was conflicting so just removed the stealth thingamabobber return msg = sanitize(msg) @@ -11,9 +11,9 @@ log_adminsay(msg,src) - //VOREStation Edit Start - Adds R_EVENT + //VOREStation Edit Start - Adds R_STEALTH //CHOMPEdit meh, our stuff was conflicting so just removed the stealth thingamabobber for(var/client/C in GLOB.admins) - if(check_rights(R_ADMIN|R_EVENT)) + if(check_rights(R_ADMIN)) to_chat(C, "" + create_text_tag("admin", "ADMIN:", C) + " [key_name(usr, 1)]([admin_jump_link(mob, src)]): [msg]") //VOREStation Edit End diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 403e1a3113..9e8a99877b 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -515,6 +515,12 @@ Traitors and the like can also be revived with the previous role mostly intact. if(new_character.mind) new_character.mind.loaded_from_ckey = picked_ckey new_character.mind.loaded_from_slot = picked_slot + + for(var/lang in picked_client.prefs.alternate_languages) + var/datum/language/chosen_language = GLOB.all_languages[lang] + if(chosen_language) + if(is_lang_whitelisted(src,chosen_language) || (new_character.species && (chosen_language.name in new_character.species.secondary_langs))) + new_character.add_language(lang) //VOREStation Add End for(var/lang in picked_client.prefs.alternate_languages) @@ -527,6 +533,8 @@ Traitors and the like can also be revived with the previous role mostly intact. if(equipment) if(charjob) job_master.EquipRank(new_character, charjob, 1) + new_character.mind.assigned_role = charjob + new_character.mind.role_alt_title = job_master.GetPlayerAltTitle(new_character, charjob) equip_custom_items(new_character) //CHOMPEdit readded to enable custom_item.txt //If desired, add records. @@ -534,7 +542,7 @@ Traitors and the like can also be revived with the previous role mostly intact. data_core.manifest_inject(new_character) //A redraw for good measure - new_character.update_icons_all() + new_character.regenerate_icons() //If we're announcing their arrival if(announce) diff --git a/code/modules/admin/verbs/randomverbs_vr.dm b/code/modules/admin/verbs/randomverbs_vr.dm index e3f1fed7d5..2f1b6bf13f 100644 --- a/code/modules/admin/verbs/randomverbs_vr.dm +++ b/code/modules/admin/verbs/randomverbs_vr.dm @@ -71,36 +71,6 @@ feedback_add_details("admin_verb","SCAM") //heh -<<<<<<< HEAD - return new_mob -||||||| parent of d24af2eb43... Merge pull request #10028 from Meghan-Rossi/eventhud - return new_mob - -/client/proc/cmd_admin_z_narrate() // Allows administrators to fluff events a little easier -- TLE - set category = "Special Verbs" - set name = "Z Narrate" - set desc = "Narrates to your Z level." - - if (!holder) - return - - var/msg = input("Message:", text("Enter the text you wish to appear to everyone:")) as text - if(!(msg[1] == "<" && msg[length(msg)] == ">")) //You can use HTML but only if the whole thing is HTML. Tries to prevent admin 'accidents'. - msg = sanitize(msg) - - if (!msg) - return - - var/pos_z = get_z(src.mob) - if (!pos_z) - return - for(var/mob/M in player_list) - if(M.z == pos_z) - to_chat(M, msg) - log_admin("ZNarrate: [key_name(usr)] : [msg]") - message_admins(" ZNarrate: [key_name_admin(usr)] : [msg]
", 1) - feedback_add_details("admin_verb","GLNA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -======= return new_mob /client/proc/cmd_admin_z_narrate() // Allows administrators to fluff events a little easier -- TLE @@ -143,5 +113,4 @@ target.recalculate_vis() to_chat(src, "You gave the event HUD to [key_name(target)].") to_chat(target, "You now have the event HUD. Icons will appear next to characters indicating if they prefer to be killed(red crosshairs), devoured(belly), or kidnapped(blue crosshairs) by event characters.") - feedback_add_details("admin_verb","GREHud") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ->>>>>>> d24af2eb43... Merge pull request #10028 from Meghan-Rossi/eventhud + feedback_add_details("admin_verb","GREHud") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! \ No newline at end of file diff --git a/code/modules/ai/ai_holder_combat.dm b/code/modules/ai/ai_holder_combat.dm index 075a9196d8..e2e1ecbdea 100644 --- a/code/modules/ai/ai_holder_combat.dm +++ b/code/modules/ai/ai_holder_combat.dm @@ -9,7 +9,7 @@ var/violent_breakthrough = TRUE // If false, the AI is not allowed to destroy things like windows or other structures in the way. Requires above var to be true. var/stand_ground = FALSE // If true, the AI won't try to get closer to an enemy if out of range. - + // This does the actual attacking. /datum/ai_holder/proc/engage_target() ai_log("engage_target() : Entering.", AI_LOG_DEBUG) @@ -293,7 +293,7 @@ // Kill common obstacle in the way like tables. var/obj/structure/obstacle = locate(/obj/structure, problem_turf) - if(istype(obstacle, /obj/structure/window) || istype(obstacle, /obj/structure/closet) || istype(obstacle, /obj/structure/table) || istype(obstacle, /obj/structure/grille)) + if(istype(obstacle, /obj/structure/window) || istype(obstacle, /obj/structure/closet) || istype(obstacle, /obj/structure/table) || istype(obstacle, /obj/structure/grille) || istype(obstacle, /obj/effect/weaversilk/wall)) //VOREStation Edit: spdr ai_log("destroy_surroundings() : Attacking generic structure.", AI_LOG_INFO) return melee_attack(obstacle) diff --git a/code/modules/ai/interfaces.dm b/code/modules/ai/interfaces.dm index 74ad2eb1a4..9fb58dbb88 100644 --- a/code/modules/ai/interfaces.dm +++ b/code/modules/ai/interfaces.dm @@ -52,7 +52,7 @@ return say(message) /mob/living/proc/IIsAlly(mob/living/L) - return src.faction == L.faction + return istype(L) && src.faction == L.faction /mob/living/simple_mob/IIsAlly(mob/living/L) . = ..() diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm index 815d250dcc..9bcb385154 100644 --- a/code/modules/asset_cache/asset_list_items.dm +++ b/code/modules/asset_cache/asset_list_items.dm @@ -490,24 +490,29 @@ // It REALLY doesnt matter too much if these arent up to date // They are relatively big assets = list( - // VOREStation Edit: We don't need Southern Cross - // "southern_cross_nanomap_z1.png" = 'icons/_nanomaps/southern_cross_nanomap_z1.png', - // "southern_cross_nanomap_z10.png" = 'icons/_nanomaps/southern_cross_nanomap_z10.png', - // "southern_cross_nanomap_z2.png" = 'icons/_nanomaps/southern_cross_nanomap_z2.png', - // "southern_cross_nanomap_z3.png" = 'icons/_nanomaps/southern_cross_nanomap_z3.png', - // "southern_cross_nanomap_z5.png" = 'icons/_nanomaps/southern_cross_nanomap_z5.png', - // "southern_cross_nanomap_z6.png" = 'icons/_nanomaps/southern_cross_nanomap_z6.png', - "tether_nanomap_z1.png" = 'icons/_nanomaps/tether_nanomap_z1.png', - "tether_nanomap_z2.png" = 'icons/_nanomaps/tether_nanomap_z2.png', - "tether_nanomap_z3.png" = 'icons/_nanomaps/tether_nanomap_z3.png', - "tether_nanomap_z4.png" = 'icons/_nanomaps/tether_nanomap_z4.png', - "tether_nanomap_z5.png" = 'icons/_nanomaps/tether_nanomap_z5.png', - "tether_nanomap_z6.png" = 'icons/_nanomaps/tether_nanomap_z6.png', - "tether_nanomap_z7.png" = 'icons/_nanomaps/tether_nanomap_z7.png', - "tether_nanomap_z8.png" = 'icons/_nanomaps/tether_nanomap_z8.png', - "tether_nanomap_z9.png" = 'icons/_nanomaps/tether_nanomap_z9.png', - "tether_nanomap_z10.png" = 'icons/_nanomaps/tether_nanomap_z10.png', - "tether_nanomap_z13.png" = 'icons/_nanomaps/tether_nanomap_z13.png', - "tether_nanomap_z14.png" = 'icons/_nanomaps/tether_nanomap_z14.png', - // VOREStation Edit End - ) \ No newline at end of file + // CHOMP Edit: Restored for chomp station. Removed Tether. + "southern_cross_nanomap_z1.png" = 'icons/_nanomaps/southern_cross_nanomap_z1.png', + "southern_cross_nanomap_z10.png" = 'icons/_nanomaps/southern_cross_nanomap_z10.png', + "southern_cross_nanomap_z2.png" = 'icons/_nanomaps/southern_cross_nanomap_z2.png', + "southern_cross_nanomap_z3.png" = 'icons/_nanomaps/southern_cross_nanomap_z3.png', + "southern_cross_nanomap_z5.png" = 'icons/_nanomaps/southern_cross_nanomap_z5.png', + "southern_cross_nanomap_z6.png" = 'icons/_nanomaps/southern_cross_nanomap_z6.png', + "southern_cross_nanomap_z7.png" = 'icons/_nanomaps/southern_cross_nanomap_z7.png', + "southern_cross_nanomap_z8.png" = 'icons/_nanomaps/southern_cross_nanomap_z8.png', + "southern_cross_nanomap_z9.png" = 'icons/_nanomaps/southern_cross_nanomap_z9.png', + "southern_cross_nanomap_z10.png" = 'icons/_nanomaps/southern_cross_nanomap_z10.png', + "southern_cross_nanomap_z11.png" = 'icons/_nanomaps/southern_cross_nanomap_z11.png', + //"tether_nanomap_z1.png" = 'icons/_nanomaps/tether_nanomap_z1.png', + //"tether_nanomap_z2.png" = 'icons/_nanomaps/tether_nanomap_z2.png', + //"tether_nanomap_z3.png" = 'icons/_nanomaps/tether_nanomap_z3.png', + //"tether_nanomap_z4.png" = 'icons/_nanomaps/tether_nanomap_z4.png', + //"tether_nanomap_z5.png" = 'icons/_nanomaps/tether_nanomap_z5.png', + //"tether_nanomap_z6.png" = 'icons/_nanomaps/tether_nanomap_z6.png', + //"tether_nanomap_z7.png" = 'icons/_nanomaps/tether_nanomap_z7.png', + //"tether_nanomap_z8.png" = 'icons/_nanomaps/tether_nanomap_z8.png', + //"tether_nanomap_z9.png" = 'icons/_nanomaps/tether_nanomap_z9.png', + //"tether_nanomap_z10.png" = 'icons/_nanomaps/tether_nanomap_z10.png', + //"tether_nanomap_z13.png" = 'icons/_nanomaps/tether_nanomap_z13.png', + //"tether_nanomap_z14.png" = 'icons/_nanomaps/tether_nanomap_z14.png', + // CHOMP Edit End + ) diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index 30df7ec640..2ebdb98719 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -1073,13 +1073,16 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O return organ = "brain" + var/datum/species/current_species = GLOB.all_species[pref.species] var/list/organ_choices = list("Normal") if(pref.organ_data[BP_TORSO] == "cyborg") organ_choices -= "Normal" if(organ_name == "Brain") organ_choices += "Cybernetic" - organ_choices += "Positronic" - organ_choices += "Drone" + if(!(current_species.spawn_flags & SPECIES_NO_POSIBRAIN)) + organ_choices += "Positronic" + if(!(current_species.spawn_flags & SPECIES_NO_DRONEBRAIN)) + organ_choices += "Drone" else organ_choices += "Assisted" organ_choices += "Mechanical" @@ -1097,7 +1100,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O pref.organ_data[organ] = "assisted" if("Cybernetic") pref.organ_data[organ] = "assisted" - if ("Mechanical") + if("Mechanical") pref.organ_data[organ] = "mechanical" if("Drone") pref.organ_data[organ] = "digital" diff --git a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm index 7fe078c775..5abadc042f 100644 --- a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm @@ -506,7 +506,7 @@ character_name = list("Ketrai") /datum/gear/fluff/amaya_id - path = /obj/item/weapon/card/id/fluff/amaya + path = /obj/item/weapon/card/id/event/fluff/amaya display_name = "Amaya's ID" ckeywhitelist = list("kiraalitruss") character_name = list("Amaya Rahl") @@ -1046,6 +1046,12 @@ ckeywhitelist = list("vitoras") character_name = list("Roanna Ti'Rox") +/datum/gear/fluff/harmony_id + path = /obj/item/weapon/card/id/event/polymorphic/itg + display_name = "Harmony's ITG-ID card" + ckeywhitelist = list("verysoft") + character_name = list("Harmony") + // W CKEYS /datum/gear/fluff/sthasha_bracer path = /obj/item/clothing/accessory/bracer/fluff/xander_sthasha diff --git a/code/modules/client/preference_setup/loadout/loadout_fluffitems_yw.dm b/code/modules/client/preference_setup/loadout/loadout_fluffitems_yw.dm index b9bd6b51ec..060fd29fa5 100644 --- a/code/modules/client/preference_setup/loadout/loadout_fluffitems_yw.dm +++ b/code/modules/client/preference_setup/loadout/loadout_fluffitems_yw.dm @@ -83,14 +83,14 @@ //Strix Hades /datum/gear/fluff/strix_coat - path = /obj/item/clothing/suit/storage/seromi/cloak/fluff/strix + path = /obj/item/clothing/suit/storage/teshari/cloak/fluff/strix display_name = "Colony Director Coat" description = "It drapes over a Avali's shoulders and closes at the neck with pockets convienently placed inside. It bears the Colony Director's colors. The name 'Strix Hades' is embroilled in gold lettering around a golden embroilled outline on the neck collar." ckeywhitelist = list("blackangelsace") character_name = list("Strix Hades") /datum/gear/fluff/strix_under - path = /obj/item/clothing/under/seromi/undercoat/fluff/strix + path = /obj/item/clothing/under/teshari/undercoat/fluff/strix display_name = "Colony Director Undercoat" description = "Made of carbon nanofiber, it is light and billowy, perfect for going fast and stylishly!" ckeywhitelist = list("blackangelsace") @@ -111,14 +111,14 @@ character_name = list("Strix Hades") /datum/gear/fluff/strix_coat_cco - path = /obj/item/clothing/suit/storage/seromi/cloak/fluff/strix_cco + path = /obj/item/clothing/suit/storage/teshari/cloak/fluff/strix_cco display_name = "Central Command Coat" description = "It drapes over a Avali's shoulders and closes at the neck with pockets convienently placed inside. It bears the Central Command's colors. The name 'Strix Hades' is embroilled in gold lettering around a golden embroilled outline on the neck collar." ckeywhitelist = list("blackangelsace") character_name = list("Strix Hades") /datum/gear/fluff/strix_under_cco - path = /obj/item/clothing/under/seromi/undercoat/fluff/strix_cco + path = /obj/item/clothing/under/teshari/undercoat/fluff/strix_cco display_name = "Central Command Undercoat" description = "Made of carbon nanofiber, it is light and billowy, perfect for going fast and stylishly!" ckeywhitelist = list("blackangelsace") @@ -235,7 +235,7 @@ //Kita /datum/gear/fluff/kita_under - path = /obj/item/clothing/suit/storage/seromi/cloak/fluff/kita + path = /obj/item/clothing/suit/storage/teshari/cloak/fluff/kita display_name = "Magical Cloak" description = "It drapes over a Teshari's shoulders and closes at the neck with pockets convienently placed inside. It bears magical colors." ckeywhitelist = list("championfire") @@ -325,7 +325,7 @@ //dushka //Saroth /datum/gear/fluff/Saroth_cloak - path = /obj/item/clothing/suit/storage/seromi/cloak/fluff/Saroth + path = /obj/item/clothing/suit/storage/teshari/cloak/fluff/Saroth display_name = "Research Director cloak" description = "It drapes over a Teshari's shoulders and closes at the neck with pockets conveniently placed inside. This one bears the colors of the science department with additional trimming to designate it as the research director's. It has 'operty of Saroth' sewed in on the inside at the neck. The pockets seem slightly bigger on the inside than they appear on the outside." ckeywhitelist = list("dushka") diff --git a/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm b/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm index d37f929e48..8fd7fa081d 100644 --- a/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm @@ -55,3 +55,8 @@ display_name = "science dufflebag" path = /obj/item/weapon/storage/backpack/dufflebag/sci allowed_roles = list("Research Director","Scientist","Roboticist","Xenobiologist","Xenobotanist","Explorer","Pathfinder") + +/datum/gear/utility/ID + display_name = "contractor identification card" + path = /obj/item/weapon/card/id/event/polymorphic/altcard + cost = 1 diff --git a/code/modules/client/preference_setup/loadout/loadout_xeno.dm b/code/modules/client/preference_setup/loadout/loadout_xeno.dm index 11792b86e4..d402fd4c4e 100644 --- a/code/modules/client/preference_setup/loadout/loadout_xeno.dm +++ b/code/modules/client/preference_setup/loadout/loadout_xeno.dm @@ -94,43 +94,43 @@ /datum/gear/uniform/smock display_name = "smock selection (Teshari)" - path = /obj/item/clothing/under/seromi/smock + path = /obj/item/clothing/under/teshari/smock whitelisted = SPECIES_TESHARI sort_category = "Xenowear" /datum/gear/uniform/smock/New() ..() var/list/smocks = list() - for(var/smock in typesof(/obj/item/clothing/under/seromi/smock)) - var/obj/item/clothing/under/seromi/smock/smock_type = smock + for(var/smock in typesof(/obj/item/clothing/under/teshari/smock)) + var/obj/item/clothing/under/teshari/smock/smock_type = smock smocks[initial(smock_type.name)] = smock_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(smocks)) /datum/gear/uniform/undercoat display_name = "undercoat selection (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/standard + path = /obj/item/clothing/under/teshari/undercoat/standard whitelisted = SPECIES_TESHARI sort_category = "Xenowear" /datum/gear/uniform/undercoat/New() ..() var/list/undercoats = list() - for(var/undercoat in typesof(/obj/item/clothing/under/seromi/undercoat/standard)) - var/obj/item/clothing/under/seromi/undercoat/standard/undercoat_type = undercoat + for(var/undercoat in typesof(/obj/item/clothing/under/teshari/undercoat/standard)) + var/obj/item/clothing/under/teshari/undercoat/standard/undercoat_type = undercoat undercoats[initial(undercoat_type.name)] = undercoat_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats)) /datum/gear/suit/cloak display_name = "cloak selection (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/standard + path = /obj/item/clothing/suit/storage/teshari/cloak/standard whitelisted = SPECIES_TESHARI sort_category = "Xenowear" /datum/gear/suit/cloak/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/standard)) - var/obj/item/clothing/suit/storage/seromi/cloak/standard/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/standard)) + var/obj/item/clothing/suit/storage/teshari/cloak/standard/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) @@ -168,107 +168,107 @@ /datum/gear/uniform/dept/undercoat/cap display_name = "facility director undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/cap + path = /obj/item/clothing/under/teshari/undercoat/jobs/cap allowed_roles = list("Facility Director") /datum/gear/uniform/dept/undercoat/hop display_name = "head of personnel undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/hop + path = /obj/item/clothing/under/teshari/undercoat/jobs/hop allowed_roles = list("Head of Personnel") /datum/gear/uniform/dept/undercoat/rd display_name = "research director undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/rd + path = /obj/item/clothing/under/teshari/undercoat/jobs/rd allowed_roles = list("Research Director") /datum/gear/uniform/dept/undercoat/hos display_name = "head of security undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/hos + path = /obj/item/clothing/under/teshari/undercoat/jobs/hos allowed_roles = list("Head of Security") /datum/gear/uniform/dept/undercoat/ce display_name = "chief engineer undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/ce + path = /obj/item/clothing/under/teshari/undercoat/jobs/ce allowed_roles = list("Chief Engineer") /datum/gear/uniform/dept/undercoat/cmo display_name = "chief medical officer undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/cmo + path = /obj/item/clothing/under/teshari/undercoat/jobs/cmo allowed_roles = list("Chief Medical Officer") /datum/gear/uniform/dept/undercoat/qm display_name = "quartermaster undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/qm + path = /obj/item/clothing/under/teshari/undercoat/jobs/qm allowed_roles = list("Quartermaster") /datum/gear/uniform/dept/undercoat/cargo display_name = "cargo undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/cargo + path = /obj/item/clothing/under/teshari/undercoat/jobs/cargo allowed_roles = list("Cargo Technician","Quartermaster","Shaft Miner") /datum/gear/uniform/dept/undercoat/mining display_name = "mining undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/mining + path = /obj/item/clothing/under/teshari/undercoat/jobs/mining allowed_roles = list("Quartermaster","Shaft Miner") /datum/gear/uniform/dept/undercoat/security display_name = "security undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/sec + path = /obj/item/clothing/under/teshari/undercoat/jobs/sec allowed_roles = list("Head of Security","Detective","Warden","Security Officer","Security Pilot")//YW ADDITIONS /datum/gear/uniform/dept/undercoat/service display_name = "service undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/service + path = /obj/item/clothing/under/teshari/undercoat/jobs/service allowed_roles = list("Head of Personnel","Bartender","Botanist","Janitor","Chef","Librarian","Chaplain") /datum/gear/uniform/dept/undercoat/engineer display_name = "engineering undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/engineer + path = /obj/item/clothing/under/teshari/undercoat/jobs/engineer allowed_roles = list("Chief Engineer","Station Engineer") /datum/gear/uniform/dept/undercoat/atmos display_name = "atmospherics undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/atmos + path = /obj/item/clothing/under/teshari/undercoat/jobs/atmos allowed_roles = list("Chief Engineer","Atmospheric Technician") /datum/gear/uniform/dept/undercoat/research display_name = "scientist undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/sci + path = /obj/item/clothing/under/teshari/undercoat/jobs/sci allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist") /datum/gear/uniform/dept/undercoat/robo display_name = "roboticist undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/robo + path = /obj/item/clothing/under/teshari/undercoat/jobs/robo allowed_roles = list("Research Director","Roboticist") /datum/gear/uniform/dept/undercoat/medical display_name = "medical undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/medical + path = /obj/item/clothing/under/teshari/undercoat/jobs/medical allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Paramedic","Geneticist","Psychiatrist") /datum/gear/uniform/dept/undercoat/chemistry display_name = "chemist undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/chemistry + path = /obj/item/clothing/under/teshari/undercoat/jobs/chemistry allowed_roles = list("Chief Medical Officer","Chemist") /datum/gear/uniform/dept/undercoat/virology display_name = "virologist undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/viro + path = /obj/item/clothing/under/teshari/undercoat/jobs/viro allowed_roles = list("Chief Medical Officer","Medical Doctor") /datum/gear/uniform/dept/undercoat/psych display_name = "psychiatrist undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/psych + path = /obj/item/clothing/under/teshari/undercoat/jobs/psych allowed_roles = list("Chief Medical Officer","Psychiatrist") /datum/gear/uniform/dept/undercoat/paramedic display_name = "paramedic undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/para + path = /obj/item/clothing/under/teshari/undercoat/jobs/para allowed_roles = list("Chief Medical Officer","Paramedic") /datum/gear/uniform/dept/undercoat/iaa display_name = "internal affairs undercoat (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/jobs/iaa + path = /obj/item/clothing/under/teshari/undercoat/jobs/iaa allowed_roles = list("Internal Affairs Agent") /datum/gear/suit/dept/cloak @@ -277,248 +277,248 @@ /datum/gear/suit/dept/cloak/cap display_name = "facility director cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs allowed_roles = list("Facility Director") /datum/gear/suit/dept/cloak/hop display_name = "head of personnel cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/hop + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/hop allowed_roles = list("Head of Personnel") /datum/gear/suit/dept/cloak/rd display_name = "research director cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/rd + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/rd allowed_roles = list("Research Director") /datum/gear/suit/dept/cloak/hos display_name = "head of security cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/hos + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/hos allowed_roles = list("Head of Security") /datum/gear/suit/dept/cloak/hos/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/hos,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/hos)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/hos,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/hos)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/cloak/dept/ce display_name = "chief engineer cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/ce + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/ce allowed_roles = list("Chief Engineer") /datum/gear/suit/dept/cloak/ce/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/ce,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/ce)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/ce,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/ce)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/cmo display_name = "chief medical officer cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/cmo + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/cmo allowed_roles = list("Chief Medical Officer") /datum/gear/suit/dept/cloak/cmo/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/cmo,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cmo)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/cmo,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cmo)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/qm display_name = "quartermaster cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/qm + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/qm allowed_roles = list("Chief Medical Officer") /datum/gear/suit/dept/cloak/qm/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/qm,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/qm)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/qm,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/qm)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/cargo display_name = "cargo cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/cargo + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/cargo allowed_roles = list("Quartermaster","Shaft Miner","Cargo Technician") /datum/gear/suit/dept/cloak/cargo/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/cargo,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cargo)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/cargo,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cargo)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/mining display_name = "mining cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/mining + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/mining allowed_roles = list("Quartermaster","Shaft Miner") /datum/gear/suit/dept/cloak/mining/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/mining,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/mining)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/mining,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/mining)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/security display_name = "security cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/sec + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/sec allowed_roles = list("Head of Security","Detective","Warden","Security Officer","Security Pilot")//YW ADDITIONS /datum/gear/suit/dept/cloak/security/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/sec,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/sec)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/sec,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/sec)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/service display_name = "service cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/service + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/service allowed_roles = list("Head of Personnel","Bartender","Botanist","Janitor","Chef","Librarian","Chaplain") /datum/gear/suit/dept/cloak/service/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/service,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/service)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/service,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/service)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/engineer display_name = "engineering cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/engineer + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/engineer allowed_roles = list("Chief Engineer","Station Engineer") /datum/gear/suit/dept/cloak/engineer/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/engineer,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/engineer)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/engineer,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/engineer)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/atmos display_name = "atmospherics cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/atmos + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/atmos allowed_roles = list("Chief Engineer","Atmospheric Technician") /datum/gear/suit/dept/cloak/atmos/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/atmos,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/atmos)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/atmos,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/atmos)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/research display_name = "scientist cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/sci + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/sci allowed_roles = list("Research Director","Scientist","Roboticist","Xenobiologist") /datum/gear/suit/dept/cloak/research/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/sci,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/sci)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/sci,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/sci)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/robo display_name = "roboticist cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/robo + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/robo allowed_roles = list("Research Director","Roboticist") /datum/gear/suit/dept/cloak/robo/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/robo,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/robo)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/robo,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/robo)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/medical display_name = "medical cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/medical + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/medical allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Paramedic","Geneticist", "Psychiatrist") /datum/gear/suit/dept/cloak/medical/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/medical,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/medical)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/medical,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/medical)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/chemistry display_name = "chemist cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/chemistry + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/chemistry allowed_roles = list("Chemist") /datum/gear/suit/dept/cloak/chemistry/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/chemistry,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/chemistry)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/chemistry,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/chemistry)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/virology display_name = "virologist cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/viro + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/viro allowed_roles = list("Medical Doctor") /datum/gear/suit/dept/cloak/virology/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/viro,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/viro)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/viro,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/viro)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/psych display_name = "psychiatrist cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/psych + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/psych allowed_roles = list("Chief Medical Officer","Psychiatrist") /datum/gear/suit/dept/cloak/paramedic display_name = "paramedic cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/para + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/para allowed_roles = list("Chief Medical Officer","Paramedic") /datum/gear/suit/dept/cloak/paramedic/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/para,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/para)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/para,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/para)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/iaa display_name = "internal affairs cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/iaa + path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/iaa allowed_roles = list("Internal Affairs Agent") /datum/gear/suit/dept/cloak/iaa/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/iaa,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/iaa)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/iaa,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/iaa)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/uniform/smockcolor display_name = "smock, recolorable (Teshari)" - path = /obj/item/clothing/under/seromi/smock/white + path = /obj/item/clothing/under/teshari/smock/white whitelisted = SPECIES_TESHARI sort_category = "Xenowear" @@ -528,21 +528,21 @@ /datum/gear/suit/beltcloak display_name = "belted cloak selection (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/beltcloak/standard + path = /obj/item/clothing/suit/storage/teshari/beltcloak/standard whitelisted = SPECIES_TESHARI sort_category = "Xenowear" /datum/gear/suit/beltcloak/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/beltcloak/standard)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/standard/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/beltcloak/standard)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/standard/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/beltcloak_color display_name = "belted cloak, recolorable (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/beltcloak/standard/white_grey + path = /obj/item/clothing/suit/storage/teshari/beltcloak/standard/white_grey whitelisted = SPECIES_TESHARI sort_category = "Xenowear" @@ -552,17 +552,17 @@ /datum/gear/suit/dept/beltcloak/wrdn display_name = "warden belted cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/beltcloak/jobs/wrdn + path = /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/wrdn allowed_roles = list("Head of Security","Warden") /datum/gear/suit/dept/beltcloak/jani display_name = "janitor belted cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/beltcloak/jobs/jani + path = /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/jani allowed_roles = list("Janitor") /datum/gear/suit/dept/beltcloak/cmd display_name = "command belted cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/beltcloak/jobs/command + path = /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/command allowed_roles = list("Site Manager","Head of Personnel","Head of Security","Chief Engineer","Chief Medical Officer","Research Director") /datum/gear/suit/cloak_hood @@ -575,27 +575,27 @@ ..() var/list/cloaks = list() for(var/cloak in typesof(/obj/item/clothing/suit/storage/hooded/teshari/standard)) - var/obj/item/clothing/suit/storage/seromi/cloak/cloak_type = cloak + var/obj/item/clothing/suit/storage/teshari/cloak/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/uniform/worksuit display_name = "worksuit selection (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/standard/worksuit + path = /obj/item/clothing/under/teshari/undercoat/standard/worksuit whitelisted = SPECIES_TESHARI sort_category = "Xenowear" /datum/gear/uniform/worksuit/New() ..() var/list/worksuits = list() - for(var/worksuit in typesof(/obj/item/clothing/under/seromi/undercoat/standard/worksuit)) - var/obj/item/clothing/under/seromi/undercoat/standard/worksuit/worksuit_type = worksuit + for(var/worksuit in typesof(/obj/item/clothing/under/teshari/undercoat/standard/worksuit)) + var/obj/item/clothing/under/teshari/undercoat/standard/worksuit/worksuit_type = worksuit worksuits[initial(worksuit_type.name)] = worksuit_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(worksuits)) /datum/gear/uniform/undercoatcolor display_name = "undercoat, recolorable (Teshari)" - path = /obj/item/clothing/under/seromi/undercoat/standard/white_grey + path = /obj/item/clothing/under/teshari/undercoat/standard/white_grey whitelisted = SPECIES_TESHARI sort_category = "Xenowear" @@ -605,7 +605,7 @@ /datum/gear/suit/cloakcolor display_name = "cloak, recolorable (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/standard/white_grey + path = /obj/item/clothing/suit/storage/teshari/cloak/standard/white_grey whitelisted = SPECIES_TESHARI sort_category = "Xenowear" diff --git a/code/modules/client/preference_setup/loadout/loadout_xeno_ch.dm b/code/modules/client/preference_setup/loadout/loadout_xeno_ch.dm index b7cc25c227..6ec1f68fa7 100644 --- a/code/modules/client/preference_setup/loadout/loadout_xeno_ch.dm +++ b/code/modules/client/preference_setup/loadout/loadout_xeno_ch.dm @@ -1,6 +1,6 @@ /datum/gear/suit/hood display_name = "hooded cloak selection (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/standard + path = /obj/item/clothing/suit/storage/teshari/cloak/standard whitelisted = SPECIES_TESHARI sort_category = "Xenowear" @@ -8,7 +8,7 @@ ..() var/list/cloaks = list() for(var/cloak in typesof(/obj/item/clothing/suit/storage/hooded/teshari/standard)) - var/obj/item/clothing/suit/storage/seromi/cloak/cloak_type = cloak + var/obj/item/clothing/suit/storage/teshari/cloak/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) diff --git a/code/modules/client/preference_setup/loadout/loadout_xeno_yw.dm b/code/modules/client/preference_setup/loadout/loadout_xeno_yw.dm index d20efa7e85..6df8ee5dbf 100644 --- a/code/modules/client/preference_setup/loadout/loadout_xeno_yw.dm +++ b/code/modules/client/preference_setup/loadout/loadout_xeno_yw.dm @@ -22,7 +22,7 @@ //Added from CHOMP /datum/gear/suit/hood display_name = "hooded cloak selection (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/cloak/standard + path = /obj/item/clothing/suit/storage/teshari/cloak/standard whitelisted = SPECIES_TESHARI sort_category = "Xenowear" @@ -30,21 +30,21 @@ ..() var/list/cloaks = list() for(var/cloak in typesof(/obj/item/clothing/suit/storage/hooded/teshari/standard)) - var/obj/item/clothing/suit/storage/seromi/cloak/cloak_type = cloak + var/obj/item/clothing/suit/storage/teshari/cloak/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/beltcloak display_name = "belted cloak selection (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/beltcloak/standard + path = /obj/item/clothing/suit/storage/teshari/beltcloak/standard whitelisted = SPECIES_TESHARI sort_category = "Xenowear" /datum/gear/suit/beltcloak/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/beltcloak/standard)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/standard/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/beltcloak/standard)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/standard/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) @@ -54,7 +54,7 @@ /datum/gear/suit/cloakcolor display_name = "belted cloak, recolorable (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/beltcloak/standard/white_grey + path = /obj/item/clothing/suit/storage/teshari/beltcloak/standard/white_grey whitelisted = SPECIES_TESHARI sort_category = "Xenowear" @@ -64,156 +64,156 @@ /datum/gear/suit/dept/beltcloak/wrdn display_name = "warden belted cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/beltcloak/jobs/wrdn + path = /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/wrdn allowed_roles = list("Head of Security","Warden") /datum/gear/suit/dept/beltcloak/hos display_name = "Chief of Security belted cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/beltcloak/jobs/hos + path = /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/hos allowed_roles = list("Head of Security") /datum/gear/suit/dept/beltcloak/jani display_name = "janitor belted cloak (Teshari)" - path = /obj/item/clothing/suit/storage/seromi/beltcloak/jobs/jani + path = /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/jani allowed_roles = list("Janitor") /datum/gear/suit/dept/cloak/command/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/command,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/command)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/command,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/command)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/cargo/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/cargo,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cargo)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/cargo,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cargo)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/mining/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/mining,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/mining)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/mining,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/mining)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/qm/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/qm,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/qm)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/qm,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/qm)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/security/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/sec,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/sec)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/sec,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/sec)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/service/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/service,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/service)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/service,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/service)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/ce/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/ce,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/ce)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/ce,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/ce)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/engineer/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/eningeer,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/eningeer)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/eningeer,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/eningeer)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/atmos/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/atmos,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/atmos)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/atmos,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/atmos)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/research/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/sci,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/sci)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/sci,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/sci)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/robo/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/robo,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/robo)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/robo,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/robo)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/cmo/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/cmo,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cmo)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/cmo,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cmo)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/medical/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/medical,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/medical)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/medical,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/medical)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/chemistry/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/chemistry,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/chemistry)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/chemistry,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/chemistry)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/virology/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/viro,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/viro)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/viro,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/viro)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/paramedic/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/para,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/para)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/para,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/para)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/suit/dept/cloak/iaa/New() ..() var/list/cloaks = list() - for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/jobs/iaa,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/iaa)) - var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cloak_type = cloak + for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak/jobs/iaa,/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/iaa)) + var/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cloak_type = cloak cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) /datum/gear/uniform/harness_white display_name = "white gear harness (Full Body Prosthetic, Diona)" path = /obj/item/clothing/under/harness_white - sort_category = "Xenowear" \ No newline at end of file + sort_category = "Xenowear" diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 918294ff7f..c0a71f2c66 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -229,7 +229,7 @@ throwforce = 2 slot_flags = SLOT_EARS sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/ears.dmi') + SPECIES_TESHARI = 'icons/mob/species/teshari/ears.dmi') /obj/item/clothing/ears/attack_hand(mob/user as mob) if (!user) return @@ -328,7 +328,7 @@ slot_flags = SLOT_GLOVES attack_verb = list("challenged") sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/gloves.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/gloves.dmi', SPECIES_VOX = 'icons/mob/species/vox/gloves.dmi' ) drop_sound = 'sound/items/drop/gloves.ogg' @@ -470,7 +470,7 @@ var/image/helmet_light sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/head.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/head.dmi', SPECIES_VOX = 'icons/mob/species/vox/head.dmi' ) drop_sound = 'sound/items/drop/hat.ogg' @@ -576,7 +576,7 @@ body_parts_covered = FACE|EYES blood_sprite_state = "maskblood" sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/masks.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/masks.dmi', SPECIES_VOX = 'icons/mob/species/vox/masks.dmi', SPECIES_TAJ = 'icons/mob/species/tajaran/mask.dmi', SPECIES_UNATHI = 'icons/mob/species/unathi/mask.dmi', @@ -630,7 +630,7 @@ var/overshoes = 0 species_restricted = list("exclude",SPECIES_TESHARI, SPECIES_VOX) sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/shoes.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/shoes.dmi', SPECIES_VOX = 'icons/mob/species/vox/shoes.dmi' ) drop_sound = 'sound/items/drop/shoes.ogg' @@ -753,7 +753,7 @@ sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/suit.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/suit.dmi', SPECIES_VOX = 'icons/mob/species/vox/suit.dmi' ) @@ -847,7 +847,7 @@ var/rolled_down = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled var/rolled_sleeves = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/uniform.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/uniform.dmi', SPECIES_VOX = 'icons/mob/species/vox/uniform.dmi', SPECIES_GREY_YW = 'icons/mob/species/grey/uniform.dmi'/*YWedit*/ ) diff --git a/code/modules/clothing/clothing_vr.dm b/code/modules/clothing/clothing_vr.dm index 1c4b8cd9f3..bf28eb5a36 100644 --- a/code/modules/clothing/clothing_vr.dm +++ b/code/modules/clothing/clothing_vr.dm @@ -5,7 +5,7 @@ var/list/inside_emotes = list() var/recent_squish = 0 sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/shoes.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/shoes.dmi', SPECIES_VOX = 'icons/mob/species/vox/shoes.dmi', SPECIES_WEREBEAST = 'icons/mob/species/werebeast/feet.dmi') @@ -85,13 +85,13 @@ /obj/item/clothing/gloves sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/gloves.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/gloves.dmi', SPECIES_VOX = 'icons/mob/species/vox/gloves.dmi', SPECIES_WEREBEAST = 'icons/mob/species/werebeast/hands.dmi') /obj/item/clothing/ears sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/ears.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/ears.dmi', SPECIES_WEREBEAST = 'icons/mob/species/werebeast/ears.dmi') /obj/item/clothing/relaymove(var/mob/living/user,var/direction) @@ -131,7 +131,7 @@ slot_wear_mask_str = 'icons/mob/mask_vr.dmi' ) sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/masks_vr.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/masks_vr.dmi', SPECIES_VOX = 'icons/mob/species/vox/masks.dmi', SPECIES_TAJ = 'icons/mob/species/tajaran/mask_vr.dmi', SPECIES_UNATHI = 'icons/mob/species/unathi/mask_vr.dmi', @@ -150,7 +150,7 @@ //Switch to taur sprites if a taur equips /obj/item/clothing/suit sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/suit.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/suit.dmi', SPECIES_VOX = 'icons/mob/species/vox/suit.dmi', SPECIES_WEREBEAST = 'icons/mob/species/werebeast/suit.dmi') @@ -159,7 +159,7 @@ sensor_mode = 3 var/sensorpref = 5 sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/uniform.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/uniform.dmi', SPECIES_VOX = 'icons/mob/species/vox/uniform.dmi', SPECIES_WEREBEAST = 'icons/mob/species/werebeast/uniform.dmi', SPECIES_GREY_YW = 'icons/mob/species/grey/uniform.dmi'/*ywedit*/ @@ -181,6 +181,6 @@ /obj/item/clothing/head sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/head.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/head.dmi', SPECIES_VOX = 'icons/mob/species/vox/head.dmi', SPECIES_WEREBEAST = 'icons/mob/species/werebeast/head.dmi') diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index c02bca7e13..92c63c3acd 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -31,9 +31,9 @@ BLIND // can't see anything pickup_sound = 'sound/items/pickup/accessory.ogg' sprite_sheets = list( - "Teshari" = 'icons/mob/species/seromi/eyes.dmi', - "Vox" = 'icons/mob/species/vox/eyes.dmi', - "Sergal" = 'icons/mob/species/sergal/eyes_yw.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/eyes.dmi', + SPECIES_VOX = 'icons/mob/species/vox/eyes.dmi', + "Sergal" = 'icons/mob/species/sergal/eyes_yw.dmi', //YWedit SPECIES_GREY_YW = 'icons/mob/species/grey/eyes.dmi'/*ywedit*/ ) diff --git a/code/modules/clothing/glasses/glasses_vr.dm b/code/modules/clothing/glasses/glasses_vr.dm index 2608444513..aa0335ddf3 100644 --- a/code/modules/clothing/glasses/glasses_vr.dm +++ b/code/modules/clothing/glasses/glasses_vr.dm @@ -125,7 +125,7 @@ /obj/item/clothing/glasses sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/eyes.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/eyes.dmi', SPECIES_VOX = 'icons/mob/species/vox/eyes.dmi', SPECIES_WEREBEAST = 'icons/mob/species/werebeast/eyes.dmi', SPECIES_GREY_YW = 'icons/mob/species/grey/eyes.dmi'/*ywedit*/ diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm index 79642d34c1..4b410163fe 100644 --- a/code/modules/clothing/head/collectable.dm +++ b/code/modules/clothing/head/collectable.dm @@ -10,7 +10,7 @@ desc = "an ultra rare hat. It commands a certain respect." icon_state = "petehat" sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/head.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/head.dmi', SPECIES_VOX = 'icons/mob/species/vox/head.dmi' ) diff --git a/code/modules/clothing/head/pilot_helmet.dm b/code/modules/clothing/head/pilot_helmet.dm index 135c73d539..519f7cd1a7 100644 --- a/code/modules/clothing/head/pilot_helmet.dm +++ b/code/modules/clothing/head/pilot_helmet.dm @@ -6,7 +6,7 @@ icon_state = "pilot_helmet1" item_icons = list(slot_head_str = 'icons/mob/pilot_helmet.dmi') sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/pilot_helmet.dmi' + SPECIES_TESHARI = 'icons/mob/species/teshari/pilot_helmet.dmi' ) flags = THICKMATERIAL armor = list(melee = 20, bullet = 10, laser = 10, energy = 5, bomb = 10, bio = 0, rad = 0) diff --git a/code/modules/clothing/masks/tesh_synth_facemask.dm b/code/modules/clothing/masks/tesh_synth_facemask.dm index 166c115aac..0d7b0dbce1 100644 --- a/code/modules/clothing/masks/tesh_synth_facemask.dm +++ b/code/modules/clothing/masks/tesh_synth_facemask.dm @@ -3,8 +3,8 @@ name = "Synth Face" desc = "A round dark muzzle made of LEDs." body_parts_covered = FACE|EYES - icon = 'icons/mob/species/seromi/synth_facemask.dmi' - icon_override = 'icons/mob/species/seromi/synth_facemask.dmi' + icon = 'icons/mob/species/teshari/synth_facemask.dmi' + icon_override = 'icons/mob/species/teshari/synth_facemask.dmi' icon_state = "synth_facemask" origin_tech = list(TECH_ILLEGAL = 1) var/lstat diff --git a/code/modules/clothing/spacesuits/rig/rig_pieces.dm b/code/modules/clothing/spacesuits/rig/rig_pieces.dm index 8ae8ca3674..cc76771d45 100644 --- a/code/modules/clothing/spacesuits/rig/rig_pieces.dm +++ b/code/modules/clothing/spacesuits/rig/rig_pieces.dm @@ -15,7 +15,7 @@ SPECIES_SKRELL = 'icons/mob/species/skrell/helmet.dmi', SPECIES_UNATHI = 'icons/mob/species/unathi/helmet.dmi', SPECIES_VOX = 'icons/mob/species/vox/head.dmi', - SPECIES_TESHARI = 'icons/mob/species/seromi/head.dmi' + SPECIES_TESHARI = 'icons/mob/species/teshari/head.dmi' ) species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_PROMETHEAN, SPECIES_TESHARI) //vox, diona, and zaddat can't use hardsuits not designed for them max_pressure_protection = null @@ -57,7 +57,7 @@ SPECIES_TAJ = 'icons/mob/species/tajaran/suit.dmi', SPECIES_UNATHI = 'icons/mob/species/unathi/suit.dmi', SPECIES_VOX = 'icons/mob/species/vox/suit.dmi', - SPECIES_TESHARI = 'icons/mob/species/seromi/suit.dmi' + SPECIES_TESHARI = 'icons/mob/species/teshari/suit.dmi' ) supporting_limbs = list() species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_PROMETHEAN, SPECIES_TESHARI) //vox, diona, and zaddat can't use hardsuits not designed for them diff --git a/code/modules/clothing/spacesuits/rig/rig_pieces_vr.dm b/code/modules/clothing/spacesuits/rig/rig_pieces_vr.dm index bb6f6d1567..b9ca364883 100644 --- a/code/modules/clothing/spacesuits/rig/rig_pieces_vr.dm +++ b/code/modules/clothing/spacesuits/rig/rig_pieces_vr.dm @@ -12,7 +12,7 @@ SPECIES_FENNEC = 'icons/mob/species/vulpkanin/helmet.dmi', SPECIES_PROMETHEAN = 'icons/mob/species/skrell/helmet.dmi', SPECIES_VOX = 'icons/mob/species/vox/head.dmi', - SPECIES_TESHARI = 'icons/mob/species/seromi/head.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/head.dmi', SPECIES_GREY_YW = 'icons/mob/species/grey/helmet.dmi' /*ywedit*/ ) @@ -32,7 +32,7 @@ SPECIES_FENNEC = 'icons/mob/species/vulpkanin/suit.dmi', SPECIES_PROMETHEAN = 'icons/mob/species/skrell/suit.dmi', SPECIES_VOX = 'icons/mob/species/vox/suit.dmi', - SPECIES_TESHARI = 'icons/mob/species/seromi/suit.dmi' + SPECIES_TESHARI = 'icons/mob/species/teshari/suit.dmi' ) /obj/item/clothing/head/helmet/space/rig diff --git a/code/modules/clothing/spacesuits/rig/suits/alien_ch.dm b/code/modules/clothing/spacesuits/rig/suits/alien_ch.dm index d93cfb06e5..b4cb198152 100644 --- a/code/modules/clothing/spacesuits/rig/suits/alien_ch.dm +++ b/code/modules/clothing/spacesuits/rig/suits/alien_ch.dm @@ -31,19 +31,19 @@ desc = "A helmet-shaped clump of nanomachines." siemens_coefficient= 0 light_overlay = "should not use a light overlay" - species_restricted = list(SPECIES_HUMAN, SPECIES_PROMETHEAN, SPECIES_VASILISSAN, SPECIES_ALRAUNE) //anything that's roughly humanoid ie uses human spritesheets + species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN) //CHOMPEDIT: adding more races to the proto rig /obj/item/clothing/gloves/gauntlets/rig/protean name = "mass" desc = "Glove-shaped clusters of nanomachines." siemens_coefficient= 0 - species_restricted = list(SPECIES_HUMAN, SPECIES_PROMETHEAN, SPECIES_VASILISSAN, SPECIES_ALRAUNE) //anything that's roughly humanoid. + species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN) //CHOMPEDIT: adding more races to the proto rig /obj/item/clothing/shoes/magboots/rig/protean name = "mass" desc = "Boot-shaped clusters of nanomachines." siemens_coefficient= 0 - species_restricted = list(SPECIES_HUMAN, SPECIES_PROMETHEAN, SPECIES_VASILISSAN, SPECIES_ALRAUNE) //anything that's roughly humanoid. + species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN) //CHOMPEDIT: adding more races to the proto rig /obj/item/clothing/suit/space/rig/protean name = "mass" @@ -78,7 +78,7 @@ SPECIES_ZORREN_HIGH = 'icons/mob/species/fox/helmet_ch.dmi', SPECIES_FENNEC = 'icons/mob/species/vulpkanin/helmet_ch.dmi', SPECIES_PROMETHEAN = 'icons/mob/species/skrell/helmet_ch.dmi', - SPECIES_TESHARI = 'icons/mob/species/seromi/head_ch.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/head_ch.dmi', SPECIES_VASILISSAN = 'icons/mob/species/skrell/helmet_ch.dmi', SPECIES_VOX = 'icons/mob/species/vox/head_ch.dmi' ) @@ -115,7 +115,7 @@ SPECIES_ZORREN_HIGH = 'icons/mob/species/fox/suit_ch.dmi', SPECIES_FENNEC = 'icons/mob/species/vulpkanin/suit_ch.dmi', SPECIES_PROMETHEAN = 'icons/mob/species/skrell/suit_ch.dmi', - SPECIES_TESHARI = 'icons/mob/species/seromi/suit_ch.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/suit_ch.dmi', SPECIES_VASILISSAN = 'icons/mob/species/skrell/suit_ch.dmi', SPECIES_VOX = 'icons/mob/species/vox/suit_ch.dmi' ) diff --git a/code/modules/clothing/spacesuits/rig/suits/station_ch.dm b/code/modules/clothing/spacesuits/rig/suits/station_ch.dm index e4de77f8db..82653b3c21 100644 --- a/code/modules/clothing/spacesuits/rig/suits/station_ch.dm +++ b/code/modules/clothing/spacesuits/rig/suits/station_ch.dm @@ -64,7 +64,7 @@ SPECIES_ZORREN_HIGH = 'icons/mob/species/fox/helmet_ch.dmi', SPECIES_FENNEC = 'icons/mob/species/vulpkanin/helmet_ch.dmi', SPECIES_PROMETHEAN = 'icons/mob/species/skrell/helmet_ch.dmi', - SPECIES_TESHARI = 'icons/mob/species/seromi/head_ch.dmi' + SPECIES_TESHARI = 'icons/mob/species/teshari/head_ch.dmi' ) @@ -82,7 +82,7 @@ SPECIES_ZORREN_HIGH = 'icons/mob/species/fox/suit_ch.dmi', SPECIES_FENNEC = 'icons/mob/species/vulpkanin/suit_ch.dmi', SPECIES_PROMETHEAN = 'icons/mob/species/skrell/suit_ch.dmi', - SPECIES_TESHARI = 'icons/mob/species/seromi/suit_ch.dmi' + SPECIES_TESHARI = 'icons/mob/species/teshari/suit_ch.dmi' ) /* @@ -101,4 +101,4 @@ /obj/item/clothing/suit/space/rig/ch species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_ALRAUNE, SPECIES_GREY_YW/*ywedit*/) flags = PHORONGUARD //YAWN Edit -*/ \ No newline at end of file +*/ diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index 1436f3d5cc..f481ee57b1 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -38,7 +38,7 @@ verbs |= /obj/item/clothing/head/helmet/space/proc/toggle_camera if(type == /obj/item/clothing/head/helmet/space) //VOREStation edit - use the specially refitted sprites by KBraid. Done this way to avoid breaking subtypes. - sprite_sheets[SPECIES_TESHARI] = 'icons/mob/species/seromi/helmet_vr.dmi' + sprite_sheets[SPECIES_TESHARI] = 'icons/mob/species/teshari/helmet_vr.dmi' /obj/item/clothing/head/helmet/space/proc/toggle_camera() set name = "Toggle Helmet Camera" @@ -96,7 +96,7 @@ /obj/item/clothing/suit/space/Initialize() . = ..() if(type == /obj/item/clothing/suit/space) - sprite_sheets[SPECIES_TESHARI] = 'icons/mob/species/seromi/suit_vr.dmi' + sprite_sheets[SPECIES_TESHARI] = 'icons/mob/species/teshari/suit_vr.dmi' //VOREStation edit end. /obj/item/clothing/suit/space/equipped(mob/M) diff --git a/code/modules/clothing/spacesuits/void/station.dm b/code/modules/clothing/spacesuits/void/station.dm index 0dbce4a494..14ead552e2 100644 --- a/code/modules/clothing/spacesuits/void/station.dm +++ b/code/modules/clothing/spacesuits/void/station.dm @@ -186,7 +186,7 @@ /obj/item/clothing/head/helmet/space/void/medical/alt/tesh sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/head.dmi' + SPECIES_TESHARI = 'icons/mob/species/teshari/head.dmi' ) sprite_sheets_obj = list( SPECIES_TESHARI = 'icons/obj/clothing/hats.dmi' @@ -222,7 +222,7 @@ /obj/item/clothing/suit/space/void/medical/alt/tesh sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/suit.dmi' + SPECIES_TESHARI = 'icons/mob/species/teshari/suit.dmi' ) sprite_sheets_obj = list( SPECIES_TESHARI = 'icons/obj/clothing/spacesuits.dmi' diff --git a/code/modules/clothing/spacesuits/void/void.dm b/code/modules/clothing/spacesuits/void/void.dm index 15aeb1f716..15b4135467 100644 --- a/code/modules/clothing/spacesuits/void/void.dm +++ b/code/modules/clothing/spacesuits/void/void.dm @@ -24,7 +24,7 @@ SPECIES_UNATHI = 'icons/obj/clothing/species/unathi/hats.dmi', SPECIES_TAJ = 'icons/obj/clothing/species/tajaran/hats.dmi', SPECIES_SKRELL = 'icons/obj/clothing/species/skrell/hats.dmi', - SPECIES_TESHARI = 'icons/obj/clothing/species/seromi/hats.dmi' + SPECIES_TESHARI = 'icons/obj/clothing/species/teshari/hats.dmi' ) light_overlay = "helmet_light" @@ -54,7 +54,7 @@ SPECIES_UNATHI = 'icons/obj/clothing/species/unathi/suits.dmi', SPECIES_TAJ = 'icons/obj/clothing/species/tajaran/suits.dmi', SPECIES_SKRELL = 'icons/obj/clothing/species/skrell/suits.dmi', - SPECIES_TESHARI = 'icons/obj/clothing/species/seromi/suits.dmi' + SPECIES_TESHARI = 'icons/obj/clothing/species/teshari/suits.dmi' ) //Breach thresholds, should ideally be inherited by most (if not all) voidsuits. diff --git a/code/modules/clothing/spacesuits/void/void_vr.dm b/code/modules/clothing/spacesuits/void/void_vr.dm index 378c2cee3c..ba30534822 100644 --- a/code/modules/clothing/spacesuits/void/void_vr.dm +++ b/code/modules/clothing/spacesuits/void/void_vr.dm @@ -11,7 +11,7 @@ SPECIES_TAJ = 'icons/mob/species/tajaran/helmet.dmi', SPECIES_SKRELL = 'icons/mob/species/skrell/helmet.dmi', SPECIES_UNATHI = 'icons/mob/species/unathi/helmet.dmi', - SPECIES_TESHARI = 'icons/mob/species/seromi/head.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/head.dmi', SPECIES_XENOHYBRID = 'icons/mob/species/unathi/helmet.dmi', SPECIES_AKULA = 'icons/mob/species/akula/helmet_vr.dmi', SPECIES_SERGAL = 'icons/mob/species/sergal/helmet_vr.dmi', @@ -25,7 +25,7 @@ SPECIES_TAJ = 'icons/obj/clothing/species/tajaran/hats.dmi', // Copied from void.dm SPECIES_SKRELL = 'icons/obj/clothing/species/skrell/hats.dmi', // Copied from void.dm SPECIES_UNATHI = 'icons/obj/clothing/species/unathi/hats.dmi', // Copied from void.dm - SPECIES_TESHARI = 'icons/obj/clothing/species/seromi/hats.dmi', // Copied from void.dm + SPECIES_TESHARI = 'icons/obj/clothing/species/teshari/hats.dmi', // Copied from void.dm SPECIES_XENOHYBRID = 'icons/obj/clothing/species/unathi/hats.dmi', SPECIES_AKULA = 'icons/obj/clothing/species/akula/hats.dmi', SPECIES_SERGAL = 'icons/obj/clothing/species/sergal/hats.dmi', @@ -41,7 +41,7 @@ SPECIES_TAJ = 'icons/mob/species/tajaran/suit.dmi', SPECIES_SKRELL = 'icons/mob/species/skrell/suit.dmi', SPECIES_UNATHI = 'icons/mob/species/unathi/suit.dmi', - SPECIES_TESHARI = 'icons/mob/species/seromi/suit.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/suit.dmi', SPECIES_XENOHYBRID = 'icons/mob/species/unathi/suit.dmi', SPECIES_AKULA = 'icons/mob/species/akula/suit_vr.dmi', SPECIES_SERGAL = 'icons/mob/species/sergal/suit_vr.dmi', @@ -54,7 +54,7 @@ SPECIES_TAJ = 'icons/obj/clothing/species/tajaran/suits.dmi', // Copied from void.dm SPECIES_SKRELL = 'icons/obj/clothing/species/skrell/suits.dmi', // Copied from void.dm SPECIES_UNATHI = 'icons/obj/clothing/species/unathi/suits.dmi', // Copied from void.dm - SPECIES_TESHARI = 'icons/obj/clothing/species/seromi/suits.dmi', // Copied from void.dm + SPECIES_TESHARI = 'icons/obj/clothing/species/teshari/suits.dmi', // Copied from void.dm SPECIES_XENOHYBRID = 'icons/obj/clothing/species/unathi/suits.dmi', SPECIES_AKULA = 'icons/obj/clothing/species/akula/suits.dmi', SPECIES_SERGAL = 'icons/obj/clothing/species/sergal/suits.dmi', @@ -164,7 +164,7 @@ SPECIES_VULPKANIN = 'icons/mob/species/vulpkanin/suit_vr.dmi', SPECIES_ZORREN_HIGH = 'icons/mob/species/vulpkanin/suit_vr.dmi', SPECIES_FENNEC = 'icons/mob/species/vulpkanin/suit_vr.dmi', - SPECIES_TESHARI = 'icons/mob/species/seromi/suit_vr.dmi' + SPECIES_TESHARI = 'icons/mob/species/teshari/suit_vr.dmi' ) sprite_sheets_obj = list( SPECIES_TAJ = 'icons/obj/clothing/suits_vr.dmi', @@ -243,7 +243,7 @@ SPECIES_VULPKANIN = 'icons/mob/species/vulpkanin/helmet_vr.dmi', SPECIES_ZORREN_HIGH = 'icons/mob/species/vulpkanin/helmet_vr.dmi', SPECIES_FENNEC = 'icons/mob/species/vulpkanin/helmet_vr.dmi', - SPECIES_TESHARI = 'icons/mob/species/seromi/helmet_vr.dmi' + SPECIES_TESHARI = 'icons/mob/species/teshari/helmet_vr.dmi' ) sprite_sheets_obj = list( SPECIES_TAJ = 'icons/obj/clothing/hats_vr.dmi', diff --git a/code/modules/clothing/suits/aliens/seromi.dm b/code/modules/clothing/suits/aliens/teshari.dm similarity index 79% rename from code/modules/clothing/suits/aliens/seromi.dm rename to code/modules/clothing/suits/aliens/teshari.dm index bdfeb88ec0..98498dcffd 100644 --- a/code/modules/clothing/suits/aliens/seromi.dm +++ b/code/modules/clothing/suits/aliens/teshari.dm @@ -1,141 +1,141 @@ // Standard Cloaks -/obj/item/clothing/suit/storage/seromi/cloak +/obj/item/clothing/suit/storage/teshari/cloak name = "black cloak" desc = "It drapes over a Teshari's shoulders and closes at the neck with pockets convienently placed inside." - icon = 'icons/mob/species/seromi/teshari_cloak.dmi' - icon_override = 'icons/mob/species/seromi/teshari_cloak.dmi' + icon = 'icons/mob/species/teshari/teshari_cloak.dmi' + icon_override = 'icons/mob/species/teshari/teshari_cloak.dmi' icon_state = "tesh_cloak_bn" item_state = "tesh_cloak_bn" species_restricted = list(SPECIES_TESHARI) body_parts_covered = UPPER_TORSO|ARMS -/obj/item/clothing/suit/storage/seromi/cloak/standard/black_red +/obj/item/clothing/suit/storage/teshari/cloak/standard/black_red name = "black and red cloak" icon_state = "tesh_cloak_br" item_state = "tesh_cloak_br" -/obj/item/clothing/suit/storage/seromi/cloak/standard/black_orange +/obj/item/clothing/suit/storage/teshari/cloak/standard/black_orange name = "black and orange cloak" icon_state = "tesh_cloak_bo" item_state = "tesh_cloak_bo" -/obj/item/clothing/suit/storage/seromi/cloak/standard/black_yellow +/obj/item/clothing/suit/storage/teshari/cloak/standard/black_yellow name = "black and yellow cloak" icon_state = "tesh_cloak_by" item_state = "tesh_cloak_by" -/obj/item/clothing/suit/storage/seromi/cloak/standard/black_green +/obj/item/clothing/suit/storage/teshari/cloak/standard/black_green name = "black and green cloak" icon_state = "tesh_cloak_bgr" item_state = "tesh_cloak_bgr" -/obj/item/clothing/suit/storage/seromi/cloak/standard/black_blue +/obj/item/clothing/suit/storage/teshari/cloak/standard/black_blue name = "black and blue cloak" icon_state = "tesh_cloak_bbl" item_state = "tesh_cloak_bbl" -/obj/item/clothing/suit/storage/seromi/cloak/standard/black_purple +/obj/item/clothing/suit/storage/teshari/cloak/standard/black_purple name = "black and purple cloak" icon_state = "tesh_cloak_bp" item_state = "tesh_cloak_bp" -/obj/item/clothing/suit/storage/seromi/cloak/standard/black_pink +/obj/item/clothing/suit/storage/teshari/cloak/standard/black_pink name = "black and pink cloak" icon_state = "tesh_cloak_bpi" item_state = "tesh_cloak_bpi" -/obj/item/clothing/suit/storage/seromi/cloak/standard/black_brown +/obj/item/clothing/suit/storage/teshari/cloak/standard/black_brown name = "black and brown cloak" icon_state = "tesh_cloak_bbr" item_state = "tesh_cloak_bbr" -/obj/item/clothing/suit/storage/seromi/cloak/standard/black_grey +/obj/item/clothing/suit/storage/teshari/cloak/standard/black_grey name = "black and grey cloak" icon_state = "tesh_cloak_bg" item_state = "tesh_cloak_bg" -/obj/item/clothing/suit/storage/seromi/cloak/standard/black_white +/obj/item/clothing/suit/storage/teshari/cloak/standard/black_white name = "black and white cloak" icon_state = "tesh_cloak_bw" item_state = "tesh_cloak_bw" -/obj/item/clothing/suit/storage/seromi/cloak/standard/white +/obj/item/clothing/suit/storage/teshari/cloak/standard/white name = "white cloak" icon_state = "tesh_cloak_wn" item_state = "tesh_cloak_wn" -/obj/item/clothing/suit/storage/seromi/cloak/standard/white_grey +/obj/item/clothing/suit/storage/teshari/cloak/standard/white_grey name = "white and grey cloak" icon_state = "tesh_cloak_wg" item_state = "tesh_cloak_wg" -/obj/item/clothing/suit/storage/seromi/cloak/standard/red_grey +/obj/item/clothing/suit/storage/teshari/cloak/standard/red_grey name = "red and grey cloak" icon_state = "tesh_cloak_rg" item_state = "tesh_cloak_rg" -/obj/item/clothing/suit/storage/seromi/cloak/standard/orange_grey +/obj/item/clothing/suit/storage/teshari/cloak/standard/orange_grey name = "orange and grey cloak" icon_state = "tesh_cloak_og" item_state = "tesh_cloak_og" -/obj/item/clothing/suit/storage/seromi/cloak/standard/yellow_grey +/obj/item/clothing/suit/storage/teshari/cloak/standard/yellow_grey name = "yellow and grey cloak" icon_state = "tesh_cloak_yg" item_state = "tesh_cloak_yg" -/obj/item/clothing/suit/storage/seromi/cloak/standard/green_grey +/obj/item/clothing/suit/storage/teshari/cloak/standard/green_grey name = "green and grey cloak" icon_state = "tesh_cloak_gg" item_state = "tesh_cloak_gg" -/obj/item/clothing/suit/storage/seromi/cloak/standard/blue_grey +/obj/item/clothing/suit/storage/teshari/cloak/standard/blue_grey name = "blue and grey cloak" icon_state = "tesh_cloak_blug" item_state = "tesh_cloak_blug" -/obj/item/clothing/suit/storage/seromi/cloak/standard/purple_grey +/obj/item/clothing/suit/storage/teshari/cloak/standard/purple_grey name = "purple and grey cloak" icon_state = "tesh_cloak_pg" item_state = "tesh_cloak_pg" -/obj/item/clothing/suit/storage/seromi/cloak/standard/pink_grey +/obj/item/clothing/suit/storage/teshari/cloak/standard/pink_grey name = "pink and grey cloak" icon_state = "tesh_cloak_pig" item_state = "tesh_cloak_pig" -/obj/item/clothing/suit/storage/seromi/cloak/standard/brown_grey +/obj/item/clothing/suit/storage/teshari/cloak/standard/brown_grey name = "brown and grey cloak" icon_state = "tesh_cloak_brg" item_state = "tesh_cloak_brg" -/obj/item/clothing/suit/storage/seromi/cloak/standard/rainbow +/obj/item/clothing/suit/storage/teshari/cloak/standard/rainbow name = "rainbow cloak" icon_state = "tesh_cloak_rainbow" item_state = "tesh_cloak_rainbow" -/obj/item/clothing/suit/storage/seromi/cloak/standard/orange +/obj/item/clothing/suit/storage/teshari/cloak/standard/orange name = "orange cloak" icon_state = "tesh_cloak_on" item_state = "tesh_cloak_on" -/obj/item/clothing/suit/storage/seromi/cloak/standard/dark_retrowave +/obj/item/clothing/suit/storage/teshari/cloak/standard/dark_retrowave name = "dark aesthetic cloak" icon_state = "tesh_cloak_dretrowave" item_state = "tesh_cloak_dretrowave" -/obj/item/clothing/suit/storage/seromi/cloak/standard/black_glow +/obj/item/clothing/suit/storage/teshari/cloak/standard/black_glow name = "black and glowing cloak" icon_state = "tesh_cloak_bglowing" item_state = "tesh_cloak_bglowing" // Job Cloaks -/obj/item/clothing/suit/storage/seromi/cloak/jobs - icon = 'icons/mob/species/seromi/deptcloak.dmi' - icon_override = 'icons/mob/species/seromi/deptcloak.dmi' +/obj/item/clothing/suit/storage/teshari/cloak/jobs + icon = 'icons/mob/species/teshari/deptcloak.dmi' + icon_override = 'icons/mob/species/teshari/deptcloak.dmi' -/obj/item/clothing/suit/storage/seromi/cloak/jobs/cap +/obj/item/clothing/suit/storage/teshari/cloak/jobs/cap name = "facility director cloak" desc = "A soft Teshari cloak made for the Facility Director" icon_state = "tesh_cloak_cap" @@ -143,19 +143,19 @@ //Cargo -/obj/item/clothing/suit/storage/seromi/cloak/jobs/qm +/obj/item/clothing/suit/storage/teshari/cloak/jobs/qm name = "quartermaster cloak" desc = "A soft Teshari cloak made for the Quartermaster" icon_state = "tesh_cloak_qm" item_state = "tesh_cloak_qm" -/obj/item/clothing/suit/storage/seromi/cloak/jobs/cargo +/obj/item/clothing/suit/storage/teshari/cloak/jobs/cargo name = "cargo cloak" desc = "A soft Teshari cloak made for the Cargo department" icon_state = "tesh_cloak_car" item_state = "tesh_cloak_car" -/obj/item/clothing/suit/storage/seromi/cloak/jobs/mining +/obj/item/clothing/suit/storage/teshari/cloak/jobs/mining name = "mining cloak" desc = "A soft Teshari cloak made for Mining" icon_state = "tesh_cloak_mine" @@ -163,19 +163,19 @@ //Engineering -/obj/item/clothing/suit/storage/seromi/cloak/jobs/ce +/obj/item/clothing/suit/storage/teshari/cloak/jobs/ce name = "cheif engineer cloak" desc = "A soft Teshari cloak made the Chief Engineer" icon_state = "tesh_cloak_ce" item_state = "tesh_cloak_ce" -/obj/item/clothing/suit/storage/seromi/cloak/jobs/engineer +/obj/item/clothing/suit/storage/teshari/cloak/jobs/engineer name = "engineering cloak" desc = "A soft Teshari cloak made for the Engineering department" icon_state = "tesh_cloak_engie" item_state = "tesh_cloak_engie" -/obj/item/clothing/suit/storage/seromi/cloak/jobs/atmos +/obj/item/clothing/suit/storage/teshari/cloak/jobs/atmos name = "atmospherics cloak" desc = "A soft Teshari cloak made for the Atmospheric Technician" icon_state = "tesh_cloak_atmos" @@ -183,37 +183,37 @@ //Medical -/obj/item/clothing/suit/storage/seromi/cloak/jobs/cmo +/obj/item/clothing/suit/storage/teshari/cloak/jobs/cmo name = "chief medical officer cloak" desc = "A soft Teshari cloak made the Cheif Medical Officer" icon_state = "tesh_cloak_cmo" item_state = "tesh_cloak_cmo" -/obj/item/clothing/suit/storage/seromi/cloak/jobs/medical +/obj/item/clothing/suit/storage/teshari/cloak/jobs/medical name = "medical cloak" desc = "A soft Teshari cloak made for the Medical department" icon_state = "tesh_cloak_doc" item_state = "tesh_cloak_doc" -/obj/item/clothing/suit/storage/seromi/cloak/jobs/chemistry +/obj/item/clothing/suit/storage/teshari/cloak/jobs/chemistry name = "chemist cloak" desc = "A soft Teshari cloak made for the Chemist" icon_state = "tesh_cloak_chem" item_state = "tesh_cloak_chem" -/obj/item/clothing/suit/storage/seromi/cloak/jobs/viro +/obj/item/clothing/suit/storage/teshari/cloak/jobs/viro name = "virologist cloak" desc = "A soft Teshari cloak made for the Virologist" icon_state = "tesh_cloak_viro" item_state = "tesh_cloak_viro" -/obj/item/clothing/suit/storage/seromi/cloak/jobs/para +/obj/item/clothing/suit/storage/teshari/cloak/jobs/para name = "paramedic cloak" desc = "A soft Teshari cloak made for the Paramedic" icon_state = "tesh_cloak_para" item_state = "tesh_cloak_para" -/obj/item/clothing/suit/storage/seromi/cloak/jobs/psych +/obj/item/clothing/suit/storage/teshari/cloak/jobs/psych name = " psychiatrist cloak" desc = "A soft Teshari cloak made for the Psychiatrist" icon_state = "tesh_cloak_psych" @@ -221,19 +221,19 @@ //Science -/obj/item/clothing/suit/storage/seromi/cloak/jobs/rd +/obj/item/clothing/suit/storage/teshari/cloak/jobs/rd name = "research director cloak" desc = "A soft Teshari cloak made for the Research Director" icon_state = "tesh_cloak_rd" item_state = "tesh_cloak_rd" -/obj/item/clothing/suit/storage/seromi/cloak/jobs/sci +/obj/item/clothing/suit/storage/teshari/cloak/jobs/sci name = "scientist cloak" desc = "A soft Teshari cloak made for the Science department" icon_state = "tesh_cloak_sci" item_state = "tesh_cloak_sci" -/obj/item/clothing/suit/storage/seromi/cloak/jobs/robo +/obj/item/clothing/suit/storage/teshari/cloak/jobs/robo name = "roboticist cloak" desc = "A soft Teshari cloak made for the Roboticist" icon_state = "tesh_cloak_robo" @@ -241,7 +241,7 @@ //Security -/obj/item/clothing/suit/storage/seromi/cloak/jobs/hos +/obj/item/clothing/suit/storage/teshari/cloak/jobs/hos name = "head of security cloak" desc = "A soft Teshari cloak made for the Head of Security. This one is made with stronger fibers." //CHOMPedot icon_state = "tesh_cloak_hos" @@ -252,7 +252,7 @@ siemens_coefficient = 0.6 armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 0, rad = 0) //CHOMPedit end -/obj/item/clothing/suit/storage/seromi/cloak/jobs/sec +/obj/item/clothing/suit/storage/teshari/cloak/jobs/sec name = "security cloak" desc = "A soft Teshari cloak made for the Security department. This one is made with stronger fibers." //CHOMPedit icon_state = "tesh_cloak_sec" @@ -263,7 +263,7 @@ siemens_coefficient = 0.6 armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 0, rad = 0) //CHOMPedit end -/obj/item/clothing/suit/storage/seromi/cloak/jobs/iaa +/obj/item/clothing/suit/storage/teshari/cloak/jobs/iaa name = "internal affairs cloak" desc = "A soft Teshari cloak made for the Internal Affairs Agent" icon_state = "tesh_cloak_iaa" @@ -271,13 +271,13 @@ //Service -/obj/item/clothing/suit/storage/seromi/cloak/jobs/hop +/obj/item/clothing/suit/storage/teshari/cloak/jobs/hop name = "head of personnel cloak" desc = "A soft Teshari cloak made for the Head of Personnel" icon_state = "tesh_cloak_hop" item_state = "tesh_cloak_hop" -/obj/item/clothing/suit/storage/seromi/cloak/jobs/service +/obj/item/clothing/suit/storage/teshari/cloak/jobs/service name = "service cloak" desc = "A soft Teshari cloak made for the Service department" icon_state = "tesh_cloak_serv" @@ -288,16 +288,16 @@ /obj/item/clothing/suit/storage/toggle/labcoat/teshari name = "Teshari labcoat" desc = "A small suit that protects against minor chemical spills. This one is a good fit on Teshari." - icon = 'icons/obj/clothing/species/seromi/suits.dmi' - icon_override = 'icons/mob/species/seromi/suit.dmi' + icon = 'icons/obj/clothing/species/teshari/suits.dmi' + icon_override = 'icons/mob/species/teshari/suit.dmi' icon_state = "tesh_labcoat" species_restricted = list(SPECIES_TESHARI) /obj/item/clothing/suit/storage/toggle/tesharicoat name = "small black coat" desc = "A coat that seems too small to fit a human." - icon = 'icons/obj/clothing/species/seromi/suits.dmi' - icon_override = 'icons/mob/species/seromi/suit.dmi' + icon = 'icons/obj/clothing/species/teshari/suits.dmi' + icon_override = 'icons/mob/species/teshari/suit.dmi' icon_state = "tesharicoat" body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS species_restricted = list(SPECIES_TESHARI) @@ -305,8 +305,8 @@ /obj/item/clothing/suit/storage/toggle/tesharicoatwhite name = "small coat" desc = "A coat that seems too small to fit a human." - icon = 'icons/obj/clothing/species/seromi/suits.dmi' - icon_override = 'icons/mob/species/seromi/suit.dmi' + icon = 'icons/obj/clothing/species/teshari/suits.dmi' + icon_override = 'icons/mob/species/teshari/suit.dmi' icon_state = "tesharicoatwhite" body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS species_restricted = list(SPECIES_TESHARI) @@ -315,8 +315,8 @@ /obj/item/clothing/suit/storage/hooded/teshari name = "Hooded Teshari Cloak" desc = "A soft teshari cloak with an added hood." - icon_override = 'icons/mob/species/seromi/teshari_hood.dmi' - icon = 'icons/mob/species/seromi/teshari_hood.dmi' + icon_override = 'icons/mob/species/teshari/teshari_hood.dmi' + icon = 'icons/mob/species/teshari/teshari_hood.dmi' icon_state = "tesh_hcloak_bo" item_state_slots = list(slot_r_hand_str = "tesh_hcloak_bo", slot_l_hand_str = "tesh_hcloak_bo") body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS @@ -329,8 +329,8 @@ /obj/item/clothing/head/tesh_hood name = "Cloak Hood" desc = "A hood attached to a teshari cloak." - icon_override = 'icons/mob/species/seromi/teshari_hood.dmi' - icon = 'icons/mob/species/seromi/teshari_hood.dmi' + icon_override = 'icons/mob/species/teshari/teshari_hood.dmi' + icon = 'icons/mob/species/teshari/teshari_hood.dmi' icon_state = "tesh_hood_bo" item_state_slots = list(slot_r_hand_str = "tesh_hood_bo", slot_l_hand_str = "tesh_hood_bo") flags_inv = BLOCKHAIR @@ -613,225 +613,225 @@ item_state = "tesh_hood_brg" //Belted cloaks -/obj/item/clothing/suit/storage/seromi/beltcloak +/obj/item/clothing/suit/storage/teshari/beltcloak name = "belted cloak" desc = "A more ridged and stylized Teshari cloak." - icon = 'icons/mob/species/seromi/teshari_cloak.dmi' - icon_override = 'icons/mob/species/seromi/teshari_cloak.dmi' + icon = 'icons/mob/species/teshari/teshari_cloak.dmi' + icon_override = 'icons/mob/species/teshari/teshari_cloak.dmi' icon_state = "tesh_beltcloak_bo" item_state = "tesh_beltcloak_bo" species_restricted = list(SPECIES_TESHARI) body_parts_covered = UPPER_TORSO|ARMS -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_orange +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_orange name = "black belted cloak (orange)" icon_state = "tesh_beltcloak_bo" item_state = "tesh_beltcloak_bo" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_grey name = "black belted cloak" icon_state = "tesh_beltcloak_bg" item_state = "tesh_beltcloak_bg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_midgrey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_midgrey name = "black belted cloak (medium grey)" icon_state = "tesh_beltcloak_bmg" item_state = "tesh_beltcloak_bmg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_lightgrey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_lightgrey name = "black belted cloak (light grey)" icon_state = "tesh_beltcloak_blg" item_state = "tesh_beltcloak_blg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_white +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_white name = "black belted cloak (white)" icon_state = "tesh_beltcloak_bw" item_state = "tesh_beltcloak_bw" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_red +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_red name = "black belted cloak (red)" icon_state = "tesh_beltcloak_br" item_state = "tesh_beltcloak_br" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black name = "black simple belted cloak" icon_state = "tesh_beltcloak_bn" item_state = "tesh_beltcloak_bn" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_yellow +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_yellow name = "black belted cloak (yellow)" icon_state = "tesh_beltcloak_by" item_state = "tesh_beltcloak_by" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_green +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_green name = "black belted cloak (green)" icon_state = "tesh_beltcloak_bgr" item_state = "tesh_beltcloak_bgr" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_blue +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_blue name = "black belted cloak (blue)" icon_state = "tesh_beltcloak_bbl" item_state = "tesh_beltcloak_bbl" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_purple +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_purple name = "black belted cloak (purple)" icon_state = "tesh_beltcloak_bp" item_state = "tesh_beltcloak_bp" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_pink +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_pink name = "black belted cloak (pink)" icon_state = "tesh_beltcloak_bpi" item_state = "tesh_beltcloak_bpi" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_brown +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_brown name = "black belted cloak (brown)" icon_state = "tesh_beltcloak_bbr" item_state = "tesh_beltcloak_bbr" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/orange_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/orange_grey name = "orange belted cloak" icon_state = "tesh_beltcloak_og" item_state = "tesh_beltcloak_og" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/rainbow +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/rainbow name = "rainbow belted cloak" icon_state = "tesh_beltcloak_rainbow" item_state = "tesh_beltcloak_rainbow" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/lightgrey_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/lightgrey_grey name = "light grey belted cloak" icon_state = "tesh_beltcloak_lgg" item_state = "tesh_beltcloak_lgg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/white_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/white_grey name = "white belted cloak" icon_state = "tesh_beltcloak_wg" item_state = "tesh_beltcloak_wg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/red_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/red_grey name = "red belted cloak" icon_state = "tesh_beltcloak_rg" item_state = "tesh_beltcloak_rg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/orange +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/orange name = "orange simple belted cloak" icon_state = "tesh_beltcloak_on" item_state = "tesh_beltcloak_on" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/yellow_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/yellow_grey name = "yellow belted cloak" icon_state = "tesh_beltcloak_yg" item_state = "tesh_beltcloak_yg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/green_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/green_grey name = "green belted cloak" icon_state = "tesh_beltcloak_gg" item_state = "tesh_beltcloak_gg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/blue_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/blue_grey name = "blue belted cloak" icon_state = "tesh_beltcloak_blug" item_state = "tesh_beltcloak_blug" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/purple_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/purple_grey name = "purple belted cloak" icon_state = "tesh_beltcloak_pg" item_state = "tesh_beltcloak_pg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/pink_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/pink_grey name = "pink belted cloak" icon_state = "tesh_beltcloak_pig" item_state = "tesh_beltcloak_pig" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/brown_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/brown_grey name = "brown belted cloak" icon_state = "tesh_beltcloak_brg" item_state = "tesh_beltcloak_brg" //Belted job cloaks -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs - icon = 'icons/mob/species/seromi/deptcloak.dmi' - icon_override = 'icons/mob/species/seromi/deptcloak.dmi' +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs + icon = 'icons/mob/species/teshari/deptcloak.dmi' + icon_override = 'icons/mob/species/teshari/deptcloak.dmi' -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cargo +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cargo name = "cargo belted cloak" desc = "A soft Teshari cloak made for the Cargo department" icon_state = "tesh_beltcloak_car" item_state = "tesh_beltcloak_car" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/mining +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/mining name = "mining belted cloak" desc = "A soft Teshari cloak made for Mining" icon_state = "tesh_beltcloak_mine" item_state = "tesh_beltcloak_mine" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/command +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/command name = "command belted cloak" desc = "A soft Teshari cloak made for the Command department" icon_state = "tesh_beltcloak_comm" item_state = "tesh_beltcloak_comm" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/ce +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/ce name = "chief engineer belted cloak" desc = "A soft Teshari cloak made the Chief Engineer" icon_state = "tesh_beltcloak_ce" item_state = "tesh_beltcloak_ce" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/engineer +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/engineer name = "engineering belted cloak" desc = "A soft Teshari cloak made for the Engineering department" icon_state = "tesh_beltcloak_engie" item_state = "tesh_beltcloak_engie" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/atmos +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/atmos name = "atmospherics belted cloak" desc = "A soft Teshari cloak made for the Atmospheric Technician" icon_state = "tesh_beltcloak_atmos" item_state = "tesh_beltcloak_atmos" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cmo +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cmo name = "chief medical officer belted cloak" desc = "A soft Teshari cloak made the Chief Medical Officer" icon_state = "tesh_beltcloak_cmo" item_state = "tesh_beltcloak_cmo" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/medical +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/medical name = "medical belted cloak" desc = "A soft Teshari cloak made for the Medical department" icon_state = "tesh_beltcloak_doc" item_state = "tesh_beltcloak_doc" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/chemistry +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/chemistry name = "chemist belted cloak" desc = "A soft Teshari cloak made for the Chemist" icon_state = "tesh_beltcloak_vrem" item_state = "tesh_beltcloak_vrem" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/viro +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/viro name = "virologist belted cloak" desc = "A soft Teshari cloak made for the Virologist" icon_state = "tesh_beltcloak_viro" item_state = "tesh_beltcloak_viro" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/para +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/para name = "paramedic belted cloak" desc = "A soft Teshari cloak made for the Paramedic" icon_state = "tesh_beltcloak_para" item_state = "tesh_beltcloak_para" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/sci +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/sci name = "scientist belted cloak" desc = "A soft Teshari cloak made for the Science department" icon_state = "tesh_beltcloak_sci" item_state = "tesh_beltcloak_sci" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/robo +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/robo name = "roboticist belted cloak" desc = "A soft Teshari cloak made for the Roboticist" icon_state = "tesh_beltcloak_robo" item_state = "tesh_beltcloak_robo" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/sec +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/sec name = "security belted cloak" desc = "A soft Teshari cloak made for the Security department. This one is made with stronger fibers." //CHOMPedit icon_state = "tesh_beltcloak_sec" @@ -842,31 +842,31 @@ siemens_coefficient = 0.6 armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 0, rad = 0) //CHOMPedit end -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/qm +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/qm name = "quartermaster belted cloak" desc = "A soft Teshari cloak made for the Quartermaster" icon_state = "tesh_beltcloak_qm" item_state = "tesh_beltcloak_qm" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/service +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/service name = "service belted cloak" desc = "A soft Teshari cloak made for the Service department" icon_state = "tesh_beltcloak_serv" item_state = "tesh_beltcloak_serv" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/iaa +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/iaa name = "internal affairs belted cloak" desc = "A soft Teshari cloak made for the Internal Affairs Agent" icon_state = "tesh_beltcloak_iaa" item_state = "tesh_beltcloak_iaa" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/wrdn +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/wrdn name = "warden belted cloak" desc = "A soft Teshari cloak made for the Warden" icon_state = "tesh_beltcloak_wrdn" item_state = "tesh_beltcloak_wrdn" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/hos +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/hos name = "security chief belted cloak" desc = "A soft Teshari cloak made for the Head of Security. This one is made with stronger fibers." //CHOMPedit icon_state = "tesh_beltcloak_hos" @@ -877,7 +877,7 @@ siemens_coefficient = 0.6 armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 0, rad = 0) //CHOMPedit end -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/jani +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/jani name = "janitor belted cloak" desc = "A soft Teshari cloak made for the Janitor" icon_state = "tesh_beltcloak_jani" diff --git a/code/modules/clothing/suits/aliens/seromi_ch.dm b/code/modules/clothing/suits/aliens/teshari_ch.dm similarity index 94% rename from code/modules/clothing/suits/aliens/seromi_ch.dm rename to code/modules/clothing/suits/aliens/teshari_ch.dm index e68b271738..47d665f7fa 100644 --- a/code/modules/clothing/suits/aliens/seromi_ch.dm +++ b/code/modules/clothing/suits/aliens/teshari_ch.dm @@ -1,24 +1,24 @@ //Chompstation teshari cloaks -/obj/item/clothing/suit/storage/seromi/cloak/standard/dark_retrowave +/obj/item/clothing/suit/storage/teshari/cloak/standard/dark_retrowave name = "dark aesthetic cloak" icon_state = "tesh_cloak_dretrowave" item_state = "tesh_cloak_dretrowave" - icon = 'icons/mob/species/seromi/teshari_cloak_ch.dmi' - icon_override = 'icons/mob/species/seromi/teshari_cloak_ch.dmi' + icon = 'icons/mob/species/teshari/teshari_cloak_ch.dmi' + icon_override = 'icons/mob/species/teshari/teshari_cloak_ch.dmi' -/obj/item/clothing/suit/storage/seromi/cloak/standard/black_glow +/obj/item/clothing/suit/storage/teshari/cloak/standard/black_glow name = "black and glowing cloak" icon_state = "tesh_cloak_bglowing" item_state = "tesh_cloak_bglowing" - icon = 'icons/mob/species/seromi/teshari_cloak_ch.dmi' - icon_override = 'icons/mob/species/seromi/teshari_cloak_ch.dmi' + icon = 'icons/mob/species/teshari/teshari_cloak_ch.dmi' + icon_override = 'icons/mob/species/teshari/teshari_cloak_ch.dmi' //Hooded teshari cloaks /obj/item/clothing/suit/storage/hooded/teshari name = "Hooded Teshari Cloak" desc = "A soft teshari cloak with an added hood." - icon_override = 'icons/mob/species/seromi/teshari_hood_ch.dmi' - icon = 'icons/mob/species/seromi/teshari_hood_ch.dmi' + icon_override = 'icons/mob/species/teshari/teshari_hood_ch.dmi' + icon = 'icons/mob/species/teshari/teshari_hood_ch.dmi' icon_state = "tesh_hcloak_bo" item_state_slots = list(slot_r_hand_str = "tesh_hcloak_bo", slot_l_hand_str = "tesh_hcloak_bo") body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS @@ -31,8 +31,8 @@ /obj/item/clothing/head/tesh_hood name = "Cloak Hood" desc = "A hood attached to a teshari cloak." - icon_override = 'icons/mob/species/seromi/teshari_hood_ch.dmi' - icon = 'icons/mob/species/seromi/teshari_hood_ch.dmi' + icon_override = 'icons/mob/species/teshari/teshari_hood_ch.dmi' + icon = 'icons/mob/species/teshari/teshari_hood_ch.dmi' icon_state = "tesh_hood_bo" item_state_slots = list(slot_r_hand_str = "tesh_hood_bo", slot_l_hand_str = "tesh_hood_bo") flags_inv = BLOCKHAIR diff --git a/code/modules/clothing/suits/aliens/seromi_yw.dm b/code/modules/clothing/suits/aliens/teshari_yw.dm similarity index 81% rename from code/modules/clothing/suits/aliens/seromi_yw.dm rename to code/modules/clothing/suits/aliens/teshari_yw.dm index f8e50f04e5..6cf2c4a254 100644 --- a/code/modules/clothing/suits/aliens/seromi_yw.dm +++ b/code/modules/clothing/suits/aliens/teshari_yw.dm @@ -1,25 +1,25 @@ //Added from CHOMP https://github.com/CHOMPStation2/CHOMPStation2/pull/207 //Chompstation teshari cloaks -/obj/item/clothing/suit/storage/seromi/cloak/standard/dark_retrowave +/obj/item/clothing/suit/storage/teshari/cloak/standard/dark_retrowave name = "dark aesthetic cloak" icon_state = "tesh_cloak_dretrowave" item_state = "tesh_cloak_dretrowave" - icon = 'icons/mob/species/seromi/teshari_cloak_yw.dmi' - icon_override = 'icons/mob/species/seromi/teshari_cloak_yw.dmi' + icon = 'icons/mob/species/teshari/teshari_cloak_yw.dmi' + icon_override = 'icons/mob/species/teshari/teshari_cloak_yw.dmi' -/obj/item/clothing/suit/storage/seromi/cloak/standard/black_glow +/obj/item/clothing/suit/storage/teshari/cloak/standard/black_glow name = "black and glowing cloak" icon_state = "tesh_cloak_bglowing" item_state = "tesh_cloak_bglowing" - icon = 'icons/mob/species/seromi/teshari_cloak_yw.dmi' - icon_override = 'icons/mob/species/seromi/teshari_cloak_yw.dmi' + icon = 'icons/mob/species/teshari/teshari_cloak_yw.dmi' + icon_override = 'icons/mob/species/teshari/teshari_cloak_yw.dmi' //Hooded teshari cloaks /obj/item/clothing/suit/storage/hooded/teshari name = "Hooded Teshari Cloak" desc = "A soft teshari cloak with an added hood." - icon_override = 'icons/mob/species/seromi/teshari_hood_yw.dmi' - icon = 'icons/mob/species/seromi/teshari_hood_yw.dmi' + icon_override = 'icons/mob/species/teshari/teshari_hood_yw.dmi' + icon = 'icons/mob/species/teshari/teshari_hood_yw.dmi' icon_state = "tesh_hcloak_bo" item_state_slots = list(slot_r_hand_str = "tesh_hcloak_bo", slot_l_hand_str = "tesh_hcloak_bo") body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS @@ -32,8 +32,8 @@ /obj/item/clothing/head/tesh_hood name = "Cloak Hood" desc = "A hood attached to a teshari cloak." - icon_override = 'icons/mob/species/seromi/teshari_hood_yw.dmi' - icon = 'icons/mob/species/seromi/teshari_hood_yw.dmi' + icon_override = 'icons/mob/species/teshari/teshari_hood_yw.dmi' + icon = 'icons/mob/species/teshari/teshari_hood_yw.dmi' icon_state = "tesh_hood_bo" item_state_slots = list(slot_r_hand_str = "tesh_hood_bo", slot_l_hand_str = "tesh_hood_bo") flags_inv = BLOCKHAIR @@ -314,261 +314,261 @@ icon_state = "tesh_hood_brg" item_state = "tesh_hood_brg" -/obj/item/clothing/suit/storage/seromi/beltcloak +/obj/item/clothing/suit/storage/teshari/beltcloak name = "belted cloak" desc = "A more ridged and stylized Teshari cloak." - icon = 'icons/mob/species/seromi/teshari_cloak_yw.dmi' - icon_override = 'icons/mob/species/seromi/teshari_cloak_yw.dmi' + icon = 'icons/mob/species/teshari/teshari_cloak_yw.dmi' + icon_override = 'icons/mob/species/teshari/teshari_cloak_yw.dmi' icon_state = "tesh_beltcloak_bo" item_state = "tesh_beltcloak_bo" species_restricted = list(SPECIES_TESHARI) body_parts_covered = UPPER_TORSO|ARMS -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_orange +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_orange name = "black belted cloak (orange)" icon_state = "tesh_beltcloak_bo" item_state = "tesh_beltcloak_bo" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_grey name = "black belted cloak" icon_state = "tesh_beltcloak_bg" item_state = "tesh_beltcloak_bg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_midgrey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_midgrey name = "black belted cloak (medium grey)" icon_state = "tesh_beltcloak_bmg" item_state = "tesh_beltcloak_bmg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_lightgrey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_lightgrey name = "black belted cloak (light grey)" icon_state = "tesh_beltcloak_blg" item_state = "tesh_beltcloak_blg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_white +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_white name = "black belted cloak (white)" icon_state = "tesh_beltcloak_bw" item_state = "tesh_beltcloak_bw" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_red +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_red name = "black belted cloak (red)" icon_state = "tesh_beltcloak_br" item_state = "tesh_beltcloak_br" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black name = "black simple belted cloak" icon_state = "tesh_beltcloak_bn" item_state = "tesh_beltcloak_bn" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_yellow +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_yellow name = "black belted cloak (yellow)" icon_state = "tesh_beltcloak_by" item_state = "tesh_beltcloak_by" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_green +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_green name = "black belted cloak (green)" icon_state = "tesh_beltcloak_bgr" item_state = "tesh_beltcloak_bgr" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_blue +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_blue name = "black belted cloak (blue)" icon_state = "tesh_beltcloak_bbl" item_state = "tesh_beltcloak_bbl" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_purple +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_purple name = "black belted cloak (purple)" icon_state = "tesh_beltcloak_bp" item_state = "tesh_beltcloak_bp" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_pink +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_pink name = "black belted cloak (pink)" icon_state = "tesh_beltcloak_bpi" item_state = "tesh_beltcloak_bpi" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/black_brown +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/black_brown name = "black belted cloak (brown)" icon_state = "tesh_beltcloak_bbr" item_state = "tesh_beltcloak_bbr" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/orange_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/orange_grey name = "orange belted cloak" icon_state = "tesh_beltcloak_og" item_state = "tesh_beltcloak_og" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/rainbow +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/rainbow name = "rainbow belted cloak" icon_state = "tesh_beltcloak_rainbow" item_state = "tesh_beltcloak_rainbow" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/lightgrey_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/lightgrey_grey name = "light grey belted cloak" icon_state = "tesh_beltcloak_lgg" item_state = "tesh_beltcloak_lgg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/white_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/white_grey name = "white belted cloak" icon_state = "tesh_beltcloak_wg" item_state = "tesh_beltcloak_wg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/red_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/red_grey name = "red belted cloak" icon_state = "tesh_beltcloak_rg" item_state = "tesh_beltcloak_rg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/orange +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/orange name = "orange simple belted cloak" icon_state = "tesh_beltcloak_on" item_state = "tesh_beltcloak_on" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/yellow_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/yellow_grey name = "yellow belted cloak" icon_state = "tesh_beltcloak_yg" item_state = "tesh_beltcloak_yg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/green_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/green_grey name = "green belted cloak" icon_state = "tesh_beltcloak_gg" item_state = "tesh_beltcloak_gg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/blue_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/blue_grey name = "blue belted cloak" icon_state = "tesh_beltcloak_blug" item_state = "tesh_beltcloak_blug" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/purple_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/purple_grey name = "purple belted cloak" icon_state = "tesh_beltcloak_pg" item_state = "tesh_beltcloak_pg" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/pink_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/pink_grey name = "pink belted cloak" icon_state = "tesh_beltcloak_pig" item_state = "tesh_beltcloak_pig" -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/brown_grey +/obj/item/clothing/suit/storage/teshari/beltcloak/standard/brown_grey name = "brown belted cloak" icon_state = "tesh_beltcloak_brg" item_state = "tesh_beltcloak_brg" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs - icon = 'icons/mob/species/seromi/teshari_cloak_yw.dmi' - icon_override = 'icons/mob/species/seromi/teshari_cloak_yw.dmi' +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs + icon = 'icons/mob/species/teshari/teshari_cloak_yw.dmi' + icon_override = 'icons/mob/species/teshari/teshari_cloak_yw.dmi' -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cargo +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cargo name = "cargo belted cloak" desc = "A soft Teshari cloak made for the Cargo department" icon_state = "tesh_beltcloak_car" item_state = "tesh_beltcloak_car" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/mining +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/mining name = "mining belted cloak" desc = "A soft Teshari cloak made for Mining" icon_state = "tesh_beltcloak_mine" item_state = "tesh_beltcloak_mine" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/command +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/command name = "command belted cloak" desc = "A soft Teshari cloak made for the Command department" icon_state = "tesh_beltcloak_comm" item_state = "tesh_beltcloak_comm" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/ce +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/ce name = "chief engineer belted cloak" desc = "A soft Teshari cloak made the Chief Engineer" icon_state = "tesh_beltcloak_ce" item_state = "tesh_beltcloak_ce" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/eningeer +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/eningeer name = "engineering belted cloak" desc = "A soft Teshari cloak made for the Engineering department" icon_state = "tesh_beltcloak_engie" item_state = "tesh_beltcloak_engie" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/atmos +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/atmos name = "atmospherics belted cloak" desc = "A soft Teshari cloak made for the Atmospheric Technician" icon_state = "tesh_beltcloak_atmos" item_state = "tesh_beltcloak_atmos" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/cmo +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/cmo name = "chief medical officer belted cloak" desc = "A soft Teshari cloak made the Chief Medical Officer" icon_state = "tesh_beltcloak_cmo" item_state = "tesh_beltcloak_cmo" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/medical +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/medical name = "medical belted cloak" desc = "A soft Teshari cloak made for the Medical department" icon_state = "tesh_beltcloak_doc" item_state = "tesh_beltcloak_doc" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/chemistry +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/chemistry name = "chemist belted cloak" desc = "A soft Teshari cloak made for the Chemist" icon_state = "tesh_beltcloak_chem" item_state = "tesh_beltcloak_chem" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/viro +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/viro name = "virologist belted cloak" desc = "A soft Teshari cloak made for the Virologist" icon_state = "tesh_beltcloak_viro" item_state = "tesh_beltcloak_viro" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/para +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/para name = "paramedic belted cloak" desc = "A soft Teshari cloak made for the Paramedic" icon_state = "tesh_beltcloak_para" item_state = "tesh_beltcloak_para" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/sci +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/sci name = "scientist belted cloak" desc = "A soft Teshari cloak made for the Science department" icon_state = "tesh_beltcloak_sci" item_state = "tesh_beltcloak_sci" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/robo +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/robo name = "roboticist belted cloak" desc = "A soft Teshari cloak made for the Roboticist" icon_state = "tesh_beltcloak_robo" item_state = "tesh_beltcloak_robo" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/sec +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/sec name = "security belted cloak" desc = "A soft Teshari cloak made for the Security department" icon_state = "tesh_beltcloak_sec" item_state = "tesh_beltcloak_sec" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/qm +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/qm name = "quartermaster belted cloak" desc = "A soft Teshari cloak made for the Quartermaster" icon_state = "tesh_beltcloak_qm" item_state = "tesh_beltcloak_qm" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/service +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/service name = "service belted cloak" desc = "A soft Teshari cloak made for the Service department" icon_state = "tesh_beltcloak_serv" item_state = "tesh_beltcloak_serv" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/iaa +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/iaa name = "internal affairs belted cloak" desc = "A soft Teshari cloak made for the Internal Affairs Agent" icon_state = "tesh_beltcloak_iaa" item_state = "tesh_beltcloak_iaa" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/wrdn +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/wrdn name = "warden belted cloak" desc = "A soft Teshari cloak made for the Warden" icon_state = "tesh_beltcloak_wrdn" item_state = "tesh_beltcloak_wrdn" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/hos +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/hos name = "security chief belted cloak" desc = "A soft Teshari cloak made for the Head of Security" icon_state = "tesh_beltcloak_hos" item_state = "tesh_beltcloak_hos" -/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/jani +/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/jani name = "janitor belted cloak" desc = "A soft Teshari cloak made for the Janitor" icon_state = "tesh_beltcloak_jani" - item_state = "tesh_beltcloak_jani" \ No newline at end of file + item_state = "tesh_beltcloak_jani" diff --git a/code/modules/clothing/suits/utility_vr.dm b/code/modules/clothing/suits/utility_vr.dm index e225a53eee..529547469b 100644 --- a/code/modules/clothing/suits/utility_vr.dm +++ b/code/modules/clothing/suits/utility_vr.dm @@ -19,14 +19,14 @@ /obj/item/clothing/head/radiation sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/helmet_vr.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/helmet_vr.dmi', SPECIES_VOX = 'icons/mob/species/vox/head.dmi', SPECIES_WEREBEAST = 'icons/mob/species/werebeast/head.dmi' ) /obj/item/clothing/suit/radiation sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/suit_vr.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/suit_vr.dmi', SPECIES_VOX = 'icons/mob/species/vox/suit.dmi', SPECIES_WEREBEAST = 'icons/mob/species/werebeast/suit.dmi' ) diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 775e1e43bf..cbf0135845 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -15,7 +15,7 @@ var/concealed_holster = 0 var/mob/living/carbon/human/wearer = null // To check if the wearer changes, so species spritesheets change properly. var/list/on_rolled = list() // Used when jumpsuit sleevels are rolled ("rolled" entry) or it's rolled down ("down"). Set to "none" to hide in those states. - sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/ties.dmi') //Teshari can into webbing, too! + sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/teshari/ties.dmi') //Teshari can into webbing, too! drop_sound = 'sound/items/drop/accessory.ogg' pickup_sound = 'sound/items/pickup/accessory.ogg' diff --git a/code/modules/clothing/under/accessories/accessory_vr.dm b/code/modules/clothing/under/accessories/accessory_vr.dm index 13bf03aa46..13f97cbb37 100644 --- a/code/modules/clothing/under/accessories/accessory_vr.dm +++ b/code/modules/clothing/under/accessories/accessory_vr.dm @@ -14,7 +14,7 @@ var/customized = 0 var/icon_previous_override sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/ties_vr.dmi' + SPECIES_TESHARI = 'icons/mob/species/teshari/ties_vr.dmi' ) //Forces different sprite sheet on equip @@ -64,7 +64,7 @@ var/writtenon = 0 var/icon_previous_override sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/ties_vr.dmi' + SPECIES_TESHARI = 'icons/mob/species/teshari/ties_vr.dmi' ) //Forces different sprite sheet on equip diff --git a/code/modules/clothing/under/accessories/clothing.dm b/code/modules/clothing/under/accessories/clothing.dm index cac73a3b8d..683fa72118 100644 --- a/code/modules/clothing/under/accessories/clothing.dm +++ b/code/modules/clothing/under/accessories/clothing.dm @@ -57,21 +57,32 @@ siemens_coefficient = 0.9 w_class = ITEMSIZE_NORMAL slot = ACCESSORY_SLOT_OVER - sprite_sheets = list( - "Teshari" = 'icons/mob/species/seromi/suit.dmi' - ) - + SPECIES_TESHARI = 'icons/mob/species/teshari/suit.dmi' + ) //YWEdit Start, Makes ponchos use teshari sprite /obj/item/clothing/accessory/poncho/get_worn_icon_file(var/body_type,var/slot_name,var/default_icon,var/inhands) if(body_type == SPECIES_TESHARI) if(!inhands) - return 'icons/mob/species/seromi/suit.dmi' + return 'icons/mob/species/teshari/suit.dmi' else return ..() //YWEdit end +/obj/item/clothing/accessory/poncho/equipped() //Solution for race-specific sprites for an accessory which is also a suit. Suit icons break if you don't use icon override which then also overrides race-specific sprites. + ..() + var/mob/living/carbon/human/H = loc + if(istype(H) && H.wear_suit == src) + if(H.species.name == SPECIES_TESHARI) + icon_override = 'icons/mob/species/teshari/suit.dmi' + else + icon_override = 'icons/mob/ties.dmi' + update_clothing_icon() + +/obj/item/clothing/accessory/poncho/dropped() //Resets the override to prevent the wrong .dmi from being used because equipped only triggers when wearing ponchos as suits. + icon_override = null + /obj/item/clothing/accessory/poncho/green name = "green poncho" desc = "A simple, comfortable cloak without sleeves. This one is green." diff --git a/code/modules/clothing/under/accessories/permits.dm b/code/modules/clothing/under/accessories/permits.dm index d7a5c3f396..c89d9ee019 100644 --- a/code/modules/clothing/under/accessories/permits.dm +++ b/code/modules/clothing/under/accessories/permits.dm @@ -3,8 +3,8 @@ /obj/item/clothing/accessory/permit name = "permit" desc = "A permit for something." - icon = 'icons/obj/card.dmi' - icon_state = "permit" + icon = 'icons/obj/card_new.dmi' + icon_state = "permit-generic" w_class = ITEMSIZE_TINY slot = ACCESSORY_SLOT_MEDAL var/owner = 0 //To prevent people from just renaming the thing if they steal it @@ -30,6 +30,7 @@ /obj/item/clothing/accessory/permit/gun name = "weapon permit" desc = "A card indicating that the owner is allowed to carry a firearm." + icon_state = "permit-security" /obj/item/clothing/accessory/permit/gun/bar name = "bar shotgun permit" @@ -38,8 +39,9 @@ /obj/item/clothing/accessory/permit/gun/planetside name = "planetside gun permit" desc = "A card indicating that the owner is allowed to carry a firearm while on the surface." + icon_state = "permit-science" /obj/item/clothing/accessory/permit/drone name = "drone identification card" desc = "A card issued by the EIO, indicating that the owner is a Drone Intelligence. Drones are mandated to carry this card within SolGov space, by law." - icon_state = "permit_drone" \ No newline at end of file + icon_state = "permit-drone" \ No newline at end of file diff --git a/code/modules/clothing/under/extrauniforms_yw.dm b/code/modules/clothing/under/extrauniforms_yw.dm index 612bcede4e..724848172f 100644 --- a/code/modules/clothing/under/extrauniforms_yw.dm +++ b/code/modules/clothing/under/extrauniforms_yw.dm @@ -24,7 +24,7 @@ desc = "Sturdy mess of black synthcotton belts and buckles." icon_state = "pilot_webbing2" sprite_sheets = list( - "Teshari" = 'icons/mob/species/seromi/ties.dmi' + "Teshari" = 'icons/mob/species/teshari/ties.dmi' ) /obj/item/clothing/under/rank/khi/sec/pilot //yes, we're inheriting from the khi version; that one has full rolldown sprites diff --git a/code/modules/clothing/under/xenos/seromi.dm b/code/modules/clothing/under/xenos/teshari.dm similarity index 67% rename from code/modules/clothing/under/xenos/seromi.dm rename to code/modules/clothing/under/xenos/teshari.dm index 36f4e24197..044559db26 100644 --- a/code/modules/clothing/under/xenos/seromi.dm +++ b/code/modules/clothing/under/xenos/teshari.dm @@ -1,285 +1,285 @@ -/obj/item/clothing/under/seromi - icon = 'icons/obj/clothing/species/seromi/uniform.dmi' +/obj/item/clothing/under/teshari + icon = 'icons/obj/clothing/species/teshari/uniform.dmi' icon_state = "seromi_grey" species_restricted = list(SPECIES_TESHARI) -/obj/item/clothing/under/seromi/smock +/obj/item/clothing/under/teshari/smock name = "small grey smock" desc = "It looks fitted to nonhuman proportions." icon_state = "seromi_grey" body_parts_covered = 0 // It's a thin piece of cloth with a neck hole. -/obj/item/clothing/under/seromi/smock/white +/obj/item/clothing/under/teshari/smock/white name = "small white smock" icon_state = "seromi_white" -/obj/item/clothing/under/seromi/smock/red +/obj/item/clothing/under/teshari/smock/red name = "small Security smock" icon_state = "seromi_red" -/obj/item/clothing/under/seromi/smock/yellow +/obj/item/clothing/under/teshari/smock/yellow name = "small Engineering smock" icon_state = "seromi_yellow" -/obj/item/clothing/under/seromi/smock/medical +/obj/item/clothing/under/teshari/smock/medical name = "small Medical uniform" icon_state = "seromi_medical" -/obj/item/clothing/under/seromi/smock/science +/obj/item/clothing/under/teshari/smock/science name = "small Research uniform" icon_state = "teshari_science" -/obj/item/clothing/under/seromi/smock/rainbow +/obj/item/clothing/under/teshari/smock/rainbow name = "small rainbow smock" icon_state = "seromi_rainbow" -/obj/item/clothing/under/seromi/smock/dress +/obj/item/clothing/under/teshari/smock/dress name = "small command dress" icon_state = "seromi_dress_cap" -/obj/item/clothing/under/seromi/smock/dress/science +/obj/item/clothing/under/teshari/smock/dress/science name = "small research dress" icon_state = "tesh_dress_science" -/obj/item/clothing/under/seromi/smock/dress/security +/obj/item/clothing/under/teshari/smock/dress/security name = "small security dress" icon_state = "tesh_dress_security" -/obj/item/clothing/under/seromi/smock/dress/engine +/obj/item/clothing/under/teshari/smock/dress/engine name = "small engineering dress" icon_state = "tesh_dress_engine" -/obj/item/clothing/under/seromi/smock/dress/medical +/obj/item/clothing/under/teshari/smock/dress/medical name = "small medical dress" icon_state = "tesh_dress_medical" -/obj/item/clothing/under/seromi/smock/uniform +/obj/item/clothing/under/teshari/smock/uniform name = "small command uniform" icon_state = "seromi_captain" -/obj/item/clothing/under/seromi/smock/formal +/obj/item/clothing/under/teshari/smock/formal name = "small formal uniform" icon_state = "seromi_captain_formal" -/obj/item/clothing/under/seromi/smock/blackutilitysmock +/obj/item/clothing/under/teshari/smock/blackutilitysmock name = "black utility smock" icon_state = "teshari_blackutility_com" -/obj/item/clothing/under/seromi/smock/greydress +/obj/item/clothing/under/teshari/smock/greydress name = "small grey dress" icon_state = "teshari_greydress" -/obj/item/clothing/under/seromi/smock/blackutility +/obj/item/clothing/under/teshari/smock/blackutility name = "Teshari utility uniform" icon_state = "teshari_blackutility" -/obj/item/clothing/under/seromi/smock/bluegreydress +/obj/item/clothing/under/teshari/smock/bluegreydress name = "small blue and grey dress" icon_state = "teshari_bluegreydress" // Worksuits -/obj/item/clothing/under/seromi/undercoat/standard/worksuit +/obj/item/clothing/under/teshari/undercoat/standard/worksuit name = "small black and red worksuit" icon_state = "teshari_black_red_worksuit" item_state = "teshari_black_red_worksuit" desc = "A small worksuit designed for a Teshari" -/obj/item/clothing/under/seromi/undercoat/standard/worksuit/blackpurple +/obj/item/clothing/under/teshari/undercoat/standard/worksuit/blackpurple name = "small black and purple worksuit" icon_state = "teshari_black_purple_worksuit" item_state = "teshari_black_purple_worksuit" -/obj/item/clothing/under/seromi/undercoat/standard/worksuit/blackorange +/obj/item/clothing/under/teshari/undercoat/standard/worksuit/blackorange name = "small black and orange worksuit" icon_state = "teshari_black_orange_worksuit" item_state = "teshari_black_orange_worksuit" -/obj/item/clothing/under/seromi/undercoat/standard/worksuit/blackblue +/obj/item/clothing/under/teshari/undercoat/standard/worksuit/blackblue name = "small black and blue worksuit" icon_state = "teshari_black_blue_worksuit" item_state = "teshari_black_blue_worksuit" -/obj/item/clothing/under/seromi/undercoat/standard/worksuit/blackgreen +/obj/item/clothing/under/teshari/undercoat/standard/worksuit/blackgreen name = "small black and greeen worksuit" icon_state = "teshari_black_green_worksuit" item_state = "teshari_black_green_worksuit" -/obj/item/clothing/under/seromi/undercoat/standard/worksuit/whitered +/obj/item/clothing/under/teshari/undercoat/standard/worksuit/whitered name = "small white and red worksuit" icon_state = "teshari_white_red_worksuit" item_state = "teshari_white_red_worksuit" -/obj/item/clothing/under/seromi/undercoat/standard/worksuit/whitepurple +/obj/item/clothing/under/teshari/undercoat/standard/worksuit/whitepurple name = "small white and purple worksuit" icon_state = "teshari_white_purple_worksuit" item_state = "teshari_white_purple_worksuit" -/obj/item/clothing/under/seromi/undercoat/standard/worksuit/whiteorange +/obj/item/clothing/under/teshari/undercoat/standard/worksuit/whiteorange name = "small white and orange worksuit" icon_state = "teshari_white_orange_worksuit" item_state = "teshari_white_orange_worksuit" -/obj/item/clothing/under/seromi/undercoat/standard/worksuit/whiteblue +/obj/item/clothing/under/teshari/undercoat/standard/worksuit/whiteblue name = "small white and blue worksuit" icon_state = "teshari_white_blue_worksuit" item_state = "teshari_white_blue_worksuit" -/obj/item/clothing/under/seromi/undercoat/standard/worksuit/whitegreen +/obj/item/clothing/under/teshari/undercoat/standard/worksuit/whitegreen name = "small white and green worksuit" icon_state = "teshari_white_green_worksuit" item_state = "teshari_white_green_worksuit" //Standard Undercoats -/obj/item/clothing/under/seromi/undercoat +/obj/item/clothing/under/teshari/undercoat name = "Undercoat" desc = "A Teshari traditional garb, with a modern twist! Made of micro and nanofibres to make it light and billowy, perfect for going fast and stylishly!" - icon = 'icons/mob/species/seromi/teshari_uniform.dmi' - icon_override = 'icons/mob/species/seromi/teshari_uniform.dmi' + icon = 'icons/mob/species/teshari/teshari_uniform.dmi' + icon_override = 'icons/mob/species/teshari/teshari_uniform.dmi' icon_state = "tesh_uniform_bo" item_state = "tesh_uniform_bo" body_parts_covered = UPPER_TORSO|LOWER_TORSO -/obj/item/clothing/under/seromi/undercoat/standard/black_orange +/obj/item/clothing/under/teshari/undercoat/standard/black_orange name = "black and orange undercoat" icon_state = "tesh_uniform_bo" item_state = "tesh_uniform_bo" -/obj/item/clothing/under/seromi/undercoat/standard/black_grey +/obj/item/clothing/under/teshari/undercoat/standard/black_grey name = "black and grey undercoat" icon_state = "tesh_uniform_bg" item_state = "tesh_uniform_bg" -/obj/item/clothing/under/seromi/undercoat/standard/black_white +/obj/item/clothing/under/teshari/undercoat/standard/black_white name = "black and white undercoat" icon_state = "tesh_uniform_bw" item_state = "tesh_uniform_bw" -/obj/item/clothing/under/seromi/undercoat/standard/black_red +/obj/item/clothing/under/teshari/undercoat/standard/black_red name = "black and red undercoat" icon_state = "tesh_uniform_br" item_state = "tesh_uniform_br" -/obj/item/clothing/under/seromi/undercoat/standard/black +/obj/item/clothing/under/teshari/undercoat/standard/black name = "black undercoat" icon_state = "tesh_uniform_bn" item_state = "tesh_uniform_bn" -/obj/item/clothing/under/seromi/undercoat/standard/black_yellow +/obj/item/clothing/under/teshari/undercoat/standard/black_yellow name = "black and yellow undercoat" icon_state = "tesh_uniform_by" item_state = "tesh_uniform_by" -/obj/item/clothing/under/seromi/undercoat/standard/black_green +/obj/item/clothing/under/teshari/undercoat/standard/black_green name = "black and green undercoat" icon_state = "tesh_uniform_bgr" item_state = "tesh_uniform_bgr" -/obj/item/clothing/under/seromi/undercoat/standard/black_blue +/obj/item/clothing/under/teshari/undercoat/standard/black_blue name = "black and blue undercoat" icon_state = "tesh_uniform_bbl" item_state = "tesh_uniform_bbl" -/obj/item/clothing/under/seromi/undercoat/standard/black_purple +/obj/item/clothing/under/teshari/undercoat/standard/black_purple name = "black and purple undercoat" icon_state = "tesh_uniform_bp" item_state = "tesh_uniform_bp" -/obj/item/clothing/under/seromi/undercoat/standard/black_pink +/obj/item/clothing/under/teshari/undercoat/standard/black_pink name = "black and pink undercoat" icon_state = "tesh_uniform_bpi" item_state = "tesh_uniform_bpi" -/obj/item/clothing/under/seromi/undercoat/standard/black_brown +/obj/item/clothing/under/teshari/undercoat/standard/black_brown name = "black and brown undercoat" icon_state = "tesh_uniform_bbr" item_state = "tesh_uniform_bbr" -/obj/item/clothing/under/seromi/undercoat/standard/orange_grey +/obj/item/clothing/under/teshari/undercoat/standard/orange_grey name = "orange and grey undercoat" icon_state = "tesh_uniform_og" item_state = "tesh_uniform_og" -/obj/item/clothing/under/seromi/undercoat/standard/rainbow +/obj/item/clothing/under/teshari/undercoat/standard/rainbow name = "rainbow undercoat" icon_state = "tesh_uniform_rainbow" item_state = "tesh_uniform_rainbow" -/obj/item/clothing/under/seromi/undercoat/standard/lightgrey_grey +/obj/item/clothing/under/teshari/undercoat/standard/lightgrey_grey name = "light grey and grey undercoat" icon_state = "tesh_uniform_lgg" item_state = "tesh_uniform_lgg" -/obj/item/clothing/under/seromi/undercoat/standard/white_grey +/obj/item/clothing/under/teshari/undercoat/standard/white_grey name = "white and grey undercoat" icon_state = "tesh_uniform_wg" item_state = "tesh_uniform_wg" -/obj/item/clothing/under/seromi/undercoat/standard/red_grey +/obj/item/clothing/under/teshari/undercoat/standard/red_grey name = "red and grey undercoat" icon_state = "tesh_uniform_rg" item_state = "tesh_uniform_rg" -/obj/item/clothing/under/seromi/undercoat/standard/orange +/obj/item/clothing/under/teshari/undercoat/standard/orange name = "orange undercoat" icon_state = "tesh_uniform_on" item_state = "tesh_uniform_on" -/obj/item/clothing/under/seromi/undercoat/standard/yellow_grey +/obj/item/clothing/under/teshari/undercoat/standard/yellow_grey name = "yellow and grey undercoat" icon_state = "tesh_uniform_yg" item_state = "tesh_uniform_yg" -/obj/item/clothing/under/seromi/undercoat/standard/green_grey +/obj/item/clothing/under/teshari/undercoat/standard/green_grey name = "green and grey undercoat" icon_state = "tesh_uniform_gg" item_state = "tesh_uniform_gg" -/obj/item/clothing/under/seromi/undercoat/standard/blue_grey +/obj/item/clothing/under/teshari/undercoat/standard/blue_grey name = "blue and grey undercoat" icon_state = "tesh_uniform_blug" item_state = "tesh_uniform_blug" -/obj/item/clothing/under/seromi/undercoat/standard/purple_grey +/obj/item/clothing/under/teshari/undercoat/standard/purple_grey name = "purple and grey undercoat" icon_state = "tesh_uniform_pg" item_state = "tesh_uniform_pg" -/obj/item/clothing/under/seromi/undercoat/standard/pink_grey +/obj/item/clothing/under/teshari/undercoat/standard/pink_grey name = "pink and grey undercoat" icon_state = "tesh_uniform_pig" item_state = "tesh_uniform_pig" -/obj/item/clothing/under/seromi/undercoat/standard/brown_grey +/obj/item/clothing/under/teshari/undercoat/standard/brown_grey name = "brown and grey undercoat" icon_state = "tesh_uniform_brg" item_state = "tesh_uniform_brg" //Job Undercoats -/obj/item/clothing/under/seromi/undercoat/jobs - icon = 'icons/mob/species/seromi/deptjacket.dmi' - icon_override = 'icons/mob/species/seromi/deptjacket.dmi' +/obj/item/clothing/under/teshari/undercoat/jobs + icon = 'icons/mob/species/teshari/deptjacket.dmi' + icon_override = 'icons/mob/species/teshari/deptjacket.dmi' -/obj/item/clothing/under/seromi/undercoat/jobs/cap +/obj/item/clothing/under/teshari/undercoat/jobs/cap name = "facility director undercoat" desc = "A traditional Teshari garb made for the Facility Director" icon_state = "tesh_uniform_cap" item_state = "tesh_uniform_cap" -/obj/item/clothing/under/seromi/undercoat/jobs/hop +/obj/item/clothing/under/teshari/undercoat/jobs/hop name = "head of personnel undercoat" desc = "A traditional Teshari garb made for the Head of Personnel" icon_state = "tesh_uniform_hop" item_state = "tesh_uniform_hop" -/obj/item/clothing/under/seromi/undercoat/jobs/ce +/obj/item/clothing/under/teshari/undercoat/jobs/ce name = "cheif engineer undercoat" desc = "A traditional Teshari garb made for the Chief Engineer" icon_state = "tesh_uniform_ce" item_state = "tesh_uniform_ce" -/obj/item/clothing/under/seromi/undercoat/jobs/hos +/obj/item/clothing/under/teshari/undercoat/jobs/hos name = "head of security undercoat" desc = "A traditional Teshari garb made for the Head of Security. Made with slightly sturdier materials." //CHOMPedit icon_state = "tesh_uniform_hos" @@ -288,91 +288,91 @@ siemens_coefficient = 0.9 body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS //CHOMPedit end -/obj/item/clothing/under/seromi/undercoat/jobs/rd +/obj/item/clothing/under/teshari/undercoat/jobs/rd name = "research director undercoat" desc = "A traditional Teshari garb made for the Research Director" icon_state = "tesh_uniform_rd" item_state = "tesh_uniform_rd" -/obj/item/clothing/under/seromi/undercoat/jobs/engineer +/obj/item/clothing/under/teshari/undercoat/jobs/engineer name = "engineering undercoat" desc = "A traditional Teshari garb made for the Engineering department" icon_state = "tesh_uniform_engie" item_state = "tesh_uniform_engie" -/obj/item/clothing/under/seromi/undercoat/jobs/atmos +/obj/item/clothing/under/teshari/undercoat/jobs/atmos name = "atmospherics undercoat" desc = "A traditional Teshari garb made for the Atmospheric Technician" icon_state = "tesh_uniform_atmos" item_state = "tesh_uniform_atmos" -/obj/item/clothing/under/seromi/undercoat/jobs/cmo +/obj/item/clothing/under/teshari/undercoat/jobs/cmo name = "chief medical officer undercoat" desc = "A traditional Teshari garb made for the Cheif Medical Officer" icon_state = "tesh_uniform_cmo" item_state = "tesh_uniform_cmo" -/obj/item/clothing/under/seromi/undercoat/jobs/qm +/obj/item/clothing/under/teshari/undercoat/jobs/qm name = "quartermaster undercoat" desc = "A traditional Teshari garb made for the Quartermaster" icon_state = "tesh_uniform_qm" item_state = "tesh_uniform_qm" -/obj/item/clothing/under/seromi/undercoat/jobs/cargo +/obj/item/clothing/under/teshari/undercoat/jobs/cargo name = "cargo undercoat" desc = "A traditional Teshari garb made for the Cargo department" icon_state = "tesh_uniform_car" item_state = "tesh_uniform_car" -/obj/item/clothing/under/seromi/undercoat/jobs/mining +/obj/item/clothing/under/teshari/undercoat/jobs/mining name = "mining undercoat" desc = "A traditional Teshari garb made for Mining" icon_state = "tesh_uniform_mine" item_state = "tesh_uniform_mine" -/obj/item/clothing/under/seromi/undercoat/jobs/medical +/obj/item/clothing/under/teshari/undercoat/jobs/medical name = "medical undercoat" desc = "A traditional Teshari garb made for the Medical department" icon_state = "tesh_uniform_doc" item_state = "tesh_uniform_doc" -/obj/item/clothing/under/seromi/undercoat/jobs/chemistry +/obj/item/clothing/under/teshari/undercoat/jobs/chemistry name = "chemist undercoat" desc = "A traditional Teshari garb made for the Chemist" icon_state = "tesh_uniform_chem" item_state = "tesh_uniform_chem" -/obj/item/clothing/under/seromi/undercoat/jobs/viro +/obj/item/clothing/under/teshari/undercoat/jobs/viro name = "virologist undercoat" desc = "A traditional Teshari garb made for the Virologist" icon_state = "tesh_uniform_viro" item_state = "tesh_uniform_viro" -/obj/item/clothing/under/seromi/undercoat/jobs/psych +/obj/item/clothing/under/teshari/undercoat/jobs/psych name = "psychiatrist undercoat" desc = "A traditional Teshari garb made for the Psychiatrist" icon_state = "tesh_uniform_psych" item_state = "tesh_uniform_psych" -/obj/item/clothing/under/seromi/undercoat/jobs/para +/obj/item/clothing/under/teshari/undercoat/jobs/para name = "paramedic undercoat" desc = "A traditional Teshari garb made for the Paramedic" icon_state = "tesh_uniform_para" item_state = "tesh_uniform_para" -/obj/item/clothing/under/seromi/undercoat/jobs/sci +/obj/item/clothing/under/teshari/undercoat/jobs/sci name = "scientist undercoat" desc = "A traditional Teshari garb made for the Science department" icon_state = "tesh_uniform_sci" item_state = "tesh_uniform_sci" -/obj/item/clothing/under/seromi/undercoat/jobs/robo +/obj/item/clothing/under/teshari/undercoat/jobs/robo name = "roboticist undercoat" desc = "A traditional Teshari garb made for the Roboticist" icon_state = "tesh_uniform_robo" item_state = "tesh_uniform_robo" -/obj/item/clothing/under/seromi/undercoat/jobs/sec +/obj/item/clothing/under/teshari/undercoat/jobs/sec name = "security undercoat" desc = "A traditional Teshari garb made for the Security department. Made with slightly sturdier materials." //CHOMPedit icon_state = "tesh_uniform_sec" @@ -381,13 +381,13 @@ siemens_coefficient = 0.9 body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS //CHOMPedit end -/obj/item/clothing/under/seromi/undercoat/jobs/service +/obj/item/clothing/under/teshari/undercoat/jobs/service name = "service undercoat" desc = "A traditional Teshari garb made for the Service department" icon_state = "tesh_uniform_serv" item_state = "tesh_uniform_serv" -/obj/item/clothing/under/seromi/undercoat/jobs/iaa +/obj/item/clothing/under/teshari/undercoat/jobs/iaa name = "internal affairs undercoat" desc = "A traditional Teshari garb made for the Internal Affairs Agent" icon_state = "tesh_uniform_iaa" diff --git a/code/modules/food/food/drinks.dm b/code/modules/food/food/drinks.dm index 81c3e63c84..1f7bbc23d1 100644 --- a/code/modules/food/food/drinks.dm +++ b/code/modules/food/food/drinks.dm @@ -44,6 +44,7 @@ /obj/item/weapon/reagent_containers/food/drinks/proc/open(mob/user) playsound(src,"canopen", rand(10,50), 1) + GLOB.cans_opened_roundstat++ to_chat(user, "You open [src] with an audible pop!") flags |= OPENCONTAINER diff --git a/code/modules/food/glass/bottle_vr.dm b/code/modules/food/glass/bottle_vr.dm index fc1595b699..5f918f2f7b 100644 --- a/code/modules/food/glass/bottle_vr.dm +++ b/code/modules/food/glass/bottle_vr.dm @@ -5,6 +5,13 @@ icon_state = "bottle-4" prefill = list("bicaridine" = 60) +/obj/item/weapon/reagent_containers/glass/bottle/vermicetol + name = "vermicetol bottle" + desc = "A small bottle. Vermicetol is an powerful analgesic medication and can be used to treat blunt trauma." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle-4" + prefill = list("vermicetol" = 60) + /obj/item/weapon/reagent_containers/glass/bottle/keloderm name = "keloderm bottle" desc = "A small bottle. A fifty-fifty mix of the popular burn medications kelotane and deramline." diff --git a/code/modules/food/kitchen/smartfridge.dm b/code/modules/food/kitchen/smartfridge.dm index d776e45296..a6def6bd2b 100644 --- a/code/modules/food/kitchen/smartfridge.dm +++ b/code/modules/food/kitchen/smartfridge.dm @@ -187,10 +187,10 @@ for(var/obj/item/stack/wetleather/WL in I.instances) if(!WL.wetness) - if(WL.amount == 1) + if(WL.amount) WL.forceMove(get_turf(src)) + WL.dry() I.instances -= WL - WL.dry() break WL.wetness = max(0, WL.wetness - rand(1, 3)) diff --git a/code/modules/gamemaster/event2/events/security/prison_break.dm b/code/modules/gamemaster/event2/events/security/prison_break.dm index 52f7e6d242..e7daadb9f0 100644 --- a/code/modules/gamemaster/event2/events/security/prison_break.dm +++ b/code/modules/gamemaster/event2/events/security/prison_break.dm @@ -211,7 +211,7 @@ /datum/event2/event/prison_break/proc/flicker_area() for(var/area/A in areas_to_break) var/obj/machinery/power/apc/apc = A.get_apc() - if(apc.operating) //If the apc's off, it's a little hard to overload the lights. + if(istype(apc) && apc.operating) //If the apc's off, it's a little hard to overload the lights. for(var/obj/machinery/light/L in A) L.flicker(10) diff --git a/code/modules/holodeck/HolodeckControl.dm b/code/modules/holodeck/HolodeckControl.dm index bfa684f4e6..8a9e0c2dda 100644 --- a/code/modules/holodeck/HolodeckControl.dm +++ b/code/modules/holodeck/HolodeckControl.dm @@ -63,6 +63,7 @@ "Meetinghall" = new/datum/holodeck_program(/area/holodeck/source_meetinghall), "Courtroom" = new/datum/holodeck_program(/area/holodeck/source_courtroom, list('sound/music/traitor.ogg')), "Chessboard" = new/datum/holodeck_program(/area/holodeck/source_chess), + "Micro Building Area" = new/datum/holodeck_program(/area/holodeck/source_smoleworld), //VOREStation add "Turn Off" = new/datum/holodeck_program(/area/holodeck/source_plating, list()) ) diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 30b5c69fef..8a05b792f3 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -17,10 +17,10 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/Initialize(var/mapload, var/planttype) . = ..() - + if(!dried_type) dried_type = type - + pixel_x = rand(-5.0, 5) pixel_y = rand(-5.0, 5) diff --git a/code/modules/hydroponics/grown_inedible.dm b/code/modules/hydroponics/grown_inedible.dm index 0413fe50ac..3d096c7c37 100644 --- a/code/modules/hydroponics/grown_inedible.dm +++ b/code/modules/hydroponics/grown_inedible.dm @@ -8,13 +8,11 @@ var/plantname var/potency = 1 -/obj/item/weapon/grown/New(newloc,planttype) +/obj/item/weapon/grown/Initialize(ml, planttype) - ..() + . = ..() - var/datum/reagents/R = new/datum/reagents(50) - reagents = R - R.my_atom = src + create_reagents(50) //Handle some post-spawn var stuff. if(planttype) diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm index 2e06a8c51c..373a616e5b 100644 --- a/code/modules/hydroponics/trays/tray.dm +++ b/code/modules/hydroponics/trays/tray.dm @@ -213,6 +213,8 @@ qdel(S) + GLOB.seed_planted_shift_roundstat++ + check_health() update_icon() diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm index bc6b382ae2..8b71551656 100644 --- a/code/modules/materials/material_recipes.dm +++ b/code/modules/materials/material_recipes.dm @@ -106,6 +106,7 @@ new/datum/stack_recipe("chest drawer", /obj/structure/filingcabinet/chestdrawer, 4, time = 20, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), \ )) recipes += new/datum/stack_recipe("desk bell", /obj/item/weapon/deskbell, 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("tanning rack", /obj/structure/tanning_rack, 3, one_per_turf = TRUE, time = 20, on_floor = TRUE, supplied_material = "[name]") /datum/material/plasteel/generate_recipes() ..() @@ -144,7 +145,6 @@ recipes += new/datum/stack_recipe("reagent tubing", /obj/item/stack/hose, 1, 4, 20, pass_stack_color = TRUE, recycle_material = "[name]") recipes += new/datum/stack_recipe("Feeder", /obj/machinery/feeder, 4, time = 20, one_per_turf = 1, on_floor = 1, recycle_material = "[name]") //CHOMP Addition - /datum/material/wood/generate_recipes() ..() recipes += new/datum/stack_recipe("oar", /obj/item/weapon/oar, 2, time = 30, supplied_material = "[name]", pass_stack_color = TRUE) @@ -166,6 +166,7 @@ recipes += new/datum/stack_recipe("crude fishing rod", /obj/item/weapon/material/fishing_rod/built, 8, time = 10 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]") recipes += new/datum/stack_recipe("wooden standup figure", /obj/structure/barricade/cutout, 5, time = 10 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]") //VOREStation Add recipes += new/datum/stack_recipe("noticeboard", /obj/structure/noticeboard, 1, recycle_material = "[name]") + recipes += new/datum/stack_recipe("tanning rack", /obj/structure/tanning_rack, 3, one_per_turf = TRUE, time = 20, on_floor = TRUE, supplied_material = "[name]") /datum/material/wood/log/generate_recipes() recipes = list() diff --git a/code/modules/mining/shelter_atoms_vr.dm b/code/modules/mining/shelter_atoms_vr.dm index 83b5868fca..9b15b95733 100644 --- a/code/modules/mining/shelter_atoms_vr.dm +++ b/code/modules/mining/shelter_atoms_vr.dm @@ -118,6 +118,11 @@ GLOBAL_LIST_EMPTY(unique_deployable) template_id = "shelter_epsilon" unique_id = "shelter_5" is_ship = TRUE + +/obj/item/device/survivalcapsule/popcabin + name = "pop-out cabin shelter capsule" + desc = "A cozy cabin; crammed into a survival capsule." + template_id = "shelter_cab" /obj/item/device/survivalcapsule/dropship name = "dropship surfluid shelter capsule" @@ -289,6 +294,7 @@ GLOBAL_LIST_EMPTY(unique_deployable) var/buildstacktype = /obj/item/stack/material/steel var/buildstackamount = 5 +/* /obj/structure/fans/proc/deconstruct() new buildstacktype(loc,buildstackamount) qdel(src) @@ -302,7 +308,7 @@ GLOBAL_LIST_EMPTY(unique_deployable) return TRUE return TRUE - +*/ /obj/structure/fans/tiny name = "tiny fan" desc = "A tiny fan, releasing a thin gust of air." diff --git a/code/modules/mining/shelters_vr.dm b/code/modules/mining/shelters_vr.dm index abaee7d609..990081294b 100644 --- a/code/modules/mining/shelters_vr.dm +++ b/code/modules/mining/shelters_vr.dm @@ -95,6 +95,12 @@ description = "An escape pod, with a mediocre amount of supplies \ for escaping a dying ship as soon as possible." mappath = "maps/offmap_vr/om_ships/shelter_5.dmm" + +/datum/map_template/shelter/cabin + name = "Shelter Cabin" + shelter_id = "shelter_cab" + description = "A small cabin; turned into a shelter capsule. Includes dorm amenities, and a nice dinner." + mappath = "maps/submaps/shelters/shelter_cab.dmm" /datum/map_template/shelter/zeta name = "Shelter Zeta" diff --git a/code/modules/mob/freelook/chunk.dm b/code/modules/mob/freelook/chunk.dm index 5f59d2e737..da2d84701c 100644 --- a/code/modules/mob/freelook/chunk.dm +++ b/code/modules/mob/freelook/chunk.dm @@ -88,7 +88,7 @@ for(var/turf in visAdded) var/turf/t = turf - if(t.obfuscations[obfuscation.type]) + if(LAZYLEN(t.obfuscations) && t.obfuscations[obfuscation.type]) obscured -= t.obfuscations[obfuscation.type] for(var/eye in seenby) var/mob/observer/eye/m = eye diff --git a/code/modules/mob/holder.dm b/code/modules/mob/holder.dm index a435d0e5bc..6813ae45e9 100644 --- a/code/modules/mob/holder.dm +++ b/code/modules/mob/holder.dm @@ -11,7 +11,7 @@ var/list/holder_mob_icon_cache = list() show_messages = 1 sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/head.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/head.dmi', SPECIES_VOX = 'icons/mob/species/vox/head.dmi' ) diff --git a/code/modules/mob/language/outsider.dm b/code/modules/mob/language/outsider.dm index 649c9814d6..c2417a3b40 100644 --- a/code/modules/mob/language/outsider.dm +++ b/code/modules/mob/language/outsider.dm @@ -86,9 +86,9 @@ flags = RESTRICTED | HIVEMIND /datum/language/xenocommon - name = "Xenomorph" + name = "Xenolingua" //CHOMPedit colour = "alien" - desc = "The common tongue of the xenomorphs." + desc = "The common tongue of both the xenomorphs and the Genaprawns." //CHOMPedit speech_verb = "hisses" ask_verb = "hisses" exclaim_verb = "hisses" @@ -98,7 +98,7 @@ /datum/language/xenos name = "Hivemind" - desc = "Xenomorphs have the strange ability to commune over a psychic hivemind." + desc = "Some aliens have the strange ability to commune over a psychic hivemind." //CHOMPedit speech_verb = "hisses" ask_verb = "hisses" exclaim_verb = "hisses" diff --git a/code/modules/mob/language/station.dm b/code/modules/mob/language/station.dm index bf0bf3dd3a..08457ad628 100644 --- a/code/modules/mob/language/station.dm +++ b/code/modules/mob/language/station.dm @@ -187,7 +187,7 @@ else return pick(ai_names) -/datum/language/seromi +/datum/language/teshari name = LANGUAGE_SCHECHI desc = "A trilling language spoken by the diminutive Teshari." speech_verb = "chirps" @@ -203,9 +203,9 @@ "ci", "ri", "mi", "si", "ni", "ti", "li", "shi", "schi", "i", "i" ) -/datum/language/seromi/get_random_name(gender) - return ..(gender, 1, 4, 1.5) - +/datum/language/teshari/get_random_name(gender) + return ..(gender, 1, 4, 1.5) //CHOMPedit: Keep "1" as the second argument because tesharii here typically omit the pack name (thus only use 1 name). This is because + //CHOMPedit: there are very few packs and thus most tesharii would have the same first name. /datum/language/zaddat name = LANGUAGE_ZADDAT diff --git a/code/modules/mob/language/station_vr.dm b/code/modules/mob/language/station_vr.dm index 30b6c0f43a..af7545e0a9 100644 --- a/code/modules/mob/language/station_vr.dm +++ b/code/modules/mob/language/station_vr.dm @@ -164,7 +164,7 @@ flags = 0 /datum/language/skrell flags = 0 -/datum/language/seromi +/datum/language/teshari flags = 0 /datum/language/zaddat flags = 0 diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index a7bd8ccbba..8e83063820 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -55,7 +55,7 @@ /mob/living/carbon/alien/get_default_language() if(default_language) return default_language - return GLOB.all_languages["Xenomorph"] + return GLOB.all_languages["Xenolingua"] //CHOMPedit /mob/living/carbon/alien/say_quote(var/message, var/datum/language/speaking = null) var/verb = "hisses" diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index fb49502d74..6582b5f6a8 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -12,5 +12,5 @@ /mob/living/carbon/alien/larva/Initialize() . = ..() - add_language("Xenomorph") //Bonus language. + add_language("Xenolingua") //Bonus language. CHOMPedit internal_organs |= new /obj/item/organ/internal/xenos/hivenode(src) diff --git a/code/modules/mob/living/carbon/alien/larva/progression.dm b/code/modules/mob/living/carbon/alien/larva/progression.dm index ada8f937a5..8232cff363 100644 --- a/code/modules/mob/living/carbon/alien/larva/progression.dm +++ b/code/modules/mob/living/carbon/alien/larva/progression.dm @@ -9,9 +9,9 @@ to_chat(src, "There are three to choose from:") to_chat(src, "Hunters are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves.") to_chat(src, "Sentinels are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters.") - to_chat(src, "Drones are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen.") + to_chat(src, "Drones are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded Genaprawn queen.") //CHOMPedit var/alien_caste = alert(src, "Please choose which alien caste you shall belong to.",,"Hunter","Sentinel","Drone") - return alien_caste ? "Xenomorph [alien_caste]" : null + return alien_caste ? "Genaprawn [alien_caste]" : null //CHOMPedit /mob/living/carbon/alien/larva/show_evolution_blurb() return diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm index c15b14686b..07d6d070f4 100644 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm @@ -301,7 +301,7 @@ if(refactory && istype(O,/obj/item/stack/material)) var/obj/item/stack/material/S = O var/substance = S.material.name - var/list/edible_materials = list("steel", "plasteel", "diamond", "mhydrogen") //Can't eat all materials, just useful ones. + var/list/edible_materials = list("steel") //Can't eat all materials, just useful ones. CHOMP EDIT: Only steel var/allowed = FALSE //CHOMP Edit for(var/material in edible_materials) if(material == substance) allowed = TRUE diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm index 0580096bc7..4efff07b39 100644 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm @@ -296,7 +296,7 @@ var/obj/item/stack/material/matstack = held var/substance = matstack.material.name - var/list/edible_materials = list(MAT_STEEL, MAT_SILVER, MAT_GOLD, MAT_URANIUM, MAT_METALHYDROGEN) //Can't eat all materials, just useful ones. + var/list/edible_materials = list(MAT_STEEL) //Can't eat all materials, just useful ones. CHOMP EDIT: Only steel var allowed = FALSE for(var/material in edible_materials) if(material == substance) allowed = TRUE @@ -492,4 +492,4 @@ CHOMP removal end*/ icon_state = "metal" to_call = /mob/living/carbon/human/proc/nano_metalnom -#undef PER_LIMB_STEEL_COST \ No newline at end of file +#undef PER_LIMB_STEEL_COST diff --git a/code/modules/mob/living/carbon/human/species/station/station_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_vr.dm index 3023e9359b..2e19258315 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_vr.dm @@ -334,42 +334,15 @@ /datum/species/diona spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED | SPECIES_WHITELIST_SELECTABLE //CHOMPStation Edit TFF 20/1/20 - restore whitelist requirement min_age = 18 -//CHOMPedit: link to our wiki - wikilink="https://wiki.chompstation13.net/index.php?title=Diona" + wikilink="https://wiki.chompstation13.net/index.php?title=Diona" //CHOMPedit genders = list(MALE, FEMALE, PLURAL, NEUTER) - -/datum/species/teshari - mob_size = MOB_SMALL //YW Edit: changed from MOB_MEDIUM to MOB_SMALL - spawn_flags = SPECIES_CAN_JOIN - icobase = 'icons/mob/human_races/r_seromi_vr.dmi' - deform = 'icons/mob/human_races/r_seromi_vr.dmi' - icobase_tail = 1 - color_mult = 1 - min_age = 18 - push_flags = ~HEAVY //Allows them to use micro step code. - swap_flags = ~HEAVY - gluttonous = 0 - genders = list(MALE, FEMALE, PLURAL, NEUTER) - descriptors = list() - -//CHOMPedit: link to our wiki - wikilink="https://wiki.chompstation13.net/index.php?title=Teshari" - agility = 90 - - male_sneeze_sound = list('sound/effects/mob_effects/tesharisneeze.ogg','sound/effects/mob_effects/tesharisneezeb.ogg') - female_sneeze_sound = list('sound/effects/mob_effects/tesharisneeze.ogg','sound/effects/mob_effects/tesharisneezeb.ogg') - - inherent_verbs = list( - /mob/living/carbon/human/proc/sonar_ping, - /mob/living/proc/hide, - /mob/living/proc/toggle_pass_table - ) - + +//CHOMPedit start /datum/species/shapeshifter/promethean spawn_flags = SPECIES_CAN_JOIN -//CHOMPedit: link to our wiki wikilink="https://wiki.chompstation13.net/index.php?title=Promethean" - +//CHOMPedit end + /datum/species/human color_mult = 1 icobase = 'icons/mob/human_races/r_human_vr.dmi' diff --git a/code/modules/mob/living/carbon/human/species/station/seromi.dm b/code/modules/mob/living/carbon/human/species/station/teshari.dm similarity index 52% rename from code/modules/mob/living/carbon/human/species/station/seromi.dm rename to code/modules/mob/living/carbon/human/species/station/teshari.dm index 5749e4ee61..c15d95c2c5 100644 --- a/code/modules/mob/living/carbon/human/species/station/seromi.dm +++ b/code/modules/mob/living/carbon/human/species/station/teshari.dm @@ -1,7 +1,3 @@ -//CHOMPStation Removal Start - TFF 24/12/19 - Bruh. This ain't a fun thing. -///mob/living/carbon/var/loneliness_stage = 0 -///mob/living/carbon/var/next_loneliness_time = 0 -//CHOMPStation Removal End /datum/species/teshari name = SPECIES_TESHARI name_plural = "Tesharii" @@ -22,19 +18,12 @@ economic_modifier = 10 health_hud_intensity = 3 - //CHOMPStation Removal Start - TFF 24/12/19 - Bruh. This ain't a fun thing. -/* - //YW Edit: Readding loneliness - var/warning_cap = 300 - var/hallucination_cap = 25 - //YW Edit End -*/ - //CHOMPStation Removal End male_cough_sounds = list('sound/effects/mob_effects/tesharicougha.ogg','sound/effects/mob_effects/tesharicoughb.ogg') female_cough_sounds = list('sound/effects/mob_effects/tesharicougha.ogg','sound/effects/mob_effects/tesharicoughb.ogg') male_sneeze_sound = 'sound/effects/mob_effects/tesharisneeze.ogg' female_sneeze_sound = 'sound/effects/mob_effects/tesharisneeze.ogg' + //CHOMPStation Add. Y'know I should probably just put this upstream. male_scream_sound = 'sound/effects/mob_effects/teshariscream.ogg' female_scream_sound = 'sound/effects/mob_effects/teshariscream.ogg' @@ -49,12 +38,12 @@ move_trail = /obj/effect/decal/cleanable/blood/tracks/paw - icobase = 'icons/mob/human_races/r_seromi.dmi' - deform = 'icons/mob/human_races/r_seromi.dmi' - damage_overlays = 'icons/mob/human_races/masks/dam_seromi.dmi' - damage_mask = 'icons/mob/human_races/masks/dam_mask_seromi.dmi' - blood_mask = 'icons/mob/human_races/masks/blood_seromi.dmi' - suit_storage_icon = 'icons/mob/species/seromi/belt_mirror.dmi' + icobase = 'icons/mob/human_races/r_teshari.dmi' + deform = 'icons/mob/human_races/r_teshari.dmi' + damage_overlays = 'icons/mob/human_races/masks/dam_teshari.dmi' + damage_mask = 'icons/mob/human_races/masks/dam_mask_teshari.dmi' + blood_mask = 'icons/mob/human_races/masks/blood_teshari.dmi' + suit_storage_icon = 'icons/mob/species/teshari/belt_mirror.dmi' fire_icon_state = "generic" // Humanoid is too big for them and spriting a new one is really annoying. @@ -74,7 +63,7 @@ ambiguous_genders = TRUE - spawn_flags = SPECIES_CAN_JOIN + spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED | SPECIES_NO_POSIBRAIN //CHOMPedit: This is overriden by teshari_vr.dm. Noting here for future reference. appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_COLOR | HAS_EYE_COLOR bump_flag = MONKEY swap_flags = MONKEY|SLIME|SIMPLE_ANIMAL @@ -118,15 +107,15 @@ has_limbs = list( BP_TORSO = list("path" = /obj/item/organ/external/chest), BP_GROIN = list("path" = /obj/item/organ/external/groin), - BP_HEAD = list("path" = /obj/item/organ/external/head/seromi), + BP_HEAD = list("path" = /obj/item/organ/external/head/teshari), BP_L_ARM = list("path" = /obj/item/organ/external/arm), BP_R_ARM = list("path" = /obj/item/organ/external/arm/right), BP_L_LEG = list("path" = /obj/item/organ/external/leg), BP_R_LEG = list("path" = /obj/item/organ/external/leg/right), - BP_L_HAND = list("path" = /obj/item/organ/external/hand/seromi), - BP_R_HAND = list("path" = /obj/item/organ/external/hand/right/seromi), - BP_L_FOOT = list("path" = /obj/item/organ/external/foot/seromi), - BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right/seromi) + BP_L_HAND = list("path" = /obj/item/organ/external/hand/teshari), + BP_R_HAND = list("path" = /obj/item/organ/external/hand/right/teshari), + BP_L_FOOT = list("path" = /obj/item/organ/external/foot/teshari), + BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right/teshari) ) has_organ = list( @@ -160,103 +149,3 @@ /datum/species/teshari/equip_survival_gear(var/mob/living/carbon/human/H) ..() H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H),slot_shoes) - -//CHOMPStation Removal Start - TFF 24/12/19 - Bruh. This ain't a fun thing. -/* -/datum/species/teshari/handle_environment_special(var/mob/living/carbon/human/H) - spawn(0) - // If they're dead or unconcious they're a bit beyond this kind of thing. - if(H.stat) - return - // No point processing if we're already stressing the hell out. - if(H.hallucination >= hallucination_cap && H.loneliness_stage >= warning_cap) - return - // Vored? Not gonna get frightened. - if(isbelly(H.loc)) - if(H.loneliness_stage > 0) - H.loneliness_stage -= 4 - return - if(istype(H.loc, /obj/item/weapon/holder)) - if(H.loneliness_stage > 0) - H.loneliness_stage -= 4 - return - // Check for company. - for(var/mob/living/M in viewers(H)) - if(!istype(M, /mob/living/carbon) && !istype(M, /mob/living/silicon/robot)) - continue - if(M == H || M.stat == DEAD || M.invisibility > H.see_invisible) - continue - if(M.faction == "neutral" || M.faction == H.faction) - if(H.loneliness_stage > 0) - H.loneliness_stage -= 4 - if(H.loneliness_stage < 0) - H.loneliness_stage = 0 - if(world.time >= H.next_loneliness_time) - to_chat(H, "The nearby company calms you down...") - H.next_loneliness_time = world.time+500 - return - - - for(var/obj/item/weapon/holder/micro/M in range(1, H)) - if(H.loneliness_stage > 0) - H.loneliness_stage -= 4 - if(H.loneliness_stage < 0) - H.loneliness_stage = 0 - if(world.time >= H.next_loneliness_time) - to_chat(H, "[M] calms you down...") - H.next_loneliness_time = world.time+500 - - for(var/obj/effect/overlay/aiholo/A in range(5, H)) - if(H.loneliness_stage > 0) - H.loneliness_stage -= 4 - if(H.loneliness_stage < 0) - H.loneliness_stage = 0 - if(world.time >= H.next_loneliness_time) - to_chat(H, "[A] calms you down...") - H.next_loneliness_time = world.time+500 - - //re-enabled for YawnWider - for(var/obj/item/toy/plushie/teshari/P in range(5, H)) - if(H.loneliness_stage > 0) - H.loneliness_stage -= 4 - if(H.loneliness_stage < 0) - H.loneliness_stage = 0 - if(world.time >= H.next_loneliness_time) - to_chat(H, "The [P] calms you down, reminding you of people...") - H.next_loneliness_time = world.time+500 - - // No company? Suffer :( - if(H.loneliness_stage < warning_cap) - H.loneliness_stage += 1 - handle_loneliness(H) - if(H.loneliness_stage >= warning_cap && H.hallucination < hallucination_cap) - H.hallucination += 2.5 - -/datum/species/teshari/proc/handle_loneliness(var/mob/living/carbon/human/H) - var/ms = "" - - if(H.loneliness_stage == 1) - ms = "Well.. No one is around you anymore..." - if(H.loneliness_stage >= 50) - ms = "You begin to feel alone..." - if(H.loneliness_stage >= 250) - ms = "[pick("You don't think you can last much longer without some visible company!", "You should go find someone!")]" - if(H.stuttering < hallucination_cap) - H.stuttering += 5 - if(H.loneliness_stage >= warning_cap) - ms = "[pick("Where are the others?", "Please, there has to be someone nearby!", "I don't want to be alone!")]" - if(world.time < H.next_loneliness_time) - return - - if(ms != "") - to_chat(H, ms) - H.next_loneliness_time = world.time+500 - - -/datum/species/teshari/get_vision_flags(var/mob/living/carbon/human/H) - if(!(H.sdisabilities & DEAF) && !H.ear_deaf) - return SEE_SELF|SEE_MOBS - else - return SEE_SELF -*/ -//CHOMPStation Removal End diff --git a/code/modules/mob/living/carbon/human/species/station/teshari_vr.dm b/code/modules/mob/living/carbon/human/species/station/teshari_vr.dm new file mode 100644 index 0000000000..55dcebcc35 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/station/teshari_vr.dm @@ -0,0 +1,24 @@ +/datum/species/teshari + mob_size = MOB_SMALL //YW Edit: changed from MOB_MEDIUM to MOB_SMALL + spawn_flags = SPECIES_CAN_JOIN + icobase = 'icons/mob/human_races/r_teshari_vr.dmi' + deform = 'icons/mob/human_races/r_teshari_vr.dmi' + icobase_tail = 1 + color_mult = 1 + min_age = 18 + push_flags = ~HEAVY //Allows them to use micro step code. + swap_flags = ~HEAVY + gluttonous = 0 + genders = list(MALE, FEMALE, PLURAL, NEUTER) + descriptors = list() + wikilink="https://wiki.chompstation13.net/index.php?title=Teshari" //CHOMPedit: link to our wiki + agility = 90 + + male_sneeze_sound = list('sound/effects/mob_effects/tesharisneeze.ogg','sound/effects/mob_effects/tesharisneezeb.ogg') + female_sneeze_sound = list('sound/effects/mob_effects/tesharisneeze.ogg','sound/effects/mob_effects/tesharisneezeb.ogg') + + inherent_verbs = list( + /mob/living/carbon/human/proc/sonar_ping, + /mob/living/proc/hide, + /mob/living/proc/toggle_pass_table + ) diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/weaver_objs.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/weaver_objs.dm index 0bf81fca77..a48ac9cd05 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/weaver_objs.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/weaver_objs.dm @@ -7,6 +7,29 @@ anchored = 1 density = 0 +/obj/effect/weaversilk/ex_act(severity) + qdel(src) + return + +/obj/effect/weaversilk/attackby(var/obj/item/weapon/W, var/mob/user) + user.setClickCooldown(user.get_attack_speed(W)) + + if(W.force) + visible_message("\The [src] has been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]") + qdel(src) + +/obj/effect/weaversilk/bullet_act(var/obj/item/projectile/Proj) + ..() + if(Proj.get_structure_damage()) + qdel(src) + +/obj/effect/weaversilk/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) + qdel(src) + +/obj/effect/weaversilk/attack_generic(mob/user as mob, var/damage) + if(damage) + qdel(src) + /obj/effect/weaversilk/attack_hand(mob/user as mob) ..() if(user.a_intent == I_HURT) @@ -82,11 +105,11 @@ "You hear a squishy noise!" ) set_dir(L.dir) - can_buckle = 1 + can_buckle = TRUE buckle_mob(L) - L.Stun(1 SECOND) + L.Stun(1) to_chat(L, "The sticky fibers of \the [src] ensnare, trapping you in place!") - trap_active = 0 + trap_active = FALSE can_buckle = initial(can_buckle) desc += " Actually, it looks like it's been all spent." ..() diff --git a/code/modules/mob/living/carbon/human/species/virtual_reality/opaque_form.dm b/code/modules/mob/living/carbon/human/species/virtual_reality/opaque_form.dm index abf287c0fb..43210407bc 100644 --- a/code/modules/mob/living/carbon/human/species/virtual_reality/opaque_form.dm +++ b/code/modules/mob/living/carbon/human/species/virtual_reality/opaque_form.dm @@ -83,21 +83,21 @@ /datum/species/shapeshifter/promethean/avatar/teshari name = "Virtual Reality Teshari" - icobase = 'icons/mob/human_races/r_seromi.dmi' - deform = 'icons/mob/human_races/r_seromi.dmi' + icobase = 'icons/mob/human_races/r_teshari.dmi' + deform = 'icons/mob/human_races/r_teshari.dmi' appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_COLOR | HAS_EYE_COLOR has_limbs = list( BP_TORSO = list("path" = /obj/item/organ/external/chest), BP_GROIN = list("path" = /obj/item/organ/external/groin), - BP_HEAD = list("path" = /obj/item/organ/external/head/seromi), + BP_HEAD = list("path" = /obj/item/organ/external/head/teshari), BP_L_ARM = list("path" = /obj/item/organ/external/arm), BP_R_ARM = list("path" = /obj/item/organ/external/arm/right), BP_L_LEG = list("path" = /obj/item/organ/external/leg), BP_R_LEG = list("path" = /obj/item/organ/external/leg/right), - BP_L_HAND = list("path" = /obj/item/organ/external/hand/seromi), - BP_R_HAND = list("path" = /obj/item/organ/external/hand/right/seromi), - BP_L_FOOT = list("path" = /obj/item/organ/external/foot/seromi), - BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right/seromi) + BP_L_HAND = list("path" = /obj/item/organ/external/hand/teshari), + BP_R_HAND = list("path" = /obj/item/organ/external/hand/right/teshari), + BP_L_FOOT = list("path" = /obj/item/organ/external/foot/teshari), + BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right/teshari) ) /datum/species/shapeshifter/promethean/avatar/diona diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm index 16a67a9b53..fc821e0a94 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm @@ -2,7 +2,7 @@ for(var/mob/living/carbon/human/Q in living_mob_list) if(self && ignore_self && self == Q) continue - if(Q.species.name != SPECIES_XENO_QUEEN) + if(Q.species.name != SPECIES_GENA_QUEEN) //CHOMPedit continue if(!Q.key || !Q.client || Q.stat) continue @@ -80,7 +80,7 @@ /mob/living/carbon/human/proc/lay_egg() set name = "Lay Egg (200)" //CHOMPedit changed number value - set desc = "Lay an egg to produce huggers to impregnate prey with." + set desc = "Lay an egg that hatch into larva." //CHOMPedit set category = "Abilities" if(!config.aliens_allowed) @@ -110,7 +110,7 @@ if(check_alien_ability(500)) visible_message("[src] begins to twist and contort!", "You begin to evolve!") - src.set_species("Xenomorph Queen") + src.set_species("Genaprawn Queen") //CHOMPedit return diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm index 1268fb0c6e..b01849f4db 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm @@ -1,9 +1,9 @@ //Stand-in until this is made more lore-friendly. /datum/species/xenos - name = SPECIES_XENO - name_plural = "Xenomorphs" + name = SPECIES_GENA //CHOMPedit + name_plural = "Genaprawns" //CHOMPedit - default_language = "Xenomorph" + default_language = "Xenolingua" //CHOMPedit language = "Hivemind" assisted_langs = list() unarmed_types = list(/datum/unarmed_attack/claws/strong/xeno, /datum/unarmed_attack/bite/strong/xeno) @@ -93,10 +93,10 @@ ) /datum/species/xenos/get_bodytype() - return SPECIES_XENO + return SPECIES_GENA //CHOMPedit /datum/species/xenos/get_random_name() - return "alien [caste_name] ([alien_number])" + return "Genaprawn [caste_name] ([alien_number])" //CHOMPedit /datum/species/xenos/can_understand(var/mob/other) if(istype(other, /mob/living/carbon/alien/larva)) @@ -114,7 +114,7 @@ H.mind.special_role = "Alien" alien_number++ //Keep track of how many aliens we've had so far. - H.real_name = "alien [caste_name] ([alien_number])" + H.real_name = "Genaprawn [caste_name] ([alien_number])" //CHOMPedit H.name = H.real_name ..() @@ -167,18 +167,10 @@ return 1 return 0 -/* -/datum/species/xenos/handle_login_special(var/mob/living/carbon/human/H) - H.AddInfectionImages() - ..() - -/datum/species/xenos/handle_logout_special(var/mob/living/carbon/human/H) - H.RemoveInfectionImages() - ..() -*/ +//CHOMPedit removed infection images, since they do not exist anymore. /datum/species/xenos/drone - name = SPECIES_XENO_DRONE + name = SPECIES_GENA_DRONE //CHOMPedit caste_name = "drone" weeds_plasma_rate = 15 slowdown = 1 @@ -218,7 +210,7 @@ ..() /datum/species/xenos/hunter - name = SPECIES_XENO_HUNTER + name = SPECIES_GENA_HUNTER //CHOMPedit weeds_plasma_rate = 5 caste_name = "hunter" slowdown = -2 @@ -248,7 +240,7 @@ ) /datum/species/xenos/sentinel - name = SPECIES_XENO_SENTINEL + name = SPECIES_GENA_SENTINEL //CHOMPedit weeds_plasma_rate = 10 caste_name = "sentinel" slowdown = 0 @@ -281,7 +273,7 @@ /datum/species/xenos/queen - name = SPECIES_XENO_QUEEN + name = SPECIES_GENA_QUEEN //CHOMPedit total_health = 300 //CHOMPedit. Queen is chonk weeds_heal_rate = 5 weeds_plasma_rate = 20 @@ -325,10 +317,10 @@ ..() // Make sure only one official queen exists at any point. if(!alien_queen_exists(1,H)) - H.real_name = "alien queen ([alien_number])" + H.real_name = "Genaprawn queen ([alien_number])" //CHOMPedit H.name = H.real_name else - H.real_name = "alien princess ([alien_number])" + H.real_name = "Genaprawn princess ([alien_number])" //CHOMPedit H.name = H.real_name /datum/hud_data/alien diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm index 350f61b33d..c8f74dbc8e 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm @@ -4,28 +4,28 @@ proc/create_new_xenomorph(var/alien_caste,var/target) if(!target || !alien_caste) return var/mob/living/carbon/human/new_alien = new(target) - new_alien.set_species("Xenomorph [alien_caste]") + new_alien.set_species("Genaprawn [alien_caste]") //CHOMPedit return new_alien /mob/living/carbon/human/xdrone/New(var/new_loc) h_style = "Bald" faction = "xeno" - ..(new_loc, SPECIES_XENO_DRONE) + ..(new_loc, SPECIES_GENA_DRONE) //CHOMPedit /mob/living/carbon/human/xsentinel/New(var/new_loc) h_style = "Bald" faction = "xeno" - ..(new_loc, SPECIES_XENO_SENTINEL) + ..(new_loc, SPECIES_GENA_SENTINEL) //CHOMPedit /mob/living/carbon/human/xhunter/New(var/new_loc) h_style = "Bald" faction = "xeno" - ..(new_loc, SPECIES_XENO_HUNTER) + ..(new_loc, SPECIES_GENA_HUNTER) //CHOMPedit /mob/living/carbon/human/xqueen/New(var/new_loc) h_style = "Bald" faction = "xeno" - ..(new_loc, SPECIES_XENO_QUEEN) + ..(new_loc, SPECIES_GENA_QUEEN) //CHOMPedit //CHOMPedit. Removed AddInfectionImages code, due to it being commented out and not used diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 66ebedbb2c..057d17f7dd 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -114,24 +114,15 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() //Do any species specific layering updates, such as when hiding. update_icon_special() -/mob/living/carbon/human/update_icons_layers() - crash_with("CANARY: Old human update_icons_layers was called.") - -/mob/living/carbon/human/update_icons_all() - crash_with("CANARY: Old human update_icons_all was called.") - -/mob/living/carbon/human/update_icons_huds() - crash_with("CANARY: Old human update_icons_huds was called.") - /mob/living/carbon/human/update_transform() /* VOREStation Edit START // First, get the correct size. var/desired_scale_x = icon_scale_x var/desired_scale_y = icon_scale_y - + desired_scale_x *= species.icon_scale_x desired_scale_y *= species.icon_scale_y - + for(var/datum/modifier/M in modifiers) if(!isnull(M.icon_scale_x_percent)) desired_scale_x *= M.icon_scale_x_percent diff --git a/code/modules/mob/living/silicon/robot/robot_vr.dm b/code/modules/mob/living/silicon/robot/robot_vr.dm index 976e0a09e5..b370f1f4b4 100644 --- a/code/modules/mob/living/silicon/robot/robot_vr.dm +++ b/code/modules/mob/living/silicon/robot/robot_vr.dm @@ -147,8 +147,8 @@ if(wideborg == TRUE) if(icontype == "Drake") // Why, Why can't we have normal nice things icon = 'icons/mob/drakeborg/drakeborg_vr.dmi' - else if(icontype == "SecVale" || icontype == "vale2") //CH edit - icon = 'icons/mob/widerobot_vr.dmi' + else if(icontype == "Secborg model V-3" || icontype == "Mediborg model V-3") //CH edit + icon = 'icons/mob/widerobot_ch.dmi' else icon = wideborg_dept return diff --git a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_module.dm b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_module.dm index 2a8ffcb3e1..fb4cee24c2 100644 --- a/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_module.dm +++ b/code/modules/mob/living/silicon/robot/subtypes/thinktank/thinktank_module.dm @@ -64,7 +64,7 @@ modules += bandaid synths += medicine - var/obj/item/weapon/gun/energy/phasegun/mounted/cyborg/phasegun = new(src) + var/obj/item/weapon/gun/energy/locked/phasegun/unlocked/mounted/cyborg/phasegun = new(src) modules += phasegun emag = new /obj/item/weapon/chainsaw(src) diff --git a/code/modules/mob/new_player/sprite_accessories_extra_vr.dm b/code/modules/mob/new_player/sprite_accessories_extra_vr.dm index fd23037699..f69ec4a574 100644 --- a/code/modules/mob/new_player/sprite_accessories_extra_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_extra_vr.dm @@ -97,6 +97,11 @@ icon_state = "eyes_sergal" body_parts = list(BP_HEAD) +/datum/sprite_accessory/marking/vr/closedeyes + name = "Closed Eyes" + icon_state = "eyes_closed" + body_parts = list(BP_HEAD) + /datum/sprite_accessory/marking/vr/brows name = "Eyebrows" icon_state = "brows" diff --git a/code/modules/mob/new_player/sprite_accessories_tail.dm b/code/modules/mob/new_player/sprite_accessories_tail.dm index 012591a895..0b8d75b84e 100644 --- a/code/modules/mob/new_player/sprite_accessories_tail.dm +++ b/code/modules/mob/new_player/sprite_accessories_tail.dm @@ -503,16 +503,16 @@ desc = "" icon_state = "chimptail_s" -/datum/sprite_accessory/tail/special/seromitail - name = "seromi tail" +/datum/sprite_accessory/tail/special/tesharitail + name = "teshari tail" desc = "" icon_state = "seromitail_s" do_colouration = 1 color_blend_mode = ICON_MULTIPLY species_allowed = list(SPECIES_TESHARI, SPECIES_EVENT1, SPECIES_EVENT2, SPECIES_EVENT3) -/datum/sprite_accessory/tail/special/seromitailfeathered - name = "seromi tail w/ feathers" +/datum/sprite_accessory/tail/special/tesharitailfeathered + name = "teshari tail w/ feathers" desc = "" icon_state = "seromitail_s" extra_overlay = "seromitail_feathers_s" @@ -607,15 +607,15 @@ icon_state = "chimptail_hc_s" do_colouration = 1 -/datum/sprite_accessory/tail/special/seromitailhc - name = "seromi tail, colorable" +/datum/sprite_accessory/tail/special/tesharitailhc + name = "teshari tail, colorable" desc = "" icon_state = "seromitail_hc_s" do_colouration = 1 color_blend_mode = ICON_MULTIPLY -/datum/sprite_accessory/tail/special/seromitailfeatheredhc - name = "seromi tail w/ feathers, colorable" +/datum/sprite_accessory/tail/special/tesharitailfeatheredhc + name = "teshari tail w/ feathers, colorable" desc = "" icon_state = "seromitail_feathers_hc_s" do_colouration = 1 diff --git a/code/modules/mob/new_player/sprite_accessories_tail_vr.dm b/code/modules/mob/new_player/sprite_accessories_tail_vr.dm index d76244aba7..90082c146a 100644 --- a/code/modules/mob/new_player/sprite_accessories_tail_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_tail_vr.dm @@ -1138,3 +1138,12 @@ do_colouration = 1 color_blend_mode = ICON_MULTIPLY ckeys_allowed = list("prettiebyrd") + +/datum/sprite_accessory/tail/tentacle + name = "Tentacle, colorable (vwag)" + desc = "" + icon = "icons/mob/vore/tails_vr.dmi" + icon_state = "tentacle" + ani_state = "tentacle_w" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY diff --git a/code/modules/mob/update_icons.dm b/code/modules/mob/update_icons.dm index 7b9bb15baa..352221f66f 100644 --- a/code/modules/mob/update_icons.dm +++ b/code/modules/mob/update_icons.dm @@ -9,17 +9,8 @@ return // Obsolete -/mob/proc/update_icons_layers() - return - -/mob/proc/update_icons_huds() - return - /mob/proc/update_icons_body() return - -/mob/proc/update_icons_all() - return // End obsolete /mob/proc/update_hud() diff --git a/code/modules/organs/organ_icon.dm b/code/modules/organs/organ_icon.dm index 28f0e7e33f..43b4e35788 100644 --- a/code/modules/organs/organ_icon.dm +++ b/code/modules/organs/organ_icon.dm @@ -59,7 +59,7 @@ var/global/list/limb_icon_cache = list() if(facial_hair_style && facial_hair_style.species_allowed && (species.get_bodytype(owner) in facial_hair_style.species_allowed)) var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s") if(facial_hair_style.do_colouration) - facial_s.Blend(rgb(owner.r_facial, owner.g_facial, owner.b_facial), ICON_MULTIPLY) // VOREStation edit + facial_s.Blend(rgb(owner.r_facial, owner.g_facial, owner.b_facial), facial_hair_style.color_blend_mode) res.add_overlay(facial_s) //Head hair diff --git a/code/modules/organs/robolimbs_custom.dm b/code/modules/organs/robolimbs_custom.dm index 7fef655df9..12f6dbaa00 100644 --- a/code/modules/organs/robolimbs_custom.dm +++ b/code/modules/organs/robolimbs_custom.dm @@ -164,7 +164,7 @@ VS Edit - anyone can select these. */ icon = 'icons/mob/human_races/cyberlimbs/DSITeshari/dsi_teshari.dmi' lifelike = 1 skin_tone = 1 - suggested_species = "Teshari" + suggested_species = SPECIES_TESHARI /datum/robolimb/dsi_teshari/New() species_cannot_use = GLOB.all_species.Copy() diff --git a/code/modules/organs/subtypes/standard.dm b/code/modules/organs/subtypes/standard.dm index a3c79c4c40..85b6328472 100644 --- a/code/modules/organs/subtypes/standard.dm +++ b/code/modules/organs/subtypes/standard.dm @@ -390,7 +390,7 @@ /obj/item/organ/external/head/skrell eye_icon = "skrell_eyes_s" -/obj/item/organ/external/head/seromi +/obj/item/organ/external/head/teshari eye_icon = "eyes_seromi" /obj/item/organ/external/head/no_eyes diff --git a/code/modules/organs/subtypes/teshari.dm b/code/modules/organs/subtypes/teshari.dm new file mode 100644 index 0000000000..00f673482c --- /dev/null +++ b/code/modules/organs/subtypes/teshari.dm @@ -0,0 +1,8 @@ +/obj/item/organ/external/foot/teshari + body_hair = "feathers" +/obj/item/organ/external/foot/right/teshari + body_hair = "feathers" +/obj/item/organ/external/hand/teshari + body_hair = "feathers" +/obj/item/organ/external/hand/right/teshari + body_hair = "feathers" diff --git a/code/modules/overmap/spacetravel.dm b/code/modules/overmap/spacetravel.dm index cf1787c4ab..f3efcd3fc4 100644 --- a/code/modules/overmap/spacetravel.dm +++ b/code/modules/overmap/spacetravel.dm @@ -73,7 +73,7 @@ proc/get_deepspace(x,y) /mob/lost_in_space() return isnull(client) -/mob/living/lost_in_space() +/mob/living/carbon/human/lost_in_space() return FALSE // return isnull(client) && !key && stat == DEAD // Allows bodies that players have ghosted from to be deleted - Ater diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 07009a99c0..ef19bc2322 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -286,7 +286,7 @@ temp_img = icon('icons/obj/butts_vr.dmi', "machine") if(SPECIES_WEREBEAST) temp_img = icon('icons/obj/butts_vr.dmi', "vulp") // Give Werewolves their own thicc'er than a boal of oatmeal ass sprite someday? - if(SPECIES_XENOHYBRID, SPECIES_XENO, SPECIES_XENO_DRONE, SPECIES_XENO_HUNTER, SPECIES_XENO_QUEEN, SPECIES_XENO_SENTINEL) // Xenos + Xenohybrids have their own asses, thanks to Pybro. + if(SPECIES_XENOHYBRID, SPECIES_GENA, SPECIES_GENA_DRONE, SPECIES_GENA_HUNTER, SPECIES_GENA_QUEEN, SPECIES_GENA_SENTINEL) // Xenos + Xenohybrids have their own asses, thanks to Pybro. CHOMPedit temp_img = icon('icons/obj/butts_vr.dmi', "xeno") if(SPECIES_ZORREN_HIGH) temp_img = icon('icons/obj/butts_vr.dmi', "vulp") // placeholder until we get zorren butts. diff --git a/code/modules/pda/pda.dm b/code/modules/pda/pda.dm index f05a1056fd..298e8efd13 100644 --- a/code/modules/pda/pda.dm +++ b/code/modules/pda/pda.dm @@ -11,7 +11,7 @@ var/global/list/obj/item/device/pda/PDAs = list() item_state = "electronic" w_class = ITEMSIZE_SMALL slot_flags = SLOT_ID | SLOT_BELT - sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/id.dmi') + sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/teshari/id.dmi') //Main variables var/pdachoice = 1 @@ -139,8 +139,8 @@ var/global/list/obj/item/device/pda/PDAs = list() desc = "A portable microcomputer by Thinktronic Systems, LTD. This model is a wrist-bound version." slot_flags = SLOT_ID | SLOT_BELT | SLOT_GLOVES sprite_sheets = list( - SPECIES_TESHARI = 'icons/mob/species/seromi/pda_wrist.dmi', - SPECIES_VR_TESHARI = 'icons/mob/species/seromi/pda_wrist.dmi', + SPECIES_TESHARI = 'icons/mob/species/teshari/pda_wrist.dmi', + SPECIES_VR_TESHARI = 'icons/mob/species/teshari/pda_wrist.dmi', ) else icon = 'icons/obj/pda_old.dmi' diff --git a/code/modules/planet/virgo3b_vr.dm b/code/modules/planet/virgo3b_vr.dm index ad24827115..710f2698c0 100644 --- a/code/modules/planet/virgo3b_vr.dm +++ b/code/modules/planet/virgo3b_vr.dm @@ -1,7 +1,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null /datum/time/virgo3b - seconds_in_day = 3 HOURS + seconds_in_day = 6 HOURS /datum/planet/virgo3b name = "Virgo-3B" diff --git a/code/modules/projectiles/guns/energy/phase.dm b/code/modules/projectiles/guns/energy/phase.dm index 2498aba776..76ab1689fb 100644 --- a/code/modules/projectiles/guns/energy/phase.dm +++ b/code/modules/projectiles/guns/energy/phase.dm @@ -1,8 +1,9 @@ // Phase weapons go here +//CHOMP Edit: Each phase gun now has the same safety lock as frontier phasers. Every pathname now has "locked" and "unlocked", basically. This code comes from /code/modules/projectiles/guns/energy/laser_vr.dm. -/obj/item/weapon/gun/energy/phasegun +/obj/item/weapon/gun/energy/locked/phasegun name = "phase carbine" - desc = "The RayZar EW26 Artemis is a downsized energy weapon, specifically designed for use against wildlife." + desc = "The RayZar EW26 Artemis is a downsized energy weapon, specifically designed for use against wildlife. This one has a safety interlock that prevents firing while in proximity to the facility." description_fluff = "RayZar is Ward-Takahashi’s main consumer weapons brand, known for producing and licensing a wide variety of specialist energy weapons of various types and quality primarily for the civilian market." icon_state = "phasecarbine" item_state = "phasecarbine" @@ -13,18 +14,24 @@ one_handed_penalty = 15 recoil_mode = 0 //CHOMP Addition: Removes recoil for micros. -/obj/item/weapon/gun/energy/phasegun/mounted +/obj/item/weapon/gun/energy/locked/phasegun/unlocked + desc = "The RayZar EW26 Artemis is a downsized energy weapon, specifically designed for use against wildlife." + req_access = newlist() //for toggling safety + locked = 0 + lockable = 0 + +/obj/item/weapon/gun/energy/locked/phasegun/unlocked/mounted self_recharge = 1 use_external_power = 1 one_handed_penalty = 0 -/obj/item/weapon/gun/energy/phasegun/mounted/cyborg +/obj/item/weapon/gun/energy/locked/phasegun/unlocked/mounted/cyborg charge_cost = 400 recharge_time = 7 -/obj/item/weapon/gun/energy/phasegun/pistol +/obj/item/weapon/gun/energy/locked/phasegun/pistol name = "phase pistol" - desc = "The RayZar EW15 Apollo is an energy handgun, specifically designed for self-defense against aggressive wildlife." + desc = "The RayZar EW15 Apollo is an energy handgun, specifically designed for self-defense against aggressive wildlife. This one has a safety interlock that prevents firing while in proximity to the facility." icon_state = "phase" item_state = "taser" //I don't have an in-hand sprite, taser will be fine w_class = ITEMSIZE_NORMAL @@ -33,18 +40,24 @@ projectile_type = /obj/item/projectile/energy/phase/light one_handed_penalty = 0 -/obj/item/weapon/gun/energy/phasegun/pistol/mounted +/obj/item/weapon/gun/energy/locked/phasegun/pistol/unlocked + desc = "The RayZar EW15 Apollo is an energy handgun, specifically designed for self-defense against aggressive wildlife." + req_access = newlist() //for toggling safety + locked = 0 + lockable = 0 + +/obj/item/weapon/gun/energy/locked/phasegun/pistol/unlocked/mounted name = "mounted phase pistol" self_recharge = 1 use_external_power = 1 -/obj/item/weapon/gun/energy/phasegun/pistol/mounted/cyborg +/obj/item/weapon/gun/energy/locked/phasegun/pistol/unlocked/mounted/cyborg charge_cost = 400 recharge_time = 7 -obj/item/weapon/gun/energy/phasegun/rifle +obj/item/weapon/gun/energy/locked/phasegun/rifle name = "phase rifle" - desc = "The RayZar EW31 Orion is a specialist energy weapon, intended for use against hostile wildlife." + desc = "The RayZar EW31 Orion is a specialist energy weapon, intended for use against hostile wildlife. This one has a safety interlock that prevents firing while in proximity to the facility." icon_state = "phaserifle" item_state = "phaserifle" wielded_item_state = "phaserifle-wielded" @@ -55,9 +68,15 @@ obj/item/weapon/gun/energy/phasegun/rifle accuracy = 15 one_handed_penalty = 30 -/obj/item/weapon/gun/energy/phasegun/cannon +obj/item/weapon/gun/energy/locked/phasegun/rifle/unlocked + desc = "The RayZar EW31 Orion is a specialist energy weapon, intended for use against hostile wildlife." + req_access = newlist() //for toggling safety + locked = 0 + lockable = 0 + +/obj/item/weapon/gun/energy/locked/phasegun/cannon name = "phase cannon" - desc = "The RayZar EW50 Gaia is a massive energy weapon, purpose-built for clearing land. You feel dirty just looking at it." + desc = "The RayZar EW50 Gaia is a massive energy weapon, purpose-built for clearing land. You feel dirty just looking at it. This one has a safety interlock that prevents firing while in proximity to the facility." icon_state = "phasecannon" item_state = "phasecannon" wielded_item_state = "phasecannon-wielded" //TODO: New Sprites @@ -67,3 +86,9 @@ obj/item/weapon/gun/energy/phasegun/rifle projectile_type = /obj/item/projectile/energy/phase/heavy/cannon accuracy = 15 one_handed_penalty = 65 + +/obj/item/weapon/gun/energy/locked/phasegun/cannon/unlocked + desc = "The RayZar EW50 Gaia is a massive energy weapon, purpose-built for clearing land. You feel dirty just looking at it." + req_access = newlist() //for toggling safety + locked = 0 + lockable = 0 diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm index 797ffc4371..b987f608b5 100644 --- a/code/modules/reagents/Chemistry-Holder.dm +++ b/code/modules/reagents/Chemistry-Holder.dm @@ -314,7 +314,8 @@ if(spill) splash(target.loc, spill, multiplier, copy, min_spill, max_spill) - trans_to(target, amount, multiplier, copy) + if(!trans_to(target, amount, multiplier, copy)) + touch(target, amount) /datum/reagents/proc/trans_type_to(var/target, var/rtype, var/amount = 1) if (!target) diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 699a0cf2c4..2372be085a 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -31,7 +31,7 @@ // find the attached trunk (if present) and init gas resvr. /obj/machinery/disposal/Initialize() . = ..() - + trunk = locate() in loc if(!trunk) mode = 0 diff --git a/code/modules/research/designs/weapons.dm b/code/modules/research/designs/weapons.dm index 117f5620b3..ed9cea0a1c 100644 --- a/code/modules/research/designs/weapons.dm +++ b/code/modules/research/designs/weapons.dm @@ -132,7 +132,7 @@ ..() name = "Phase weapon prototype ([item_name])" -/**/ //VOREStation Removal Start // Chomp Edit : uncomment those weapons +/* //VOREStation Removal Start // Chomp Edit : uncomment those weapons //CHOMP Edit: Comment again, move to weapons_ch because they have weapons locks now. /datum/design/item/weapon/phase/phase_pistol id = "phasepistol" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2, TECH_POWER = 2) @@ -160,7 +160,7 @@ materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 2000, "silver" = 1000, "diamond" = 750) build_path = /obj/item/weapon/gun/energy/phasegun/cannon sort_string = "MACAD" -/**/ //VOREStation Removal End // Chomp Edit : uncomment those weapons +*/ //VOREStation Removal End // Chomp Edit : uncomment those weapons // Other weapons diff --git a/code/modules/research/designs/weapons_ch.dm b/code/modules/research/designs/weapons_ch.dm index 6461d319fb..d035cbadc5 100644 --- a/code/modules/research/designs/weapons_ch.dm +++ b/code/modules/research/designs/weapons_ch.dm @@ -5,4 +5,33 @@ req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) materials = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 3000) build_path = /obj/item/weapon/gun/launcher/confetti_cannon - sort_string = "MAAVD" \ No newline at end of file + sort_string = "MAAVD" + +//Phase weapon with lock safeties. +/datum/design/item/weapon/phase/phase_pistol + id = "phasepistol" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2, TECH_POWER = 2) + materials = list(DEFAULT_WALL_MATERIAL = 4000, MAT_COPPER = 30) + build_path = /obj/item/weapon/gun/energy/locked/phasegun/pistol + sort_string = "MACAA" + +/datum/design/item/weapon/phase/phase_carbine + id = "phasecarbine" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2, TECH_POWER = 2) + materials = list(DEFAULT_WALL_MATERIAL = 6000, "glass" = 1500, MAT_COPPER = 40) + build_path = /obj/item/weapon/gun/energy/locked/phasegun + sort_string = "MACAB" + +/datum/design/item/weapon/phase/phase_rifle + id = "phaserifle" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) + materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 2000, "silver" = 500) + build_path = /obj/item/weapon/gun/energy/locked/phasegun/rifle + sort_string = "MACAC" + +/datum/design/item/weapon/phase/phase_cannon + id = "phasecannon" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_POWER = 4) + materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 2000, "silver" = 1000, "diamond" = 750) + build_path = /obj/item/weapon/gun/energy/locked/phasegun/cannon + sort_string = "MACAD" \ No newline at end of file diff --git a/code/modules/tgui/modules/ntos-only/cardmod.dm b/code/modules/tgui/modules/ntos-only/cardmod.dm index c5aecd8808..a05dbf0ff7 100644 --- a/code/modules/tgui/modules/ntos-only/cardmod.dm +++ b/code/modules/tgui/modules/ntos-only/cardmod.dm @@ -167,7 +167,7 @@ if("modify") if(computer && computer.card_slot) if(id_card) - data_core.manifest_modify(id_card.registered_name, id_card.assignment) + data_core.manifest_modify(id_card.registered_name, id_card.assignment, id_card.rank) computer.proc_eject_id(usr) . = TRUE if("terminate") diff --git a/code/modules/vore/appearance/sprite_accessories_vr.dm.orig b/code/modules/vore/appearance/sprite_accessories_vr.dm.orig deleted file mode 100644 index 1fdcb03b7a..0000000000 --- a/code/modules/vore/appearance/sprite_accessories_vr.dm.orig +++ /dev/null @@ -1,1605 +0,0 @@ -/* - Hello and welcome to VOREStation sprite_accessories: For a more general overview - please read sprite_accessories.dm. This file is for ears and tails. - This is intended to be friendly for people with little to no actual coding experience. - !!WARNING!!: changing existing accessory information can be VERY hazardous to savefiles, - to the point where you may completely corrupt a server's savefiles. Please refrain - from doing this unless you absolutely know what you are doing, and have defined a - conversion in savefile.dm -*/ - -// Add Additional variable onto sprite_accessory -/datum/sprite_accessory - // Ckey of person allowed to use this, if defined. - var/list/ckeys_allowed = null - var/apply_restrictions = FALSE //whether to apply restrictions for specific tails/ears/wings - -/* -//////////////////////////// -/ =--------------------= / -/ == Ear Definitions == / -/ =--------------------= / -//////////////////////////// -*/ -/datum/sprite_accessory/ears - name = "You should not see this..." - icon = 'icons/mob/vore/ears_vr.dmi' - do_colouration = 0 // Set to 1 to blend (ICON_ADD) hair color - - var/color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 - var/extra_overlay // Icon state of an additional overlay to blend in. - var/desc = "You should not see this..." - -// Species-unique ears - -/datum/sprite_accessory/ears/shadekin - name = "Shadekin Ears, colorable" - desc = "" - icon_state = "shadekin" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - apply_restrictions = TRUE -<<<<<<< HEAD - species_allowed = list(SPECIES_SHADEKIN, SPECIES_SHADEKIN_YW)//YW edits -======= - species_allowed = list(SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW) ->>>>>>> master - -// Ears avaliable to anyone - -/datum/sprite_accessory/ears/squirrel_orange - name = "squirel, orange" - desc = "" - icon_state = "squirrel-orange" - -/datum/sprite_accessory/ears/squirrel_red - name = "squirrel, red" - desc = "" - icon_state = "squirrel-red" - -/datum/sprite_accessory/ears/bunny_white - name = "bunny, white" - desc = "" - icon_state = "bunny" - -/datum/sprite_accessory/ears/bear_brown - name = "bear, brown" - desc = "" - icon_state = "bear-brown" - -/datum/sprite_accessory/ears/bear_panda - name = "bear, panda" - desc = "" - icon_state = "panda" - -/datum/sprite_accessory/ears/wolf_grey - name = "wolf, grey" - desc = "" - icon_state = "wolf-grey" - -/datum/sprite_accessory/ears/wolf_green - name = "wolf, green" - desc = "" - icon_state = "wolf-green" - -/datum/sprite_accessory/ears/wisewolf - name = "wolf, wise" - desc = "" - icon_state = "wolf-wise" - -/datum/sprite_accessory/ears/mouse_grey - name = "mouse, grey" - desc = "" - icon_state = "mouse-grey" - -/datum/sprite_accessory/ears/bee - name = "bee antennae" - desc = "" - icon_state = "bee" - -/datum/sprite_accessory/ears/antennae - name = "antennae, colorable" - desc = "" - icon_state = "antennae" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/curly_bug - name = "curly antennae, colorable" - desc = "" - icon_state = "curly_bug" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/dual_robot - name = "synth antennae, colorable" - desc = "" - icon_state = "dual_robot_antennae" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/right_robot - name = "right synth, colorable" - desc = "" - icon_state = "right_robot_antennae" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/left_robot - name = "left synth, colorable" - desc = "" - icon_state = "left_robot_antennae" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/oni_h1 - name = "oni horns" - desc = "" - icon_state = "oni-h1" - -/datum/sprite_accessory/ears/oni_h1_c - name = "oni horns, colorable" - desc = "" - icon_state = "oni-h1_c" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/demon_horns1 - name = "demon horns" - desc = "" - icon_state = "demon-horns1" - -/datum/sprite_accessory/ears/demon_horns1_c - name = "demon horns, colorable" - desc = "" - icon_state = "demon-horns1_c" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/demon_horns2 - name = "demon horns, colorable(outward)" - desc = "" - icon_state = "demon-horns2" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/dragon_horns - name = "dragon horns, colorable" - desc = "" - icon_state = "dragon-horns" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/foxears - name = "highlander zorren ears" - desc = "" - icon_state = "foxears" - -/datum/sprite_accessory/ears/fenears - name = "flatland zorren ears" - desc = "" - icon_state = "fenears" - -/datum/sprite_accessory/ears/sergal //Redundant - name = "Sergal ears" - icon_state = "serg_plain_s" - -/datum/sprite_accessory/ears/foxearshc - name = "highlander zorren ears, colorable" - desc = "" - icon_state = "foxearshc" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/fenearshc - name = "flatland zorren ears, colorable" - desc = "" - icon_state = "fenearshc" - extra_overlay = "fenears-inner" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/sergalhc - name = "Sergal ears, colorable" - icon_state = "serg_plain_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/mousehc - name = "mouse, colorable" - desc = "" - icon_state = "mouse" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "mouseinner" - -/datum/sprite_accessory/ears/mousehcno - name = "mouse, colorable, no inner" - desc = "" - icon_state = "mouse" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/wolfhc - name = "wolf, colorable" - desc = "" - icon_state = "wolf" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "wolfinner" - -/datum/sprite_accessory/ears/bearhc - name = "bear, colorable" - desc = "" - icon_state = "bear" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/smallbear - name = "small bear" - desc = "" - icon_state = "smallbear" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/squirrelhc - name = "squirrel, colorable" - desc = "" - icon_state = "squirrel" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/kittyhc - name = "kitty, colorable" - desc = "" - icon_state = "kitty" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "kittyinner" - -/datum/sprite_accessory/ears/bunnyhc - name = "bunny, colorable" - desc = "" - icon_state = "bunny" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/antlers - name = "antlers" - desc = "" - icon_state = "antlers" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/antlers_e - name = "antlers with ears" - desc = "" - icon_state = "cow-nohorns" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "antlers_mark" - -/datum/sprite_accessory/ears/smallantlers - name = "small antlers" - desc = "" - icon_state = "smallantlers" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/smallantlers_e - name = "small antlers with ears" - desc = "" - icon_state = "smallantlers" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "deer" - -/datum/sprite_accessory/ears/deer - name = "deer ears" - desc = "" - icon_state = "deer" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/cow - name = "cow, horns" - desc = "" - icon_state = "cow" - -/datum/sprite_accessory/ears/cowc - name = "cow, horns, colorable" - desc = "" - icon_state = "cow-c" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/cow_nohorns - name = "cow, no horns" - desc = "" - icon_state = "cow-nohorns" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/caprahorns - name = "caprine horns" - desc = "" - icon_state = "caprahorns" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/otie - name = "otie, colorable" - desc = "" - icon_state = "otie" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "otie-inner" - -/datum/sprite_accessory/ears/zears - name = "jagged ears" - desc = "" - icon_state = "zears" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/elfs - name = "elven ears" - desc = "" - icon_state = "elfs" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/sleek - name = "sleek ears" - desc = "" - icon_state = "sleek" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/drake - name = "drake frills" - desc = "" - icon_state = "drake" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/vulp - name = "vulpkanin, dual-color" - desc = "" - icon_state = "vulp" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "vulp-inner" - -/datum/sprite_accessory/ears/bunny_floppy - name = "floopy bunny ears (colorable)" - desc = "" - icon_state = "floppy_bun" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/ears/teshari - name = "Teshari (colorable fluff)" - desc = "" - icon_state = "teshari" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "teshariinner" - -/datum/sprite_accessory/ears/tesharihigh - name = "Teshari upper ears (colorable fluff)" - desc = "" - icon_state = "tesharihigh" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "tesharihighinner" - -/datum/sprite_accessory/ears/tesharilow - name = "Teshari lower ears (colorable fluff)" - desc = "" - icon_state = "tesharilow" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "tesharilowinner" - -/datum/sprite_accessory/ears/inkling - name = "colorable mature inkling hair" - desc = "" - icon = 'icons/mob/human_face_vr.dmi' - icon_state = "inkling-colorable" - color_blend_mode = ICON_MULTIPLY - do_colouration = 1 - - -// Special snowflake ears go below here. - -/datum/sprite_accessory/ears/molenar_kitsune - name = "quintail kitsune ears (Molenar)" - desc = "" - icon_state = "molenar-kitsune" - ckeys_allowed = list("molenar") - -/datum/sprite_accessory/ears/lilimoth_antennae - name = "citheronia antennae (Kira72)" - desc = "" - icon_state = "lilimoth_antennae" - ckeys_allowed = list("kira72") - -/datum/sprite_accessory/ears/molenar_deathclaw - name = "deathclaw ears (Molenar)" - desc = "" - icon_state = "molenar-deathclaw" - ckeys_allowed = list("molenar") - -/datum/sprite_accessory/ears/miria_fluffdragon - name = "fluffdragon ears (Miria Masters)" - desc = "" - icon_state = "miria-fluffdragonears" - ckeys_allowed = list("miriamasters") - -/datum/sprite_accessory/ears/miria_kitsune - name = "kitsune ears (Miria Masters)" - desc = "" - icon_state = "miria-kitsuneears" - ckeys_allowed = list("miriamasters") - -/datum/sprite_accessory/ears/runac - name = "fennecsune ears (Runac)" - desc = "" - icon_state = "runac" - ckeys_allowed = list("rebcom1807") - -/datum/sprite_accessory/ears/kerena - name = "wingwolf ears (Kerena)" - desc = "" - icon_state = "kerena" - ckeys_allowed = list("somekindofpony") - -/datum/sprite_accessory/ears/rosey - name = "tritail kitsune ears (Rosey)" - desc = "" - icon_state = "rosey" - ckeys_allowed = list("joey4298") - -/datum/sprite_accessory/ears/aronai - name = "aronai ears/head (Aronai)" - desc = "" - icon_state = "aronai" - ckeys_allowed = list("arokha") - -/datum/sprite_accessory/ears/holly - name = "tigress ears (Holly Sharp)" - desc = "" - icon_state = "tigressears" - ckeys_allowed = list("hoodoo") - -/datum/sprite_accessory/ears/molenar_inkling - name = "teal mature inkling hair (Kari Akiren)" - desc = "" - icon_state = "molenar-tentacle" - ckeys_allowed = list("molenar") - -/datum/sprite_accessory/ears/shock - name = "pharoah hound ears (Shock Diamond)" - desc = "" - icon_state = "shock" - ckeys_allowed = list("icowom","cameron653") - -/datum/sprite_accessory/ears/alurane - name = "alurane ears/hair (Pumila)" - desc = "" - icon_state = "alurane-ears" - ckeys_allowed = list("natje") - -/datum/sprite_accessory/ears/frost - name = "Frost antenna" - desc = "" - icon_state = "frosted_tips" - ckeys_allowed = list("tucker0666") - -/* -//////////////////////////// -/ =--------------------= / -/ == Wing Definitions == / -/ =--------------------= / -//////////////////////////// -*/ -/datum/sprite_accessory/wing - name = "You should not see this..." - icon = 'icons/mob/vore/wings_vr.dmi' - do_colouration = 0 //Set to 1 to enable coloration using the tail color. - - var/color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 - var/extra_overlay // Icon state of an additional overlay to blend in. - var/clothing_can_hide = 1 // If true, clothing with HIDETAIL hides it. If the clothing is bulky enough to hide a tail, it should also hide wings. - // var/show_species_tail = 1 // Just so // TODO - Seems not needed ~Leshana - var/desc = "You should not see this..." - var/ani_state // State when flapping/animated - var/extra_overlay_w // Flapping state for extra overlay - -/datum/sprite_accessory/wing/shock //Unable to split the tail from the wings in the sprite, so let's just classify it as wings. - name = "pharoah hound tail (Shock Diamond)" - desc = "" - icon_state = "shock" - ckeys_allowed = list("icowom") - -/datum/sprite_accessory/wing/featheredlarge //Made by Natje! - name = "large feathered wings (colorable)" - desc = "" - icon_state = "feathered2" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/wing/spider_legs //Not really /WINGS/ but they protrude from the back, kinda. Might as well have them here. - name = "spider legs" - desc = "" - icon_state = "spider-legs" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/wing/moth - name = "moth wings" - desc = "" - icon_state = "moth" - -/datum/sprite_accessory/wing/mothc - name = "moth wings, colorable" - desc = "" - icon_state = "moth" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/wing/dragonfly - name = "dragonfly" - desc = "" - icon_state = "dragonfly" - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/wing/citheroniamoth - name = "citheronia wings" - desc = "" - icon_state = "citheronia_wings" - ckeys_allowed = list("kira72") - -/datum/sprite_accessory/wing/feathered - name = "feathered wings, colorable" - desc = "" - icon_state = "feathered" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/wing/feathered_medium - name = "medium feathered wings, colorable" // Keekenox made these feathery things with a little bit more shape to them than the other wings. They are medium sized wing boys. - desc = "" - icon_state = "feathered3" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/wing/bat_black - name = "bat wings, black" - desc = "" - icon_state = "bat-black" - -/datum/sprite_accessory/wing/bat_color - name = "bat wings, colorable" - desc = "" - icon_state = "bat-color" - do_colouration = 1 - -/datum/sprite_accessory/wing/bat_red - name = "bat wings, red" - desc = "" - icon_state = "bat-red" - -/datum/sprite_accessory/wing/harpywings - name = "harpy wings, colorable" - desc = "" - icon_state = "harpywings" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/wing/feathered - name = "feathered wings, colorable" - desc = "" - icon_state = "feathered" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/wing/beewings - name = "bee wings" - desc = "" - icon_state = "beewings" - -/datum/sprite_accessory/wing/sepulchre - name = "demon wings (Sepulchre)" - desc = "" - icon_state = "sepulchre_wings" - ckeys_allowed = list("sepulchre") - -/datum/sprite_accessory/wing/miria_fluffdragon - name = "fluffdragon wings (Miria Masters)" - desc = "" - icon_state = "miria-fluffdragontail" - ckeys_allowed = list("miriamasters") - -/datum/sprite_accessory/wing/scree - name = "green taj wings (Scree)" - desc = "" - icon_state = "scree-wings" - ckeys_allowed = list("scree") - -/datum/sprite_accessory/wing/liquidfirefly_gazer //I g-guess this could be considered wings? - name = "gazer eyestalks" - desc = "" - icon_state = "liquidfirefly-eyestalks" - //ckeys_allowed = list("liquidfirefly","seiga") //At request. - -/datum/sprite_accessory/wing/moth_full - name = "moth antenna and wings" - desc = "" - icon_state = "moth_full" - -/datum/sprite_accessory/wing/moth_full_gray - name = "moth antenna and wings, colorable" - desc = "" - icon_state = "moth_full_gray" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/wing/kerena - name = "wingwolf wings (Kerena)" - desc = "" - icon_state = "kerena-wings" - ckeys_allowed = list("somekindofpony") - -/datum/sprite_accessory/wing/snag - name = "xenomorph backplate" - desc = "" - icon_state = "snag-backplate" - -/datum/sprite_accessory/wing/nevrean - name = "nevrean wings/fantail" - desc = "" - icon_state = "nevrean_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/* -//////////////////////////// -/ =--------------------= / -/ == Tail Definitions == / -/ =--------------------= / -//////////////////////////// -*/ -/datum/sprite_accessory/tail - name = "You should not see this..." - icon = 'icons/mob/vore/tails_vr.dmi' - do_colouration = 0 //Set to 1 to enable coloration using the tail color. - - var/color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 - var/extra_overlay // Icon state of an additional overlay to blend in. - var/show_species_tail = 0 // If false, do not render species' tail. - var/clothing_can_hide = 1 // If true, clothing with HIDETAIL hides it - var/desc = "You should not see this..." - var/ani_state // State when wagging/animated - var/extra_overlay_w // Wagging state for extra overlay - var/list/hide_body_parts = list() //Uses organ tag defines. Bodyparts in this list do not have their icons rendered, allowing for more spriter freedom when doing taur/digitigrade stuff. - var/icon/clip_mask_icon = null //Icon file used for clip mask. - var/clip_mask_state = null //Icon state to generate clip mask. Clip mask is used to 'clip' off the lower part of clothing such as jumpsuits & full suits. - -// Species-unique tails - -/datum/sprite_accessory/tail/shadekin_short - name = "Shadekin Short Tail, colorable" - desc = "" - icon_state = "shadekin-short" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - apply_restrictions = TRUE -<<<<<<< HEAD - species_allowed = list(SPECIES_SHADEKIN, SPECIES_SHADEKIN_YW)//YW edits -======= - species_allowed = list(SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW) ->>>>>>> master - -// Everyone tails - -/datum/sprite_accessory/tail/invisible - name = "hide species-sprite tail" - icon = null - icon_state = null - -/datum/sprite_accessory/tail/squirrel_orange - name = "squirel, orange" - desc = "" - icon_state = "squirrel-orange" - -/datum/sprite_accessory/tail/squirrel_red - name = "squirrel, red" - desc = "" - icon_state = "squirrel-red" - -/datum/sprite_accessory/tail/squirrel - name = "squirrel, colorable" - desc = "" - icon_state = "squirrel" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/kitty - name = "kitty, colorable, downwards" - desc = "" - icon_state = "kittydown" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/kittyup - name = "kitty, colorable, upwards" - desc = "" - icon_state = "kittyup" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/tiger_white - name = "tiger, colorable" - desc = "" - icon_state = "tiger" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "tigerinnerwhite" - -/datum/sprite_accessory/tail/stripey - name = "stripey taj, colorable" - desc = "" - icon_state = "stripeytail" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "stripeytail_mark" - -/datum/sprite_accessory/tail/stripeytail_brown - name = "stripey taj, brown" - desc = "" - icon_state = "stripeytail-brown" - -/datum/sprite_accessory/tail/chameleon - name = "Chameleon, colorable" - desc = "" - icon_state = "chameleon" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/bunny - name = "bunny, colorable" - desc = "" - icon_state = "bunny" - do_colouration = 1 - -/datum/sprite_accessory/tail/bear_brown - name = "bear, brown" - desc = "" - icon_state = "bear-brown" - -/datum/sprite_accessory/tail/bear - name = "bear, colorable" - desc = "" - icon_state = "bear" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/dragon - name = "dragon, colorable" - desc = "" - icon_state = "dragon" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/wolf_grey - name = "wolf, grey" - desc = "" - icon_state = "wolf-grey" - -/datum/sprite_accessory/tail/wolf_green - name = "wolf, green" - desc = "" - icon_state = "wolf-green" - -/datum/sprite_accessory/tail/wisewolf - name = "wolf, wise" - desc = "" - icon_state = "wolf-wise" - -/datum/sprite_accessory/tail/blackwolf - name = "wolf, black" - desc = "" - icon_state = "wolf" - -/datum/sprite_accessory/tail/wolf - name = "wolf, colorable" - desc = "" - icon_state = "wolf" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "wolfinner" - -/datum/sprite_accessory/tail/mouse_pink - name = "mouse, pink" - desc = "" - icon_state = "mouse-pink" - -/datum/sprite_accessory/tail/mouse - name = "mouse, colorable" - desc = "" - icon_state = "mouse" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/horse - name = "horse tail, colorable" - desc = "" - icon_state = "horse" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/cow - name = "cow tail, colorable" - desc = "" - icon_state = "cow" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/fantail - name = "avian fantail, colorable" - desc = "" - icon_state = "fantail" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/wagtail - name = "avian wagtail, colorable" - desc = "" - icon_state = "wagtail" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/crossfox - name = "cross fox" - desc = "" - icon_state = "crossfox" - -/datum/sprite_accessory/tail/beethorax - name = "bee thorax" - desc = "" - icon_state = "beethorax" - -/datum/sprite_accessory/tail/doublekitsune - name = "double kitsune tail, colorable" - desc = "" - icon_state = "doublekitsune" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/spade_color - name = "spade-tail (colorable)" - desc = "" - icon_state = "spadetail-black" - do_colouration = 1 - -/datum/sprite_accessory/tail/snag - name = "xenomorph tail 1" - desc = "" - icon_state = "snag" - -/datum/sprite_accessory/tail/xenotail - name = "xenomorph tail 2" - desc = "" - icon_state = "xenotail" - -/datum/sprite_accessory/tail/eboop - name = "EGN mech tail (dual color)" - desc = "" - icon_state = "eboop" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "eboop_mark" - -/datum/sprite_accessory/tail/molenar_kitsune - name = "quintail kitsune tails (Molenar)" - desc = "" - icon_state = "molenar-kitsune" - ckeys_allowed = list("molenar") - -/datum/sprite_accessory/tail/miria_fluffdragon - name = "fluffdragon tail (Miria Masters)" - desc = "" - icon_state = "miria-fluffdragontail" - ckeys_allowed = list("miriamasters") - -/datum/sprite_accessory/tail/miria_kitsune - name = "Black kitsune tails (Miria Masters)" - desc = "" - icon_state = "miria-kitsunetail" - ckeys_allowed = list("miriamasters") - -/datum/sprite_accessory/tail/molenar_deathclaw - name = "deathclaw bits (Molenar)" - desc = "" - icon_state = "molenar-deathclaw" - ckeys_allowed = list("molenar","silvertalismen","jertheace") - -/datum/sprite_accessory/tail/runac - name = "fennecsune tails (Runac)" - desc = "" - icon_state = "runac" - ckeys_allowed = list("rebcom1807") - -/datum/sprite_accessory/tail/reika //Leaving this since it was too hard to split the wings from the tail. - name = "fox tail (+ beewings) (Reika)" - desc = "" - icon_state = "reika" - ckeys_allowed = list("rikaru19xjenkins") - -/datum/sprite_accessory/tail/rosey - name = "tritail kitsune tails (Rosey)" - desc = "" - icon_state = "rosey_three" - ckeys_allowed = list("joey4298") - -/datum/sprite_accessory/tail/rosey2 - name = "pentatail kitsune tails (Rosey)" //I predict seven tails next. ~CK - desc = "" - icon_state = "rosey_five" - ckeys_allowed = list("joey4298") - -/datum/sprite_accessory/tail/scree - name = "green taj tail (Scree)" - desc = "" - icon_state = "scree" - ckeys_allowed = list("scree") - -/datum/sprite_accessory/tail/aronai - name = "aronai tail (Aronai)" - desc = "" - icon_state = "aronai" - ckeys_allowed = list("arokha") - -/datum/sprite_accessory/tail/cabletail - name = "cabletail" - desc = "cabletail" - icon_state = "cabletail" - ckeys_allowed = list("tucker0666") - -/datum/sprite_accessory/tail/featherfluff_tail - name = "featherfluff_tail" - desc = "" - icon_state = "featherfluff_tail" - ckeys_allowed = list("tucker0666") - -/datum/sprite_accessory/tail/ketrai_wag - name = "fennix tail (vwag)" - desc = "" - icon_state = "ketraitail" - ani_state = "ketraitail_w" - //ckeys_allowed = list("ketrai") //They requested it to be enabled for everyone. - -/datum/sprite_accessory/tail/ketrainew_wag - name = "new fennix tail (vwag)" - desc = "" - icon_state = "ketraitailnew" - ani_state = "ketraitailnew_w" - -/datum/sprite_accessory/tail/redpanda - name = "red panda" - desc = "" - icon_state = "redpanda" - -/datum/sprite_accessory/tail/ringtail - name = "ringtail, colorable" - desc = "" - icon_state = "ringtail" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "ringtail_mark" - -/datum/sprite_accessory/tail/holly - name = "tigress tail (Holly)" - desc = "" - icon_state = "tigresstail" - ckeys_allowed = list("hoodoo") - -/datum/sprite_accessory/tail/satyr - name = "goat legs, colorable" - desc = "" - icon_state = "satyr" - color_blend_mode = ICON_MULTIPLY - do_colouration = 1 - hide_body_parts = list(BP_L_LEG, BP_L_FOOT, BP_R_LEG, BP_R_FOOT) //Exclude pelvis just in case. - clip_mask_icon = 'icons/mob/vore/taurs_vr.dmi' - clip_mask_state = "taur_clip_mask_def" //Used to clip off the lower part of suits & uniforms. - -/datum/sprite_accessory/tail/tailmaw - name = "tailmaw, colorable" - desc = "" - icon_state = "tailmaw" - color_blend_mode = ICON_MULTIPLY - do_colouration = 1 - -/datum/sprite_accessory/tail/curltail - name = "curltail (vwag)" - desc = "" - icon_state = "curltail" - ani_state = "curltail_w" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "curltail_mark" - extra_overlay_w = "curltail_mark_w" - -/datum/sprite_accessory/tail/shorttail - name = "shorttail (vwag)" - desc = "" - icon_state = "straighttail" - ani_state = "straighttail_w" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/sneptail - name = "Snep/Furry Tail (vwag)" - desc = "" - icon_state = "sneptail" - ani_state = "sneptail_w" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "sneptail_mark" - extra_overlay_w = "sneptail_mark_w" - - -/datum/sprite_accessory/tail/tiger_new - name = "tiger tail (vwag)" - desc = "" - icon_state = "tigertail" - ani_state = "tigertail_w" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "tigertail_mark" - extra_overlay_w = "tigertail_mark_w" - -/datum/sprite_accessory/tail/vulp_new - name = "new vulp tail (vwag)" - desc = "" - icon_state = "vulptail" - ani_state = "vulptail_w" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "vulptail_mark" - extra_overlay_w = "vulptail_mark_w" - -/datum/sprite_accessory/tail/otietail - name = "otie tail (vwag)" - desc = "" - icon_state = "otie" - ani_state = "otie_w" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/newtailmaw - name = "new tailmaw (vwag)" - desc = "" - icon_state = "newtailmaw" - ani_state = "newtailmaw_w" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/ztail - name = "jagged flufftail" - desc = "" - icon_state = "ztail" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/snaketail - name = "snake tail, colorable" - desc = "" - icon_state = "snaketail" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/vulpan_alt - name = "vulpkanin alt style, colorable" - desc = "" - icon_state = "vulptail_alt" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/sergaltaildc - name = "sergal, dual-color" - desc = "" - icon_state = "sergal" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "sergal_mark" - -/datum/sprite_accessory/tail/skunktail - name = "skunk, dual-color" - desc = "" - icon_state = "skunktail" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "skunktail_mark" - -/datum/sprite_accessory/tail/deertail - name = "deer, dual-color" - desc = "" - icon_state = "deertail" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "deertail_mark" - -/datum/sprite_accessory/tail/teshari_fluffytail - name = "Teshari alternative, colorable" - desc = "" - icon_state = "teshari_fluffytail" - extra_overlay = "teshari_fluffytail_mark" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -//For all species tails. Includes haircolored tails. -/datum/sprite_accessory/tail/special - name = "Blank tail. Do not select." - icon = 'icons/effects/species_tails_vr.dmi' - -/datum/sprite_accessory/tail/special/unathi - name = "unathi tail" - desc = "" - icon_state = "sogtail_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/special/tajaran - name = "tajaran tail" - desc = "" - icon_state = "tajtail_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/special/sergal - name = "sergal tail" - desc = "" - icon_state = "sergtail_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/special/akula - name = "akula tail" - desc = "" - icon_state = "sharktail_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/special/nevrean - name = "nevrean tail" - desc = "" - icon_state = "nevreantail_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/special/armalis - name = "armalis tail" - desc = "" - icon_state = "armalis_tail_humanoid_s" - -/datum/sprite_accessory/tail/special/xenodrone - name = "xenomorph drone tail" - desc = "" - icon_state = "xenos_drone_tail_s" - -/datum/sprite_accessory/tail/special/xenosentinel - name = "xenomorph sentinel tail" - desc = "" - icon_state = "xenos_sentinel_tail_s" - -/datum/sprite_accessory/tail/special/xenohunter - name = "xenomorph hunter tail" - desc = "" - icon_state = "xenos_hunter_tail_s" - -/datum/sprite_accessory/tail/special/xenoqueen - name = "xenomorph queen tail" - desc = "" - icon_state = "xenos_queen_tail_s" - -/datum/sprite_accessory/tail/special/monkey - name = "monkey tail" - desc = "" - icon_state = "chimptail_s" - -/datum/sprite_accessory/tail/special/seromitail - name = "seromi tail" - desc = "" - icon_state = "seromitail_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/special/seromitailfeathered - name = "seromi tail w/ feathers" - desc = "" - icon_state = "seromitail_s" - extra_overlay = "seromitail_feathers_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/special/unathihc - name = "unathi tail, colorable" - desc = "" - icon_state = "sogtail_hc_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/special/tajaranhc - name = "tajaran tail, colorable" - desc = "" - icon_state = "tajtail_hc_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/special/sergalhc - name = "sergal tail, colorable" - desc = "" - icon_state = "sergtail_hc_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/special/akulahc - name = "akula tail, colorable" - desc = "" - icon_state = "sharktail_hc_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/special/nevreanhc - name = "nevrean tail, colorable" - desc = "" - icon_state = "nevreantail_hc_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/special/foxhc - name = "highlander zorren tail, colorable" - desc = "" - icon_state = "foxtail_hc_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/special/fennechc - name = "flatland zorren tail, colorable" - desc = "" - icon_state = "fentail_hc_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/special/armalishc - name = "armalis tail, colorable" - desc = "" - icon_state = "armalis_tail_humanoid_hc_s" - do_colouration = 1 - -/datum/sprite_accessory/tail/special/xenodronehc - name = "xenomorph drone tail, colorable" - desc = "" - icon_state = "xenos_drone_tail_hc_s" - do_colouration = 1 - -/datum/sprite_accessory/tail/special/xenosentinelhc - name = "xenomorph sentinel tail, colorable" - desc = "" - icon_state = "xenos_sentinel_tail_hc_s" - do_colouration = 1 - -/datum/sprite_accessory/tail/special/xenohunterhc - name = "xenomorph hunter tail, colorable" - desc = "" - icon_state = "xenos_hunter_tail_hc_s" - do_colouration = 1 - -/datum/sprite_accessory/tail/special/xenoqueenhc - name = "xenomorph queen tail, colorable" - desc = "" - icon_state = "xenos_queen_tail_hc_s" - do_colouration = 1 - -/datum/sprite_accessory/tail/special/monkeyhc - name = "monkey tail, colorable, colorable" - desc = "" - icon_state = "chimptail_hc_s" - do_colouration = 1 - -/datum/sprite_accessory/tail/special/seromitailhc - name = "seromi tail, colorable" - desc = "" - icon_state = "seromitail_hc_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/special/seromitailfeatheredhc - name = "seromi tail w/ feathers, colorable" - desc = "" - icon_state = "seromitail_feathers_hc_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/special/vulpan - name = "vulpkanin, colorable" - desc = "" - icon_state = "vulptail_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - - -/datum/sprite_accessory/tail/zenghu_taj - name = "Zeng-Hu Tajaran Synth tail" - desc = "" - icon_state = "zenghu_taj" - -//Taurs moved to a separate file due to extra code around them - -//Buggo Abdomens! - -/datum/sprite_accessory/tail/buggo - name = "Bug abdomen, colorable" - desc = "" - icon_state = "buggo_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/buggobee - name = "Bug abdomen, bee top, dual-colorable" - desc = "" - icon_state = "buggo_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggobee_markings" - -/datum/sprite_accessory/tail/buggobeefull - name = "Bug abdomen, bee full, dual-colorable" - desc = "" - icon_state = "buggo_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggobeefull_markings" - -/datum/sprite_accessory/tail/buggounder - name = "Bug abdomen, underside, dual-colorable" - desc = "" - icon_state = "buggo_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggounder_markings" - -/datum/sprite_accessory/tail/buggofirefly - name = "Bug abdomen, firefly, dual-colorable" - desc = "" - icon_state = "buggo_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggofirefly_markings" - -/datum/sprite_accessory/tail/buggofat - name = "Fat bug abdomen, colorable" - desc = "" - icon_state = "buggofat_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/buggofatbee - name = "Fat bug abdomen, bee top, dual-colorable" - desc = "" - icon_state = "buggofat_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggofatbee_markings" - -/datum/sprite_accessory/tail/buggofatbeefull - name = "Fat bug abdomen, bee full, dual-colorable" - desc = "" - icon_state = "buggofat_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggofatbeefull_markings" - -/datum/sprite_accessory/tail/buggofatunder - name = "Fat bug abdomen, underside, dual-colorable" - desc = "" - icon_state = "buggofat_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggofatunder_markings" - -/datum/sprite_accessory/tail/buggofatfirefly - name = "Fat bug abdomen, firefly, dual-colorable" - desc = "" - icon_state = "buggofat_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggofatfirefly_markings" - -/datum/sprite_accessory/tail/buggowag - name = "Bug abdomen, colorable, vwag change" - desc = "" - icon_state = "buggo_s" - ani_state = "buggofat_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/buggobeewag - name = "Bug abdomen, bee top, dual color, vwag" - desc = "" - icon_state = "buggo_s" - ani_state = "buggofat_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggobee_markings" - extra_overlay_w = "buggofatbee_markings" - -/datum/sprite_accessory/tail/buggobeefullwag - name = "Bug abdomen, bee full, dual color, vwag" - desc = "" - icon_state = "buggo_s" - ani_state = "buggofat_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggobeefull_markings" - extra_overlay_w = "buggofatbeefull_markings" - -/datum/sprite_accessory/tail/buggounderwag - name = "Bug abdomen, underside, dual color, vwag" - desc = "" - icon_state = "buggo_s" - ani_state = "buggofat_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggounder_markings" - extra_overlay_w = "buggofatunder_markings" - -/datum/sprite_accessory/tail/buggofireflywag - name = "Bug abdomen, firefly, dual color, vwag" - desc = "" - icon_state = "buggo_s" - ani_state = "buggofat_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggofirefly_markings" - extra_overlay_w = "buggofatfirefly_markings" - -//Vass buggo variants! - -/datum/sprite_accessory/tail/buggovass - name = "Bug abdomen, vass, colorable" - desc = "" - icon_state = "buggo_vass_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/buggovassbee - name = "Bug abdomen, bee top, dc, vass" - desc = "" - icon_state = "buggo_vass_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggobee_vass_markings" - -/datum/sprite_accessory/tail/buggovassbeefull - name = "Bug abdomen, bee full, dc, vass" - desc = "" - icon_state = "buggo_vass_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggobeefull_vass_markings" - -/datum/sprite_accessory/tail/buggovassunder - name = "Bug abdomen, underside, dc, vass" - desc = "" - icon_state = "buggo_vass_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggounder_vass_markings" - -/datum/sprite_accessory/tail/buggovassfirefly - name = "Bug abdomen, firefly, dc, vass" - desc = "" - icon_state = "buggo_vass_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggofirefly_vass_markings" - -/datum/sprite_accessory/tail/buggovassfat - name = "Fat bug abdomen, vass, colorable" - desc = "" - icon_state = "buggofat_vass_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/buggovassfatbee - name = "Fat bug abdomen, bee top, dc, vass" - desc = "" - icon_state = "buggofat_vass_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggofatbee_vass_markings" - -/datum/sprite_accessory/tail/buggovassfatbeefull - name = "Fat bug abdomen, bee full, dc, vass" - desc = "" - icon_state = "buggofat_vass_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggofatbeefull_vass_markings" - -/datum/sprite_accessory/tail/buggovassfatunder - name = "Fat bug abdomen, underside, dc, vass" - desc = "" - icon_state = "buggofat_vass_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggofatunder_vass_markings" - -/datum/sprite_accessory/tail/buggovassfatfirefly - name = "Fat bug abdomen, firefly, dc, vass" - desc = "" - icon_state = "buggofat_vass_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggofatfirefly_vass_markings" - -/datum/sprite_accessory/tail/buggovasswag - name = "Bug abdomen, vass, colorable, vwag change" - desc = "" - icon_state = "buggo_vass_s" - ani_state = "buggofat_vass_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/tail/buggovassbeewag - name = "Bug abdomen, bee top, dc, vass, vwag" - desc = "" - icon_state = "buggo_vass_s" - ani_state = "buggofat_vass_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggobee_vass_markings" - extra_overlay_w = "buggofatbee_vass_markings" - -/datum/sprite_accessory/tail/buggovassbeefullwag - name = "Bug abdomen, bee full, dc, vass, vwag" - desc = "" - icon_state = "buggo_vass_s" - ani_state = "buggofat_vass_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggobeefull_vass_markings" - extra_overlay_w = "buggofatbeefull_vass_markings" - -/datum/sprite_accessory/tail/buggovassunderwag - name = "Bug abdomen, underside, dc, vass, vwag" - desc = "" - icon_state = "buggo_vass_s" - ani_state = "buggofat_vass_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggounder_vass_markings" - extra_overlay_w = "buggofatunder_vass_markings" - -/datum/sprite_accessory/tail/buggovassfireflywag - name = "Bug abdomen, firefly, dc, vass, vwag" - desc = "" - icon_state = "buggo_vass_s" - ani_state = "buggofat_vass_s" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - extra_overlay = "buggofirefly_vass_markings" - extra_overlay_w = "buggofatfirefly_vass_markings" - -/datum/sprite_accessory/tail/tail_smooth - name = "Smooth Lizard Tail, Colorable" - desc = "" - icon_state = "tail_smooth" - ani_state = "tail_smooth_w" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY \ No newline at end of file diff --git a/code/modules/vore/eating/digest_act_vr.dm b/code/modules/vore/eating/digest_act_vr.dm index ab589d9671..b2958d0ddf 100644 --- a/code/modules/vore/eating/digest_act_vr.dm +++ b/code/modules/vore/eating/digest_act_vr.dm @@ -82,9 +82,13 @@ var/lost_access = list() /obj/item/weapon/card/id/digest_act(atom/movable/item_storage = null) - desc = "A partially digested card that has seen better days. The damage appears to be only cosmetic, but the access codes need to be reprogrammed at the HoP office." - icon = 'icons/obj/card_vr.dmi' - icon_state = "[initial(icon_state)]_digested" + desc = "A partially digested card that has seen better days. The damage appears to be only cosmetic, but the access codes need to be reprogrammed at the HoP office or ID restoration terminal." + if(!sprite_stack || !istype(sprite_stack) || !(sprite_stack.len)) + icon = 'icons/obj/card_vr.dmi' + icon_state = "[initial(icon_state)]_digested" + else + sprite_stack += "digested" + update_icon() if(!(LAZYLEN(lost_access)) && LAZYLEN(access)) lost_access = access //Do not forget what access we lose access = list() // Then lose it diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 55ccfee5be..719aba151d 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -42,6 +42,7 @@ M.verbs += /mob/living/proc/lick M.verbs += /mob/living/proc/smell M.verbs += /mob/living/proc/switch_scaling + M.verbs += /mob/living/proc/vorebelly_printout if(M.no_vore) //If the mob isn't supposed to have a stomach, let's not give it an insidepanel so it can make one for itself, or a stomach. return TRUE M.vorePanel = new(M) @@ -693,6 +694,9 @@ to_chat(src, "You can taste the flavor of really bad ideas.") else if(istype(I,/obj/item/toy)) visible_message("[src] demonstrates their voracious capabilities by swallowing [I] whole!") + else if(istype(I,/obj/item/weapon/bikehorn/tinytether)) + to_chat(src, "You feel a rush of power swallowing such a large, err, tiny structure.") + visible_message("[src] demonstrates their voracious capabilities by swallowing [I] whole!") else if(istype(I,/obj/item/device/paicard) || istype(I,/obj/item/device/mmi/digital/posibrain) || istype(I,/obj/item/device/aicard)) visible_message("[src] demonstrates their voracious capabilities by swallowing [I] whole!") to_chat(src, "You can taste the sweet flavor of digital friendship. Or maybe it is something else.") @@ -896,3 +900,35 @@ /obj/screen/fullscreen/belly icon = 'icons/mob/screen_full_vore.dmi' icon_state = "" + +/mob/living/proc/vorebelly_printout() //Spew the vorepanel belly messages into chat window for copypasting. + set name = "Print Vorebelly Settings" + set category = "Preferences" + set desc = "Print out your vorebelly messages into chat for copypasting." + + for(var/belly in vore_organs) + if(isbelly(belly)) + var/obj/belly/B = belly + to_chat(src, "Belly name: [B.name]") + to_chat(src, "Belly desc: [B.desc]") + to_chat(src, "Vore verb: [B.vore_verb]") + to_chat(src, "Struggle messages (outside):") + for(var/msg in B.struggle_messages_outside) + to_chat(src, "[msg]") + to_chat(src, "Struggle messages (inside):") + for(var/msg in B.struggle_messages_inside) + to_chat(src, "[msg]") + to_chat(src, "Digest messages (owner):") + for(var/msg in B.digest_messages_owner) + to_chat(src, "[msg]") + to_chat(src, "Digest messages (prey):") + for(var/msg in B.digest_messages_prey) + to_chat(src, "[msg]") + to_chat(src, "Examine messages:") + for(var/msg in B.examine_messages) + to_chat(src, "[msg]") + to_chat(src, "Emote lists:") + for(var/EL in B.emote_lists) + to_chat(src, "[EL]:") + for(var/msg in B.emote_lists[EL]) + to_chat(src, "[msg]") \ No newline at end of file diff --git a/code/modules/vore/fluffstuff/custom_boxes_yw.dm b/code/modules/vore/fluffstuff/custom_boxes_yw.dm index 17a77d2472..91d96391cd 100644 --- a/code/modules/vore/fluffstuff/custom_boxes_yw.dm +++ b/code/modules/vore/fluffstuff/custom_boxes_yw.dm @@ -316,7 +316,7 @@ name = "Saroth's box" desc = "A kit containing Saroth's equipment." has_items = list( - /obj/item/clothing/suit/storage/seromi/cloak/fluff/Saroth) + /obj/item/clothing/suit/storage/teshari/cloak/fluff/Saroth) // ******** // Benl8561 diff --git a/code/modules/vore/fluffstuff/custom_clothes_vr.dm b/code/modules/vore/fluffstuff/custom_clothes_vr.dm index 0f58fdaf96..9113866f5f 100644 --- a/code/modules/vore/fluffstuff/custom_clothes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_clothes_vr.dm @@ -1718,7 +1718,7 @@ Departamental Swimsuits, for general use item_state = "latexmaid_mob" sprite_sheets = list( - "Teshari" = 'icons/vore/custom_clothes_tesh_vr.dmi' + SPECIES_TESHARI = 'icons/vore/custom_clothes_tesh_vr.dmi' ) body_parts_covered = UPPER_TORSO|LOWER_TORSO diff --git a/code/modules/vore/fluffstuff/custom_clothes_yw.dm b/code/modules/vore/fluffstuff/custom_clothes_yw.dm index 20828c133b..fe3a48aa13 100644 --- a/code/modules/vore/fluffstuff/custom_clothes_yw.dm +++ b/code/modules/vore/fluffstuff/custom_clothes_yw.dm @@ -713,7 +713,7 @@ //Strix Hades -/obj/item/clothing/suit/storage/seromi/cloak/fluff/strix +/obj/item/clothing/suit/storage/teshari/cloak/fluff/strix name = "Colony Director Coat" desc = "It drapes over a Avali's shoulders and closes at the neck with pockets convienently placed inside. It bears the Colony Director's colors. The name 'Strix Hades' is embroilled in gold lettering around a golden embroilled outline on the neck collar." icon = 'icons/vore/custom_clothes_yw.dmi' @@ -721,7 +721,7 @@ icon_override = 'icons/vore/custom_clothes_yw.dmi' item_state = "tesh_cloak_cd" -/obj/item/clothing/under/seromi/undercoat/fluff/strix +/obj/item/clothing/under/teshari/undercoat/fluff/strix name = "Colony Director Undercoat" desc = "Made of carbon nanofiber, it is light and billowy, perfect for going fast and stylishly!" icon = 'icons/vore/custom_clothes_yw.dmi' @@ -732,7 +732,7 @@ SPECIES_TESHARI = 'icons/vore/custom_onmob_yw.dmi' ) -/obj/item/clothing/suit/storage/seromi/cloak/fluff/strix_cco +/obj/item/clothing/suit/storage/teshari/cloak/fluff/strix_cco name = "Central Command Cloak" desc = "It drapes over a Avali's shoulders and closes at the neck with pockets convienently placed inside. It bears the Central Command's colors. The name 'Strix Hades' is embroilled in gold lettering around a golden embroilled outline on the neck collar." icon = 'icons/vore/custom_clothes_yw.dmi' @@ -740,7 +740,7 @@ icon_override = 'icons/vore/custom_clothes_yw.dmi' item_state = "tesh_cloak_cco" -/obj/item/clothing/under/seromi/undercoat/fluff/strix_cco +/obj/item/clothing/under/teshari/undercoat/fluff/strix_cco name = "Central Command Undercoat" desc = "Made of carbon nanofiber, it is light and billowy, perfect for going fast and stylishly!" icon = 'icons/vore/custom_clothes_yw.dmi' @@ -876,7 +876,7 @@ //Kita -/obj/item/clothing/suit/storage/seromi/cloak/fluff/kita +/obj/item/clothing/suit/storage/teshari/cloak/fluff/kita name = "Magical Cloak" desc = "It drapes over a Teshari's shoulders and closes at the neck with pockets convienently placed inside. It bears magical colors." icon = 'icons/vore/custom_clothes_yw.dmi' @@ -1144,7 +1144,7 @@ //Saroth -/obj/item/clothing/suit/storage/seromi/cloak/fluff/Saroth +/obj/item/clothing/suit/storage/teshari/cloak/fluff/Saroth name = "Research Director cloak" desc = "It drapes over a Teshari's shoulders and closes at the neck with pockets conveniently placed inside. This one bears the colors of the science department with additional trimming to designate it as the research director's. It has 'operty of Saroth' sewed in on the inside at the neck. The pockets seem slightly bigger on the inside than they appear on the outside." icon = 'icons/vore/custom_clothes_yw.dmi' diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index 53594ceef5..e0b7cc44fc 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -786,43 +786,14 @@ Under it is written 'Kouri, Amina, Marine Unit 14, Fifth Echelon. Service number NTN-5528928522372'" //arokha:Amaya Rahl - Custom ID (Medical dept) -/obj/item/weapon/card/id/fluff/amaya +/obj/item/weapon/card/id/event/fluff/amaya registered_name = "CONFIGURE ME" assignment = "CONFIGURE ME" - var/configured = 0 - var/accessset = 0 icon = 'icons/vore/custom_items_vr.dmi' + base_icon = 'icons/vore/custom_items_vr.dmi' icon_state = "amayarahlwahID" desc = "A primarily blue ID with a holographic 'WAH' etched onto its back. The letters do not obscure anything important on the card. It is shiny and it feels very bumpy." - var/title_strings = list("Amaya Rahl's Wah-identification card", "Amaya Rahl's Wah-ID card") - -/obj/item/weapon/card/id/fluff/amaya/attack_self(mob/user as mob) - if(configured == 1) - return ..() - - var/title - if(user.client.prefs.player_alt_titles[user.job]) - title = user.client.prefs.player_alt_titles[user.job] - else - title = user.job - assignment = title - user.set_id_info(src) - if(user.mind && user.mind.initial_account) - associated_account_number = user.mind.initial_account.account_number - var/tempname = pick(title_strings) - name = tempname + " ([title])" - configured = 1 - to_chat(user, "Card settings set.") - -/obj/item/weapon/card/id/fluff/amaya/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/weapon/card/id) && !accessset) - var/obj/item/weapon/card/id/O = I - access |= O.access - to_chat(user, "You copy the access from \the [I] to \the [src].") - user.drop_from_inventory(I) - qdel(I) - accessset = 1 - ..() + title_strings = list("Amaya Rahl's Wah-identification card", "Amaya Rahl's Wah-ID card") //General use, Verk felt like sharing. /obj/item/clothing/glasses/fluff/science_proper diff --git a/code/modules/vore/smoleworld/smoleworld_vr.dm b/code/modules/vore/smoleworld/smoleworld_vr.dm new file mode 100644 index 0000000000..5e84d7cbd1 --- /dev/null +++ b/code/modules/vore/smoleworld/smoleworld_vr.dm @@ -0,0 +1,405 @@ +// future to do list for anyone who wants to try: +//Make building turf enterable for small people. +//Make buildings enterable then bustable from the inside. +//Tiny cars drivable only by small people, wheel chair code. +//Add details to planet foods as well as diversify options for cargo ordering. +//make water turfs stomp and apply to player sprites. + + +//turf items + +/turf/simulated/floor/smole + name = "toy floor" + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "megablocksturf" + var/list/crossed_dirs = list() + +/turf/simulated/floor/smole/Entered(atom/A) + if(isliving(A)) + var/mob/living/L = A + if(L.hovering) // Flying things shouldn't make footprints. + return ..() + if(L.get_effective_size() <= RESIZE_NORMAL) + return ..() + if(L.get_effective_size() >= RESIZE_A_BIGNORMAL) + playsound(src, 'sound/effects/footstep/giantstep_gigga.ogg', 35, 1, -1, volume_channel = VOLUME_CHANNEL_MASTER) + var/mdir = "[A.dir]" + crossed_dirs[mdir] = 1 + update_icon() + . = ..() + +/turf/simulated/floor/smole/update_icon() + ..() + for(var/d in crossed_dirs) + add_overlay(image(icon = 'icons/vore/smoleworld_vr.dmi', icon_state = "stomp", dir = text2num(d))) + +//Extra micro turfs +/turf/simulated/floor/smole/grass + name = "grass" + icon_state = "grass0" + initial_flooring = /decl/flooring/grass/outdoors + +/turf/simulated/floor/smole/desert + icon = 'icons/turf/desert.dmi' + icon_state = "desert" + initial_flooring = /decl/flooring/sand/desert + +/turf/simulated/floor/smole/megablocks + name = "block floor" + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "megablocksturf" + +//Used to make smole objects be able to be built from menu + +/datum/material/smolebricks/generate_recipes() + recipes = list() + recipes += new/datum/stack_recipe("road straight", /obj/structure/smoletrack/roadS, 1, time = 5) + recipes += new/datum/stack_recipe("road threeway", /obj/structure/smoletrack/roadT, 1, time = 5) + recipes += new/datum/stack_recipe("road turn ", /obj/structure/smoletrack/roadturn, 1, time = 5) + recipes += new/datum/stack_recipe("road fourway", /obj/structure/smoletrack/roadF, 1, time = 5) + recipes += new/datum/stack_recipe("smole houses", /obj/structure/smolebuilding/houses, 2, time = 10) + recipes += new/datum/stack_recipe("smole business", /obj/structure/smolebuilding/business, 2, time = 10) + recipes += new/datum/stack_recipe("smole warehouses", /obj/structure/smolebuilding/warehouses, 2, time = 10) + recipes += new/datum/stack_recipe("smole musem", /obj/structure/smolebuilding/musem, 2, time = 10) + +/datum/material/smolebricks + name = "smolebricks" + stack_type = /obj/item/stack/material/smolebricks + icon_base = "solid" + icon_reinf = "reinf_over" + destruction_desc = "smashed" + sheet_singular_name = "bag" + sheet_plural_name = "bags" + +//the actual materials + +/obj/item/stack/material/smolebricks + name = "smolebricks" + desc = "A collection of tiny colored bricks ready to be built into whatever you want." + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "smolematerial" + drop_sound = 'sound/items/drop/smolematerial.ogg' + pickup_sound = 'sound/items/pickup/pillbottle.ogg' + default_type = "smolebricks" + w_class = ITEMSIZE_SMALL + +//smolebrick case to make for easy bricks. +/obj/item/weapon/storage/smolebrickcase + name = "smolebrick case" + desc = "you feel the power of imagination." + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "smolestorage" + throw_speed = 1 + throw_range = 4 + w_class = ITEMSIZE_LARGE + max_w_class = ITEMSIZE_NORMAL + max_storage_space = ITEMSIZE_COST_SMALL * 7 // most code copied from toolbox + use_sound = 'sound/items/storage/smolecase.ogg' + drop_sound = 'sound/items/drop/device.ogg' + pickup_sound = 'sound/items/pickup/device.ogg' + starts_with = list( /obj/item/stack/material/smolebricks, + /obj/item/stack/material/smolebricks, /obj/item/stack/material/smolebricks, /obj/item/stack/material/smolebricks, /obj/item/stack/material/smolebricks, + /obj/item/stack/material/smolebricks, /obj/item/stack/material/smolebricks, /obj/item/stack/material/smolebricks, /obj/item/stack/material/smolebricks, + /obj/item/stack/material/smolebricks, /obj/item/stack/material/smolebricks, /obj/item/stack/material/smolebricks, /obj/item/stack/material/smolebricks + ) + +//Track code +//defineing actions +/obj/structure/smoletrack + icon = 'icons/vore/smoleworld_vr.dmi' + density = 0 + +/obj/structure/smoletrack/attack_hand(mob/user) + if(user.a_intent == I_DISARM) + if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + return + to_chat(user, "[src] was dismantaled into bricks.") + playsound(src, 'sound/items/smolesmallbuild.ogg', 50, 1, -1, volume_channel = VOLUME_CHANNEL_MASTER) + var/turf/simulated/floor/F = get_turf(src) + if(istype(F)) + new /obj/item/stack/material/smolebricks(F) + qdel(src) + +/obj/structure/smoletrack/verb/rotate_clockwise() + set name = "Rotate Road Clockwise" + set category = "Object" + set src in oview(1) + if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + return + src.set_dir(turn(src.dir, 270)) + +// Road pieces + +/obj/structure/smoletrack/roadS + name = "road straight piece" + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "carstraight" + desc = "A long set of tiny road." + anchored = 1 + +/obj/structure/smoletrack/roadT + name = "road threeway piece" + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "carthreeway" + desc = "A tiny threeway road piece." + anchored = 1 + +/obj/structure/smoletrack/roadturn + name = "road turn piece" + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "carturn" + desc = "A tiny turn road piece." + anchored = 1 + +/obj/structure/smoletrack/roadF + name = "road fourway piece" + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "carfourway" + desc = "A fourway road piece." + anchored = 1 + +//buildings code +//Defining building actions +/obj/structure/smolebuilding + icon = 'icons/vore/smoleworld_vr.dmi' + density = 1 + anchored = 1 + var/health = 75 + var/damage +//makes it so buildings can be dismaintaled or GodZilla style attacked +/obj/structure/smolebuilding/attack_hand(mob/user) + if(user.a_intent == I_DISARM) + if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + return + to_chat(user, "[src] was dismantaled into bricks.") + playsound(src, 'sound/items/smolesmallbuild.ogg', 50, 1, -1, volume_channel = VOLUME_CHANNEL_MASTER) + if(!isnull(loc)) + new /obj/item/stack/material/smolebricks(loc) + new /obj/item/stack/material/smolebricks(loc) + qdel(src) + + else if (usr.a_intent == I_HURT) + + if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + return + + take_damage() + playsound(src, 'sound/items/smolebuildinghit2.ogg', 50, 1) + user.do_attack_animation(src) + usr.visible_message("\The [usr] bangs against \the [src]!", + "You bang against \the [src]!", + "You hear a banging sound.") + else + usr.visible_message("[usr.name] knocks on the [src.name].", + "You knock on the [src.name].") + return + +//takes 3 normal attacks +/obj/structure/smolebuilding/take_damage() + damage = 25 + health = health - damage + + if(health <= 0) + dismantle() + else + return + return +//results of attacks will remove building and spawn in ruins. +/obj/structure/smolebuilding/proc/dismantle() + visible_message("\The [src] falls apart!") + playsound(src, 'sound/items/smolebuildingdestoryed.ogg', 50, 1, -1, volume_channel = VOLUME_CHANNEL_MASTER) + new /obj/structure/smoleruins(loc) + qdel(src) + return + +//checks for items and does the same as dismaintle but spawns material instead. +/obj/structure/smolebuilding/attackby(obj/item/weapon/W as obj, mob/user as mob) + dismantle() + return +//checks for projectile damage and does the same as dismaintle but spawns material instead. +/obj/structure/smolebuilding/bullet_act(var/obj/item/projectile/Proj) + displode() + return +//is the same as dismaintal but instead of ruins it just makes it all explode +/obj/structure/smolebuilding/proc/displode() + visible_message("\The [src] explodes into pieces!") + playsound(src, 'sound/items/smolebuildingdestoryedshort.ogg', 50, 1, -1, volume_channel = VOLUME_CHANNEL_MASTER) + new /obj/item/stack/material/smolebricks(loc) + new /obj/item/stack/material/smolebricks(loc) + qdel(src) + return + +//get material from ruins +/obj/structure/smoleruins/attack_hand(mob/user) + if(user.a_intent == I_DISARM) + if(ismouse(usr) || (isobserver(usr) && !config.ghost_interaction)) + return + to_chat(user, "[src] was dismantaled into bricks.") + playsound(src, 'sound/items/smolelargeunbuild.ogg', 50, 1, volume_channel = VOLUME_CHANNEL_MASTER) + if(!isnull(loc)) + new /obj/item/stack/material/smolebricks(loc) + new /obj/item/stack/material/smolebricks(loc) + qdel(src) + +//Ruins go asplode same as buildings if attacked +/obj/structure/smoleruins/attackby(obj/item/weapon/W as obj, mob/user as mob) + displode() + return + +/obj/structure/smoleruins/bullet_act(var/obj/item/projectile/Proj) + displode() + return + +/obj/structure/smoleruins/proc/displode() + visible_message("\The [src] explodes into pieces!") + playsound(src, 'sound/items/smolebuildingdestoryedshort.ogg', 50, 1, -1, volume_channel = VOLUME_CHANNEL_MASTER) + new /obj/item/stack/material/smolebricks(loc) + new /obj/item/stack/material/smolebricks(loc) + qdel(src) + return + +//buildings +/obj/structure/smoleruins + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "ruins" + density = 0 + +/obj/structure/smolebuilding/houses + name = "smole houses" + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "smolehouses" + +/obj/structure/smolebuilding/business + name = "smole business" + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "smolebusiness" + +/obj/structure/smolebuilding/warehouses + name = "smole warehouses" + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "smolewarehouses" + +/obj/structure/smolebuilding/musem + name = "smole musem" + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "smolemusem" +// +//CAR STUFF < WILL BE MESSED WITH IN A LATER UPDATE COMMENTED OUT FOR NOW +///obj/item/smolecar +// name = "toy car" +// desc = "A toy car ready to be snapped together and burn rubber!" +// icon = 'icons/vore/smoleworld_vr.dmi' +// icon_state = "smolecarA_folded" +// item_state = "smolecarA" +// unfolded_type = /obj/structure/bed/chair/wheelchair/smolecar +// +///obj/structure/smolecar +// name = "Toy Car" +// desc = "Lets burn rubber!" +// icon = 'icons/vore/smoleworld_vr.dmi' +// icon_state = "smolecarA" +// anchored = 0 +// buckle_movable = 1 +// var/carry_type = /obj/item/smolecar +// +///obj/structure/bed/chair/wheelchair/smolecar/can_buckle_check(mob/living/M, forced = FALSE) +// . = ..() +// if(.) +// +// if(M.get_effective_size() > RESIZE_TINY) +// to_chat(M, SPAN_WARNING("You are to big to fit in \the [src].")) + // . = FALSE +// +// +//snack planets, currently just plopped out will be organized later. +/obj/item/trash/Asteroidsmall + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "sp_asteriodB" + name = "asteriod" + desc = "A solid chunk of candy crumb that looks like a asteriod." + +/obj/item/trash/Asteroidlarge + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "sp_asteriodA" + name = "asteriod" + desc = "A solid chunk of candy crumb that looks like a asteriod." + +/obj/item/trash/Asteroidmulti + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "sp_asteriodC" + name = "asteriod" + desc = "Several chunks of sugar crumbs that looks like asteriods." + +/obj/item/weapon/bikehorn/tinytether + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "tether_trash" + name = "tether" + desc = "Its a tiny bit of plastic in the shape of the tether. There seems to be a small button on top." + +/obj/item/weapon/bikehorn/tinytether/attack_self(mob/user as mob) + if(spam_flag == 0) + spam_flag = 1 + playsound(src, 'sound/items/tinytether.ogg', 30, 1, volume_channel = VOLUME_CHANNEL_MASTER) + src.add_fingerprint(user) + spawn(20) + spam_flag = 0 + return + +/obj/item/weapon/reagent_containers/food/snacks/snackplanet/moon + name = "moon" + desc = "A firm solid mass of white powdery sugar in the shape of a moon!" + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "sp_moon" + bitesize = 1 + trash = /obj/item/trash/Asteroidsmall + nutriment_amt = 2 + nutriment_desc = list("sugar" = 2) + drop_sound = 'sound/items/drop/basketball.ogg' + +/obj/item/weapon/reagent_containers/food/snacks/snackplanet/virgo3b + name = "virgo3bB" + desc = "A sticky jelly jaw breaker in the shape of Virgo3B, it even has a tiny tether!" + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "sp_Virgo3B" + bitesize = 3 + trash = /obj/item/weapon/bikehorn/tinytether + nutriment_amt = 2 + nutriment_desc = list("spicy" = 2, "tang" = 2) + drop_sound = 'sound/items/drop/basketball.ogg' + +/obj/item/weapon/reagent_containers/food/snacks/snackplanet/phoron + name = "phoron giant" + desc = "A spicy jaw breaker that seems to swirl in the light." + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "sp_phoron" + bitesize = 3 + trash = /obj/item/trash/Asteroidmulti + nutriment_amt = 2 + nutriment_desc = list("spicy" = 2) + drop_sound = 'sound/items/drop/basketball.ogg' + +/obj/item/weapon/reagent_containers/food/snacks/snackplanet/virgoprime + name = "virgo prime" + desc = "Its a orange jaw breaker in the shape Virgo Prime!" + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "sp_virgoprime" + bitesize = 3 + trash = /obj/item/trash/Asteroidmulti + nutriment_amt = 2 + nutriment_desc = list("salty" = 2) + drop_sound = 'sound/items/drop/basketball.ogg' + +/obj/item/weapon/storage/bagoplanets + name = "bag o' planets" + desc = "A cosmic bag of fist sized candy planets." + icon = 'icons/vore/smoleworld_vr.dmi' + icon_state = "sp_storage" + w_class = ITEMSIZE_LARGE + max_w_class = ITEMSIZE_NORMAL + max_storage_space = ITEMSIZE_COST_SMALL * 7 // most code copied from toolbox + drop_sound = 'sound/items/drop/food.ogg' + pickup_sound = 'sound/items/pickup/food.ogg' + starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/snackplanet/phoron, + /obj/item/weapon/reagent_containers/food/snacks/snackplanet/virgo3b,/obj/item/weapon/reagent_containers/food/snacks/snackplanet/moon, + /obj/item/weapon/reagent_containers/food/snacks/snackplanet/virgoprime + ) diff --git a/code/unit_tests/integrated_circuits/prefabs.dm b/code/unit_tests/integrated_circuits/prefabs.dm index 056c0d1568..04b3136640 100644 --- a/code/unit_tests/integrated_circuits/prefabs.dm +++ b/code/unit_tests/integrated_circuits/prefabs.dm @@ -3,8 +3,9 @@ /datum/unit_test/integrated_circuit_prefabs_shall_respect_complexity_and_size_contraints/start_test() var/list/failed_prefabs = list() - for(var/prefab_type in subtypesof(/decl/prefab/ic_assembly)) - var/decl/prefab/ic_assembly/prefab = decls_repository.get_decl(prefab_type) + var/list/prefab_types = decls_repository.get_decls_of_subtype(/decl/prefab/ic_assembly) + for(var/prefab_type in prefab_types) + var/decl/prefab/ic_assembly/prefab = prefab_types[prefab_type] var/obj/item/device/electronic_assembly/assembly = prefab.assembly_type var/available_size = initial(assembly.max_components) @@ -33,9 +34,9 @@ /datum/unit_test/integrated_circuit_prefabs_shall_not_fail_to_create/start_test() var/list/failed_prefabs = list() - for(var/prefab_type in subtypesof(/decl/prefab/ic_assembly)) - var/decl/prefab/ic_assembly/prefab = decls_repository.get_decl(prefab_type) - + var/list/prefab_types = decls_repository.get_decls_of_subtype(/decl/prefab/ic_assembly) + for(var/prefab_type in prefab_types) + var/decl/prefab/ic_assembly/prefab = prefab_types[prefab_type] try var/built_item = prefab.create(get_standard_turf()) if(built_item) diff --git a/html/changelog.html b/html/changelog.html index f5813382aa..7c616b54ba 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -40,6 +40,12 @@ -->
+

03 April 2021

+

Woodrat updated:

+ +

25 March 2021

Fenodyree updated: