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>
This commit is contained in:
GemInee
2021-09-29 00:05:06 +07:00
committed by GitHub
parent eadc7f1379
commit ae2111bfc0
15 changed files with 90 additions and 48 deletions

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB