mirror of
https://github.com/Yawn-Wider/YWPolarisVore.git
synced 2026-08-30 00:22:03 +01:00
Merge branch 'master' of https://github.com/VOREStation/VOREStation
# Conflicts: # code/controllers/autotransfer.dm # code/datums/supplypacks/contraband.dm # code/datums/supplypacks/munitions.dm # code/game/objects/items/weapons/teleportation.dm # code/modules/mob/living/carbon/human/update_icons.dm # code/modules/mob/living/silicon/robot/robot_modules/station.dm # code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm # code/modules/reagents/reagent_containers/food/snacks.dm # config/custom_items.txt # config/jobwhitelist.txt # icons/mob/vore/taurs_vr.dmi # vorestation.dme
This commit is contained in:
@@ -12,6 +12,10 @@
|
||||
|
||||
/datum/category_item/player_setup_item/general/language/sanitize_character()
|
||||
if(!islist(pref.alternate_languages)) pref.alternate_languages = list()
|
||||
if(pref.species)
|
||||
var/datum/species/S = all_species[pref.species]
|
||||
if(S && pref.alternate_languages.len > S.num_alternate_languages)
|
||||
pref.alternate_languages.len = S.num_alternate_languages // Truncate to allowed length
|
||||
if(isnull(pref.language_prefixes) || !pref.language_prefixes.len)
|
||||
pref.language_prefixes = config.language_prefixes.Copy()
|
||||
|
||||
@@ -61,7 +65,7 @@
|
||||
alert(user, "There are no additional languages available to select.")
|
||||
else
|
||||
var/new_lang = input(user, "Select an additional language", "Character Generation", null) as null|anything in available_languages
|
||||
if(new_lang)
|
||||
if(new_lang && pref.alternate_languages.len < S.num_alternate_languages)
|
||||
pref.alternate_languages |= new_lang
|
||||
return TOPIC_REFRESH
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
S["citizenship"] >> pref.citizenship
|
||||
S["faction"] >> pref.faction
|
||||
S["religion"] >> pref.religion
|
||||
S["nanotrasen_relation"] >> pref.nanotrasen_relation
|
||||
S["economic_status"] >> pref.economic_status
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/save_character(var/savefile/S)
|
||||
S["med_record"] << pref.med_record
|
||||
@@ -20,7 +20,7 @@
|
||||
S["citizenship"] << pref.citizenship
|
||||
S["faction"] << pref.faction
|
||||
S["religion"] << pref.religion
|
||||
S["nanotrasen_relation"] << pref.nanotrasen_relation
|
||||
S["economic_status"] << pref.economic_status
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/sanitize_character()
|
||||
if(!pref.home_system) pref.home_system = "Unset"
|
||||
@@ -28,7 +28,7 @@
|
||||
if(!pref.faction) pref.faction = "None"
|
||||
if(!pref.religion) pref.religion = "None"
|
||||
|
||||
pref.nanotrasen_relation = sanitize_inlist(pref.nanotrasen_relation, COMPANY_ALIGNMENTS, initial(pref.nanotrasen_relation))
|
||||
pref.economic_status = sanitize_inlist(pref.economic_status, ECONOMIC_CLASS, initial(pref.economic_status))
|
||||
|
||||
// Moved from /datum/preferences/proc/copy_to()
|
||||
/datum/category_item/player_setup_item/general/background/copy_to_mob(var/mob/living/carbon/human/character)
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/content(var/mob/user)
|
||||
. += "<b>Background Information</b><br>"
|
||||
. += "[using_map.company_name] Relation: <a href='?src=\ref[src];nt_relation=1'>[pref.nanotrasen_relation]</a><br/>"
|
||||
. += "Economic Status: <a href='?src=\ref[src];econ_status=1'>[pref.economic_status]</a><br/>"
|
||||
. += "Home System: <a href='?src=\ref[src];home_system=1'>[pref.home_system]</a><br/>"
|
||||
. += "Citizenship: <a href='?src=\ref[src];citizenship=1'>[pref.citizenship]</a><br/>"
|
||||
. += "Faction: <a href='?src=\ref[src];faction=1'>[pref.faction]</a><br/>"
|
||||
@@ -60,10 +60,10 @@
|
||||
. += "<a href='?src=\ref[src];set_security_records=1'>[TextPreview(pref.sec_record,40)]</a><br>"
|
||||
|
||||
/datum/category_item/player_setup_item/general/background/OnTopic(var/href,var/list/href_list, var/mob/user)
|
||||
if(href_list["nt_relation"])
|
||||
var/new_relation = input(user, "Choose your relation to NT. Note that this represents what others can find out about your character by researching your background, not what your character actually thinks.", "Character Preference", pref.nanotrasen_relation) as null|anything in COMPANY_ALIGNMENTS
|
||||
if(new_relation && CanUseTopic(user))
|
||||
pref.nanotrasen_relation = new_relation
|
||||
if(href_list["econ_status"])
|
||||
var/new_class = input(user, "Choose your economic status. This will affect the amount of money you will start with.", "Character Preference", pref.economic_status) as null|anything in ECONOMIC_CLASS
|
||||
if(new_class && CanUseTopic(user))
|
||||
pref.economic_status = new_class
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["home_system"])
|
||||
|
||||
@@ -47,10 +47,18 @@ var/list/gear_datums = list()
|
||||
var/current_tab = "General"
|
||||
|
||||
/datum/category_item/player_setup_item/loadout/load_character(var/savefile/S)
|
||||
S["gear"] >> pref.gear
|
||||
from_file(S["gear_list"], pref.gear_list)
|
||||
from_file(S["gear_slot"], pref.gear_slot)
|
||||
if(pref.gear_list!=null && pref.gear_slot!=null)
|
||||
pref.gear = pref.gear_list["[pref.gear_slot]"]
|
||||
else
|
||||
from_file(S["gear"], pref.gear)
|
||||
pref.gear_slot = 1
|
||||
|
||||
/datum/category_item/player_setup_item/loadout/save_character(var/savefile/S)
|
||||
S["gear"] << pref.gear
|
||||
pref.gear_list["[pref.gear_slot]"] = pref.gear
|
||||
to_file(S["gear_list"], pref.gear_list)
|
||||
to_file(S["gear_slot"], pref.gear_slot)
|
||||
|
||||
/datum/category_item/player_setup_item/loadout/proc/valid_gear_choices(var/max_cost)
|
||||
. = list()
|
||||
@@ -68,6 +76,8 @@ var/list/gear_datums = list()
|
||||
var/mob/preference_mob = preference_mob()
|
||||
if(!islist(pref.gear))
|
||||
pref.gear = list()
|
||||
if(!islist(pref.gear_list))
|
||||
pref.gear_list = list()
|
||||
|
||||
for(var/gear_name in pref.gear)
|
||||
if(!(gear_name in gear_datums))
|
||||
@@ -102,7 +112,7 @@ var/list/gear_datums = list()
|
||||
fcolor = "#E67300"
|
||||
|
||||
. += "<table align = 'center' width = 100%>"
|
||||
. += "<tr><td colspan=3><center><b><font color = '[fcolor]'>[total_cost]/[MAX_GEAR_COST]</font> loadout points spent.</b> \[<a href='?src=\ref[src];clear_loadout=1'>Clear Loadout</a>\]</center></td></tr>"
|
||||
. += "<tr><td colspan=3><center><a href='?src=\ref[src];prev_slot=1'>\<\<</a><b><font color = '[fcolor]'>\[[pref.gear_slot]\]</font> </b><a href='?src=\ref[src];next_slot=1'>\>\></a><b><font color = '[fcolor]'>[total_cost]/[MAX_GEAR_COST]</font> loadout points spent.</b> \[<a href='?src=\ref[src];clear_loadout=1'>Clear Loadout</a>\]</center></td></tr>"
|
||||
|
||||
. += "<tr><td colspan=3><center><b>"
|
||||
var/firstcat = 1
|
||||
@@ -187,6 +197,29 @@ var/list/gear_datums = list()
|
||||
return TOPIC_NOACTION
|
||||
set_tweak_metadata(gear, tweak, metadata)
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
if(href_list["next_slot"] || href_list["prev_slot"])
|
||||
//Set the current slot in the gear list to the currently selected gear
|
||||
pref.gear_list["[pref.gear_slot]"] = pref.gear
|
||||
//If we're moving up a slot..
|
||||
if(href_list["next_slot"])
|
||||
//change the current slot number
|
||||
pref.gear_slot = pref.gear_slot+1
|
||||
if(pref.gear_slot>config.loadout_slots)
|
||||
pref.gear_slot = 1
|
||||
//If we're moving down a slot..
|
||||
else if(href_list["prev_slot"])
|
||||
//change current slot one down
|
||||
pref.gear_slot = pref.gear_slot-1
|
||||
if(pref.gear_slot<1)
|
||||
pref.gear_slot = config.loadout_slots
|
||||
// Set the currently selected gear to whatever's in the new slot
|
||||
if(pref.gear_list["[pref.gear_slot]"])
|
||||
pref.gear = pref.gear_list["[pref.gear_slot]"]
|
||||
else
|
||||
pref.gear = list()
|
||||
pref.gear_list["[pref.gear_slot]"] = list()
|
||||
// Refresh?
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
else if(href_list["select_category"])
|
||||
current_tab = href_list["select_category"]
|
||||
return TOPIC_REFRESH
|
||||
|
||||
@@ -202,7 +202,7 @@
|
||||
|
||||
|
||||
/datum/gear/accessory/sweater
|
||||
display_name = "Sweater Selection"
|
||||
display_name = "sweater selection"
|
||||
path = /obj/item/clothing/accessory/sweater
|
||||
|
||||
/datum/gear/accessory/sweater/New()
|
||||
@@ -212,3 +212,35 @@
|
||||
var/obj/item/clothing/suit/sweater_type = sweater
|
||||
sweaters[initial(sweater_type.name)] = sweater_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(sweaters))
|
||||
|
||||
/datum/gear/accessory/bracelet/material
|
||||
display_name = "bracelet selection"
|
||||
description = "Choose from a number of bracelets."
|
||||
path = /obj/item/clothing/accessory/bracelet
|
||||
cost = 1
|
||||
|
||||
/datum/gear/accessory/bracelet/material/New()
|
||||
..()
|
||||
var/bracelettype = list()
|
||||
bracelettype["bracelet, steel"] = /obj/item/clothing/accessory/bracelet/material/steel
|
||||
bracelettype["bracelet, iron"] = /obj/item/clothing/accessory/bracelet/material/iron
|
||||
bracelettype["bracelet, silver"] = /obj/item/clothing/accessory/bracelet/material/silver
|
||||
bracelettype["bracelet, gold"] = /obj/item/clothing/accessory/bracelet/material/gold
|
||||
bracelettype["bracelet, platinum"] = /obj/item/clothing/accessory/bracelet/material/platinum
|
||||
bracelettype["bracelet, glass"] = /obj/item/clothing/accessory/bracelet/material/glass
|
||||
bracelettype["bracelet, wood"] = /obj/item/clothing/accessory/bracelet/material/wood
|
||||
bracelettype["bracelet, plastic"] = /obj/item/clothing/accessory/bracelet/material/plastic
|
||||
gear_tweaks += new/datum/gear_tweak/path(bracelettype)
|
||||
|
||||
/datum/gear/accessory/bracelet/friendship
|
||||
display_name = "friendship bracelet"
|
||||
path = /obj/item/clothing/accessory/bracelet/friendship
|
||||
|
||||
/datum/gear/accessory/stethoscope
|
||||
display_name = "stethoscope"
|
||||
path = /obj/item/clothing/accessory/stethoscope
|
||||
allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Psychiatrist","Paramedic")
|
||||
|
||||
/datum/gear/accessory/locket
|
||||
display_name = "locket"
|
||||
path = /obj/item/clothing/accessory/locket
|
||||
@@ -1,16 +1,20 @@
|
||||
/datum/gear/lipstick
|
||||
/datum/gear/cosmetic/lipstick/black
|
||||
display_name = "lipstick, black"
|
||||
path = /obj/item/weapon/lipstick/black
|
||||
sort_category = "Cosmetics"
|
||||
|
||||
/datum/gear/lipstick/jade
|
||||
/datum/gear/cosmetic/lipstick/jade
|
||||
display_name = "lipstick, jade"
|
||||
path = /obj/item/weapon/lipstick/jade
|
||||
|
||||
/datum/gear/lipstick/purple
|
||||
/datum/gear/cosmetic/lipstick/purple
|
||||
display_name = "lipstick, purple"
|
||||
path = /obj/item/weapon/lipstick/purple
|
||||
|
||||
/datum/gear/lipstick/red
|
||||
/datum/gear/cosmetic/lipstick
|
||||
display_name = "lipstick, red"
|
||||
path = /obj/item/weapon/lipstick
|
||||
|
||||
/datum/gear/cosmetic
|
||||
display_name = "purple comb"
|
||||
path = /obj/item/weapon/haircomb
|
||||
sort_category = "Cosmetics"
|
||||
@@ -18,14 +18,18 @@
|
||||
path = /obj/item/clothing/glasses/regular/hipster
|
||||
|
||||
/datum/gear/eyes/glasses/monocle
|
||||
display_name = "Monocle"
|
||||
display_name = "monocle"
|
||||
path = /obj/item/clothing/glasses/monocle
|
||||
|
||||
/datum/gear/eyes/scanning_goggles
|
||||
/datum/gear/eyes/goggles
|
||||
display_name = "plain goggles"
|
||||
path = /obj/item/clothing/glasses/goggles
|
||||
|
||||
/datum/gear/eyes/goggles/scanning
|
||||
display_name = "scanning goggles"
|
||||
path = /obj/item/clothing/glasses/regular/scanners
|
||||
|
||||
/datum/gear/eyes/sciencegoggles
|
||||
/datum/gear/eyes/goggles/science
|
||||
display_name = "Science Goggles"
|
||||
path = /obj/item/clothing/glasses/science
|
||||
|
||||
@@ -53,7 +57,7 @@
|
||||
/datum/gear/eyes/medical
|
||||
display_name = "Medical HUD (Medical)"
|
||||
path = /obj/item/clothing/glasses/hud/health
|
||||
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist")
|
||||
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist")
|
||||
|
||||
/datum/gear/eyes/medical/prescriptionmed
|
||||
display_name = "Medical HUD, prescription (Medical)"
|
||||
@@ -73,7 +77,7 @@
|
||||
allowed_roles = list("Station Engineer","Chief Engineer","Atmospheric Technician", "Scientist", "Research Director")
|
||||
|
||||
/datum/gear/eyes/meson/prescription
|
||||
display_name = "Optical Meson Scanners, prescription (Engineering)"
|
||||
display_name = "Optical Meson Scanners, prescription (Engineering, Science)"
|
||||
path = /obj/item/clothing/glasses/meson/prescription
|
||||
|
||||
/datum/gear/eyes/material
|
||||
@@ -86,11 +90,11 @@
|
||||
path = /obj/item/clothing/glasses/material/prescription
|
||||
|
||||
/datum/gear/eyes/meson/aviator
|
||||
display_name = "Optical Meson Aviators, (Engineering)"
|
||||
display_name = "Optical Meson Aviators, (Engineering, Science)"
|
||||
path = /obj/item/clothing/glasses/meson/aviator
|
||||
|
||||
/datum/gear/eyes/meson/aviator/prescription
|
||||
display_name = "Optical Meson Aviators, prescription (Engineering)"
|
||||
display_name = "Optical Meson Aviators, prescription (Engineering, Science)"
|
||||
path = /obj/item/clothing/glasses/meson/aviator/prescription
|
||||
|
||||
/datum/gear/eyes/glasses/fakesun
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
display_name = "cane"
|
||||
path = /obj/item/weapon/cane
|
||||
|
||||
/datum/gear/cane/white
|
||||
display_name = "white cane"
|
||||
path = /obj/item/weapon/cane/whitecane
|
||||
|
||||
/datum/gear/dice
|
||||
display_name = "dice pack"
|
||||
path = /obj/item/weapon/storage/pill_bottle/dice
|
||||
@@ -62,10 +66,6 @@
|
||||
..()
|
||||
gear_tweaks += new/datum/gear_tweak/reagents(lunchables_drink_reagents())
|
||||
|
||||
/datum/gear/comb
|
||||
display_name = "purple comb"
|
||||
path = /obj/item/weapon/haircomb
|
||||
|
||||
/datum/gear/lunchbox
|
||||
display_name = "lunchbox"
|
||||
description = "A little lunchbox."
|
||||
|
||||
@@ -114,9 +114,13 @@
|
||||
path = /obj/item/clothing/head/soft/yellow
|
||||
|
||||
/datum/gear/head/cap/white
|
||||
display_name = "cap, white"
|
||||
display_name = "cap (colorable)"
|
||||
path = /obj/item/clothing/head/soft/mime
|
||||
|
||||
/datum/gear/head/cap/white/New()
|
||||
..()
|
||||
gear_tweaks = list(gear_tweak_free_color_choice)
|
||||
|
||||
/datum/gear/head/cap/mbill
|
||||
display_name = "cap, bill"
|
||||
path = /obj/item/clothing/head/soft/mbill
|
||||
@@ -154,29 +158,37 @@
|
||||
path = /obj/item/clothing/head/fedora/grey
|
||||
|
||||
/datum/gear/head/hairflower
|
||||
display_name = "hair flower pin"
|
||||
path = /obj/item/clothing/head/hairflower/white
|
||||
display_name = "hair flower pin (colorable)"
|
||||
path = /obj/item/clothing/head/pin/flower/white
|
||||
|
||||
/datum/gear/head/hairflower/New()
|
||||
..()
|
||||
gear_tweaks = list(gear_tweak_free_color_choice)
|
||||
|
||||
/datum/gear/head/pin
|
||||
display_name = "pin selection"
|
||||
path = /obj/item/clothing/head/pin
|
||||
|
||||
/datum/gear/head/pin/New()
|
||||
..()
|
||||
var/list/pins = list()
|
||||
for(var/pin in typesof(/obj/item/clothing/head/pin))
|
||||
var/obj/item/clothing/head/pin/pin_type = pin
|
||||
pins[initial(pin_type.name)] = pin_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(pins))
|
||||
|
||||
/datum/gear/head/hardhat
|
||||
display_name = "hardhat, yellow"
|
||||
display_name = "hardhat selection"
|
||||
path = /obj/item/clothing/head/hardhat
|
||||
cost = 2
|
||||
|
||||
/datum/gear/head/hardhat/blue
|
||||
display_name = "hardhat, blue"
|
||||
path = /obj/item/clothing/head/hardhat/dblue
|
||||
|
||||
/datum/gear/head/hardhat/orange
|
||||
display_name = "hardhat, orange"
|
||||
path = /obj/item/clothing/head/hardhat/orange
|
||||
|
||||
/datum/gear/head/hardhat/red
|
||||
display_name = "hardhat, red"
|
||||
path = /obj/item/clothing/head/hardhat/red
|
||||
/datum/gear/head/hardhat/New()
|
||||
..()
|
||||
var/list/hardhats = list()
|
||||
for(var/hardhat in typesof(/obj/item/clothing/head/hardhat))
|
||||
var/obj/item/clothing/head/hardhat/hardhat_type = hardhat
|
||||
hardhats[initial(hardhat_type.name)] = hardhat_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(hardhats))
|
||||
|
||||
/datum/gear/head/boater
|
||||
display_name = "hat, boatsman"
|
||||
@@ -194,22 +206,30 @@
|
||||
display_name = "hat, tophat"
|
||||
path = /obj/item/clothing/head/that
|
||||
|
||||
/datum/gear/head/philosopher_wig
|
||||
/datum/gear/head/wig/philosopher
|
||||
display_name = "natural philosopher's wig"
|
||||
path = /obj/item/clothing/head/philosopher_wig
|
||||
|
||||
/datum/gear/head/wig
|
||||
display_name = "powdered wig"
|
||||
path = /obj/item/clothing/head/powdered_wig
|
||||
|
||||
/datum/gear/head/ushanka
|
||||
display_name = "ushanka"
|
||||
path = /obj/item/clothing/head/ushanka
|
||||
|
||||
/datum/gear/head/santahat
|
||||
display_name = "santa hat, red (holiday)"
|
||||
display_name = "santa hat"
|
||||
path = /obj/item/clothing/head/santa
|
||||
cost = 2
|
||||
|
||||
/datum/gear/head/santahat/green
|
||||
display_name = "santa hat, green (holiday)"
|
||||
path = /obj/item/clothing/head/santa/green
|
||||
/datum/gear/head/santahat/New()
|
||||
..()
|
||||
var/list/santahats = list()
|
||||
for(var/santahat in typesof(/obj/item/clothing/head/santa))
|
||||
var/obj/item/clothing/head/santa/santahat_type = santahat
|
||||
santahats[initial(santahat_type.name)] = santahat_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(santahats))
|
||||
|
||||
/datum/gear/head/hijab
|
||||
display_name = "hijab"
|
||||
@@ -243,11 +263,14 @@
|
||||
..()
|
||||
gear_tweaks = list(gear_tweak_free_color_choice)
|
||||
|
||||
|
||||
/datum/gear/head/kitty
|
||||
display_name = "kitty ears"
|
||||
path = /obj/item/clothing/head/kitty
|
||||
|
||||
/datum/gear/head/rabbit
|
||||
display_name = "rabbit ears"
|
||||
path = /obj/item/clothing/head/rabbitears
|
||||
|
||||
/datum/gear/head/beanie
|
||||
display_name = "beanie"
|
||||
path = /obj/item/clothing/head/beanie
|
||||
@@ -284,11 +307,11 @@
|
||||
..()
|
||||
gear_tweaks = list(gear_tweak_free_color_choice)
|
||||
|
||||
/datum/gear/head/bow
|
||||
display_name = "hair bow"
|
||||
path = /obj/item/clothing/head/hairflower/bow
|
||||
/datum/gear/head/bow/small
|
||||
display_name = "hair bow, small (colorable)"
|
||||
path = /obj/item/clothing/head/pin/bow
|
||||
|
||||
/datum/gear/head/bow/New()
|
||||
/datum/gear/head/bow/small/New()
|
||||
..()
|
||||
gear_tweaks = list(gear_tweak_free_color_choice)
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
/datum/gear/shoes/black/cuffs
|
||||
display_name = "legwraps, black"
|
||||
path = /obj/item/clothing/shoes/black/cuffs
|
||||
|
||||
/datum/gear/shoes/black/cuffs/blue
|
||||
display_name = "legwraps, blue"
|
||||
path = /obj/item/clothing/shoes/black/cuffs/blue
|
||||
|
||||
/datum/gear/shoes/black/cuffs/red
|
||||
display_name = "legwraps, red"
|
||||
path = /obj/item/clothing/shoes/black/cuffs/red
|
||||
@@ -1,20 +1,29 @@
|
||||
/datum/gear/smokingpipe
|
||||
display_name = "pipe, smoking"
|
||||
|
||||
/datum/gear/pipe
|
||||
display_name = "pipe"
|
||||
path = /obj/item/clothing/mask/smokable/pipe
|
||||
|
||||
/datum/gear/cornpipe
|
||||
display_name = "pipe, corn"
|
||||
path = /obj/item/clothing/mask/smokable/pipe/cobpipe
|
||||
/datum/gear/pipe/New()
|
||||
..()
|
||||
var/list/pipes = list()
|
||||
for(var/pipe_style in typesof(/obj/item/clothing/mask/smokable/pipe))
|
||||
var/obj/item/clothing/mask/smokable/pipe/pipe = pipe_style
|
||||
pipes[initial(pipe.name)] = pipe
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(pipes))
|
||||
|
||||
/datum/gear/matchbook
|
||||
display_name = "matchbook"
|
||||
path = /obj/item/weapon/storage/box/matches
|
||||
|
||||
/datum/gear/zippo
|
||||
display_name = "Zippo Selection"
|
||||
/datum/gear/lighter
|
||||
display_name = "cheap lighter"
|
||||
path = /obj/item/weapon/flame/lighter
|
||||
|
||||
/datum/gear/lighter/zippo
|
||||
display_name = "Zippo selection"
|
||||
path = /obj/item/weapon/flame/lighter/zippo
|
||||
|
||||
/datum/gear/zippo/New()
|
||||
/datum/gear/lighter/zippo/New()
|
||||
..()
|
||||
var/list/zippos = list()
|
||||
for(var/zippo in typesof(/obj/item/weapon/flame/lighter/zippo))
|
||||
@@ -40,4 +49,4 @@
|
||||
for(var/cigarette in (typesof(/obj/item/weapon/storage/fancy/cigarettes) - typesof(/obj/item/weapon/storage/fancy/cigarettes/killthroat)))
|
||||
var/obj/item/weapon/storage/fancy/cigarettes/cigarette_brand = cigarette
|
||||
cigarettes[initial(cigarette_brand.name)] = cigarette_brand
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cigarettes))
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cigarettes))
|
||||
|
||||
@@ -6,6 +6,10 @@
|
||||
sort_category = "Suits and Overwear"
|
||||
cost = 2
|
||||
|
||||
/datum/gear/suit/greatcoat
|
||||
display_name = "greatcoat"
|
||||
path = /obj/item/clothing/suit/greatcoat
|
||||
|
||||
/datum/gear/suit/leather_coat
|
||||
display_name = "leather coat"
|
||||
path = /obj/item/clothing/suit/leathercoat
|
||||
@@ -380,18 +384,6 @@
|
||||
display_name = "denim vest, corporate"
|
||||
path = /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen/sleeveless
|
||||
|
||||
/datum/gear/suit/service
|
||||
display_name = "service jacket selection"
|
||||
path = /obj/item/clothing/suit/storage/service
|
||||
|
||||
/datum/gear/suit/service/New()
|
||||
..()
|
||||
var/list/services = list()
|
||||
for(var/service_style in typesof(/obj/item/clothing/suit/storage/service))
|
||||
var/obj/item/clothing/suit/storage/service/service = service_style
|
||||
services[initial(service.name)] = service
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(services))
|
||||
|
||||
/datum/gear/suit/miscellaneous/kimono
|
||||
display_name = "kimono"
|
||||
path = /obj/item/clothing/suit/kimono
|
||||
|
||||
@@ -349,7 +349,7 @@
|
||||
|
||||
/datum/gear/uniform/whitewedding
|
||||
display_name= "white wedding dress"
|
||||
path = /obj/item/clothing/under/dress/white
|
||||
path = /obj/item/clothing/under/wedding/bride_white
|
||||
|
||||
/datum/gear/uniform/skirts
|
||||
display_name = "executive skirt"
|
||||
@@ -363,38 +363,29 @@
|
||||
display_name = "red evening gown"
|
||||
path = /obj/item/clothing/under/dress/redeveninggown
|
||||
|
||||
/datum/gear/uniform/dresses/janimaid
|
||||
display_name = "maid uniform"
|
||||
path = /obj/item/clothing/under/dress/janimaid
|
||||
/datum/gear/uniform/dresses/maid
|
||||
display_name = "maid uniform selection"
|
||||
path = /obj/item/clothing/under/dress/maid
|
||||
|
||||
/datum/gear/uniform/dresses/sexymaid
|
||||
display_name = "sexy maid uniform"
|
||||
path = /obj/item/clothing/under/dress/sexymaid
|
||||
|
||||
/datum/gear/uniform/pt
|
||||
display_name = "pt uniform"
|
||||
path = /obj/item/clothing/under/pt
|
||||
|
||||
/datum/gear/uniform/pt/expeditionary
|
||||
display_name = "pt uniform, sifguard"
|
||||
path = /obj/item/clothing/under/pt/expeditionary
|
||||
|
||||
/datum/gear/uniform/pt/fleet
|
||||
display_name = "pt uniform, fleet"
|
||||
path = /obj/item/clothing/under/pt/fleet
|
||||
/datum/gear/uniform/dresses/maid/New()
|
||||
..()
|
||||
var/list/maids = list()
|
||||
for(var/maid in typesof(/obj/item/clothing/under/dress/maid))
|
||||
var/obj/item/clothing/under/dress/maid/maid_type = maid
|
||||
maids[initial(maid_type.name)] = maid_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(maids))
|
||||
|
||||
/datum/gear/uniform/utility
|
||||
display_name = "utility, black"
|
||||
path = /obj/item/clothing/under/utility
|
||||
cost = 2
|
||||
|
||||
/datum/gear/uniform/utility/fleet
|
||||
display_name = "utility, navy"
|
||||
path = /obj/item/clothing/under/utility/fleet
|
||||
/datum/gear/uniform/utility/blue
|
||||
display_name = "utility, blue"
|
||||
path = /obj/item/clothing/under/utility/blue
|
||||
|
||||
/datum/gear/uniform/utility/marine
|
||||
/datum/gear/uniform/utility/grey
|
||||
display_name = "utility, grey"
|
||||
path = /obj/item/clothing/under/utility/marine
|
||||
path = /obj/item/clothing/under/utility/grey
|
||||
|
||||
/datum/gear/uniform/sweater
|
||||
display_name = "sweater, grey"
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
path = /obj/item/clothing/under/permit
|
||||
|
||||
//Polaris overrides
|
||||
/datum/gear/uniform/pt/expeditionary
|
||||
/datum/gear/uniform/pt/sifguard
|
||||
display_name = "pt uniform, planetside sec"
|
||||
path = /obj/item/clothing/under/pt/expeditionary
|
||||
path = /obj/item/clothing/under/pt/sifguard
|
||||
|
||||
//KHI Uniforms
|
||||
/datum/gear/uniform/job_khi/cmd
|
||||
|
||||
@@ -9,10 +9,22 @@
|
||||
path = /obj/item/weapon/clipboard
|
||||
|
||||
/datum/gear/utility/communicator
|
||||
display_name = "personal communicator"
|
||||
display_name = "communicator selection"
|
||||
path = /obj/item/device/communicator
|
||||
cost = 0
|
||||
|
||||
/datum/gear/utility/communicator/New()
|
||||
..()
|
||||
var/list/communicators = list()
|
||||
for(var/communicator in typesof(/obj/item/device/communicator) - list(/obj/item/device/communicator/integrated))
|
||||
var/obj/item/device/communicator_type = communicator
|
||||
communicators[initial(communicator_type.name)] = communicator_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(communicators))
|
||||
|
||||
/datum/gear/utility/camera
|
||||
display_name = "camera"
|
||||
path = /obj/item/device/camera
|
||||
|
||||
/datum/gear/utility/codex
|
||||
display_name = "the traveler's guide to vir"
|
||||
path = /obj/item/weapon/book/codex //VOREStation Edit
|
||||
|
||||
@@ -43,25 +43,33 @@
|
||||
bandtypes[initial(band.name)] = band
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(bandtypes))
|
||||
|
||||
/datum/gear/ears/skrell/cloth/male
|
||||
display_name = "male headtail cloth (Skrell)"
|
||||
/datum/gear/ears/skrell/cloth/short
|
||||
display_name = "short headtail cloth (Skrell)"
|
||||
path = /obj/item/clothing/ears/skrell/cloth_male/black
|
||||
sort_category = "Xenowear"
|
||||
whitelisted = "Skrell"
|
||||
|
||||
/datum/gear/ears/skrell/cloth/male/New()
|
||||
/datum/gear/ears/skrell/cloth/short/New()
|
||||
..()
|
||||
gear_tweaks = list(gear_tweak_free_color_choice)
|
||||
var/list/shorttypes = list()
|
||||
for(var/short_style in typesof(/obj/item/clothing/ears/skrell/cloth_male))
|
||||
var/obj/item/clothing/ears/skrell/cloth_male/short = short_style
|
||||
shorttypes[initial(short.name)] = short
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(shorttypes))
|
||||
|
||||
/datum/gear/ears/skrell/cloth/female
|
||||
display_name = "female headtail cloth (Skrell)"
|
||||
/datum/gear/ears/skrell/cloth/long
|
||||
display_name = "long headtail cloth (Skrell)"
|
||||
path = /obj/item/clothing/ears/skrell/cloth_female/black
|
||||
sort_category = "Xenowear"
|
||||
whitelisted = "Skrell"
|
||||
|
||||
/datum/gear/ears/skrell/cloth/female/New()
|
||||
/datum/gear/ears/skrell/cloth/long/New()
|
||||
..()
|
||||
gear_tweaks = list(gear_tweak_free_color_choice)
|
||||
var/list/longtypes = list()
|
||||
for(var/long_style in typesof(/obj/item/clothing/ears/skrell/cloth_female))
|
||||
var/obj/item/clothing/ears/skrell/cloth_female/long = long_style
|
||||
longtypes[initial(long.name)] = long
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(longtypes))
|
||||
|
||||
/datum/gear/ears/skrell/colored/band
|
||||
display_name = "Colored bands (Skrell)"
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
if(alt_title && !(alt_title in job.alt_titles))
|
||||
pref.player_alt_titles -= job.title
|
||||
|
||||
/datum/category_item/player_setup_item/occupation/content(mob/user, limit = 17, list/splitJobs = list("Chief Medical Officer"))
|
||||
/datum/category_item/player_setup_item/occupation/content(mob/user, limit = 18, list/splitJobs = list("Chief Medical Officer"))
|
||||
if(!job_master)
|
||||
return
|
||||
|
||||
@@ -70,13 +70,14 @@
|
||||
if (!job_master) return
|
||||
for(var/datum/job/job in job_master.occupations)
|
||||
if(job.latejoin_only) continue //VOREStation Code
|
||||
index += 1
|
||||
if((index >= limit) || (job.title in splitJobs))
|
||||
if((++index >= limit) || (job.title in splitJobs))
|
||||
/*******
|
||||
if((index < limit) && (lastJob != null))
|
||||
//If the cells were broken up by a job in the splitJob list then it will fill in the rest of the cells with
|
||||
//the last job's selection color. Creating a rather nice effect.
|
||||
for(var/i = 0, i < (limit - index), i += 1)
|
||||
. += "<tr bgcolor='[lastJob.selection_color]'><td width='60%' align='right'><a> </a></td><td><a> </a></td></tr>"
|
||||
//the last job's selection color and blank buttons that do nothing. Creating a rather nice effect.
|
||||
for(var/i = 0, i < (limit - index), i++)
|
||||
. += "<tr bgcolor='[lastJob.selection_color]'><td width='60%' align='right'>//> </a></td><td><a> </a></td></tr>"
|
||||
*******/
|
||||
. += "</table></td><td width='20%'><table width='100%' cellpadding='1' cellspacing='0'>"
|
||||
index = 0
|
||||
|
||||
|
||||
@@ -183,6 +183,17 @@
|
||||
desc = "Small spaces and tight quarters makes you feel distressed. Unfortunately both are rather common when living in space."
|
||||
modifier_type = /datum/modifier/trait/phobia/claustrophobe
|
||||
|
||||
|
||||
/datum/trait/modifier/mental/blennophobe
|
||||
name = "Blennophobia"
|
||||
desc = "Slimes are quite dangerous, but just the aspect of something being slimey is uncomfortable."
|
||||
modifier_type = /datum/modifier/trait/phobia/blennophobe
|
||||
|
||||
/datum/trait/modifier/mental/trypanophobe
|
||||
name = "Trypanophobia"
|
||||
desc = "Syringes and needles make you very distressed. You really don't want to get sick..."
|
||||
modifier_type = /datum/modifier/trait/phobia/trypanophobe
|
||||
|
||||
/*
|
||||
// Uncomment this when/if these get finished.
|
||||
/datum/trait/modifier/mental/synthphobe
|
||||
@@ -239,4 +250,4 @@
|
||||
name = "Promethean-phobic"
|
||||
desc = "Boilerplate racism for jellos goes here."
|
||||
mutually_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
*/
|
||||
*/
|
||||
|
||||
@@ -33,11 +33,12 @@
|
||||
S["fuzzy"] << pref.fuzzy
|
||||
|
||||
/datum/category_item/player_setup_item/vore/size/sanitize_character()
|
||||
pref.size_multiplier = pref.size_multiplier
|
||||
pref.weight_vr = sanitize_integer(pref.weight_vr, WEIGHT_MIN, WEIGHT_MAX, initial(pref.weight_vr))
|
||||
pref.weight_gain = sanitize_integer(pref.weight_gain, WEIGHT_CHANGE_MIN, WEIGHT_CHANGE_MAX, initial(pref.weight_gain))
|
||||
pref.weight_loss = sanitize_integer(pref.weight_loss, WEIGHT_CHANGE_MIN, WEIGHT_CHANGE_MAX, initial(pref.weight_loss))
|
||||
pref.fuzzy = pref.fuzzy
|
||||
pref.fuzzy = sanitize_integer(pref.fuzzy, 0, 1, initial(pref.fuzzy))
|
||||
if(pref.size_multiplier == null || pref.size_multiplier < RESIZE_TINY || pref.size_multiplier > RESIZE_HUGE)
|
||||
pref.size_multiplier = initial(pref.size_multiplier)
|
||||
|
||||
/datum/category_item/player_setup_item/vore/size/copy_to_mob(var/mob/living/carbon/human/character)
|
||||
character.resize(pref.size_multiplier, FALSE)
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
if(!(path in negative_traits))
|
||||
pref.neg_traits -= path
|
||||
|
||||
if(!pref.custom_base || !(pref.custom_base in playable_species - whitelisted_species))
|
||||
if(!pref.custom_base || (pref.custom_base != "Xenochimera" && !(pref.custom_base in playable_species - whitelisted_species)))
|
||||
pref.custom_base = "Human"
|
||||
|
||||
/datum/category_item/player_setup_item/vore/traits/copy_to_mob(var/mob/living/carbon/human/character)
|
||||
@@ -86,8 +86,15 @@
|
||||
//Any additional non-trait settings can be applied here
|
||||
new_CS.blood_color = pref.blood_color
|
||||
|
||||
if(pref.species == "Xenochimera")
|
||||
var/datum/species/xenochimera/CS = character.species
|
||||
var/S = pref.custom_base ? pref.custom_base : "Human"
|
||||
var/datum/species/xenochimera/new_CS = CS.produceCopy(S, pref.pos_traits + pref.neu_traits + pref.neg_traits, character)
|
||||
|
||||
//Any additional non-trait settings can be applied here
|
||||
new_CS.blood_color = pref.blood_color
|
||||
|
||||
/datum/category_item/player_setup_item/vore/traits/content(var/mob/user)
|
||||
//if(pref.species == "Custom Species" || pref.custom_species) //People that want to use a certain species to have that species traits (xenochimera/promethean/spider) should be able to set their custom species.
|
||||
. += "<b>Custom Species</b> "
|
||||
. += "<a href='?src=\ref[src];custom_species=1'>[pref.custom_species ? pref.custom_species : "-Input Name-"]</a><br>"
|
||||
|
||||
@@ -95,6 +102,12 @@
|
||||
. += "<b>Icon Base: </b> "
|
||||
. += "<a href='?src=\ref[src];custom_base=1'>[pref.custom_base ? pref.custom_base : "Human"]</a><br>"
|
||||
|
||||
if(pref.species == "Xenochimera")
|
||||
. += "<b>Icon Base: </b> "
|
||||
. += "<a href='?src=\ref[src];custom_base_xenochimera=1'>[pref.custom_base ? pref.custom_base : "Human"]</a><br>"
|
||||
|
||||
if(pref.species == "Custom Species")
|
||||
|
||||
var/points_left = pref.starting_trait_points
|
||||
var/traits_left = pref.max_traits
|
||||
for(var/T in pref.pos_traits + pref.neg_traits)
|
||||
@@ -153,6 +166,12 @@
|
||||
pref.custom_base = text_choice
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
else if(href_list["custom_base_xenochimera"])
|
||||
var/text_choice = input("Pick an icon set for your species:","Icon Base") in playable_species - whitelisted_species - "Custom Species" - "Promethean" + "Xenochimera"
|
||||
if(text_choice in playable_species)
|
||||
pref.custom_base = text_choice
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
else if(href_list["blood_color"])
|
||||
var/color_choice = input("Pick a blood color (does not apply to synths)","Blood Color",pref.blood_color) as color
|
||||
if(color_choice)
|
||||
|
||||
Reference in New Issue
Block a user