Overhauls and 2/28 sync (#244)
* map tweaks/shuttle engines * helpers and defines * global/onclick * controllers and datums * mapping * game folder * some other stuff * some modules * modules that aren't mobs * some mob stuff * new player stuff * mob living * silicon stuff * simple animal things * carbon/ayylmao * update_icons * carbon/human * sounds and tools * icons and stuff * hippie grinder changes + tgui * kitchen.dmi * compile issues fixed * mapfix * Mapfixes 2.0 * mapedit2.0 * mapmerger pls * Revert "mapedit2.0" This reverts commit 74139a3cacea10df7aafca06c0a10bd3daf3a481. * clean up vore folder + 2 hotfixes * admin ticket refinement * Blob tweaks and LAZYADD * LAZYADD IS LAZY * Magic strings purged * DEFINES NEED HIGHER PRIORITIES * Only a sleepless idiot deals in absolute TRUE|FALSE * u h g * progress bar fix * reverts ticket logs * there's always that one guy * fixes and stuff * 2/27 fixes * game folder stuff * stats * some modules again * clothing stuff gets vg clothing out of the main files * everything not mobs again * mob stuff * maps, tgui, sql stuff * icons * additional fixes and compile errors * don't need this anymore * Oh right this isn't needed anymore * maint bar re-added * that doesn't need to be here * stupid events * wtfeven * probably makes Travis happy * don't care to fix the grinder atm * fixes vending sprites, changes turret * lethal, not lethals * overylays are finicky creatures * lazy fix for bleeding edgy (#252) * map tweaks/shuttle engines * helpers and defines * global/onclick * controllers and datums * mapping * game folder * some other stuff * some modules * modules that aren't mobs * some mob stuff * new player stuff * mob living * silicon stuff * simple animal things * carbon/ayylmao * update_icons * carbon/human * sounds and tools * icons and stuff * hippie grinder changes + tgui * kitchen.dmi * compile issues fixed * mapfix * Mapfixes 2.0 * mapedit2.0 * mapmerger pls * Revert "mapedit2.0" This reverts commit 74139a3cacea10df7aafca06c0a10bd3daf3a481. * clean up vore folder + 2 hotfixes * admin ticket refinement * Blob tweaks and LAZYADD * LAZYADD IS LAZY * Magic strings purged * DEFINES NEED HIGHER PRIORITIES * Only a sleepless idiot deals in absolute TRUE|FALSE * u h g * progress bar fix * reverts ticket logs * there's always that one guy * fixes and stuff * 2/27 fixes * game folder stuff * stats * some modules again * clothing stuff gets vg clothing out of the main files * everything not mobs again * mob stuff * maps, tgui, sql stuff * icons * additional fixes and compile errors * don't need this anymore * Oh right this isn't needed anymore * maint bar re-added * that doesn't need to be here * stupid events * wtfeven * probably makes Travis happy * don't care to fix the grinder atm * fixes vending sprites, changes turret * lethal, not lethals * overylays are finicky creatures
This commit is contained in:
@@ -170,6 +170,8 @@
|
||||
var/realdate
|
||||
var/map
|
||||
var/persists = TRUE
|
||||
var/list/like_keys = list()
|
||||
var/list/dislike_keys = list()
|
||||
|
||||
/obj/structure/chisel_message/New(newloc)
|
||||
..()
|
||||
@@ -206,13 +208,20 @@
|
||||
var/turf/T = get_turf(src)
|
||||
data["x"] = T.x
|
||||
data["y"] = T.y
|
||||
return data
|
||||
data["like_keys"] = like_keys
|
||||
data["dislike_keys"] = dislike_keys
|
||||
|
||||
/obj/structure/chisel_message/proc/unpack(list/data)
|
||||
hidden_message = data["hidden_message"]
|
||||
creator_name = data["creator_name"]
|
||||
creator_key = data["creator_key"]
|
||||
realdate = data["realdate"]
|
||||
like_keys = data["like_keys"]
|
||||
if(!like_keys)
|
||||
like_keys = list()
|
||||
dislike_keys = data["dislike_keys"]
|
||||
if(!dislike_keys)
|
||||
dislike_keys = list()
|
||||
|
||||
var/x = data["x"]
|
||||
var/y = data["y"]
|
||||
@@ -229,3 +238,64 @@
|
||||
SSpersistence.SaveChiselMessage(src)
|
||||
SSpersistence.chisel_messages -= src
|
||||
. = ..()
|
||||
|
||||
/obj/structure/chisel_message/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = always_state)
|
||||
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "engraved_message", name, 600, 300, master_ui, state)
|
||||
ui.open()
|
||||
|
||||
/obj/structure/chisel_message/ui_data(mob/user)
|
||||
var/list/data = list()
|
||||
|
||||
data["hidden_message"] = hidden_message
|
||||
data["realdate"] = SQLtime(realdate)
|
||||
data["num_likes"] = like_keys.len
|
||||
data["num_dislikes"] = dislike_keys.len
|
||||
data["is_creator"] = user.ckey == creator_key
|
||||
data["has_liked"] = (user.ckey in like_keys)
|
||||
data["has_disliked"] = (user.ckey in dislike_keys)
|
||||
|
||||
if(check_rights_for(user.client, R_ADMIN))
|
||||
data["admin_mode"] = TRUE
|
||||
data["creator_key"] = creator_key
|
||||
data["creator_name"] = creator_name
|
||||
|
||||
return data
|
||||
|
||||
/obj/structure/chisel_message/ui_act(action, params, datum/tgui/ui)
|
||||
var/mob/user = usr
|
||||
var/is_admin = check_rights_for(user.client, R_ADMIN)
|
||||
var/is_creator = user.ckey == creator_key
|
||||
var/has_liked = (user.ckey in like_keys)
|
||||
var/has_disliked = (user.ckey in dislike_keys)
|
||||
|
||||
switch(action)
|
||||
if("like")
|
||||
if(is_creator)
|
||||
return
|
||||
if(has_disliked)
|
||||
dislike_keys -= user.ckey
|
||||
like_keys |= user.ckey
|
||||
. = TRUE
|
||||
if("dislike")
|
||||
if(is_creator)
|
||||
return
|
||||
if(has_liked)
|
||||
like_keys -= user.ckey
|
||||
dislike_keys |= user.ckey
|
||||
. = TRUE
|
||||
if("neutral")
|
||||
if(is_creator)
|
||||
return
|
||||
dislike_keys -= user.ckey
|
||||
like_keys -= user.ckey
|
||||
. = TRUE
|
||||
if("delete")
|
||||
if(!is_admin)
|
||||
return
|
||||
var/confirm = alert(user, "Confirm deletion of engraved message?", "Confirm Deletion", "Yes", "No")
|
||||
if(confirm == "Yes")
|
||||
persists = FALSE
|
||||
qdel(src)
|
||||
|
||||
Reference in New Issue
Block a user