diff --git a/code/_helpers/global_lists.dm b/code/_helpers/global_lists.dm index d2cd41a940..4b4b129278 100644 --- a/code/_helpers/global_lists.dm +++ b/code/_helpers/global_lists.dm @@ -57,7 +57,7 @@ var/global/list/undershirt_t = list( "White tank top" = "u1", "Black tank top" = "u2", "Black shirt" = "u3", "White shirt" = "u4", "White shirt 2" = "shirt_white_s", "White tank top 2" = "tank_white_s", "Black shirt 2" = "shirt_black_s", "Grey shirt" = "shirt_grey_s", "Heart shirt" = "lover_s", - "I love NT shirt" = "ilovent_s", "White shortsleeve shirt" = "whiteshortsleeve_s", "Purple shirtsleeve shirt" = "purpleshortsleeve_s", + "I love NT shirt" = "ilovent_s", "White shortsleeve shirt" = "whiteshortsleeve_s", "Purple shortsleeve shirt" = "purpleshortsleeve_s", "Blue shortsleeve shirt" = "blueshortsleeve_s", "Green shortsleeve shirt" = "greenshortsleeve_s", "Black shortsleeve shirt" = "blackshortsleeve_s", "Blue shirt" = "blueshirt_s", "Red shirt" = "redshirt_s", "Yellow shirt" = "yellowshirt_s", "Green shirt" = "greenshirt_s", "Blue polo shirt" = "bluepolo_s", "Red polo shirt" = "redpolo_s", "White polo shirt" = "whitepolo_s", @@ -76,6 +76,7 @@ var/global/list/socks_t = list( //Backpacks var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel", "Satchel Alt") +var/global/list/pdachoicelist = list("Default", "Slim", "Old") var/global/list/exclude_jobs = list(/datum/job/ai,/datum/job/cyborg) // Visual nets diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 1935455f94..98d64f5efd 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -13,6 +13,7 @@ var/global/list/obj/item/device/pda/PDAs = list() slot_flags = SLOT_ID | SLOT_BELT //Main variables + var/pdachoice = 1 var/owner = null var/default_cartridge = 0 // Access level defined by cartridge var/obj/item/weapon/cartridge/cartridge = null //current cartridge @@ -309,13 +310,18 @@ var/global/list/obj/item/device/pda/PDAs = list() * The Actual PDA */ -/obj/item/device/pda/New() +/obj/item/device/pda/New(var/mob/living/carbon/human/H) ..() PDAs += src PDAs = sortAtom(PDAs) if(default_cartridge) cartridge = new default_cartridge(src) new /obj/item/weapon/pen(src) + pdachoice = isnull(H) ? 1 : (ishuman(H) ? H.pdachoice : 1) + switch(pdachoice) + if(2) icon = 'icons/obj/pda_slim.dmi' + if(3) icon = 'icons/obj/pda_old.dmi' + else icon = 'icons/obj/pda.dmi' /obj/item/device/pda/proc/can_use() @@ -869,7 +875,7 @@ var/global/list/obj/item/device/pda/PDAs = list() overlays.Cut() if(new_message || new_news) - overlays += image('icons/obj/pda.dmi', "pda-r") + overlays += image(icon, "pda-r") /obj/item/device/pda/proc/detonate_act(var/obj/item/device/pda/P) //TODO: sometimes these attacks show up on the message server diff --git a/code/modules/client/preference_setup/general/04_equipment.dm b/code/modules/client/preference_setup/general/04_equipment.dm index 6139f30a1b..e4a0eba8e1 100644 --- a/code/modules/client/preference_setup/general/04_equipment.dm +++ b/code/modules/client/preference_setup/general/04_equipment.dm @@ -7,6 +7,7 @@ S["undershirt"] >> pref.undershirt S["socks"] >> pref.socks S["backbag"] >> pref.backbag + S["pdachoice"] >> pref.pdachoice S["gear"] >> pref.gear /datum/category_item/player_setup_item/general/equipment/save_character(var/savefile/S) @@ -14,10 +15,12 @@ S["undershirt"] << pref.undershirt S["socks"] << pref.socks S["backbag"] << pref.backbag + S["pdachoice"] << pref.pdachoice S["gear"] << pref.gear /datum/category_item/player_setup_item/general/equipment/sanitize_character() pref.backbag = sanitize_integer(pref.backbag, 1, backbaglist.len, initial(pref.backbag)) + pref.pdachoice = sanitize_integer(pref.pdachoice, 1, pdachoicelist.len, initial(pref.pdachoice)) if(!islist(pref.gear)) pref.gear = list() @@ -48,6 +51,7 @@ . += "Undershirt: [get_key_by_value(undershirt_t,pref.undershirt)]
" . += "Socks: [get_key_by_value(socks_t,pref.socks)]
" . += "Backpack Type: [backbaglist[pref.backbag]]
" + . += "PDA Type: [pdachoicelist[pref.pdachoice]]
" . += "
Custom Loadout:
" var/total_cost = 0 @@ -109,6 +113,12 @@ pref.backbag = backbaglist.Find(new_backbag) return TOPIC_REFRESH + else if(href_list["change_pda"]) + var/new_pdachoice = input(user, "Choose your character's style of PDA:", "Character Preference", pdachoicelist[pref.pdachoice]) as null|anything in pdachoicelist + if(!isnull(new_pdachoice) && CanUseTopic(user)) + pref.pdachoice = pdachoicelist.Find(new_pdachoice) + return TOPIC_REFRESH + else if(href_list["add_loadout"]) var/total_cost = 0 for(var/gear_name in pref.gear) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index ab3778b828..31a9b4ab6f 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -34,6 +34,7 @@ datum/preferences var/undershirt //undershirt type var/socks //socks type var/backbag = 2 //backpack type + var/pdachoice = 1 //PDA type var/h_style = "Bald" //Hair type var/r_hair = 0 //Hair color var/g_hair = 0 //Hair color @@ -340,6 +341,10 @@ datum/preferences backbag = 1 //Same as above character.backbag = backbag + if(pdachoice > 3 || pdachoice < 1) + pdachoice = 1 + character.pdachoice = pdachoice + character.update_body() /datum/preferences/proc/open_load_dialog(mob/user) diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 78dbee0552..22acad9445 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -36,6 +36,7 @@ var/undershirt = 0 //Which undershirt the player wants. var/socks = 0 //Which socks the player wants. var/backbag = 2 //Which backpack type the player has chosen. Nothing, Satchel or Backpack. + var/pdachoice = 1 //Which PDA type the player has chosen. Default, Slim, or Old. // General information var/home_system = "" diff --git a/icons/obj/pda.dmi b/icons/obj/pda.dmi index f4fa84dec7..3ec38b8a79 100644 Binary files a/icons/obj/pda.dmi and b/icons/obj/pda.dmi differ diff --git a/icons/obj/pda_old.dmi b/icons/obj/pda_old.dmi new file mode 100644 index 0000000000..1799aeab52 Binary files /dev/null and b/icons/obj/pda_old.dmi differ diff --git a/icons/obj/pda_slim.dmi b/icons/obj/pda_slim.dmi new file mode 100644 index 0000000000..1e26655175 Binary files /dev/null and b/icons/obj/pda_slim.dmi differ