IT WORKS! its testmergable, just gotta add in a ckey whitelist system and add casual friday, then its good

This commit is contained in:
deathride58
2018-01-15 01:02:35 -05:00
parent 036dc82e12
commit b55a497ffc
18 changed files with 274 additions and 142 deletions
@@ -7,7 +7,7 @@
name = "Cigarette pack"
category = slot_hands
path = /obj/item/storage/fancy/cigarettes
/datum/gear/dice
name = "Dice bag"
category = slot_hands
@@ -27,7 +27,12 @@
name = "Matchbox"
category = slot_hands
path = /obj/item/storage/box/matches
/datum/gear/cheaplighter
name = "Cheap lighter"
category = slot_hands
path = /obj/item/lighter/greyscale
/datum/gear/cards
name = "Playing cards"
category = slot_hands
@@ -38,11 +43,6 @@
category = slot_hands
path = /obj/item/skub
/datum/gear/slapper
name = "Slapper"
category = slot_hands
path = /obj/item/slapper
/datum/gear/carpplushie
name = "Space carp plushie"
category = slot_hands
@@ -22,6 +22,7 @@ GLOBAL_LIST_EMPTY(loadout_items)
var/path //item-to-spawn path
var/cost = 1 //normally, each loadout costs a single point.
var/list/restricted_roles
var/list/ckeywhitelist
/datum/gear/New()
..()
@@ -1 +1,4 @@
/datum/gear/balaclava
name = "Balaclava"
category = slot_wear_mask
path = /obj/item/clothing/mask/balaclava
@@ -13,6 +13,11 @@
category = slot_neck
path = /obj/item/clothing/neck/tie/black
/datum/gear/collar
name = "Collar"
category = slot_neck
path = /obj/item/clothing/neck/petcollar
/datum/gear/stethoscope
name = "Stethoscope"
category = slot_neck
@@ -2,3 +2,38 @@
name = "Laceup shoes"
category = slot_shoes
path = /obj/item/clothing/shoes/laceup
/datum/gear/workboots
name = "Work boots"
category = slot_shoes
path = /obj/item/clothing/shoes/workboots
/datum/gear/jackboots
name = "Jackboots"
category = slot_shoes
path = /obj/item/clothing/shoes/jackboots
/datum/gear/winterboots
name = "Winter boots"
category = slot_shoes
path = /obj/item/clothing/shoes/winterboots
/datum/gear/sandals
name = "Sandals"
category = slot_shoes
path = /obj/item/clothing/shoes/sandal
/datum/gear/blackshoes
name = "Black shoes"
category = slot_shoes
path = /obj/item/clothing/shoes/sneakers/black
/datum/gear/brownshoes
name = "Brown shoes"
category = slot_shoes
path = /obj/item/clothing/shoes/sneakers/brown
/datum/gear/whiteshoes
name = "White shoes"
category = slot_shoes
path = /obj/item/clothing/shoes/sneakers/white
@@ -0,0 +1,49 @@
/datum/gear/suit
name = "Black suit"
category = slot_w_uniform
path = /obj/item/clothing/under/suit_jacket
/datum/gear/greensuit
name = "Green suit"
category = slot_w_uniform
path = /obj/item/clothing/under/suit_jacket/green
/datum/gear/redsuit
name = "Red suit"
category = slot_w_uniform
path = /obj/item/clothing/under/suit_jacket/red
/datum/gear/charcoalsuit
name = "Charcoal suit"
category = slot_w_uniform
path = /obj/item/clothing/under/suit_jacket/charcoal
/datum/gear/navysuit
name = "Navy suit"
category = slot_w_uniform
path = /obj/item/clothing/under/suit_jacket/navy
/datum/gear/burgundysuit
name = "Burgundy suit"
category = slot_w_uniform
path = /obj/item/clothing/under/suit_jacket/burgundy
/datum/gear/tansuit
name = "Tan suit"
category = slot_w_uniform
path = /obj/item/clothing/under/suit_jacket/tan
/datum/gear/whitesuit
name = "White suit"
category = slot_w_uniform
path = /obj/item/clothing/under/suit_jacket/white
/datum/gear/assistantformal
name = "Assistant's formal uniform"
category = slot_w_uniform
path = /obj/item/clothing/under/assistantformal
/datum/gear/maidcostume
name = "Maid costume"
category = slot_w_uniform
path = /obj/item/clothing/under/maid
@@ -12,66 +12,6 @@
..()
LAZYINITLIST(chosen_gear)
/datum/preferences/proc/hippie_dat_replace(current_tab)
//This proc is for menus other than game pref and char pref
. = "<center>"
. += "<a href='?_src_=prefs;preference=tab;tab=0' [current_tab == 0 ? "class='linkOn'" : ""]>Character Settings</a> "
. += "<a href='?_src_=prefs;preference=tab;tab=1' [current_tab == 1 ? "class='linkOn'" : ""]>Game Preferences</a>"
. += "<a href='?_src_=prefs;preference=tab;tab=2' [current_tab == 2 ? "class='linkOn'" : ""]>Loadout</a>"
if(!path)
. += "<div class='notice'>Please create an account to save your preferences</div>"
. += "</center>"
. += "<HR>"
if(current_tab == 2)
if(!gear_tab)
gear_tab = GLOB.loadout_items[1]
. += "<table align='center' width='100%'>"
. += "<tr><td colspan=4><center><b><font color='[gear_points == 0 ? "#E67300" : "#3366CC"]'>[gear_points]</font> loadout points remaining.</b> \[<a href='?_src_=prefs;preference=gear;clear_loadout=1'>Clear Loadout</a>\]</center></td></tr>"
. += "<tr><td colspan=4><center>You can only choose one item per category, unless it's an item that spawns in your backpack or hands.</center></td></tr>"
. += "<tr><td colspan=4><center><b>"
var/firstcat = TRUE
for(var/i in GLOB.loadout_items)
if(firstcat)
firstcat = FALSE
else
. += " |"
if(i == gear_tab)
. += " <span class='linkOn'>[i]</span> "
else
. += " <a href='?_src_=prefs;preference=gear;select_category=[i]'>[i]</a> "
. += "</b></center></td></tr>"
. += "<tr><td colspan=4><hr></td></tr>"
. += "<tr><td colspan=4><b><center>[gear_tab]</center></b></td></tr>"
. += "<tr><td colspan=4><hr></td></tr>"
. += "<tr style='vertical-align:top;'><td width=15%><b>Name</b></td>"
. += "<td width=5% style='vertical-align:top'><b>Cost</b></td>"
. += "<td><font size=2><b>Restrictions</b></font></td>"
. += "<td><font size=2><b>Description</b></font></td></tr>"
for(var/j in GLOB.loadout_items[gear_tab])
var/datum/gear/gear = GLOB.loadout_items[gear_tab][j]
var/class_link = ""
if(gear.type in chosen_gear)
class_link = "class='linkOn' href='?_src_=prefs;preference=gear;toggle_gear_path=[j];toggle_gear=0'"
else if(gear_points <= 0)
class_link = "class='linkOff'"
else
class_link = "href='?_src_=prefs;preference=gear;toggle_gear_path=[j];toggle_gear=1'"
. += "<tr style='vertical-align:top;'><td width=15%><a style='white-space:normal;' [class_link]>[j]</a></td>"
. += "<td width = 5% style='vertical-align:top'>[gear.cost]</td><td>"
if(islist(gear.restricted_roles))
if(gear.restricted_roles.len)
. += "<font size=2>"
. += gear.restricted_roles.Join(";")
. += "</font>"
. += "</td><td><font size=2><i>[gear.description]</i></font></td></tr>"
. += "</table>"
/datum/preferences/proc/is_loadout_slot_available(slot)
var/list/L
LAZYINITLIST(L)
@@ -1,4 +1,13 @@
/datum/preferences/proc/hippie_character_pref_load(savefile/S)
/datum/preferences/proc/cit_character_pref_load(savefile/S)
//Citadel
features["flavor_text"] = sanitize_text(features["flavor_text"], initial(features["flavor_text"]))
if(!features["mcolor2"] || features["mcolor"] == "#000")
features["mcolor2"] = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F")
if(!features["mcolor3"] || features["mcolor"] == "#000")
features["mcolor3"] = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F")
features["mcolor2"] = sanitize_hexcolor(features["mcolor2"], 3, 0)
features["mcolor3"] = sanitize_hexcolor(features["mcolor3"], 3, 0)
//gear loadout
var/text_to_load
S["loadout"] >> text_to_load
@@ -11,7 +20,49 @@
LAZYADD(chosen_gear, path)
gear_points -= initial(path.cost)
/datum/preferences/proc/hippie_character_pref_save(savefile/S)
/datum/preferences/proc/cit_character_pref_save(savefile/S)
//Citadel
WRITE_FILE(S["feature_genitals_use_skintone"], features["genitals_use_skintone"])
WRITE_FILE(S["feature_exhibitionist"], features["exhibitionist"])
WRITE_FILE(S["feature_mcolor2"], features["mcolor2"])
WRITE_FILE(S["feature_mcolor3"], features["mcolor3"])
WRITE_FILE(S["feature_mam_body_markings"], features["mam_body_markings"])
WRITE_FILE(S["feature_mam_tail"], features["mam_tail"])
WRITE_FILE(S["feature_mam_ears"], features["mam_ears"])
WRITE_FILE(S["feature_mam_tail_animated"], features["mam_tail_animated"])
WRITE_FILE(S["feature_taur"], features["taur"])
//Xeno features
WRITE_FILE(S["feature_xeno_tail"], features["xenotail"])
WRITE_FILE(S["feature_xeno_dors"], features["xenodorsal"])
WRITE_FILE(S["feature_xeno_head"], features["xenohead"])
//cock features
WRITE_FILE(S["feature_has_cock"], features["has_cock"])
WRITE_FILE(S["feature_cock_shape"], features["cock_shape"])
WRITE_FILE(S["feature_cock_color"], features["cock_color"])
WRITE_FILE(S["feature_cock_length"], features["cock_length"])
WRITE_FILE(S["feature_cock_girth"], features["cock_girth"])
WRITE_FILE(S["feature_has_sheath"], features["sheath_color"])
//balls features
WRITE_FILE(S["feature_has_balls"], features["has_balls"])
WRITE_FILE(S["feature_balls_color"], features["balls_color"])
WRITE_FILE(S["feature_balls_size"], features["balls_size"])
WRITE_FILE(S["feature_balls_sack_size"], features["balls_sack_size"])
WRITE_FILE(S["feature_balls_fluid"], features["balls_fluid"])
//breasts features
WRITE_FILE(S["feature_has_breasts"], features["has_breasts"])
WRITE_FILE(S["feature_breasts_size"], features["breasts_size"])
WRITE_FILE(S["feature_breasts_shape"], features["breasts_shape"])
WRITE_FILE(S["feature_breasts_color"], features["breasts_color"])
WRITE_FILE(S["feature_breasts_fluid"], features["breasts_fluid"])
//vagina features
WRITE_FILE(S["feature_has_vag"], features["has_vag"])
WRITE_FILE(S["feature_vag_shape"], features["vag_shape"])
WRITE_FILE(S["feature_vag_color"], features["vag_color"])
//womb features
WRITE_FILE(S["feature_has_womb"], features["has_womb"])
//flavor text
WRITE_FILE(S["feature_flavor_text"], features["flavor_text"])
//gear loadout
if(islist(chosen_gear))
if(chosen_gear.len)