mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-11 10:22:13 +00:00
puts pda in the system to remove shitcode
This commit is contained in:
@@ -272,9 +272,13 @@ GLOBAL_LIST_INIT(pda_styles, list(MONO, VT, ORBITRON, SHARE))
|
|||||||
#define PDA_SKIN_MODERN "Modern"
|
#define PDA_SKIN_MODERN "Modern"
|
||||||
#define PDA_SKIN_MINIMAL "Minimal"
|
#define PDA_SKIN_MINIMAL "Minimal"
|
||||||
|
|
||||||
GLOBAL_LIST_INIT(pda_reskins, list(PDA_SKIN_CLASSIC = 'icons/obj/pda.dmi', PDA_SKIN_ALT = 'icons/obj/pda_alt.dmi',
|
GLOBAL_LIST_INIT(pda_reskins, list(
|
||||||
PDA_SKIN_RUGGED = 'icons/obj/pda_rugged.dmi', PDA_SKIN_MODERN = 'icons/obj/pda_modern.dmi',
|
PDA_SKIN_CLASSIC = list("icon" = 'icons/obj/pda.dmi'),
|
||||||
PDA_SKIN_MINIMAL = 'icons/obj/pda_minimal.dmi'))
|
PDA_SKIN_ALT = list("icon" = 'icons/obj/pda_alt.dmi'),
|
||||||
|
PDA_SKIN_RUGGED = list("icon" = 'icons/obj/pda_rugged.dmi'),
|
||||||
|
PDA_SKIN_MODERN = list("icon" = 'icons/obj/pda_modern.dmi'),
|
||||||
|
PDA_SKIN_MINIMAL = list("icon" = 'icons/obj/pda_minimal.dmi')
|
||||||
|
))
|
||||||
|
|
||||||
/////////////////////////////////////
|
/////////////////////////////////////
|
||||||
// atom.appearence_flags shortcuts //
|
// atom.appearence_flags shortcuts //
|
||||||
|
|||||||
@@ -405,7 +405,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
/atom/proc/CtrlShiftClick(mob/user)
|
/atom/proc/CtrlShiftClick(mob/user)
|
||||||
SEND_SIGNAL(src, COMSIG_CLICK_CTRL_SHIFT)
|
SEND_SIGNAL(src, COMSIG_CLICK_CTRL_SHIFT, user)
|
||||||
return
|
return
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -28,14 +28,15 @@
|
|||||||
return ELEMENT_INCOMPATIBLE
|
return ELEMENT_INCOMPATIBLE
|
||||||
|
|
||||||
RegisterSignal(the_obj, COMSIG_PARENT_EXAMINE, .proc/on_examine)
|
RegisterSignal(the_obj, COMSIG_PARENT_EXAMINE, .proc/on_examine)
|
||||||
RegisterSignal(the_obj, COMSIG_CLICK_ALT, .proc/reskin)
|
RegisterSignal(the_obj, the_obj.reskin_binding, .proc/reskin)
|
||||||
|
|
||||||
/datum/element/object_reskinning/Detach(datum/source, force)
|
/datum/element/object_reskinning/Detach(datum/source, force)
|
||||||
UnregisterSignal(source, list(COMSIG_PARENT_EXAMINE, COMSIG_CLICK_ALT))
|
var/obj/being_deleted = source
|
||||||
|
UnregisterSignal(source, list(COMSIG_PARENT_EXAMINE, being_deleted.reskin_binding))
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/datum/element/object_reskinning/proc/on_examine(obj/obj, mob/user, list/examine_list)
|
/datum/element/object_reskinning/proc/on_examine(obj/obj, mob/user, list/examine_list)
|
||||||
examine_list += span_notice("Alt-click to reskin it ([length(obj.unique_reskin)] possible styles).")
|
examine_list += span_notice("[capitalize(replacetext(obj.reskin_binding, "_", "-"))] to reskin it ([length(obj.unique_reskin)] possible styles).")
|
||||||
if(obj.always_reskinnable)
|
if(obj.always_reskinnable)
|
||||||
examine_list += span_notice("It has no limit to reskinning.")
|
examine_list += span_notice("It has no limit to reskinning.")
|
||||||
|
|
||||||
@@ -49,11 +50,15 @@
|
|||||||
*/
|
*/
|
||||||
/datum/element/object_reskinning/proc/reskin(obj/to_reskin, mob/user)
|
/datum/element/object_reskinning/proc/reskin(obj/to_reskin, mob/user)
|
||||||
// Just stop early
|
// Just stop early
|
||||||
if(!(LAZYLEN(to_reskin.unique_reskin) && user.canUseTopic(to_reskin, BE_CLOSE, NO_DEXTERY)))
|
if(!LAZYLEN(to_reskin.unique_reskin))
|
||||||
message_admins("[ADMIN_LOOKUPFLW(user)] attempted to reskin an object that has no skins!")
|
message_admins("[ADMIN_LOOKUPFLW(user)] attempted to reskin an object that has no skins!")
|
||||||
Detach(to_reskin)
|
Detach(to_reskin)
|
||||||
return FALSE
|
return FALSE
|
||||||
|
|
||||||
|
// Can't use
|
||||||
|
if(!user.canUseTopic(to_reskin, BE_CLOSE, NO_DEXTERY, NO_TK))
|
||||||
|
return FALSE
|
||||||
|
|
||||||
// Get our choices
|
// Get our choices
|
||||||
var/list/items = list()
|
var/list/items = list()
|
||||||
for(var/reskin_option in to_reskin.unique_reskin)
|
for(var/reskin_option in to_reskin.unique_reskin)
|
||||||
@@ -90,7 +95,7 @@
|
|||||||
/datum/element/object_reskinning/proc/check_reskin_menu(mob/user, obj/obj)
|
/datum/element/object_reskinning/proc/check_reskin_menu(mob/user, obj/obj)
|
||||||
if(QDELETED(obj))
|
if(QDELETED(obj))
|
||||||
return FALSE
|
return FALSE
|
||||||
if(obj.current_skin)
|
if(!obj.always_reskinnable && obj.current_skin)
|
||||||
return FALSE
|
return FALSE
|
||||||
if(!istype(user))
|
if(!istype(user))
|
||||||
return FALSE
|
return FALSE
|
||||||
|
|||||||
@@ -32,6 +32,9 @@ GLOBAL_LIST_EMPTY(PDAs)
|
|||||||
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 100)
|
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 100)
|
||||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||||
|
|
||||||
|
always_reskinnable = TRUE
|
||||||
|
reskin_binding = COMSIG_CLICK_CTRL_SHIFT
|
||||||
|
|
||||||
//Main variables
|
//Main variables
|
||||||
var/owner = null // String name of owner
|
var/owner = null // String name of owner
|
||||||
var/default_cartridge = 0 // Access level defined by cartridge
|
var/default_cartridge = 0 // Access level defined by cartridge
|
||||||
@@ -112,10 +115,10 @@ GLOBAL_LIST_EMPTY(PDAs)
|
|||||||
. += id ? "<span class='notice'>Alt-click to remove the id.</span>" : ""
|
. += id ? "<span class='notice'>Alt-click to remove the id.</span>" : ""
|
||||||
if(inserted_item && (!isturf(loc)))
|
if(inserted_item && (!isturf(loc)))
|
||||||
. += "<span class='notice'>Ctrl-click to remove [inserted_item].</span>"
|
. += "<span class='notice'>Ctrl-click to remove [inserted_item].</span>"
|
||||||
if(LAZYLEN(GLOB.pda_reskins))
|
|
||||||
. += "<span class='notice'>Ctrl-shift-click it to reskin it.</span>"
|
|
||||||
|
|
||||||
/obj/item/pda/Initialize(mapload)
|
/obj/item/pda/Initialize(mapload)
|
||||||
|
if(GLOB.pda_reskins)
|
||||||
|
unique_reskin = GLOB.pda_reskins
|
||||||
. = ..()
|
. = ..()
|
||||||
if(fon)
|
if(fon)
|
||||||
set_light(f_lum, f_pow, f_col)
|
set_light(f_lum, f_pow, f_col)
|
||||||
@@ -130,33 +133,10 @@ GLOBAL_LIST_EMPTY(PDAs)
|
|||||||
new_overlays = TRUE
|
new_overlays = TRUE
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
/// This is a mess i probably shouldn't touch.
|
|
||||||
/obj/item/pda/ComponentInitialize()
|
|
||||||
. = ..()
|
|
||||||
RemoveElement(/datum/element/object_reskinning)
|
|
||||||
|
|
||||||
/obj/item/pda/CtrlShiftClick(mob/living/user)
|
|
||||||
. = ..()
|
|
||||||
if(GLOB.pda_reskins && user.canUseTopic(src, BE_CLOSE, NO_DEXTERY))
|
|
||||||
reskin_obj(user)
|
|
||||||
|
|
||||||
/obj/item/pda/reskin_obj(mob/M)
|
/obj/item/pda/reskin_obj(mob/M)
|
||||||
if(!LAZYLEN(GLOB.pda_reskins))
|
. = ..()
|
||||||
return
|
|
||||||
var/dat = "<b>Reskin options for [name]:</b>"
|
|
||||||
for(var/V in GLOB.pda_reskins)
|
|
||||||
var/output = icon2html(GLOB.pda_reskins[V], M, icon_state)
|
|
||||||
dat += "\n[V]: <span class='reallybig'>[output]</span>"
|
|
||||||
to_chat(M, dat)
|
|
||||||
|
|
||||||
var/choice = input(M, "Choose the a reskin for [src]","Reskin Object") as null|anything in GLOB.pda_reskins
|
|
||||||
var/new_icon = GLOB.pda_reskins[choice]
|
|
||||||
if(QDELETED(src) || isnull(new_icon) || new_icon == icon || !M.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
|
||||||
return
|
|
||||||
icon = new_icon
|
|
||||||
new_overlays = TRUE
|
new_overlays = TRUE
|
||||||
update_icon()
|
update_icon()
|
||||||
to_chat(M, "[src] is now skinned as '[choice]'.")
|
|
||||||
|
|
||||||
/obj/item/pda/proc/set_new_overlays()
|
/obj/item/pda/proc/set_new_overlays()
|
||||||
if(!overlays_offsets || !(icon in overlays_offsets))
|
if(!overlays_offsets || !(icon in overlays_offsets))
|
||||||
@@ -196,7 +176,7 @@ GLOBAL_LIST_EMPTY(PDAs)
|
|||||||
else
|
else
|
||||||
font_index = MODE_MONO
|
font_index = MODE_MONO
|
||||||
font_mode = FONT_MONO
|
font_mode = FONT_MONO
|
||||||
var/pref_skin = GLOB.pda_reskins[C.prefs.pda_skin]
|
var/pref_skin = GLOB.pda_reskins[C.prefs.pda_skin]["icon"]
|
||||||
if(icon != pref_skin)
|
if(icon != pref_skin)
|
||||||
icon = pref_skin
|
icon = pref_skin
|
||||||
new_overlays = TRUE
|
new_overlays = TRUE
|
||||||
|
|||||||
@@ -28,9 +28,17 @@
|
|||||||
var/resistance_flags = NONE // INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ON_FIRE | UNACIDABLE | ACID_PROOF
|
var/resistance_flags = NONE // INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ON_FIRE | UNACIDABLE | ACID_PROOF
|
||||||
|
|
||||||
var/persistence_replacement //have something WAY too amazing to live to the next round? Set a new path here. Overuse of this var will make me upset.
|
var/persistence_replacement //have something WAY too amazing to live to the next round? Set a new path here. Overuse of this var will make me upset.
|
||||||
var/current_skin //the item reskin
|
|
||||||
var/list/unique_reskin //List of options to reskin.
|
//Reskin variables
|
||||||
|
/// The item reskin
|
||||||
|
var/current_skin
|
||||||
|
/// List of options to reskin.
|
||||||
|
var/list/unique_reskin
|
||||||
|
/// Can always be modified
|
||||||
var/always_reskinnable = FALSE
|
var/always_reskinnable = FALSE
|
||||||
|
/// How to bring up the reskinning menu
|
||||||
|
var/reskin_binding = COMSIG_CLICK_ALT
|
||||||
|
//
|
||||||
|
|
||||||
// Access levels, used in modules\jobs\access.dm
|
// Access levels, used in modules\jobs\access.dm
|
||||||
var/list/req_access
|
var/list/req_access
|
||||||
|
|||||||
Reference in New Issue
Block a user