organic ui fix (#8457)
* organic ui fix Reimplementing UI fixes * fuc u, i won * some skyrat buerocracy stuff Co-authored-by: Lamella-0587 <76873041+Lamella-0587@users.noreply.github.com>
@@ -15,9 +15,30 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
|
||||
"Glass" = 'icons/hud/screen_glass.dmi'
|
||||
))
|
||||
|
||||
//SKYRAT EDIT - ADDITION - ERP ICONS FIX
|
||||
|
||||
GLOBAL_LIST_INIT(available_erp_ui_styles, list(
|
||||
"Midnight" = 'modular_skyrat/modules/modular_items/lewd_items/icons/obj/lewd_items/inventory_icons/midnight.dmi',
|
||||
"Retro" = 'modular_skyrat/modules/modular_items/lewd_items/icons/obj/lewd_items/inventory_icons/retro.dmi',
|
||||
"Plasmafire" = 'modular_skyrat/modules/modular_items/lewd_items/icons/obj/lewd_items/inventory_icons/plasmafire.dmi',
|
||||
"Slimecore" = 'modular_skyrat/modules/modular_items/lewd_items/icons/obj/lewd_items/inventory_icons/slimecore.dmi',
|
||||
"Operative" = 'modular_skyrat/modules/modular_items/lewd_items/icons/obj/lewd_items/inventory_icons/operative.dmi',
|
||||
"Clockwork" = 'modular_skyrat/modules/modular_items/lewd_items/icons/obj/lewd_items/inventory_icons/clockwork.dmi',
|
||||
"Glass" = 'modular_skyrat/modules/modular_items/lewd_items/icons/obj/lewd_items/inventory_icons/glass.dmi'
|
||||
))
|
||||
|
||||
//SKYRAT EDIT - ADDITION - ERP ICONS FIX - END
|
||||
|
||||
/proc/ui_style2icon(ui_style)
|
||||
return GLOB.available_ui_styles[ui_style] || GLOB.available_ui_styles[GLOB.available_ui_styles[1]]
|
||||
|
||||
//SKYRAT EDIT - ADDITION - ERP ICONS FIX
|
||||
|
||||
/proc/erp_ui_style2icon(ui_style)
|
||||
return GLOB.available_erp_ui_styles[ui_style] || GLOB.available_erp_ui_styles[GLOB.available_erp_ui_styles[1]]
|
||||
|
||||
//SKYRAT EDIT - ADDITION - ERP ICONS FIX - END
|
||||
|
||||
/datum/hud
|
||||
var/mob/mymob
|
||||
|
||||
@@ -82,6 +103,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
|
||||
var/atom/movable/screen/spacesuit
|
||||
// subtypes can override this to force a specific UI style
|
||||
var/ui_style
|
||||
var/erp_ui_style //SKYRAT EDIT - ADDITION - ERP ICONS FIX
|
||||
|
||||
/datum/hud/New(mob/owner)
|
||||
mymob = owner
|
||||
@@ -89,6 +111,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
|
||||
if (!ui_style)
|
||||
// will fall back to the default if any of these are null
|
||||
ui_style = ui_style2icon(owner.client?.prefs?.read_preference(/datum/preference/choiced/ui_style))
|
||||
erp_ui_style = erp_ui_style2icon(owner.client?.prefs?.read_preference(/datum/preference/choiced/ui_style)) //SKYRAT EDIT - ADDITION - ERP ICONS FIX
|
||||
|
||||
hide_actions_toggle = new
|
||||
hide_actions_toggle.InitialiseIcon(src)
|
||||
@@ -293,16 +316,26 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
|
||||
if (item.icon == ui_style)
|
||||
item.icon = new_ui_style
|
||||
|
||||
//SKYRAT EDIT ADDITION BEGIN - ERP_SLOT_SYSTEM
|
||||
for(var/atom/item in ERP_toggleable_inventory)
|
||||
if (item.icon == ui_style)
|
||||
item.icon = new_ui_style
|
||||
//SKYRAT EDIT ADDITION END
|
||||
|
||||
ui_style = new_ui_style
|
||||
build_hand_slots()
|
||||
hide_actions_toggle.InitialiseIcon(src)
|
||||
|
||||
//SKYRAT EDIT - ADDITION - ERP ICONS FIX
|
||||
|
||||
/datum/hud/proc/update_erp_ui_style(new_erp_ui_style)
|
||||
// do nothing if overridden by a subtype or already on that style
|
||||
if (initial(erp_ui_style) || erp_ui_style == new_erp_ui_style)
|
||||
return
|
||||
|
||||
for(var/atom/item in ERP_toggleable_inventory)
|
||||
if (item.icon == erp_ui_style)
|
||||
item.icon = new_erp_ui_style
|
||||
|
||||
erp_ui_style = new_erp_ui_style
|
||||
hide_actions_toggle.InitialiseIcon(src)
|
||||
|
||||
//SKYRAT EDIT - ADDITION - ERP ICONS FIX - END
|
||||
|
||||
//Triggered when F12 is pressed (Unless someone changed something in the DMF)
|
||||
/mob/verb/button_pressed_F12()
|
||||
set name = "F12"
|
||||
|
||||
@@ -239,7 +239,7 @@
|
||||
using.screen_loc = ui_erp_inventory
|
||||
using.hud = src
|
||||
// When creating a character, we will check if the ERP is enabled on the client, if not, then the ERP button is immediately invisible
|
||||
if(owner.client?.prefs?.read_preference(/datum/preference/toggle/erp/sex_toy))
|
||||
if(!owner.client?.prefs?.read_preference(/datum/preference/toggle/erp/sex_toy))
|
||||
using.invisibility = 100
|
||||
static_inventory += using
|
||||
//SKYRAT EDIT ADDITION END
|
||||
@@ -308,7 +308,7 @@
|
||||
//SKYRAT EDIT ADDITION BEGIN - ERP_SLOT_SYSTEM
|
||||
inv_box = new /atom/movable/screen/inventory()
|
||||
inv_box.name = "vagina"
|
||||
inv_box.icon = ui_style
|
||||
inv_box.icon = erp_ui_style
|
||||
inv_box.icon_state = "vagina"
|
||||
inv_box.screen_loc = ui_vagina_down
|
||||
inv_box.slot_id = ITEM_SLOT_VAGINA
|
||||
@@ -317,7 +317,7 @@
|
||||
|
||||
inv_box = new /atom/movable/screen/inventory()
|
||||
inv_box.name = "anus"
|
||||
inv_box.icon = ui_style
|
||||
inv_box.icon = erp_ui_style
|
||||
inv_box.icon_state = "anus"
|
||||
inv_box.screen_loc = ui_anus_down
|
||||
inv_box.slot_id = ITEM_SLOT_ANUS
|
||||
@@ -326,7 +326,7 @@
|
||||
|
||||
inv_box = new /atom/movable/screen/inventory()
|
||||
inv_box.name = "nipples"
|
||||
inv_box.icon = ui_style
|
||||
inv_box.icon = erp_ui_style
|
||||
inv_box.icon_state = "nipples"
|
||||
inv_box.screen_loc = ui_nipples_down
|
||||
inv_box.slot_id = ITEM_SLOT_NIPPLES
|
||||
@@ -335,7 +335,7 @@
|
||||
|
||||
inv_box = new /atom/movable/screen/inventory()
|
||||
inv_box.name = "penis"
|
||||
inv_box.icon = ui_style
|
||||
inv_box.icon = erp_ui_style
|
||||
inv_box.icon_state = "penis"
|
||||
inv_box.screen_loc = ui_penis_down
|
||||
inv_box.slot_id = ITEM_SLOT_PENIS
|
||||
|
||||
@@ -24,3 +24,4 @@
|
||||
|
||||
/datum/preference/choiced/ui_style/apply_to_client(client/client, value)
|
||||
client.mob?.hud_used?.update_ui_style(ui_style2icon(value))
|
||||
client.mob?.hud_used?.update_erp_ui_style(erp_ui_style2icon(value)) //SKYRAT EDIT - ADDITION - ERP ICONS FIX
|
||||
|
||||
@@ -413,8 +413,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
var/atom/movable/screen/alert/A = throw_alert("[REF(source)]_notify_cloning", /atom/movable/screen/alert/notify_cloning)
|
||||
if(A)
|
||||
var/ui_style = client?.prefs?.read_preference(/datum/preference/choiced/ui_style)
|
||||
var/erp_ui_style = client?.prefs?.read_preference(/datum/preference/choiced/ui_style) //SKYRAT EDIT - ADDITION - ERP ICONS FIX
|
||||
if(ui_style)
|
||||
A.icon = ui_style2icon(ui_style)
|
||||
A.icon = erp_ui_style2icon(erp_ui_style) //SKYRAT EDIT - ADDITION - ERP ICONS FIX
|
||||
A.desc = message
|
||||
var/old_layer = source.layer
|
||||
var/old_plane = source.plane
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
if(hud_used)
|
||||
hud_used.show_hud(hud_used.hud_version)
|
||||
hud_used.update_ui_style(ui_style2icon(client.prefs?.read_preference(/datum/preference/choiced/ui_style)))
|
||||
hud_used.update_erp_ui_style(erp_ui_style2icon(client.prefs?.read_preference(/datum/preference/choiced/ui_style))) //SKYRAT EDIT - ADDITION - ERP ICONS FIX
|
||||
|
||||
next_move = 1
|
||||
|
||||
|
||||
@@ -352,8 +352,10 @@
|
||||
var/atom/movable/screen/alert/notify_action/A = O.throw_alert("[REF(source)]_notify_action", /atom/movable/screen/alert/notify_action)
|
||||
if(A)
|
||||
var/ui_style = O.client?.prefs?.read_preference(/datum/preference/choiced/ui_style)
|
||||
var/erp_ui_style = O.client?.prefs?.read_preference(/datum/preference/choiced/ui_style) //SKYRAT EDIT - ADDITION - ERP ICONS FIX
|
||||
if(ui_style)
|
||||
A.icon = ui_style2icon(ui_style)
|
||||
A.icon = erp_ui_style2icon(erp_ui_style) //SKYRAT EDIT - ADDITION - ERP ICONS FIX
|
||||
if (header)
|
||||
A.name = header
|
||||
A.desc = message
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
//STUFF SOLD HERE//
|
||||
products = list(//Sex toys
|
||||
/obj/item/clothing/sextoy/signalvib = 8,
|
||||
/obj/item/assembly/signaler = 8,
|
||||
/obj/item/clothing/sextoy/eggvib = 8,
|
||||
/obj/item/clothing/sextoy/buttplug = 6,
|
||||
/obj/item/clothing/sextoy/nipple_clamps = 4,
|
||||
@@ -32,15 +33,12 @@
|
||||
/obj/item/clothing/sextoy/vibrator = 4,
|
||||
/obj/item/serviette_pack = 10,
|
||||
/obj/item/restraints/handcuffs/lewd = 8,
|
||||
/obj/item/pillow = 24,
|
||||
/obj/item/assembly/signaler = 8,
|
||||
/obj/item/pillow = 32, //cmon, why there is always 0 pillows, where do you guys stuff it.
|
||||
|
||||
//clothing facial/head
|
||||
/obj/item/clothing/mask/ballgag = 8,
|
||||
/obj/item/clothing/mask/ballgag/phallic = 8,
|
||||
/obj/item/clothing/mask/ballgag/phallic/kazoo = 8,
|
||||
/obj/item/clothing/mask/muzzle/ring = 4,
|
||||
/obj/item/clothing/mask/muzzle/ball = 4,
|
||||
/obj/item/clothing/head/domina_cap = 5,
|
||||
/obj/item/clothing/head/helmet/space/deprivation_helmet = 5,
|
||||
/obj/item/clothing/head/maid = 5,
|
||||
@@ -49,39 +47,23 @@
|
||||
/obj/item/clothing/mask/gas/bdsm_mask = 5,
|
||||
/obj/item/reagent_containers/glass/lewd_filter = 5,
|
||||
/obj/item/clothing/glasses/hypno = 4,
|
||||
/obj/item/clothing/glasses/blindfold = 8,
|
||||
/obj/item/clothing/head/kitty = 4,
|
||||
/obj/item/clothing/head/rabbitears = 4,
|
||||
|
||||
|
||||
//neck
|
||||
/obj/item/clothing/neck/kink_collar = 8,
|
||||
/obj/item/clothing/neck/human_petcollar = 8,
|
||||
/obj/item/clothing/neck/human_petcollar/locked/cowcollar = 3,
|
||||
/obj/item/clothing/neck/human_petcollar/locked/bellcollar = 5,
|
||||
/obj/item/clothing/neck/human_petcollar/locked/spikecollar = 3,
|
||||
/obj/item/clothing/neck/human_petcollar/locked/cross = 3,
|
||||
/obj/item/clothing/neck/human_petcollar/choker = 4,
|
||||
|
||||
//torso clothing
|
||||
/obj/item/clothing/under/misc/latex_catsuit = 8,
|
||||
/obj/item/clothing/suit/straight_jacket/latex_straight_jacket = 5,
|
||||
/obj/item/clothing/under/rank/civilian/janitor/maid = 5,
|
||||
/obj/item/clothing/under/costume/lewdmaid = 5,
|
||||
/obj/item/clothing/under/costume/maid = 5,
|
||||
/obj/item/clothing/suit/straight_jacket/shackles = 3,
|
||||
/obj/item/clothing/suit/straight_jacket/shackles = 4,
|
||||
/obj/item/clothing/under/stripper_outfit = 5,
|
||||
/obj/item/clothing/under/costume/loincloth = 4,
|
||||
/obj/item/clothing/under/misc/stripper = 4,
|
||||
/obj/item/clothing/under/misc/stripper/green = 4,
|
||||
/obj/item/clothing/under/misc/stripper/mankini = 4,
|
||||
/obj/item/clothing/under/misc/stripper/bunnysuit = 4,
|
||||
/obj/item/clothing/under/misc/stripper/bunnysuit/white = 4,
|
||||
/obj/item/clothing/under/misc/stripper/bunnysuit = 5,
|
||||
/obj/item/clothing/under/misc/stripper/bunnysuit/white = 5,
|
||||
/obj/item/clothing/under/misc/gear_harness = 4,
|
||||
/obj/item/clothing/under/shorts/polychromic/pantsu = 4,
|
||||
/obj/item/clothing/under/misc/poly_bottomless = 4,
|
||||
/obj/item/clothing/under/misc/poly_tanktop = 4,
|
||||
/obj/item/clothing/under/misc/poly_tanktop/female = 4,
|
||||
|
||||
//hands
|
||||
/obj/item/clothing/gloves/ball_mittens = 8,
|
||||
@@ -101,8 +83,8 @@
|
||||
|
||||
//chems
|
||||
/obj/item/reagent_containers/pill/crocin = 20,
|
||||
/obj/item/reagent_containers/glass/bottle/crocin = 6,
|
||||
/obj/item/reagent_containers/pill/camphor = 10,
|
||||
/obj/item/reagent_containers/glass/bottle/crocin = 6,
|
||||
/obj/item/reagent_containers/glass/bottle/camphor = 3,
|
||||
/obj/item/reagent_containers/glass/bottle/breast_enlarger = 6, //Those are legal 'cause you can just turn off prefs in round in "CLOWN SMOKE MACHINE+PENIS ENLARGEMENT CHEMICAL CASE". Yes, i have special code-phrase for this. I've seen some shit.
|
||||
/obj/item/reagent_containers/glass/bottle/penis_enlarger = 6,
|
||||
@@ -111,31 +93,21 @@
|
||||
/obj/item/clothing/glasses/nice_goggles = 1, //easter egg, don't touch plz)
|
||||
|
||||
//fur niture //haha you got it
|
||||
/obj/item/storage/box/bdsmbed_kit = 5,
|
||||
/obj/item/storage/box/strippole_kit = 3,
|
||||
/obj/item/storage/box/bdsmbed_kit = 4,
|
||||
/obj/item/storage/box/strippole_kit = 4,
|
||||
/obj/item/storage/box/xstand_kit = 4,
|
||||
/obj/item/storage/box/milking_kit = 2)
|
||||
/obj/item/storage/box/milking_kit = 4)
|
||||
|
||||
contraband = list(
|
||||
/obj/item/electropack/shockcollar = 4,
|
||||
/obj/item/clothing/neck/kink_collar/locked = 4,
|
||||
/obj/item/clothing/neck/mind_collar = 2,
|
||||
/obj/item/clothing/suit/straight_jacket/kinky_sleepbag = 2, //my favorite thing, spent 1 month on it. Don't remove please.
|
||||
/obj/item/clothing/under/costume/jabroni = 4,
|
||||
/obj/item/clothing/neck/human_petcollar/locked = 2,
|
||||
/obj/item/key/collar = 2,
|
||||
/obj/item/electropack/shockcollar = 4,
|
||||
/obj/item/assembly/signaler = 4,
|
||||
/obj/item/reagent_containers/pill/hexacrocin = 10,
|
||||
/obj/item/reagent_containers/pill/pentacamphor = 5,
|
||||
/obj/item/reagent_containers/glass/bottle/hexacrocin = 4,
|
||||
/obj/item/reagent_containers/glass/bottle/pentacamphor = 2)
|
||||
|
||||
premium = list(
|
||||
/obj/item/clothing/under/dress/corset = 4,
|
||||
/obj/item/clothing/under/pants/chaps = 4,
|
||||
/obj/item/clothing/neck/human_petcollar/locked/holocollar = 3)
|
||||
|
||||
refill_canister = /obj/item/vending_refill/lustwish
|
||||
payment_department = ACCOUNT_SRV
|
||||
default_price = 30
|
||||
|
||||
@@ -1258,3 +1258,34 @@ GLOBAL_LIST_INIT(strippable_human_erp_items, create_erp_strippable_list(list(
|
||||
else if(H.w_uniform && istype(H.w_uniform, /obj/item/clothing/under/misc/latex_catsuit/))
|
||||
return FALSE
|
||||
return FALSE
|
||||
|
||||
/datum/preference/toggle/erp/sex_toy/apply_to_client_updated(client/client, value)
|
||||
. = ..()
|
||||
if(client?.prefs?.read_preference(/datum/preference/toggle/erp/sex_toy))
|
||||
if(client.mob.hud_used)
|
||||
for(var/atom/movable/screen/human/ERP_toggle/E in client.mob.hud_used.static_inventory)
|
||||
if(istype(E, /atom/movable/screen/human/ERP_toggle))
|
||||
E.invisibility = 0
|
||||
else
|
||||
if(ishuman(client.mob))
|
||||
var/mob/living/carbon/human/M = client.mob
|
||||
if(M.vagina != null)
|
||||
M.dropItemToGround(M.vagina, TRUE, M.loc, TRUE, FALSE, TRUE)
|
||||
if(M.anus != null)
|
||||
M.dropItemToGround(M.anus, TRUE, M.loc, TRUE, FALSE, TRUE)
|
||||
if(M.nipples != null)
|
||||
M.dropItemToGround(M.nipples, TRUE, M.loc, TRUE, FALSE, TRUE)
|
||||
if(M.penis != null)
|
||||
M.dropItemToGround(M.penis, TRUE, M.loc, TRUE, FALSE, TRUE)
|
||||
if(client.mob.hud_used)
|
||||
if(client.mob.hud_used.ERP_inventory_shown)
|
||||
client.mob.hud_used.ERP_inventory_shown = FALSE
|
||||
client.screen -= client.mob.hud_used.ERP_toggleable_inventory
|
||||
|
||||
for(var/atom/movable/screen/human/ERP_toggle/E in client.mob.hud_used.static_inventory)
|
||||
if(istype(E, /atom/movable/screen/human/ERP_toggle))
|
||||
E.invisibility = 100
|
||||
|
||||
|
||||
client.mob.hud_used.hidden_inventory_update(client.mob)
|
||||
client.mob.hud_used.persistent_inventory_update(client.mob)
|
||||
|
||||
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 3.1 KiB |