Adds IPC Antennas (#6049)
This commit is contained in:
@@ -52,6 +52,7 @@ GLOBAL_LIST_EMPTY(xeno_dorsal_list)
|
||||
|
||||
//IPC species
|
||||
GLOBAL_LIST_EMPTY(ipc_screens_list)
|
||||
GLOBAL_LIST_EMPTY(ipc_antennas_list)
|
||||
|
||||
//Genitals and Arousal Lists
|
||||
GLOBAL_LIST_EMPTY(cock_shapes_list)//global_lists.dm for the list initializations //Now also _DATASTRUCTURES globals.dm
|
||||
|
||||
@@ -83,6 +83,8 @@
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/breasts, GLOB.breasts_shapes_list)
|
||||
if(!GLOB.ipc_screens_list.len)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/screen, GLOB.ipc_screens_list)
|
||||
if(!GLOB.ipc_antennas_list.len)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/antenna, GLOB.ipc_antennas_list)
|
||||
// if(ishuman(src))
|
||||
// var/mob/living/carbon/human/H = src
|
||||
/* if(H.gender == MALE) Fuck if I know how to fix this.
|
||||
@@ -169,6 +171,7 @@
|
||||
"womb_efficiency" = CUM_EFFICIENCY,
|
||||
"womb_fluid" = "femcum",
|
||||
"ipc_screen" = "Sunburst",
|
||||
"ipc_antenna" = "None",
|
||||
"flavor_text" = ""))
|
||||
|
||||
/proc/random_hair_style(gender)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/proc/cit_initialize()
|
||||
load_mentors()
|
||||
initialize_global_loadout_items()
|
||||
|
||||
|
||||
//body parts and things
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_body_markings, GLOB.mam_body_markings_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails, GLOB.mam_tails_list)
|
||||
@@ -18,10 +18,11 @@
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_tail, GLOB.xeno_tail_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_dorsal, GLOB.xeno_dorsal_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/screen, GLOB.ipc_screens_list, roundstart = TRUE)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/antenna, GLOB.ipc_antennas_list, roundstart = TRUE)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/penis, GLOB.cock_shapes_list)
|
||||
for(var/K in GLOB.cock_shapes_list)
|
||||
var/datum/sprite_accessory/penis/value = GLOB.cock_shapes_list[K]
|
||||
GLOB.cock_shapes_icons[K] = value.icon_state
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/vagina, GLOB.vagina_shapes_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/breasts, GLOB.breasts_shapes_list)
|
||||
GLOB.breasts_size_list = list("a","b","c","d","e") //We need the list to choose from initialized, but it's no longer a sprite_accessory thing.
|
||||
GLOB.breasts_size_list = list("a","b","c","d","e") //We need the list to choose from initialized, but it's no longer a sprite_accessory thing.
|
||||
|
||||
@@ -91,6 +91,7 @@
|
||||
"womb_efficiency" = CUM_EFFICIENCY,
|
||||
"womb_fluid" = "femcum",
|
||||
"ipc_screen" = "Sunburst",
|
||||
"ipc_antenna" = "None",
|
||||
"flavor_text" = ""
|
||||
)
|
||||
|
||||
@@ -113,7 +114,7 @@
|
||||
. += "</center>"
|
||||
|
||||
. += "<HR>"
|
||||
|
||||
|
||||
//Character Appearance
|
||||
if(current_tab == 2)
|
||||
update_preview_icon(nude=TRUE)
|
||||
@@ -184,8 +185,10 @@
|
||||
. += "<b>Tail: </b><a href='?_src_=prefs;preference=xenotail;task=input'>[features["xenotail"]]</a><BR>"
|
||||
if("xenodorsal" in pref_species.mutant_bodyparts)
|
||||
. += "<b>Dorsal Tubes: </b><a href='?_src_=prefs;preference=xenodorsal;task=input'>[features["xenodorsal"]]</a><BR>"
|
||||
if("ipc_screen" in pref_species.mutant_bodyparts)
|
||||
if("ipc_screen" in pref_species.mutant_bodyparts)
|
||||
. += "<b>Screen:</b><a href='?_src_=prefs;preference=ipc_screen;task=input'>[features["ipc_screen"]]</a><BR>"
|
||||
if("ipc_antenna" in pref_species.mutant_bodyparts)
|
||||
. += "<b>Antenna:</b><a href='?_src_=prefs;preference=ipc_antenna;task=input'>[features["ipc_antenna"]]</a><BR>"
|
||||
|
||||
. += "</td><td width='300px' height='300px' valign='top'>"
|
||||
|
||||
@@ -333,7 +336,7 @@
|
||||
var/new_eyes = input(user, "Choose your character's eye colour:", "Character Preference","#"+eye_color) as color|null
|
||||
if(new_eyes)
|
||||
eye_color = sanitize_hexcolor(new_eyes)
|
||||
|
||||
|
||||
if("species")
|
||||
var/result = input(user, "Select a species", "Species Selection") as null|anything in GLOB.roundstart_races
|
||||
if(result)
|
||||
@@ -358,7 +361,7 @@
|
||||
features["mcolor"] = sanitize_hexcolor(new_mutantcolor)
|
||||
else
|
||||
to_chat(user, "<span class='danger'>Invalid color. Your color is not bright enough.</span>")
|
||||
|
||||
|
||||
if("mutant_color2")
|
||||
var/new_mutantcolor = input(user, "Choose your character's secondary alien/mutant color:", "Character Preference") as color|null
|
||||
if(new_mutantcolor)
|
||||
@@ -387,6 +390,12 @@
|
||||
if(new_ipc_screen)
|
||||
features["ipc_screen"] = new_ipc_screen
|
||||
|
||||
if("ipc_antenna")
|
||||
var/new_ipc_antenna
|
||||
new_ipc_antenna = input(user, "Choose your character's antenna:", "Character Preference") as null|anything in GLOB.ipc_antennas_list
|
||||
if(new_ipc_antenna)
|
||||
features["ipc_antenna"] = new_ipc_antenna
|
||||
|
||||
if("tail_lizard")
|
||||
var/new_tail
|
||||
new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in GLOB.tails_list_lizard
|
||||
@@ -499,7 +508,7 @@
|
||||
if(new_taur != "None")
|
||||
features["mam_tail"] = "None"
|
||||
features["xenotail"] = "None"
|
||||
|
||||
|
||||
if("ears")
|
||||
var/list/snowflake_ears_list = list("Normal" = null)
|
||||
for(var/path in GLOB.ears_list)
|
||||
@@ -671,4 +680,4 @@ datum/preferences/copy_to(mob/living/carbon/human/character, icon_updates = 1)
|
||||
character.flavor_text = features["flavor_text"] //Let's update their flavor_text at least initially
|
||||
character.canbearoused = arousable
|
||||
if(icon_updates)
|
||||
character.update_genitals()
|
||||
character.update_genitals()
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
/datum/preferences/proc/cit_character_pref_load(savefile/S)
|
||||
//ipcs
|
||||
S["feature_ipc_screen"] >> features["ipc_screen"]
|
||||
S["feature_ipc_antenna"] >> features["ipc_antenna"]
|
||||
|
||||
//Citadel toggles
|
||||
S["cit_toggles"] >> cit_toggles
|
||||
|
||||
|
||||
features["ipc_screen"] = sanitize_inlist(features["ipc_screen"], GLOB.ipc_screens_list)
|
||||
features["ipc_antenna"] = sanitize_inlist(features["ipc_antenna"], GLOB.ipc_antennas_list)
|
||||
//Citadel
|
||||
features["flavor_text"] = sanitize_text(features["flavor_text"], initial(features["flavor_text"]))
|
||||
if(!features["mcolor2"] || features["mcolor"] == "#000")
|
||||
@@ -27,10 +29,11 @@
|
||||
if(path)
|
||||
LAZYADD(chosen_gear, path)
|
||||
gear_points -= initial(path.cost)
|
||||
|
||||
|
||||
/datum/preferences/proc/cit_character_pref_save(savefile/S)
|
||||
//ipcs
|
||||
WRITE_FILE(S["feature_ipc_screen"], features["ipc_screen"])
|
||||
WRITE_FILE(S["feature_ipc_antenna"], features["ipc_antenna"])
|
||||
//Citadel
|
||||
WRITE_FILE(S["feature_genitals_use_skintone"], features["genitals_use_skintone"])
|
||||
WRITE_FILE(S["feature_exhibitionist"], features["exhibitionist"])
|
||||
|
||||
@@ -1044,6 +1044,36 @@
|
||||
name = "Stars"
|
||||
icon_state = "stars"
|
||||
|
||||
// IPC Antennas
|
||||
|
||||
/datum/sprite_accessory/antenna
|
||||
icon = 'modular_citadel/icons/mob/ipc_antennas.dmi'
|
||||
color_src = MUTCOLORS2
|
||||
|
||||
/datum/sprite_accessory/antenna/none
|
||||
name = "None"
|
||||
icon_state = "None"
|
||||
|
||||
/datum/sprite_accessory/antenna/antennae
|
||||
name = "Angled Antennae"
|
||||
icon_state = "antennae"
|
||||
|
||||
/datum/sprite_accessory/antenna/tvantennae
|
||||
name = "TV Antennae"
|
||||
icon_state = "tvantennae"
|
||||
|
||||
/datum/sprite_accessory/antenna/cyberhead
|
||||
name = "Cyberhead"
|
||||
icon_state = "cyberhead"
|
||||
|
||||
/datum/sprite_accessory/antenna/antlers
|
||||
name = "Antlers"
|
||||
icon_state = "antlers"
|
||||
|
||||
/datum/sprite_accessory/antenna/crowned
|
||||
name = "Crowned"
|
||||
icon_state = "crowned"
|
||||
|
||||
// *** Snooooow flaaaaake ***
|
||||
|
||||
/datum/sprite_accessory/mam_body_markings/guilmon
|
||||
@@ -1115,4 +1145,3 @@
|
||||
extra = FALSE
|
||||
extra2 = FALSE
|
||||
ckeys_allowed = list("poojawa")
|
||||
|
||||
|
||||
@@ -77,6 +77,8 @@
|
||||
switch(bodypart)
|
||||
if("ipc_screen")
|
||||
return GLOB.ipc_screens_list[H.dna.features["ipc_screen"]]
|
||||
if("ipc_antenna")
|
||||
return GLOB.ipc_antennas_list[H.dna.features["ipc_antenna"]]
|
||||
if("mam_tail")
|
||||
return GLOB.mam_tails_list[H.dna.features["mam_tail"]]
|
||||
if("mam_waggingtail")
|
||||
@@ -92,4 +94,4 @@
|
||||
if("xenohead")
|
||||
return GLOB.xeno_head_list[H.dna.features["xenohead"]]
|
||||
if("xenotail")
|
||||
return GLOB.xeno_tail_list[H.dna.features["xenotail"]]
|
||||
return GLOB.xeno_tail_list[H.dna.features["xenotail"]]
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
blacklisted = 0
|
||||
sexes = 0
|
||||
species_traits = list(MUTCOLORS,NOEYES)
|
||||
mutant_bodyparts = list("ipc_screen")
|
||||
default_features = list("ipc_screen" = "Blank")
|
||||
mutant_bodyparts = list("ipc_screen", "ipc_antenna")
|
||||
default_features = list("ipc_screen" = "Blank", "ipc_antenna" = "None")
|
||||
meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/ipc
|
||||
|
||||
var/datum/action/innate/monitor_change/screen
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 639 B |
Reference in New Issue
Block a user