Adds IPC Antennas (#6049)

This commit is contained in:
Ziiro
2018-03-24 13:33:19 -06:00
committed by kevinz000
parent 04a761838d
commit b70381c89e
9 changed files with 62 additions and 14 deletions
+1
View File
@@ -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
+3
View File
@@ -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 -2
View File
@@ -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